比較項(xiàng)目 |
ARM7 |
Cortex-M3 |
架構(gòu) |
ARMv4T(馮諾依曼) 指令和數(shù)據(jù)總線共用,會出現(xiàn)瓶頸 |
ARMv7-M(哈佛) 指令和數(shù)據(jù)總線分開,無瓶頸 |
指令集 |
32位ARM指令+16位Thumb指令 兩套指令之間需要進(jìn)行狀態(tài)切換 |
Thumb/Thumb-2指令集 16位和32位 指令可直接混寫,無需狀態(tài)切換 |
流水線 |
3級流水線 若出現(xiàn)轉(zhuǎn)移則需要刷新流水線,損失慘重 |
3級流水線+分支預(yù)測 出現(xiàn)轉(zhuǎn)移時流水線無需刷新,幾乎無損失 |
性能 |
0.95DMIPS/MHz(ARM模式) |
1.25DMIPS/MHz |
功耗 |
0.28mW/MHz |
0.19mW/MHz |
低功耗模式 |
無 |
內(nèi)置睡眠模式 |
面積 |
0.62mm2(僅內(nèi)核) |
0.86mm2(內(nèi)核+外設(shè)) |
中斷 |
普通中斷IRQ和快速中斷FIQ太少,大量外設(shè)不得不復(fù)用中斷 |
不可屏蔽中斷NMI+1-240個物理中斷 每個外設(shè)都可以獨(dú)占一個中斷,效率高 |
中斷延遲 |
24-42個時鐘周期,緩慢 |
12個時鐘周期,最快只需6個 |
中斷壓棧 |
軟件手工壓棧,代碼長且效率低 |
硬件自動壓棧,無需代碼且效率高 |
存儲器保護(hù) |
無 |
8段存儲器保護(hù)單元(MPU) |
內(nèi)核寄存器 |
寄存器分為多組、結(jié)構(gòu)復(fù)雜、占核面積多 |
寄存器不分組(SP除外),結(jié)構(gòu)簡單 |
工作模式 |
7種工作模式,比較復(fù)雜 |
只有線程模式和處理模式兩種,簡單
|
乘除法指令 |
多周期乘法指令,無除法指令 |
單周期乘法指令,2-12周期除法指令 |
位操作 |
無 訪問外設(shè)寄存器需分“讀-改-寫”3步走 |
先進(jìn)的Bit-band位操作技術(shù),可直接訪問外設(shè)寄存器的某個值 |
系統(tǒng)節(jié)拍定時 |
無 |
內(nèi)置系統(tǒng)節(jié)拍定時器,有利于操作系統(tǒng)移植 |