ARM處理器的運行模式

ARM處理器共有7中運行模式,以下表所示:spa

ARM處理器的7種運行模式操作系統

處理器模式 描述
用戶模式(User) 正常程序執行的模式
快速中斷模式(FIQ,fiq) 用於高速數據傳輸和通道處理
外部中斷模式(IRQ) 用於一般的中斷處理
特權模式(Supervisor) 供操做系統使用的一種保護模式
數據訪問停止模式(Abort) 用於虛擬存儲及存儲保護
未定義指令停止模式(Undefined) 用於支持經過軟件仿真硬件的協處理器
系統模式(System) 用於運行特權級的操做系統任務

除了用戶模式外的其餘6種處理器模式稱爲特權模式(Privileged Modes)。在這些模式下,程序能夠訪問全部的系統資源,也能夠任意地進行處理器模式的切換。其中,除系統模式外,其餘5中特權模式又稱爲異常模式。ci

處理器模式能夠經過軟件控制進行切換,也能夠經過外部中斷或異常處理過程進行切換。大多數用戶程序運行在用戶模式下。這時,應用程序不可以訪問一些受操做系統保護的系統資源。應用程序也不能直接進行處理器模式的切換。當須要進行處理器模式切換時,應用程序能夠產生異常處理,在異常處理過程當中進行處理器模式的切換。這種體系結構能夠使操做系統控制整個系統的資源。資源

當應用程序發生異常中斷時,處理器進入相應的異常模式。在每一種異常模式中都有一組寄存器,供相應的異常處理程序使用,這樣就能夠保證進入異常模式時,用戶模式下的寄存器不被破壞。table

系統模式並非經過異常過程進入的,它和用戶模式具備徹底同樣的寄存器。可是系統模式屬於特權模式,能夠訪問所用的系統資源,也能夠直接進行處理器模式的切換。它主要供操做系統任務使用。一般操做系統的任務須要訪問全部的系統資源,同時該任務仍然使用用戶模式的寄存器組,而不是使用異常模式下相應的寄存器組,這樣就能夠保證當異常中斷髮生時任務狀態不被破壞。軟件

相關文章
相關標籤/搜索