《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > Cortex-M處理器系統(tǒng)特性

Cortex-M處理器系統(tǒng)特性

2017-04-19
作者:Joseph Yiu
來源:ARM
關(guān)鍵詞: Cortex-M ARM

4.1 低功耗

低功耗是Cortex-M處理器的一個(gè)關(guān)鍵優(yōu)點(diǎn)。低功耗是其架構(gòu)的組成部分:

· WFI和WFE指令

· 架構(gòu)級(jí)的休眠模式定義

此外,,Cortex-M支持許多其他的低功耗特性:

· 休眠和深度休眠模式:架構(gòu)級(jí)支持的特性,,通過設(shè)備特定的功耗管理寄存器可以進(jìn)一步擴(kuò)展,。

· Sleep-on-exit模式:中斷驅(qū)動(dòng)的應(yīng)用的低功耗技術(shù),。開啟設(shè)置后,,當(dāng)異常處理程序結(jié)束并且沒有其他等待處理的異常中斷時(shí),,處理器自動(dòng)進(jìn)入到休眠模式。這樣避免了額外的線程模式中指令的執(zhí)行從而省電,,并且減少了不必要的堆棧讀寫操作,。

· 喚醒中斷控制器(WIC):一個(gè)可選的特性,在特定的低功耗狀態(tài),,由一個(gè)獨(dú)立于處理器的小模塊偵測(cè)中斷情況,。例如,在狀態(tài)保留功耗管理(SRPG)設(shè)計(jì)中,,當(dāng)處理器被關(guān)電的設(shè)計(jì),。

· 時(shí)鐘關(guān)閉和架構(gòu)級(jí)時(shí)鐘關(guān)閉:通過關(guān)閉處理器的寄存器或者子模塊的時(shí)鐘輸入來省電

所有這些特性都被Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23 和 Cortex-M33支持。此外,,各種低功耗設(shè)計(jì)技術(shù)被用來降低處理器功耗,。

因?yàn)楦俚碾娐罚珻ortex-M0 and Cortex-M0+處理器比Cortex-M3, Cortex-M4 和 Cortex-M7功耗低,。此外,,Cortex-M0+額外優(yōu)化減少了程序存取(例如跳轉(zhuǎn)備份)來保持系統(tǒng)層級(jí)的低功耗,。

Cortex-M23沒有Cortex-M0 和 Cortex-M0+那么小,,但是在相同的配置下,仍然和Cortex-M0+能效一樣,。

由于更好性能和低功耗優(yōu)化,,在相同配置下,Cortex-M33比Cortex-M4能效比更好,。

4.2 Bit-band feature位段

Cortex-M3 和Cortex-M4處理器支持一個(gè)叫做位段的可選功能,,允許有兩段通過位段別名地址實(shí)現(xiàn)可以位尋址的1MB的地址空間(一段在從地址0x20000000起始的SRAM空間,。另一段是從地址0x40000000起始的外圍設(shè)備空間),。Cortex-M0, M0+ 和 Cortex-M1不支持位段(bit-band)功能,但是可以利用ARM Cortex-M系統(tǒng)設(shè)計(jì)套件(CMSDK)中的總線級(jí)組件在系統(tǒng)層面實(shí)現(xiàn)位段(bit-band)功能,。Cortex-M7不支持位段(bit-band),,因?yàn)镸7的Cache功能不能與位段一塊使用(Cache控制器不知道內(nèi)存空間的別名地址)。

ARMv8-M的TrustZone 不支持位段,, 這是由于位段別名需要的兩個(gè)不同的地址可能會(huì)在不同的安全域中,。對(duì)于這些系統(tǒng),外圍設(shè)備數(shù)據(jù)的位操作反而可以在外圍設(shè)備層面處理(例如,,通過添加位設(shè)置和清除寄存器),。

4.3 存儲(chǔ)器保護(hù)單元(MPU)

除了Cortex-M0, 其他的Cortex-M處理器都有可選的MPU來實(shí)現(xiàn)存儲(chǔ)空間訪問權(quán)限和存儲(chǔ)空間屬性或者存儲(chǔ)區(qū)間的定義。運(yùn)行實(shí)時(shí)操作系統(tǒng)的嵌入式系統(tǒng),, 操作系統(tǒng)會(huì)每個(gè)任務(wù)定義存儲(chǔ)空間訪問權(quán)限和內(nèi)存空間配置來保證每個(gè)任務(wù)都不會(huì)破壞其他的任務(wù)或者操作系統(tǒng)內(nèi)核的地址空間,。Cortex-M0+, Cortex-M3 和 Cortex-M4都有8個(gè)可編程區(qū)域空間和非常相似的編程模型,。主要的區(qū)別是Cortex-M3/M4的MPU允許兩級(jí)的存儲(chǔ)空間屬性(例如,系統(tǒng)級(jí)cache類型),,Cortex-M0+僅支持一級(jí),。Cortex-M7的MPU可以配置成支持8個(gè)或者16個(gè)區(qū)域,兩級(jí)的存儲(chǔ)空間屬性,。Cortex-M0 和 Cortex-M1不支持MPU.

Cortex-M23 和 Cortex-M33也支持MPU選項(xiàng),,如果實(shí)現(xiàn)了TrustZone安全擴(kuò)展(一個(gè)用于安全軟件程序,另一個(gè)用于非安全軟件程序)可以有最多兩個(gè)MPU,。

4.4 單周期I/O接口

單周期I/O接口是Cortex-M0+處理器獨(dú)特的功能,,這使Cortex-M0+可以很快的運(yùn)行I/O控制任務(wù)。Cortex-M大多數(shù)的處理器的總線接口是基于AHB Lite或者AHB 5協(xié)議的,,這些接口都是流水實(shí)現(xiàn)總線協(xié)議,,運(yùn)行在高時(shí)鐘頻率。但是,,這意味著每個(gè)傳輸需要兩個(gè)時(shí)鐘周期,。單時(shí)鐘周期I/O接口添加了額外的簡(jiǎn)單的非流水線總線接口,連接到像GPIO(通用輸入輸出)這樣的一部分設(shè)備特定的外設(shè)上,。結(jié)合單周期I/O和Cortex-M0+天然比較低的跳轉(zhuǎn)代價(jià)(只有兩級(jí)流水線),,許多I/O控制操作都會(huì)比大多數(shù)其他微控制器架構(gòu)的產(chǎn)品運(yùn)行的更快。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。