《電子技術(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)楦俚碾娐?,Cortex-M0 and Cortex-M0+處理器比Cortex-M3, Cortex-M4 和 Cortex-M7功耗低。此外,Cortex-M0+額外優(yōu)化減少了程序存?。ɡ缣D(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;郵箱:aet@chinaaet.com。