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