- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM知识点讲解的
硅谷芯微技术学院网址:http://www.threeway.cc/
1、ARM处理器工作模式有几种?各种工作模式下分别有什么特点?
答:ARM 处理器有7种工作模式,这7种模式及其特点是:
快速中断模式(fiq)
支持高速数据传输或通道处理,外部中断fiq信号有效且CPSR的F=0进入。
中断模式(irq) 用于通用中断处理,外部中断irq信号有效CPSR的I=0进入。
管理员模式(svc) - 操作系统的保护模式, 复位、软件中断进入。主要用于 SWI(软件中断)和 OS(操作系统)。这个模式有额外的特权,允许你进一步控制计算机。
中止模式(abt) - 支持虚拟内存和/或内存保护 预取指令中止/数据中止进入
未定义模式(und) - 支持硬件协处理器的软件仿真(浮点、向量运算) 未定义指令进入
系统模式(sys) - 支持操作系统的特殊用户模式(运行操作系统任务)
用户模式(usr)
正常的程序执行模式,此模式应用程序不能访问受操作系统保护的资源,不能改变模式,除非异常发生。
2、ARM处理器总共有多少个寄存器,这些寄存器按其在用户编程中的功能是如何划分的?这些寄存器在使用中各有何特殊之处?
答:ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。
31个通用寄存器根据其编程特点可分为如下几种类型:
1、不分组寄存器R0-R7 为所有模式共享
2、分组寄存器R8-R12
R8_fiq-R12_fiq: FIQ模式下的寄存器
R8-R12:其它模式共享
3、分组寄存器R13-R14
分为6组,用户、系统一组,其他每种模式一组。
R13_mode通常用作堆栈指针SP,R14_mode通常用作子程序链接寄存器,当进入子程序时,常用来保存PC的返回值其中,mode为以下几种模式之一:usr、fiq、irq、svc、abt、und。
4、程序寄存器R15(PC) 所有模式共享
6个状态寄存器:
一个CPSR当前程序状态寄存器,保存当前程序状态。
五个程序状态备份寄存器SPSR(svc,abt,und,irq,frq),只有在异常模式下,才能被访问;各异常模式都拥有属于自己的SPSR,当发生异常时,SPSR用来保存CPSR的值,从异常退出时则可由SPSR来恢复CPSR。
3、试述ARM处理器对异常中断的响应过程。
答:当一个异常出现以后,ARM微处理器执行完当前指令后(复位异常除外)会执行以下几步操作:
将下一条指令的地址存入相应连接寄存器LR(R14_XXX),以便程序在处理异常返回时能从正确的位置重新开始执行。
将CPSR复制到相应的SPSR中。
根据异常类型,强制设置CPSR的运行模式位。
强制PC从相关的异常向量地址取一条指令执行,从而跳转到相应的异常处理程序处。
4、如何从异常中断处理程序中返回?需要注意哪些问题?
答:异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:
将连接寄存器LR(R14_XXX)的值减去相应的偏移量后送到PC中。
将SPSR复制回CPSR中,恢复原处理器工作模式。
若在进入异常处理时设置了中断禁止位,要在此清除。
注意问题:异常处理返回时,IRQ和FIQ必须返回前一条指令,以便执行因进入异常而被“占据”的指令。预取指中止必须返回前一条指令,以便执行在初次请求访问时造成存储器故障的指令。数据中止必须返回前面第二条指令,以便重新执行因进入异常而被占据的指令之前的数据传送指令。
5、ARM处理器版本的变化主要体现在内核的变化和内核的扩展哪些方面?
答:ARM处理器版本的变化主要体现在内核的扩展和扩充。
ARM内核的扩展主要是增加ARM核外围的组件,以改善ARM性能,提供资源管理等功能。主要有3种硬件扩展:
1、ARM内核扩展cache和紧耦合存储器
2、扩展存储管理
3、扩展协处理器接口(控制cache、TCM和存储管理)
ARM内核扩充主要是增加ARM核功能,通常将具有某些特殊功能的ARM内核称为它的某种变种,到目前为止ARM定义了如下变种:
1、T变种 Thumb指令集
2、M变种 长乘指令
3、 E变种 增强型DSP指令
4、J变种 java加速器Jazelle
6、简述处理器启动时的模式转换过程。
处理器启动时,首先进入管理员模式(svc),此后进入除用户模式之外的其他模式,主要完成各模式的堆栈设置,最后进入用户模式,运行用户程序。
7、ARM存储器的存储周期有几种类型,对应于cache访问和存储器访问是何存储周期?
ARM存储器的存储周期有4种类型,它们分别是:空闲周期、顺序周期、协处理器寄存器传送周期和非顺序周期,对应
文档评论(0)