摘要: 本文主要對Armv7-M架構進行介紹。
關鍵字:Armv7-M架構、Thumb指令
1.Armv7架構簡介
Armv7是一組體系結構:
Armv7-A支持Arm和Thumb指令集的應用系統(tǒng),以及要求內存管理支持中的擬地址。
Armv7-R支持Arm和Thumb指令集的實時系統(tǒng),以及要求內存管理僅支持物理地址。
Armv7-M僅支持Thumb指令集的微控制系統(tǒng),總體代碼量和確定性比性能更重要。
2.Armv7-M架構
Armv7基于市場的多樣性定義一組針對不同需求的架構。這組架構在應用層面是一致的,大部分變化是系統(tǒng)基本的。
在Armv6 T2中引入Thumb-2技術為Arm和Thumb指令集提供了平衡,并為Arm架構擴展到新市場,特別是微控制器市場提供了機會。
為了充分利用這一機會,Arm引入了Armv7-M架構,以補充其在高性能和實時嵌入式市場中的優(yōu)勢。Armv7-M是一個只支持Thumb,具有新的系統(tǒng)級程序員模型的架構。
2.1 Armv7-M架構的設計原則:
啟用具有知名能力、性能和區(qū)域限制的實現(xiàn):
--為簡單的流水線設計提供可能,在廣泛應用中提供知名的系統(tǒng)性能水平。
高度確定的操作
--單次或低周期計數(shù)。
--最小的中斷延遲,最短的流水線。
--無緩存操作。
兼容C/C++:
--異常處理程序是標準的C/C++函數(shù)。
專為深度嵌入式系統(tǒng)設計:
--少引腳設備。
--為Arm架構提供新的入門級機會。
為事件驅動系統(tǒng)提供調試和軟件分析支持。
2.2 Armv7-M 指令集
Armv7-M只支持執(zhí)行Thumb指令。同時將浮點指令和數(shù)字信號處理(DSP)指令添加到Thumb指令集。
更詳細的指令介紹請持續(xù)關注后續(xù)更新。