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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > GNU ARM匯編--(三)ARM處理器的基本原則

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

          作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
          這一篇的知識來源全部來自《ARM System Developers Guide》

          從編程人員的視角來看,arm核是由數(shù)據(jù)總線連接的功能單元組成,如下圖所示:

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

          數(shù)據(jù)通過數(shù)據(jù)總線流向處理器核心,這里的數(shù)據(jù)可以是將要執(zhí)行的指令,也可以是數(shù)據(jù)項.上面的圖是Von Neumann體系的arm核,數(shù)據(jù)項和指令共用同一總線.而h哈佛結(jié)構(gòu)體系的arm核就會用兩個不同的總線.

          就像所有的RISC處理器,arm采用load-store體系結(jié)構(gòu).也就是說它含有兩條不同的指令類型來出入處理器.loar指令將數(shù)據(jù)從內(nèi)存拷貝到寄存器,store指令是將數(shù)據(jù)從寄存器拷貝到內(nèi)存.沒有直接操作內(nèi)存中數(shù)據(jù)的數(shù)據(jù)處理指令.數(shù)據(jù)的處理離不開寄存器.

          ARM指令一般有兩個源寄存器,Rn和Rm,和一個目的寄存器,Rd.ARM的一個重要特性是Rm可以在送入ALU之前被桶型移位器做預(yù)處理,這樣就會有很多形式的表達式和尋址方式.

          下面介紹ARM處理器的幾個關(guān)鍵分量:寄存器,當前程序狀態(tài)寄存器和流水線

          寄存器:

          通用目的寄存器可以保存數(shù)據(jù)或者地址.由字母r和編號數(shù)字來表示.所有的寄存器都是32bit大小.

          一共有18個活動的寄存器:16個數(shù)據(jù)寄存器和兩個程序狀態(tài)寄存器.數(shù)據(jù)寄存器由r0--r15表示.

          ARM處理器有3個寄存器分配為特殊的功能:r13,r14,r15

          r13通常用作棧指針(sp),存儲當前處理器工作模式下的棧頂;

          r14被稱作鏈接寄存器(lr),當發(fā)生調(diào)用時存放調(diào)用子程序的返回地址;

          r15被稱作程序計數(shù)器(pc),保存被處理器預(yù)取的下一條指令的地址.

          除了這16個數(shù)據(jù)寄存器,還有來年各個程序狀態(tài)寄存器:cpsr和spsr.處理器的當前工作模式?jīng)Q定了哪些寄存器是可見的.

          當前程序狀態(tài)寄存器:

          ARM核使用cpsr來顯示和控制內(nèi)部的操作.通用程序狀態(tài)寄存器的內(nèi)部如下:

          cpsr分為四個域,每個域有8位的寬度:flags,status,extension和control.control域包含處理器模式和狀態(tài)以及中斷屏蔽位.flags域包含condition flags.

          處理器模式:

          處理器模式?jīng)Q定了當前哪些寄存器是可用的以及cpsr本身的訪問權(quán)限.處理器模式分為特權(quán)模式和非特權(quán)模式:特權(quán)模式對cpsr有完全的讀寫控制.而非特權(quán)模式

          只能讀cpsr的control域但是仍可以讀寫condition flags.

          一共有7中處理器模式:六種特權(quán)模式(abort,fiq,irq,svc,system和undefined)和一種非特權(quán)模式(user).

          當試圖訪問內(nèi)存失敗時處理器會進入abort模式,fiq和irq對應(yīng)ARM處理器的兩種中斷級別.svc是系統(tǒng)reset后進入的模式,也是os kernel工作的模式.

          system模式是user模式的特殊版本,它有對cpsr的讀寫控制.undefined模式在處理器遇到未定以的指令或者不支持的操作時使用.

          user模式在應(yīng)用程序下使用.

          Banked registers:


          上一頁 1 2 下一頁

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

          評論


          技術(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); })();