ARM微處理器支持7種運行模式,分別為:
─ 用戶模式(usr): ARM處理器正常的程序執(zhí)行狀態(tài)
─ 快速中斷模式(fiq): 用于高速數(shù)據(jù)傳輸或通道處理
─ 外部中斷模式(irq): 用于通用的中斷處理
─ 管理模式(svc): 操作系統(tǒng)使用的保護模式
─ 數(shù)據(jù)訪問終止模式(abt): 當(dāng)數(shù)據(jù)或指令預(yù)取終止時進入該模式,可用于虛擬存儲及存儲保護。
─ 系統(tǒng)模式(sys): 運行具有特權(quán)的操作系統(tǒng)任務(wù)。
─ 未定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時進入該模式,可用于支持硬件協(xié)處理器的軟件仿真。
ARM微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數(shù)的應(yīng)用程序運行在用戶模式下,當(dāng)處理器運行在用戶模式下時,某些被保護的系統(tǒng)資源是不能被訪問的。
除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式(Privileged Modes);其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式(Exception Modes),常用于處理中斷或異常,以及需要訪問受保護的系統(tǒng)資源等情況。