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-R12R8_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 加速器 Jazelle6、简述 处理器启动时的模式转换过程;处理器启动时,第一进入治理员模式 〔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 送来主存地址,放到主存地址寄存器中;然后通过地址变换部件把主存地址中的块号M 变成 cache 的块号 m,并放到 cache 地址寄存器当中; 同时将主存地址中的块内地址 N 直接作为 cache 的块内地 址 n 装入到 cache 地址寄存器中;假如地址变换胜利(通常 称为 cache 命中),就用得到的 cache 地址去拜访 cache,从cache 中取出数据送到 CPU 中;假如地址变换不胜利,就产生 cache 失效信息,并且接着使用主存地址直接去拜访主储备器;9、简述全相联 cache、直接映象 cache、组相联 cache其主存地址至 cache地址的变换过程和数据检索过程;全相联 cache地址的变换过程和数据检索过程:把内存地址的块号与 cache 目录区的主存块号比较,如相同就命中,然后块内地址检索 cache 块/行的某字;否就拜访内存;直接映象 cache地址的变换过程和数据检索过程:1、依据 内存地址的 块号找到 cache的对应块;2、把内存地址的区号与 cache 块的标记比较,如两者相等且有效位为 1,就为命中,以块内地址拜访 Cache数据 区;如两者不相等或有效位不为 1,就拜访内存;组相联 cache地址的变换过程和数据检索过程:1、第一以 内存地址的组号 q 找到 cache中的组;如:物理地址的组号为 1,就对应 cache第 1 组;2、由于主存与 cache其组内的块之间采纳全相连映射,因此把 内存地址的区号、组内块号与 cache目录区所存的区 号、组内块号比较,如有相同者就为命中;3、如命中,以物理地址的块内地址查找某字, 否就访问内存;10、何谓写通 cache和写回 cache,两者有何区分?采纳写通法进行数据更新的 cache 称为写通 cache;写通法是指 CPU 在执行写操作时,必需把数据同时写入cache 和主存;采纳写回法进行数据更新的 cache称为写回 cache;写回法是指 CPU 在执行写操作时,被写的数据只写入cache,不写入主存;仅当需要替换时,才把已经修改的cache 块写回到主存中;写通 cache和写回 cache的区分主要表达在 执行写操作时数据是否同时写入主存, 写通 cache的欲写 数据同时写入 cache 和主存; 写回 cache的欲写 数据只写入cache,不写入主存,仅当需要替换时,才把已经修改的cache 块写回到主存中;11、说明 ARM 储备器储备拜访过程;12、arm 的 MMU 主要主要实现何功能;答: MMU 主要主要实现功能是:1、 虚拟储备空间到物理储备空间的映射;在 ARM中采纳了页式虚拟储备治理,通过两级页表实现虚拟地址到物理地址的映射;2、 储备器拜访权限的掌握;3、 设置虚拟储备空间的缓冲的特性,主要包括Cache、write buffer 的配置;13、协处理器 cp15 主要主要实现何功能;答:协处理器 cp15 用于处理、掌握 ARM 的特别性能,包括:1、片上储备器治理单元 〔MMU〕 的特性;2、指令、数据缓存的特性;3、写缓冲器的特性;为掌握这些特性, CP15 供应了 16 个额外寄存器;14、简述 MMU 使能时储备拜访过程 ;(设 chach 为一级 cache)答:使能 MMU 时储备拜访过程 :通过配置 cp15 寄存器,设置为 MMU 使能:(1) 如 cache使能,依据 arm 输出的虚拟地址在 CACHE中搜寻 ;如 cache命中, arm 处理器与 cache交换数据;(2) 如 cache禁止或 cache未命中,第一拜访 TLB ,依据arm 输出的虚拟地址在 TLB 中搜寻,如 TLB 命中,将TLB 中的物理页地址与虚拟地址的页内偏移量拼接成 物理地址,拜访主存并把该块数据读取到 cache〔使能时〕中;(3) 如 cache且 TLB 均未命中,拜访主存中的页表;15、ARM 支持的物理页有几种类型,其容量为何值?ARM 支持的物理页有四种类型,分别是: 1m 的页,64k 的大页, 4k 的小页, 1k 的微页或微小页;16、简述采纳单步页表搜寻过程;(如一级页表的页表项为 1M 的段,采纳单步页表搜寻;如为细页表或粗页表的页表项就采纳两步搜寻; )搜寻步骤:1、第一由 c2 寄存器的高 18 位和规律地址的高 12 位拼接成段描述符的物理地址,如下图所示:2、依据上述地址检索一级页表找到段描述符,把段描述符中的高 12 位和虚拟地址的低 20 位拼接成 32 位物理地址,并由此地址拜访主存物理页及相应储备单元;17、简述使用粗页表和 4k 页的二级虚实地址转换过程;1、第一把 c2 寄存器中的 18 位页表基址作为粗页表描述符的地址的高 18 位,虚拟地址的高 12 位作为粗页表描述符的地址的中间部分, 00 作为粗页表描述符的地址的最低2 位,由此得到粗页表描述符的物理地址;依据粗页表描述符的物理地址,检索一级页表,找到粗页表描述符;2、把粗页表描述符 22 位二级页表基址与虚拟地址的中 间 8 位和 00 拼接成 4k 页描述符的物理地址,依据 4k 页描述符的物理地址,检索二级页表,找到 4k 页表描述符;3、将 4k 页表描述符中的高 20 位物理地址与虚拟地址的低 12 位拼接成主存物理地址,并由此拜访某储备单元。