ARM編程模式和7種模式

ARM採用的是32位架構

ARM閱讀

--Byte:        8   bits

--Halfword:  16  bits(2 byte)  半字

--Word:       32  bits(4 byte)

大部分ARM core提供: core(核心)

–ARM指令集(32 bit) (有些佔內存、時間快)

–Thumb指令集(16 bit) (省內存、但是浪費時間)

–Thumb2指令集(16 & 32bit)
(ARM v7(S5PV210) 大概2005年纔開始推出)

ARM有7種基本工作模式(6個特權模式和一個用戶模式)

—-User(用戶模式): 非特權模式,大部分任務執行在這種模式

—-FIQ(快速中斷):當一個高優先級(fast)中斷產生時將會進入這種模式 – |

—-IRQ(普通中斷):當一個低優先級(nomal)中斷產生時會進入這種模式 |

—-Supervisor(管理模式):當復位或軟中斷指令執行時將會進入這種模式 |——-異常模式

—-Abort(異常模式):當存取異常時會進入這種模式 |

—-Under(未定義模式):當執行未定義指令時會進入這種模式 – |

—-System(系統模式):使用和User模式相同寄存器的特權模式

注意:

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

 Privilege中除Sys模式外,其餘5種爲異常模式

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

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

爲什麼需要那麼多種模式?

CPU 是硬件,OS是軟件,軟件的設計要依賴硬件的特性,硬件的設計要考慮軟件需要,便於實現軟件特性。
操作系統有安全級別要求,因此CPU設計多種模式爲了方便操作系統的多種角色安全等級需要。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章