ARM系列介紹安全
系列 | 頻率 | 應用 |
ARM7 | 100MHz | mp3/工控領域 |
ARM9 | 200~400MHz | 第一代智能手機,加了內存管理單元(MMU) |
ARM11 | 500~700MHz | 第二代智能手機、平板電腦 |
cortexM | 100MHz | 單片機市場代替ARM7(功耗變低) |
cortexA | 1GMHz | 消費類電子 |
cortexR | 實時領域和安全領域 |
ARM寄存器
函數
從上圖咱們能夠看到ARM在邏輯上實現了七種工做模式,分別是:
系統模式(System)
用戶模式(User)
快速中斷模式(FIQ)
超級管理模式(Supervisor)
終止模式(Abort)
中斷請求模式(也稱普通中斷,IRQ)
未定義指令模式(Underfined)
同一時刻下的CPU只能工做在一種模式下,CPU工做在某一模式下意味着只能看到該模式下的一組寄存器。且寄存器定長32位。
R0~R12寄存器是通用寄存器,保存數據臨時變量
R13/SP是棧指針寄存器,記錄棧頂地址
R14/LR是連接返回寄存器,保存程序的返回地址,如函數調用返回
R15/PC是程序計數器,PC只向哪一個地址,CPU就到那個地址取指令執行
CPSR是當前程序狀態寄存器,保存程序的運行狀態
SPSR是備份當前程序狀態寄存器3d
ARM的工做模式指針
對比x86的工做模式blog
CPSR寄存器介紹進程
0~4位(M0~M4)是模式位,用於記錄當前進程處於CPU哪一種工做模式下。
5位(T)是記錄指令模式,有ARM指令模式(32位彙編,執行效率高,存儲大)和THUMB指令模式(16位彙編,把arm當單片機用時,採用該指令模式)
六、7位(F、I)分別是快速中斷和普通中斷的總開關
28位(V)是記錄溢出位
29位(C)是記錄進位
30位(Z)是零標誌位,高級語言就是根據這位去判斷兩個數是否相等
31位(N)是符號位,是負數仍是正數內存
Thumb狀態下的寄存器內存管理