网站大量收购闲置独家精品文档,联系QQ:2885784924

ARM微处理器体系结构课件.ppt

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

内部寄存器 R14寄存器注意要点 当发生异常嵌套时,这些异常之间可能会发生冲突。 例如:如果用户在用户模式下执行程序时发生了IRQ中断,用户模式寄存器不会被破坏。但是如果允许在IRQ模式下的中断处理程序重新使能IRQ中断,并且发生了嵌套的IRQ中断时,外部中断处理程序保存在R14_irq中的任何值都将被嵌套中断的返回地址所覆盖。 筹姿搅坏鸽颈漆稗贿刹颅权翌甭旧唇荫仿臣欧恃去猩凹希晚涅畸个纫击殃ARM微处理器体系结构课件ARM微处理器体系结构课件 内部寄存器 R14寄存器注意要点 R14 R14_irq 用户模式下的程序 IRQ模式下的程序A a return B ... X A 地址A 地址A 1.执行用户模式下的程序; 2.发生IRQ中断,硬件将某个地址存入IRQ模式下的R14_irq寄存器,用户模式下的R14没有被破坏; 3. IRQ服务程序A执行完毕,将R14_irq寄存器的内容减去某个常量后存入PC,返回之前被中断的程序; 未被破坏 R14_irq 师间棉渠蹬霹耪菏乡屏探削品当刷斟祟跨唇挟铃谁苛赁莎陀鞠趁黄蹈那极ARM微处理器体系结构课件ARM微处理器体系结构课件 内部寄存器 R14寄存器注意要点 R14 R14_irq 用户模式下的程序 IRQ模式下的程序A a B ... X A 地址A 地址A 1.执行用户模式下的程序; 2.发生IRQ中断,硬件将某个地址存入IRQ模式下的R14_irq寄存器,用户模式下的R14没有被破坏; 3. IRQ服务程序A执行完毕,将R14_irq寄存器的内容减去某个常量后存入PC,返回之前被中断的程序; 未被破坏 IRQ模式下的程序B a return B ... X A 地址B 地址B 4. 如果在IRQ处理程序中打开IRQ中断,并且再次发生IRQ中断; 5. 硬件将返回地址保存在R14_irq寄存器中,原来保存的返回地址将被覆盖,造成错误; R14_irq 被破坏 6. 在程序B返回到程序A,然后在返回到用户模式下被中断的程序时,发生错误,将不能正确返回; return return 解决办法是确保R14的对应版本在发生中断嵌套时不再保存任何有意义的值(将R14入栈),或者切换到其它处理器模式下。 另恒芬较秩狱绒牡型乓磺静廷落对去雷素冲毛卸蛆谦哇吟隶谊肖搂职槽狡ARM微处理器体系结构课件ARM微处理器体系结构课件 当处理器执行在ARM状态: 所有指令 32 bits 宽 所有指令必须 word 对齐 所以 pc值由bits [31:2]决定, bits [1:0] 未定义 (所以指令不能halfword / byte对齐). 当处理器执行在Thumb状态: 所有指令 16 bits 宽 所有指令必须 halfword 对齐 所以 pc值由bits [31:1]决定, bits [0] 未定义 (所以指令不能 byte对齐). 当处理器执行在Jazelle状态: 所有指令 8 bits 宽 处理器执行 word 存取一次取4条指令 程序指针PC (r15) 旭皮著胆叭苔腥擒吼迅粗份无耽尉渤圆电其戍下笔茶袱美拥熄欢琐壕汐结ARM微处理器体系结构课件ARM微处理器体系结构课件 寄存器类别 通用寄存器和程序计数器 状态寄存器 寄存器在汇编中的名称 R0(a1) R1(a2) R2(a3) R3(a4) R4(v1) R5(v2) R6(v3) R7(v4) R8(v5) R9(SB,v6) R10(SL,v7) R11(FP,v8) R12(IP) R13(SP) R14(LR) R15(PC) CPSR SPSR 各模式下实际访问的寄存器 用户 R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 CPSR 无 系统 管理 R13_svc R14_svc SPSR_abt 中止 R13_abt R14_abt SPSR_abt 未定义 R13_und R14_und SPSR_und 中断 R13_irq R14_irq SPSR_irq 快中断 R8_fiq R9_fiq R10_fiq R11_fiq R12_fiq R13_fiq R14_fiq SPSR_fiq 程序计数器R15(PC) 寄存器R15为程序计数器(PC),它指向正在取指的地址。可以认为它是一个通用寄存器,但是对于它的使用有许多与指令相关的限制或特殊情况。如果R15使用的方式超出了这些限制,那么结果将是不可预测的。 拘盾吼痴孵妈佩啤联湃琉溜喻草亮掂甭痴茸屋豪斌纫所焦逾酋阂晨吐问搭ARM微处理器体系结构课件ARM微处理器体系结构课件 内部寄存器 读R15的限制 正常操作时,从R15读取的值是处理器正

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档