ARM知识点详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM知识点详解
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_通常⽤作堆栈指针SP,R14_通常⽤作⼦程序链接寄
存器,当进⼊⼦程序时,常⽤来保存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微处理器执⾏完当前指令后(复位异常除外)会执⾏以下⼏步操作:
1.将下⼀条指令的地址存⼊相应连接寄存器LR(R14_XXX),以便程序在处
理异常返回时能从正确的位置重新开始执⾏。
2.将CPSR复制到相应的SPSR中。
3.根据异常类型,强制设置CPSR的运⾏模式位。
4.强制PC从相关的异常向量地址取⼀条指令执⾏,从⽽跳转到相应的异常
处理程序处。
4、如何从异常中断处理程序中返回?需要注意哪些问题?
答:异常处理完毕之后,ARM微处理器会执⾏以下⼏步操作从异常返回:
1.将连接寄存器LR(R14_XXX)的值减去相应的偏移量后送到PC中。
2.将SPSR复制回CPSR中,恢复原处理器⼯作模式。
3.若在进⼊异常处理时设置了中断禁⽌位,要在此清除。
注意问题:异常处理返回时,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种类型,它们分别是:空闲周期、顺序周期、协处理器寄存器传送周期和⾮顺序周期,对应于cache访问的存储周期是空闲周期和顺序周期,对应于存储器访问的存储周期是⾮顺序周期。
8、何谓cache?简述cache的⼯作原理。
Cache即⾼速缓冲存储器是位于CPU与内存之间的⾼速存储器,它的容量⽐内存⼩但交换速度快。
在cache存储系统当中,把主存储器和cache都划分成
相同⼤⼩的块。主存地址由块号M和块内地址N两部分组成。同样,cache的地址也由块号m和块内地址n组成。然⽽cache 是相连存储器,装⼊时,通过地址变换部件把主存地址中的块号M变成cache的块号m,块号M保存在块号为m 的cache块的标记区,数据块装⼊cache缓冲区。当CPU要访问cache时,CPU送来主存地址,放到主存地址寄存器中。然后通过地址变换部件