关注Cortex-M处理器,M0、M3、M4简单对比
最近在關(guān)注Cortex-M處理器,針對目前進(jìn)入大眾視野的M0、M3、M4做了如下簡單對比,內(nèi)容來自ARM等官網(wǎng),這里僅僅是整理了下,看起來更直觀點(diǎn),呵呵。
Cortex-M 系列針對成本和功耗敏感的?MCU?和終端應(yīng)用(如智能測量、人機(jī)接口設(shè)備、汽車和工業(yè)控制系統(tǒng)、大型家用電器、消費(fèi)性產(chǎn)品和醫(yī)療器械)的混合信號設(shè)備進(jìn)行過優(yōu)化。.
一、比較Cortex-M 處理器
Cortex-M 系列處理器都是二進(jìn)制向上兼容的,這使得軟件重用以及從一個 Cortex-M 處理器無縫發(fā)展到另一個成為可能。
M Cortex-M 技術(shù)
CMSIS
ARM?Cortex 微控制器軟件接口標(biāo)準(zhǔn) (CMSIS)是?Cortex-M 處理器系列的與供應(yīng)商無關(guān)的硬件抽象層。?使用 CMSIS,可以為接口外設(shè)、實(shí)時操作系統(tǒng)和中間件實(shí)現(xiàn)一致且簡單的軟件接口,從而簡化軟件的重用、縮短新微控制器開發(fā)人員的學(xué)習(xí)過程,并縮短新產(chǎn)品的上市時間。
深入:嵌套矢量中斷控制器 (NVIC)
NVIC 是 Cortex-M 處理器不可或缺的部分,它為處理器提供了卓越的中斷處理能力。
Cortex-M 處理器使用一個矢量表,其中包含要為特定中斷處理程序執(zhí)行的函數(shù)的地址。接受中斷時,處理器會從該矢量表中提取地址。
為了減少門數(shù)并增強(qiáng)系統(tǒng)靈活性,Cortex-M 處理器使用一個基于堆棧的異常模型。出現(xiàn)異常時,系統(tǒng)會將關(guān)鍵通用寄存器推送到堆棧上。完成入棧和指令提取后,將執(zhí)行中斷服務(wù)例程或故障處理程序,然后自動還原寄存器以使中斷的程序恢復(fù)正常執(zhí)行。使用此方法,便無需編寫匯編器包裝器了(而這是對基于 C 語言的傳統(tǒng)中斷服務(wù)例程執(zhí)行堆棧操作所必需的),從而使得應(yīng)用程序的開發(fā)變得非常容易。NVIC支持中斷嵌套(入棧),從而允許通過運(yùn)用較高的優(yōu)先級來較早地為某個中斷提供服務(wù)。
在硬件中完成對中斷的響應(yīng)
Cortex-M 系列處理器的中斷響應(yīng)是從發(fā)出中斷信號到執(zhí)行中斷服務(wù)例程的周期數(shù)。它包括:?
??????檢測中斷
??????背對背或遲到中斷的最佳處理(參見下文)
??????提取矢量地址
??????將易損壞的寄存器入棧
??????跳轉(zhuǎn)到中斷處理程序
這些任務(wù)在硬件中執(zhí)行,并且包含在為 Cortex-M 處理器報出的中斷響應(yīng)周期時間中。在其他許多體系結(jié)構(gòu)中,這些任務(wù)必須在軟件的中斷處理程序中執(zhí)行,從而引起延遲并使得過程十分復(fù)雜。
NVIC 中的尾鏈
在背對背中斷的情況下,傳統(tǒng)系統(tǒng)會重復(fù)完整的狀態(tài)保存和還原周期兩次,從而導(dǎo)致更高的延遲。Cortex-M 處理器通過在 NVIC 硬件中實(shí)現(xiàn)尾鏈技術(shù)簡化了活動中斷和掛起的中斷之間的轉(zhuǎn)換。處理器狀態(tài)會在比軟件實(shí)現(xiàn)時間更少的周期內(nèi)自動保存在中斷條目上并在中斷退出時還原,從而顯著提升低 MHz 系統(tǒng)的性能。
NVIC 對遲到的較高優(yōu)先級中斷的響應(yīng)
如果在為上一個中斷執(zhí)行堆棧推送期間較高優(yōu)先級的中斷遲到,NVIC 會立即提取新的矢量地址來為掛起的中斷提供服務(wù),如上所示。Cortex-M NVIC 對這些可能性提供具有確定性的響應(yīng)并支持遲到和搶占。
NVIC 進(jìn)行的堆棧彈出搶占
同樣,如果異常到達(dá),NVIC 將放棄堆棧彈出并立即為新的中斷提供服務(wù),如上所示。通過搶占并切換到第二個中斷而不完成狀態(tài)還原和保存,NVIC 以具有確定性的方式實(shí)現(xiàn)了縮短延遲。
二、為什么選擇
1、為什么選擇Cortex-M0
能耗最低的最小 ARM 處理器
Cortex-M0 的代碼密度和能效優(yōu)勢意味著它是各種應(yīng)用中 8/16 位設(shè)備的自然高性價比換代產(chǎn)品,同時保留與功能豐富的 Cortex-M3 處理器的工具和二進(jìn)制向上兼容性。
超低的能耗?
Cortex-M0 處理器在不到 12 K 門的面積內(nèi)能耗僅有 85 μW/MHz(0.085 毫瓦),所憑借的是作為低能耗技術(shù)的領(lǐng)導(dǎo)者和創(chuàng)建超低能耗設(shè)備的主要推動者的無與倫比的 ARM 專門技術(shù)。
簡單
指令只有 56 個,這樣您便可以快速掌握整個 Cortex-M0 指令集(如果需要);但其 C 語言友好體系結(jié)構(gòu)意味著這并不是必需的。可供選擇的具有完全確定性的指令和中斷計時使得計算響應(yīng)時間十分容易。
優(yōu)化的連接性
設(shè)計為支持低能耗連接,如 Bluetooth Low Energy (BLE)、IEEE 802.15 和 Z-wave,特別是在這樣的模擬設(shè)備中:這些模擬設(shè)備正在增加其數(shù)字功能,以有效地預(yù)處理和傳輸數(shù)據(jù)。
2、為什么選擇Cortex-M3
提供更高的性能和更豐富的功能
于 2004 年引進(jìn)、最近通過新技術(shù)進(jìn)行了更新并更新了可配置性的 Cortex-M3,是專門針對微控制器應(yīng)用開發(fā)的主流 ARM 處理器。
性能和能效?
具有高性能和低動態(tài)能耗,Cortex-M3 處理器提供領(lǐng)先的功效:在 90nmG 基礎(chǔ)上為 12.5 DMIPS/mW。將集成的睡眠模式與可選的狀態(tài)保留功能相結(jié)合,Cortex-M3處理器確保對于同時需要低能耗和出色性能的應(yīng)用不存在折衷。
全功能
該處理器執(zhí)行 Thumb?-2 指令集以獲得最佳性能和代碼大小,包括硬件除法、單周期乘法和位字段操作。Cortex-M3 NVIC 在設(shè)計時是高度可配置的,最多可提供 240 個具有單獨(dú)優(yōu)先級、動態(tài)重設(shè)優(yōu)先級功能和集成系統(tǒng)時鐘的系統(tǒng)中斷。
豐富的連接
功能和性能的組合使基于 Cortex-M3 的設(shè)備可以有效處理多個 I/O 通道和協(xié)議標(biāo)準(zhǔn),如 USB OTG (On-The-Go)。?
3、為什么選擇Cortex-M4
-目標(biāo)用用:專門面向電動機(jī)控制、汽車、電源管理、嵌入式音頻和工業(yè)自動化市場的新興類別的靈活解決方案。
曾獲大獎的高能效數(shù)字信號控制
Cortex-M4 提供了無可比擬的功能,以將 32 位控制與領(lǐng)先的數(shù)字信號處理技術(shù)集成來滿足需要很高能效級別的市場。
易于使用的技術(shù)
Cortex-M4 通過一系列出色的軟件工具和??Cortex 微控制器軟件接口標(biāo)準(zhǔn) (CMSIS)使信號處理算法開發(fā)變得十分容易。
三、規(guī)范
1、M0
ARM Cortex-M0 處理器執(zhí)行 Thumb 指令集,包括少量使用Thumb-2 技術(shù)的32 位指令。這是ARM Cortex-M3 和ARM Cortex-M4 支持的指令集的二進(jìn)制向上可兼容子集。
2、M3
內(nèi)核面積、頻率范圍和功耗取決于工藝、庫和優(yōu)化。上面引用的數(shù)字是使用通用 TSMC 工藝技術(shù)和 ARM 物理 IP 標(biāo)準(zhǔn)單元庫和 RAM 的合成核心的說明。面積數(shù)字包括 CM3Core、嵌套向量中斷控制器 (NVIC) 和總線矩陣,但不包括可選組件(包括內(nèi)存保護(hù)單元、嵌入式跟蹤宏單元、斷點(diǎn)單元、數(shù)據(jù)檢測點(diǎn)單元和跟蹤端口接口單元)。
速度優(yōu)化的實(shí)現(xiàn)是指為了實(shí)現(xiàn)目標(biāo)頻率性能而做出的庫選擇、合成流決策和折衷。面積優(yōu)化的實(shí)現(xiàn)是指為了實(shí)現(xiàn)目標(biāo)面積密度而做出的庫選擇、合成流決策和折衷。
3、M4
內(nèi)核面積、頻率范圍和功耗取決于工藝、庫和優(yōu)化。上面引用的數(shù)字是使用低功耗工藝技術(shù)和 ARM 物理 IP 標(biāo)準(zhǔn)單元庫和 RAM 的合成內(nèi)核的說明。面積數(shù)字包括中央內(nèi)核(包括 DSP 擴(kuò)展、嵌套矢量中斷控制器 (NVIC) 和總線矩陣),但不包括可選組件(包括內(nèi)存保護(hù)單元、嵌入式跟蹤宏單元、斷點(diǎn)單元、數(shù)據(jù)檢測點(diǎn)單元和 TracePort Interface Unit。
速度優(yōu)化的實(shí)現(xiàn)是指為了實(shí)現(xiàn)目標(biāo)頻率性能而做出的庫選擇、合成流決策和折衷。面積優(yōu)化的實(shí)現(xiàn)是指為了實(shí)現(xiàn)目標(biāo)面積密度而做出的庫選擇、合成流決策和折衷。
以下的一點(diǎn)為M4頁面特有的介紹:
系統(tǒng) IP
系統(tǒng) IP 組件對于在芯片上構(gòu)建復(fù)雜的系統(tǒng)至關(guān)重要,通過利用系統(tǒng) IP 組件,開發(fā)人員可以顯著縮短開發(fā)和驗(yàn)證周期,從而節(jié)省成本并縮短產(chǎn)品的上市時間。
注:以上內(nèi)容摘自http://www.arm.com/
?目前部分主流廠家的產(chǎn)品介紹:
德州儀器:
1、 -LM3Sxxxx系列(M3)
2、 LM4Fxxxx系列(M4)
意法半導(dǎo)體:
1、? STM32 F0xx系列(M0? 48MHZ)
2、?STM32 Lxxx系列(M3? 32MHZ)
3、? STM32 F1xx系列(M3? 72MHZ)
4、? STM32 F2xx系列(M3? 120MHZ)
5、? STM32 F3xx系列(M3? 120MHZ)??
6、? STM32 F4xx系列(M4? 168MHZ)
NXP:
1、 LPC11xx? LPC12xx系列(M0)
2、 LPC13xx? LPC17xx?LPC18xx 系列(M3)
3、 LPC43xx? 系列(M4)
飛思卡爾:
1、? Kinetis L系列(M0+)
2、? Kinetis X系列、K系列(M4)
Atmel:
1、 SAM3S/U/N系列(M3)
2、 SAM4S系列(M4)
3、 SAM7xxxx系列(ARM7)
4、 SAM9xxxx系列(ARM9)
英飛凌:
1、 XCM4000系列(M4,是英飛凌第一次推出ARM架構(gòu)的MCU)
富士通:
1、 FM3家族(M3)
SILICON LABS:
1、 SiM3C1xx(80MHZ)系列 (M3)
2、 SiM3U1xx(80MHZ? USB)系列(M3)
來源:https://blog.csdn.net/chiooo/article/details/50463520
總結(jié)
以上是生活随笔為你收集整理的关注Cortex-M处理器,M0、M3、M4简单对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌解雇资深研究员Timnit Gebr
- 下一篇: Cortex-M家族发展史,简述Cort