久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ARM工作模式

 choudan98 2016-02-22

一、存儲(chǔ)器格式(字對(duì)齊):

Arm體系結(jié)構(gòu)將存儲(chǔ)器看做是從零地址開始的字節(jié)的線性組合,。從零字節(jié)到三字節(jié)放置第一個(gè)存儲(chǔ)的字(32位)數(shù)據(jù),,從第四個(gè)字節(jié)到第七個(gè)字節(jié)放置第二個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),一次排列,。作為32位的微處理器,,arm體系結(jié)構(gòu)所支持的最大尋址空間為4GB。

 

存儲(chǔ)器格式

        1,、大端格式:高字節(jié)在低地址,,低字節(jié)在高地址;

        2,、小端格式:高字節(jié)在高地址,,低字節(jié)在低地址;

指令長度:

Arm微處理器的指令長度是32位的,,也可以為16位(thumb狀態(tài)下),。Arm微處理器中支持字節(jié)(8位),半字(16位),,字(32位)三種數(shù)據(jù)類型,,其中,字需要4字節(jié)對(duì)齊,,半字需要2字節(jié)對(duì)齊,。

注:所謂的指令長度是一條完整的指令的長度,而不是單純的mov這3個(gè)字母長度

二,、ARM體系的CPU有兩種工作狀態(tài)

   1,、ARM狀態(tài):處理器執(zhí)行32位的字對(duì)齊的ARM指令,;

         2、Thumb狀態(tài):處理器執(zhí)行16位的,、半字對(duì)齊的Thumb指令,;

在程序運(yùn)行的過程中,可以在兩種狀態(tài)之間進(jìn)行相應(yīng)的轉(zhuǎn)換,。處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容,。

CPU上電處于ARM狀態(tài)

 

三、ARM體系的CPU有以下7種工作模式:

        1,、用戶模式(Usr):用于正常執(zhí)行程序,;

        2、快速中斷模式(FIQ):用于高速數(shù)據(jù)傳輸,;

        3,、外部中斷模式(IRQ):用于通常的中斷處理;

        4,、管理模式(svc):操作系統(tǒng)使用的保護(hù)模式,;

        5、數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,,可用于虛擬存儲(chǔ)以及存儲(chǔ)保護(hù),;

        6、系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù),;

        7,、未定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件,;

Arm的工作模式切換有兩種方法:

被動(dòng)切換:在arm運(yùn)行的時(shí)候產(chǎn)生一些異?;蛘咧袛鄟碜詣?dòng)進(jìn)行模式切換

主動(dòng)切換:通過軟件改變,即軟件設(shè)置寄存器來經(jīng)行arm的模式切換,,應(yīng)為arm的工作模式都是可以通過相應(yīng)寄存器的賦值來切換的,。

Tips:當(dāng)處理器運(yùn)行在用戶模式下,某些被保護(hù)的系統(tǒng)資源是不能被訪問的,。

 

除用戶模式外,,其余6種工作模式都屬于特權(quán)模式;

特權(quán)模式中除了系統(tǒng)模式以外的其余5種模式稱為異常模式,;

大多數(shù)程序運(yùn)行于用戶模式,;

進(jìn)入特權(quán)模式是為了處理中斷、異常,、或者訪問被保護(hù)的系統(tǒng)資源,;

四、寄存器

ARM有31個(gè)通用的32位寄存器,6個(gè)程序狀態(tài)寄存器,,共分為7組,,有些寄存器是所有工作模式共用的,,還有一些寄存器專屬于每一種工作模式,;

R13——棧指針寄存器,用于保存堆棧指針,;

R14——程序連接寄存器,,當(dāng)執(zhí)行BL子程序調(diào)用指令時(shí),R14中得到R15的備份,,而當(dāng)發(fā)生中斷或異常時(shí),,R14保存R15的返回值;

R15——程序計(jì)數(shù)器,;

快速中斷模式有7個(gè)備份寄存器R8—R14,,這使得進(jìn)入快速中斷模式執(zhí)行很大部分程序時(shí),甚至不需要保存任何寄存器,;

其它特權(quán)模式都含有兩個(gè)獨(dú)立的寄存器副本R13,、R14,這樣可以令每個(gè)模式都擁有自己的堆棧指針和連接寄存器,;

 

五,、當(dāng)前程序狀態(tài)寄存器(CPSR)

CPSR中各位意義如下:

T位:1——CPU處于Thumb狀態(tài), 0——CPU處于ARM狀態(tài),;

I,、F(中斷禁止位): 1——禁止中斷, 0——中斷使能,;

工作模式位:可以改變這些位,,進(jìn)行模式切換;

六,、程序狀態(tài)保存寄存器(SPSR)

當(dāng)切換進(jìn)入某一個(gè)特權(quán)模式時(shí),,SPSR保存前一個(gè)工作模式的CPSR值,這樣,,當(dāng)返回前一個(gè)工作模式時(shí),,可以將SPSR的值恢復(fù)到CPSR中;

七,、模式切換

當(dāng)異常發(fā)生,,CPU進(jìn)入相應(yīng)的異常模式時(shí),以下工作是由CPU自動(dòng)完成的:

1,、在異常模式的R14中保存前一工作模式的下一條即將執(zhí)行的指令地址,;

2、將CPSR的值復(fù)制到異常模式的SPSR中;

3,、將CPSR的工作模式設(shè)為該異常模式對(duì)應(yīng)的工作模式,;

4、令PC值等于這個(gè)異常模式在異常向量表中的地址,,即跳轉(zhuǎn)去執(zhí)行異常向量表中的相應(yīng)指令,;

從異常工作模式退回到之前的工作模式時(shí),需要由軟件來完成以下工作:

1,、將異常模式的R14減去一個(gè)適當(dāng)?shù)闹担?或8)后賦給PC寄存器,;

2、將異常模式SPSR的值賦給CPSR,;

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多