在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > ARM筆記-寄存器以及模式特點(diǎn)

            ARM筆記-寄存器以及模式特點(diǎn)

            ——
            作者: 時(shí)間:2007-04-19 來(lái)源: 收藏

            微處理器支持7種運(yùn)行模式,分別為:
            1.用戶模式(usr):處理器正常的程序執(zhí)行狀態(tài);
            2.   快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道管理;
            3.   外部中斷模式(irq):用于通用的中斷處理;
            4.    管理模式(svc):操作系統(tǒng)使用的保護(hù)模式;
            5.    數(shù)據(jù)訪問(wèn)終止模式(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)入該模式,可用于支持硬件協(xié)處理器的軟件仿真

            體系結(jié)構(gòu)的存儲(chǔ)器格式有如下兩種:
             大端格式:字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址中,字?jǐn)?shù)據(jù)的低字節(jié)存放在高地址中;
             小端格式:與大端存儲(chǔ)格式相反,高地址存放數(shù)據(jù)的高字節(jié),低地址存放數(shù)據(jù)的低字節(jié)

             ARM總結(jié):
              ARM有16個(gè)32位的(r0到r15)。
             r15充當(dāng)程序PC,r14(link register)存儲(chǔ)子程序的返回地址,r13存儲(chǔ)的是堆棧地址。
            ARM有一個(gè)當(dāng)前程序狀態(tài)寄存器:CPSR。
            一些寄存器(r13,r14)在異常發(fā)生時(shí)會(huì)產(chǎn)生新的instances,比如IRQ處理器模式,這時(shí)處理器使用r13_irq和r14_irq
             ARM的子程序調(diào)用是很快的,因?yàn)樽映绦虻姆祷氐刂凡恍枰娣旁诙褩V小?BR>1、 ARM處理器共有37個(gè)寄存器,其中包括:

            i. 31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC)在內(nèi)。都是32位寄存器

            ii. 6個(gè)狀態(tài)寄存器,都是32位寄存器,但目前只使用了其中12位

            2、 ARM處理器有7種不同的處理器模式,在每一種處理器模式中有一組相應(yīng)的寄存器組

            。任意時(shí)刻(也就是任意的處理器模式下),可見(jiàn)的寄存器包括15個(gè)通用寄存器(R0~

            R14)、一個(gè)或兩個(gè)狀態(tài)寄存器及程序計(jì)數(shù)器(PC)。在所有的寄存器中,有些是各模式

            共用的同一個(gè)物理寄存器,有些是各模式自己擁有的獨(dú)立的物理寄存器。

            3、 通用寄存器可以分為3類:未備份寄存器(R0~R7)、備份寄存器(R8~R14)和程序

            計(jì)數(shù)器PC(R15)。對(duì)于每一個(gè)未備份寄存器來(lái)說(shuō),在所有的處理器模式下指的都是同一

            個(gè)物理寄存器。對(duì)應(yīng)備份寄存器R8~R12來(lái)說(shuō),每個(gè)寄存器對(duì)應(yīng)兩個(gè)不同的物理寄存器,

            這使得中斷處理非常簡(jiǎn)單。例如,僅僅使用R8~R14寄存器時(shí),F(xiàn)IQ處理程序可以不必執(zhí)行

            保存和恢復(fù)中斷現(xiàn)場(chǎng)的指令,從而使中斷處理過(guò)程非常迅速。對(duì)于備份寄存器R13和R14

            來(lái)說(shuō),每個(gè)寄存器對(duì)應(yīng)6個(gè)不同的物理寄存器,其中的一個(gè)是用戶模式和系統(tǒng)模式共用的

            ,另外的5個(gè)對(duì)應(yīng)于其他5種處理器模式。

            4、 每一種異常模式擁有自己的物理的R13。應(yīng)用程序初始化該R13,使其指向該異常模

            式專用的棧地址。當(dāng)進(jìn)入異常模式時(shí),可以將需要使用的寄存器保存在R13所指的棧中;

            當(dāng)退出異常處理程序時(shí),將保存在R13所指的棧中的寄存器值彈出。這樣就使異常處理程

            序不會(huì)破壞被其中斷程序的運(yùn)行現(xiàn)場(chǎng)。

            5、 寄存器R14又被稱為連接寄存器(Link Register,LR),在ARM體系中具有下面兩種

            特殊的作用:

            i. 每一種處理器模式自己的物理R14中存放當(dāng)前子程序的返回地址。當(dāng)通過(guò)BL或BLX指令

            調(diào)用子程序時(shí),R14被設(shè)置成該子程序的返回地址。在子程序中,當(dāng)把R14的值復(fù)制到程

            序計(jì)數(shù)器PC中時(shí),子程序即返回。

            ii. 當(dāng)異常中斷發(fā)生時(shí),該異常模式特定的物理R14被設(shè)置成該異常模式將要返回的地址

            ,對(duì)于有些異常模式,R14的值可能與將返回的地址有一個(gè)常數(shù)的偏移量。具體的返回方

            式與子程序返回方式基本相同。

            6、 由于ARM采用了流水線機(jī)制,當(dāng)正確讀取了PC的值時(shí),該值為當(dāng)前指令地址值加8個(gè)

            字節(jié)。也就是說(shuō),對(duì)于ARM指令集來(lái)說(shuō),PC指向當(dāng)前指令的下兩條指令的地址,由于ARM

            指令是字節(jié)對(duì)齊的,PC值得第0位和第1位總為0。

            7、 對(duì)于ARM版本3以及更低的版本,寫(xiě)入R15的地址值的bits[1:0]被忽略,對(duì)于ARM版本

            4以及更高的版本,程序必須保證寫(xiě)入R15寄存器的地址值的bits[1:0]為0b00;否則會(huì)產(chǎn)

            生不可預(yù)知的結(jié)果。對(duì)于Thumb指令集來(lái)說(shuō),指令是半字對(duì)齊的。處理器將忽略bit[0]。

            還有一些指令對(duì)于R15的用法有一些特殊的要求。比如,指令BX利用bit[0]來(lái)確定是ARM

            指令,還是Thumb指令。

            8、 指令mov pc, pc將程序跳轉(zhuǎn)到當(dāng)前指令下面第2條指令處執(zhí)行。類似的指令還有

            add pc, pc, #0

            9、 每一種處理器模式下都有一個(gè)專用的物理狀態(tài)寄存器,稱為SPSR(備份程序狀態(tài)寄

            存器)。當(dāng)特定的異常中斷發(fā)生時(shí),這個(gè)寄存器用于存放當(dāng)前程序狀態(tài)寄存器的內(nèi)容。

            在異常中斷程序退出時(shí),可以用SPSR中保存的值來(lái)恢復(fù)CPSR。

            10、 由于用戶模式和系統(tǒng)模式不是異常中斷模式,所以它們沒(méi)有SPSR。當(dāng)在用戶模式或

            系統(tǒng)模式中 訪問(wèn)SPSR,將會(huì)產(chǎn)生不可預(yù)知的結(jié)果。

            塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理


            關(guān)鍵詞: ARM 寄存器

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉