1. 程式人生 > >ARM處理器的執行模式

ARM處理器的執行模式

ARM處理器共有7中執行模式,如下表所示:

ARM處理器的7種執行模式

處理器模式描述
使用者模式(User)正常程式執行的模式
快速中斷模式(FIQ,fiq)用於高速資料傳輸和通道處理
外部中斷模式(IRQ)用於通常的中斷處理
特權模式(Supervisor)供作業系統使用的一種保護模式
資料訪問中止模式(Abort)用於虛擬儲存及儲存保護
未定義指令中止模式(Undefined)用於支援通過軟體模擬硬體的協處理器
系統模式(System)用於執行特權級的作業系統任務

除了使用者模式外的其他6種處理器模式稱為特權模式(Privileged Modes)。在這些模式下,程式可以訪問所有的系統資源,也可以任意地進行處理器模式的切換。其中,除系統模式外,其他5中特權模式又稱為異常模式。

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

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

系統模式並不是通過異常過程進入的,它和使用者模式具有完全一樣的暫存器。但是系統模式屬於特權模式,可以訪問所用的系統資源,也可以直接進行處理器模式的切換。它主要供作業系統任務使用。通常作業系統的任務需要訪問所有的系統資源,同時該任務仍然使用使用者模式的暫存器組,而不是使用異常模式下相應的暫存器組,這樣就可以保證當異常中斷髮生時任務狀態不被破壞。