ARM處理器存在七種工作模式
ARM處理器存在七種工作模式:用戶模式、快速中斷模式、外部中斷模式、管理模式、數(shù)據(jù)訪問中止模式、未定義指令中止模式、系統(tǒng)模式。除了用戶模式外,其它六種均為特權(quán)模式。處理器模式可以通過控制進(jìn)行切換,也可以通過外部中斷或異常處理過程進(jìn)行切換。大多數(shù)的用戶程序運(yùn)行在用戶模式下,這時,應(yīng)用程序不能訪問一些受操作系統(tǒng)保護(hù)的系統(tǒng),應(yīng)用程序也不能直接進(jìn)行處理器模式切換。當(dāng)需要進(jìn)行處理器模式切換時,應(yīng)用程序可以產(chǎn)生異常處理,在異常處理中進(jìn)行處理器模式的切換。

- 用戶模式(usr):屬于正常的用戶模式,ARM處理器正常的程序執(zhí)行狀態(tài)。
- 快速中斷模式(fiq):用于處理快速中斷,對高速數(shù)據(jù)傳輸或通道處理。
- 外部中斷模式(irq):對一般情況下的中斷進(jìn)行處理。
- 管理模式(svc):屬于操作系統(tǒng)使用的保護(hù)模式,處理軟件中斷swi reset。
- 數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時進(jìn)入該模式,可用于處理存儲器故障、實現(xiàn)虛擬存儲器和存儲器保護(hù)。
- 系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。
- 未定義指令中止模式(und):處理未定義的指令陷阱,當(dāng)未定義的指令執(zhí)行時進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。