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