初学arm知识总结中.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章嵌入式系统概述 嵌入式技术基础 扬州职业大学 计算机应用教研室 ARM处理器体系结构简要总结 RISC处理器种类比较多,指令长度固定,执行周期固定, 微控制器子类又很多,目前很多较小的嵌入式控制场合都用得是微控制器,比如sim卡,一卡通,电子表等。mips是mips公司研究出的一套体系结构,目前龙芯,聚芯都是基于mips。Alpha是惠普在与康柏电脑公司合并之后拥有Alpha芯片的,在2003年1月推出一款新的Alpha处理器。18月后Alpha芯片正式“退休”。powerpc是ibm,hp等公司合力出的一套,挺复杂,结构严谨,但推广不好,sparc只在sun得到大力支持。arm是目前应用最广泛的一套指令系统,支持多任务,只要是超出单片机能力、x86又太浪费的场合大部分都用arm。90%的智能手机都是arm处理器。 ARM处理器体系结构简要总结 X86处理器工作模式: 实模式 保护模式 虚拟8086模式 arm处理器7工作模式: 用户模式、管理模式、未定义模式、中止模式、 特权模式、irq模式,fiq模式。 ARM处理器体系结构简要总结 用户模式和管理模式: 共用r0-r14通用寄存器,pc寄存器,共用一个cpsr。 未定义模式、中止模式、特权模式、irq模式: 共享用户模式和管理模式的r0-r12,各自专用的r13-r14, pc寄存器,各自专用的cpsr和spsr。 fiq模式: 共享用户模式和管理模式的r0-r7,专用的r8-r14,pc寄存器,专用的cpsr和spsr。 注意pc寄存器是所有模式共享一个。 ARM体系的各种异常的分析 1.复位异常 (1)当内核的nRESET信号被拉低时,ARM处理器放弃正在执行的指令,当nRESET信号再次变高时,ARM处理器进行复位操作; (2)系统复位后,进入管理模式对系统进行初始化,复位后,只有PC(0和CPSR(nzcvqIFt_SVC)的值是固定的,另外寄存器的值是随机的。 ARM体系的各种异常的分析 2.IRQ异常 (1)当CPSR中的相应的中断屏蔽被清除时,内核的nIRQ信号被拉低时可产生IRQ异常; (2)由于ARM处理器的三级流水线结构,当异常发生时,PC的值等于当前执行指令的地址+8(即正确的中断返回地址+4),因此R14保存的值是 中断返回地址+4 ,所以当异常要返回时须执行以下指令: SUBS?? PC,R14_irq,#4???????????? ;PC=R14 - 4 注意:在SUB指令尾部有个S,并且PC是目标寄存器,所以程序返回时CPSR将自动从SPSR寄存器中恢复; (3)将用户模式下的CPSR保存到SPSR_irq中; (4)设置PC为IRQ异常处理程序的中断入口向量地址,在IRQ模式下该向量地址为0 ARM体系的各种异常的分析 3.FIR异常 (1)当CPSR中的相应F位被清零时,内核的nFIR信号被拉低时可产生FIR异常,FIQ异常是优先级最高的中断 (2)FIQ异常的进入和退出与IRQ异常类似; (3)快速中断模式有8个专用的寄存器,可用来满足寄存器保护的需要,因此从其他模式进入FIQ模式时这些寄存器不用压栈了,提高程序运行的速度,且在中断入口地址的安排上,FIQ处于所有异常入口的最后,这是为了让用户可以从FIQ异常入口处(0x1c)就开始安排中断服务程序,而不需要再次跳转。。 ARM体系的各种异常的分析 4.未定义指令异常 (1)当ARM在对一条未定义指令进行译码时,发现这是一条自己和系统内任何协处理器都无法执行的指令时,就会发生未定义指令异常; (2)由于是在对未定义指令译码时发生异常,所以PC的值等于未定义指令的地址+4(即刚好为中断返回地址),因此R14保存的值是 中断返回地址 ,所以当异常要返回时可执行以下指令: MOVS?? PC,R14_und???????? ARM体系的各种异常的分析 5.中止异常 中止表示当前存储器的访问不能完成,是由外部的ABOUT输入信号引起的异常,分为两类: (1) 预取指中止:由程序存储器引起的中止异常; (2) 数据中止:由数据存储器引起的中止异常; ARM体系的各种异常的分析 5.中止异常 数据存储器引起的中止异常; 预取指中止异常 当程序发生预取指中止时,ARM内核将预取的指令标记为无效,但在指令到达流水线的执行阶段时才进入异常,因此当前PC的值为当前执行指令的地址+8(即正确的中断返回地址+4),因此R14保存的值是 中断返回地址+4 ,所以当修复了产生中止的原因后,不管在什么操作状态,处理器都会执行以下指令 SUBS?? PC,R14_abt,#4???????????? ;PC=R14 - 4 ARM体系的各种异常的

文档评论(0)

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

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

1亿VIP精品文档

相关文档