ARM架构的嵌入式微处理器课件.ppt

ARM架构的嵌入式微处理器课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

*2)ARM處理器的寄存器如ARM7處理器總共有37個寄存器被分為若干個組(BANK): 30個通用寄存器 6個狀態寄存器 1個專用於記錄當前狀態 5個專用於記錄狀態切換前的狀態 1個程式計數器PC同時ARM處理器又有7種不同的處理器模式,在每一種模式下都有一組相應的寄存器與之對應。即在每一種處理器模式下,可訪問的寄存器包括15個通用寄存器(R0~R14)、1至2個狀態寄存器和程式計數器。在使用的寄存器中,有些是公用的、有些是獨立使用的。*ARM的寄存器組織Ⅰ* ARM的寄存器組織Ⅱ(1)通用寄存器:包括R0~R15,以及程式計數器PC。當C和彙編互相調用時,R0-R3用來傳遞函數參數,可記為a0-a3。R0~R7稱為不分組寄存器;即在所有處理器模式下,他們都可被同樣訪問,沒有體系結構所隱含的特殊用途。R8~R14稱為分組寄存器;意味著對它們的訪問與當前處理器的模式有關(不同模式下具有不同的功能)。例如:R8~R12有兩組物理寄存器。一組屬於快速模式(R8_fiq~R12_fiq),另一組屬於其他模式(R8_usr~R12_usr);R13和R14有6組物理寄存器。其中只在用戶模式和系統模式共用一組,其他模式下都是專用的。寄存器R13通常作為堆疊指針(SP);寄存器R14常用作程式連接寄存器(LR);寄存器R15,又稱為程式計數器PC。除了User和System模式外,各種模式都有自己獨立的R13和R14*ARM的寄存器組織Ⅲ(1)(2)狀態寄存器:當前程式狀態寄存器CPSR,可以在任何工作模式下被訪問;程式狀態備份寄存器SPSR,只有在異常模式下,才能被訪問;*ARM的寄存器組織Ⅲ(2)條件標誌位標誌位含義N當兩個補數表示的帶符號數運算時,N=1表示運算的結果為負數;N=0表示運算的結果為正數或零;ZZ=1表示運算的結果為零;Z=0表示運算的結果不為零;C有3種情況會改變C的值:加法運算(包括比較指令CMN):當運算結果產生了進位時(無符號數上溢出),C=1,否則C=0。減法運算(包括比較指令CMP):當運算時產生了借位(無符號數下溢出),C=0,否則C=1。對於包含移位操作的非加/減運算指令,C為移出值的最後一位。V對於加/減法運算指令,當運算元和運算結果為二進位的補數表示的帶符號數時,V=1表示符號位溢出。Q在ARMv5及以上版本的E系列處理器中,用Q標誌位指示增強的DSP運算指令是否發生了溢出。*ARM的寄存器組織Ⅲ(3)控制位標誌位含義II=1,表示禁止IRQ中斷;否則,表示允許IRQ中斷FF=1,表示禁止FIQ中斷;否則,表示允許FIQ中斷T對於ARMv4以上版本的T系列處理器,T=0,表示執行ARM指令,否則,表示執行Thumb指令;對於ARMv5以上版本的非T系列處理器,T=0,表示指令ARM指令,否則,表示強制下一條執行的指令產生未定義指令中斷。M[4:0]M[4:0]處理器工作模式可訪問的寄存器10000用戶模式PC,R0~R14,CPSR10001快速中斷模式PC,R0~R7,R8_fiq~R14_fiq,CPSR,SPSR_fiq10010外部中斷模式PC,R0~R12,R13_irq~R14_irq,CPSR,SPSR_irq10011管理模式PC,R0~R12,R13_svc~R14_svc,CPSR,SPSR_svc10111中止模式PC,R0~R12,R13_abt~R14_abt,CPSR,SPSR_abt11011未定義指令模式PC,R0~R12,R13_und~R14_und,CPSR,SPSR_und11111系統模式PC,R0~R14,CPSR* 3)ARM處理器對異常的回應(1)將下一條指令的地址存入相應連接寄存器LR,以便程式在處理異常返回時能從正確的位置重新開始執行。(2)將CPSR複製到相應的SPSR中。(3)根據異常類型,強制設置CPSR的運行模式位。(4)強制PC從相關的異常向量地址取下一條指令執行,從而跳轉到相應的異常處理程式處。4)從異常返回異常處理完畢之後,ARM微處理器會執行以下幾步操作從異常返回:(1)將連接寄存器LR的值減去相應的偏移量後送到PC中。(2)將SPSR複製回CPSR中。*異常向量(ExceptionVectors 0x0000,0000:複位0x0000,0004:未定

文档评论(0)

157****3839 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档