新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM微處理器的編程模型之:處理器工作模式

ARM微處理器的編程模型之:處理器工作模式

作者: 時(shí)間:2013-09-13 來(lái)源:網(wǎng)絡(luò) 收藏

3.2 處理器

處理器共有7種,如表3.1所示

本文引用地址:http://2s4d.com/article/257087.htm

表3.1 處理器的

處理器工作模式

簡(jiǎn) 寫(xiě)

描 述

(User)

usr

正常程序執(zhí)行模式,大部分任務(wù)執(zhí)行在這種模式下

快速中斷模式(FIQ)

fiq

當(dāng)一個(gè)高優(yōu)先級(jí)(fast)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式,一般用于高速數(shù)據(jù)傳輸和通道處理

外部中斷模式(IRQ)

irq

當(dāng)一個(gè)低優(yōu)先級(jí)(normal)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式,一般用于通常的中斷處理

(Supervisor)

svc

當(dāng)復(fù)位或軟中斷指令執(zhí)行時(shí)進(jìn)入這種模式,是一種供操作系統(tǒng)使用的保護(hù)模式

數(shù)據(jù)訪問(wèn)中止模式(Abort)

abt

當(dāng)存取異常時(shí)將會(huì)進(jìn)入這種模式,用于虛擬存儲(chǔ)或存儲(chǔ)保護(hù)

未定義指令中止模式(Undef)

und

當(dāng)執(zhí)行未定義指令時(shí)進(jìn)入這種模式,有時(shí)用于通過(guò)軟件仿真協(xié)處理器硬件的工作方式

系統(tǒng)模式(System)

sys

使用和User模式相同寄存器集的模式,用于運(yùn)行特權(quán)級(jí)操作系統(tǒng)任務(wù)

外的其他6種處理器模式稱為(Privileged Modes)。在這些模式下,程序可以訪問(wèn)所有的系統(tǒng)資源,也可以任意地進(jìn)行處理器模式切換。其中的5種又稱為異常模式,分別為:

· FIQ(Fast Interrupt reQuest);

· IRQ(Interrupt request);

· 管理(Supervisor);

· 中止(Abort);

· 未定義(Undefined)。

處理器模式可以通過(guò)軟件控制進(jìn)行切換,也可以通過(guò)外部中斷或異常處理過(guò)程進(jìn)行切換。

大多數(shù)的用戶程序運(yùn)行在下。當(dāng)處理器工作在用戶模式時(shí),應(yīng)用程序不能夠訪問(wèn)受操作系統(tǒng)保護(hù)的一些系統(tǒng)資源,應(yīng)用程序也不能直接進(jìn)行處理器模式切換。當(dāng)需要進(jìn)行處理器模式切換時(shí),應(yīng)用程序可以產(chǎn)生異常處理,在異常處理過(guò)程中進(jìn)行處理器模式切換。這種體系結(jié)構(gòu)可以使操作系統(tǒng)控制整個(gè)系統(tǒng)資源的使用。

當(dāng)應(yīng)用程序發(fā)生異常中斷時(shí),處理器進(jìn)入相應(yīng)的異常模式。在每一種異常模式中都有一組專用寄存器以供相應(yīng)的異常處理程序使用,這樣就可以保證在進(jìn)入異常模式時(shí)用戶模式下的寄存器(保存程序運(yùn)行狀態(tài))不被破壞。

系統(tǒng)模式,不能有任何異常進(jìn)入。僅體系結(jié)構(gòu)v4及以上版本有該模式。它和用戶模式具有完全相同的寄存器。但是系統(tǒng)模式屬于,可以訪問(wèn)所有的系統(tǒng)資源,也可以直接進(jìn)行處理器模式切換,它主要供操作系統(tǒng)任務(wù)使用。通常操作系統(tǒng)的任務(wù)需要訪問(wèn)所有的系統(tǒng)資源,同時(shí)該任務(wù)仍然使用用戶模式的寄存器組而不是異常模式下相應(yīng)的寄存器組,這樣可以保證當(dāng)異常中斷發(fā)生時(shí)任務(wù)狀態(tài)不被破壞。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉