ARM處理器的執行模式
阿新 • • 發佈:2019-02-02
ARM處理器共有7中執行模式,如下表所示:
ARM處理器的7種執行模式
處理器模式 | 描述 |
使用者模式(User) | 正常程式執行的模式 |
快速中斷模式(FIQ,fiq) | 用於高速資料傳輸和通道處理 |
外部中斷模式(IRQ) | 用於通常的中斷處理 |
特權模式(Supervisor) | 供作業系統使用的一種保護模式 |
資料訪問中止模式(Abort) | 用於虛擬儲存及儲存保護 |
未定義指令中止模式(Undefined) | 用於支援通過軟體模擬硬體的協處理器 |
系統模式(System) | 用於執行特權級的作業系統任務 |
除了使用者模式外的其他6種處理器模式稱為特權模式(Privileged Modes)。在這些模式下,程式可以訪問所有的系統資源,也可以任意地進行處理器模式的切換。其中,除系統模式外,其他5中特權模式又稱為異常模式。
處理器模式可以通過軟體控制進行切換,也可以通過外部中斷或異常處理過程進行切換。大多數使用者程式執行在使用者模式下。這時,應用程式不能夠訪問一些受作業系統保護的系統資源。應用程式也不能直接進行處理器模式的切換。當需要進行處理器模式切換時,應用程式可以產生異常處理,在異常處理過程中進行處理器模式的切換。這種體系結構可以使作業系統控制整個系統的資源。
當應用程式發生異常中斷時,處理器進入相應的異常模式。在每一種異常模式中都有一組暫存器,供相應的異常處理程式使用,這樣就可以保證進入異常模式時,使用者模式下的暫存器不被破壞。
系統模式並不是通過異常過程進入的,它和使用者模式具有完全一樣的暫存器。但是系統模式屬於特權模式,可以訪問所用的系統資源,也可以直接進行處理器模式的切換。它主要供作業系統任務使用。通常作業系統的任務需要訪問所有的系統資源,同時該任務仍然使用使用者模式的暫存器組,而不是使用異常模式下相應的暫存器組,這樣就可以保證當異常中斷髮生時任務狀態不被破壞。