1.10.ARM的編程模式和7種工作模式

ARM 182瀏覽

ARM的基本設定:

* ARM采用的是32位架構

* ARM約定:

? ?- Byte(字節):8bits

? ?- Halfword(半字):16bits(2 Byte)

? ?- Word(字):32bits(4 Byte)?

* 大部分ARM core提供

? ?- ARM指令集(32-bit)

? ?- Thumb指令集(16-bit)

? ?- Thumb2指令集(16&32 bit)

* Jazelle cores 提供 java bytecode


ARM處理器的7種工作模式:

? ?- User:非特權模式,大部分任務執行在這種模式下。

? ?- FIQ:(Fast interrupt Request 快速中斷請求),當一個高優先級(fast)中斷產生時將進入這種模式。

? ?- IRQ:(interrupt request 中斷請求),當一個低優先級(normal)中斷產生時將進入這種模式。

? ?- Supervisor:當復位或軟中斷指令執行時將進入這種模式。

? ?- Abort:當存取異常時將進入這種模式。

? ?- Undef:當執行未定義指令時將進入這種工作模式。

? - System:使用和User模式相同指令集的特權模式。


注意:

* 除了User(用戶模式)是 Normal(普通模式),其它6種都是Privilege(特權模式)。

* Privilege中除System模式外,其余5種為異常模式。

* 各種模式的切換,可以是程序員通過代碼主動切換(通過寫CSPR寄存器),也可以是CPU某些情況下自動切換。

* 各種模式下權限和可以訪問的寄存器不同。


CPU為什么設計這些模式?

* CPU是硬件,OS是軟件。軟件的設計要依賴硬件的特性,硬件的設計要考慮軟件的需求,便于實現軟件特性。

* 操作系統有安全級別要求,因此CPU設計多種模式是為了方便操作系統的多種角色安全等級需要。


七星彩走势图2元网官网