<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          處理器不同模式下寄存器

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

          1.1.1ARM處理器不同模式寄存器

          CPU的模式不同,在其對(duì)應(yīng)模式下可以使用的寄存器也不相同,如表3-2所示:

          本文引用地址:http://www.ex-cimer.com/article/201611/317754.htm

          表3-2 ARM處理器模式下寄存器

          寄存器類別

          寄存器在匯編中的名稱

          各模式下實(shí)際訪問(wèn)的寄存器

          用戶

          系統(tǒng)

          管理

          終止

          未定義

          中斷

          快中斷

          通用寄存器和程序計(jì)數(shù)器

          R0(a1)

          R0

          R1(a2)

          R1

          R2(a3)

          R2

          R3(a4)

          R3

          R4(v1)

          R4

          R5(v2)

          R5

          R6(v3)

          R6

          R7(v4)

          R7

          R8(v5)

          R8

          R8_fiq

          R9(SB,v6)

          R9

          R9_fiq

          R10(SL,v7)

          R10

          R10_fiq

          R11(FP,v8)

          R11

          R11_fiq

          R12(IP)

          R12

          R12_fiq

          R13(SP)

          R13

          R13_svc

          R13_abt

          R13_und

          R13_irq

          R13_fiq

          R14(LR)

          R14

          R14_svc

          R14_abt

          R14_und

          R14_irq

          R14_fiq

          R15(PC)

          R15

          狀態(tài)寄存器

          CPSR

          CPSR

          SPSR

          無(wú)

          SPSR_abt

          SPSR_abt

          SPSR_und

          SPSR_irq

          SPSR_fiq

          其中R0~R7在所有模式下都可以使用的共有寄存器,R8~R12是快速中斷模式下私有的寄存器,其它模式下不能使用,之所以叫其快速中斷,是因?yàn)榭焖僦袛嗄J较拢@幾個(gè)私有寄存器里數(shù)據(jù)在模式切換時(shí)可以不用入棧保存。

          除了用戶模式和系統(tǒng)模式共用一組R13,R14,其余每種模式都私有自己的R13,R14,因?yàn)樵诿糠N模式下都有自己的棧空間用于執(zhí)行程序,在執(zhí)行程序過(guò)程中還要保存返回地址,這樣可以保證在進(jìn)入不同模式時(shí),當(dāng)前模式下棧空間不被破壞。比如:網(wǎng)卡因?yàn)閿?shù)據(jù)到達(dá),產(chǎn)生了中斷進(jìn)入中斷模式,在中斷模式下有自己的中斷處理例程(ISR),ISR在執(zhí)行時(shí)要用到??臻g,因此要使用R13,R14。中斷處理完成后,返回用戶模式下,要繼續(xù)執(zhí)行被網(wǎng)卡中斷信號(hào)中斷的執(zhí)行程序。

          用戶模式和系統(tǒng)模式為什么要共用一組R13,R14呢?這是因?yàn)?,在特?quán)模式下可以自由切換工作模式,但是如果切換到用戶模式下,就不能再切換到特權(quán)模式了,這是CPU為操作系統(tǒng)提供的保護(hù)機(jī)制,但是有的時(shí)候就需要切換到用戶模式下去使用其R13,R14寄存器,比如當(dāng)操作系統(tǒng)的進(jìn)程進(jìn)行上下文切換時(shí),如果用戶模式和系統(tǒng)模式共用一組寄存器,那么可以切換到系統(tǒng)模式下(系統(tǒng)模式是特權(quán)模式)進(jìn)行操作。

          所有R15和CPU同時(shí)只能處理一條指令,在取指時(shí),有一個(gè)CPSR表示當(dāng)前CPU的狀態(tài)即可。



          關(guān)鍵詞: 處理器不同模式寄存

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();