在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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) > 設(shè)計(jì)應(yīng)用 > GNU ARM匯編--(三)ARM處理器的基本原則

            GNU ARM匯編--(三)ARM處理器的基本原則

            作者: 時(shí)間:2016-11-26 來源:網(wǎng)絡(luò) 收藏

            除了user模式,其它模式都可以通過直接寫cpsr的模式位來改變處理器模式.當(dāng)然,在異?;蛘咧袛嗟絹頃r(shí),硬件會(huì)自動(dòng)切換模式.下類異常和中斷會(huì)引起模式切換:

            reset,irq,fiq,swi,data abort,prefetch abort和undefined instruction.

            處理器模式:

            需要注意的是:通過直接寫cpsr來改變模式的方法不會(huì)將cpsr拷貝到spsr.只有在異?;蛑袛喟l(fā)生時(shí)cpsr的值才會(huì)保存.

            當(dāng)ARM核上電時(shí),處于svc特權(quán)模式.從特權(quán)模式開始是有用的:初始化代碼完全控制cpsr來建立其他模式的堆棧.

            cpsr中的bit T是表明指令簇用的是ARM指令集還是thumb指令集.T為1表示thumb指令集,T為0表示ARM指令集.

            ARM指令集和thumb指令集的特性:

            中斷屏蔽位:

            中斷屏蔽位用來屏蔽處理器的特殊中斷請(qǐng)求.在ARM核中有兩種級(jí)別的中斷請(qǐng)求:irq和fiq.

            cpsr中的中斷屏蔽位是第7位和第6位(I和F),當(dāng)I或F設(shè)為1時(shí)irq或fiq就被屏蔽了.

            condtion flags:

            condition flags可以被比較操作和帶S后綴的ALU操作來更新.

            條件執(zhí)行:

            條件執(zhí)行控制指令是否被ARM核執(zhí)行.處理器會(huì)比較指令的條件屬性和cpsr中的condition flags,如果匹配,該指令執(zhí)行;否則該指令被忽略.

            流水線:

            RISC處理器用流水線機(jī)制來執(zhí)行指令.ARM流水線中的指令只有在完全通過執(zhí)行階段才被處理.

            上面這張圖標(biāo)明了流水線的使用和程序計(jì)數(shù)器pc.在執(zhí)行階段,pc總是指向該指令地址加上8字節(jié).也就是說pc總是指向當(dāng)前指令的下下條指令.當(dāng)用pc來計(jì)算

            相對(duì)偏移量時(shí)這點(diǎn)是很重要的,并且它也是所有流水線的特征.

            異常 中斷和向量表

            當(dāng)異?;蛑袛喟l(fā)生時(shí),處理器會(huì)將pc指向一個(gè)特殊的內(nèi)存地址.該地址所在的地址范圍稱為向量表.向量表的入口是跳轉(zhuǎn)指令,跳轉(zhuǎn)到專門處理某個(gè)異常或中斷的

            子程序.

            存儲(chǔ)器映射地址0x00000000是為向量表預(yù)留的.在某些處理器中向量表可以放在更高的地址,從0xffff0000開始.linux等操作系統(tǒng)可以利用這個(gè)特性.

            當(dāng)異?;蛘咧袛喟l(fā)生時(shí),處理器掛起正常的處理然后從向量表中加載指令.每個(gè)向量表的入口都包含指向特殊處理例程的跳轉(zhuǎn)指令.

            reset向量是處理器上電后執(zhí)行的第一條指令,這條指令跳轉(zhuǎn)到初始化代碼處.

            undefined instruction向量是當(dāng)處理器不能對(duì)指令譯碼時(shí)使用的.

            software interrupt向量執(zhí)行SWI指令時(shí)使用的.SWI可以用來系統(tǒng)調(diào)用的實(shí)現(xiàn).

            prefetch abort向量發(fā)生在當(dāng)沒有訪問權(quán)限的條件下試圖獲取該地址的指令時(shí),異常發(fā)生在譯碼階段.

            data abort向量與prefetch abort類似,只不過是訪問數(shù)據(jù)發(fā)生的異常.

            interrupt request向量被外部硬件用來中斷處理器的正常執(zhí)行.只有在cpsr的相應(yīng)位為0時(shí)才能發(fā)生.

            fast interrupt request向量與irq類似,是為要求更短的中斷響應(yīng)時(shí)間的硬件保留的.只有在cpsr的相應(yīng)位為0時(shí)才能發(fā)生.


            上一頁(yè) 1 2 下一頁(yè)

            關(guān)鍵詞: ARM匯編ARM處理器基本原

            評(píng)論


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

            關(guān)閉