比較項目 | ARM7 | Cortex-M3 |
架構 | ARMv4T(馮諾依曼) 指令和數據匯流排共用,會出現瓶頸 | ARMv7-M(哈佛) 指令和數據匯流排分開,無瓶頸 |
指令集 | 32位ARM指令+16位Thumb指令 兩套指令之間需要進行狀態切換 | Thumb/Thumb-2指令集 16位和32位 指令可直接混寫,無需狀態切換 |
流水線 | 3級流水線 若出現轉移則需要刷新流水線,損失慘重 | 3級流水線+分支預測 出現轉移時流水線無需刷新,幾乎無損失 |
性能 | 0.95DMIPS/MHz(ARM模式) | 1.25DMIPS/MHz |
功耗 | 0.28mW/MHz | 0.19mW/MHz |
低功耗模式 | 無 | 內置睡眠模式 |
面積 | 0.62mm2(僅內核) | 0.86mm2(內核+外設) |
中斷 | 普通中斷IRQ和快速中斷FIQ太少,大量外設不得不復用中斷 | 不可屏蔽中斷NMI+1-240個物理中斷 每個外設都可以獨佔一個中斷,效率高 |
中斷延遲 | 24-42個時鐘周期,緩慢 | 12個時鐘周期,最快只需6個 |
中斷壓棧 | 軟體手工壓棧,代碼長且效率低 | 硬體自動壓棧,無需代碼且效率高 |
存儲器保護 | 無 | 8段存儲器保護單元(MPU) |
內核寄存器 | 寄存器分為多組、結構複雜、占核面積多 | 寄存器不分組(SP除外),結構簡單 |
工作模式 | 7種工作模式,比較複雜 | 只有線程模式和處理模式兩種,簡單 |
乘除法指令 | 多周期乘法指令,無除法指令 | 單周期乘法指令,2-12周期除法指令 |
位操作 | 無 訪問外設寄存器需分“讀-改-寫”3步走 | 先進的Bit-band位操作技術,可直接訪問外設寄存器的某個值 |
系統節拍定時 | 無 | 內置系統節拍定時器,有利於操作系統移植 |
[admin via 研發互助社區 ] ARM7和Cortex-M3比較已經有2153次圍觀
http://cocdig.com/docs/show-post-42061.html