【嵌⼊式】嵌⼊式系统开发与应⽤第⼆版课后答案第⼆章(⽥
泽)
复习⽤,⾃整理、%%犇orz——海底淤泥
1尝试⽐较CISC体系结构和RISC体系结构的特点。ARM为何采⽤RISC体系结构?
CISC:增加指令集的复杂度,以芯⽚⾯积为代价
RISC:只执⾏最常⽤的指令,⼤部分复杂指令由简单指令合成
因为:
组织结构:
1RISC的硬连线的指令编码逻辑
2便于流⽔线执⾏
3⼤多数RISC指令为单周期执⾏
处理器:
1处理器管芯⾯积⼩
2开发时间缩短,开发成本减低
3容易实现⾼性能,低成本的处理器
2简述ARM体系结构的特点
1.Load/Store 体系结构
2.固定的32为指令
3.3地址指令格式
3什么是Thumb技术,其优点是什么?与ARM指令集相⽐,Thumb指令集有哪些局限?
Thumb是ARM体系结构的扩展
优点:提⾼了代码密度
局限:
1.完成相同操作时,Thumb需要更多的指令
2.Thumb指令集没有包含进⾏异常处理时需要的⼀些指令
4什么是Thumb-2内核技术?它有哪些特点?
Thumb-2内核技术是ARM体系的新指令集
嵌入式系统开发是什么 特点:更⾼性能,更低功耗,更简短的代码长度
5⽬前ARM处理器核有哪⼏种?简述ARM7TDMI内核的重要特性
处理器内核:
ARM7TDMI
ARM9TDMI
ARM10TDMI
ARM11
SecurCore
Cortex
重要特性:
1.能实现ARM体系结构版本4T
2.⽀持Thumb指令集
3.32*8 DSP乘法器
4.32位寻址空间,4GB线性地址空间
5.包含ICE模块
6分别以ARM7TDMI和ARM9TDMI为例,介绍3级流⽔线和5级流⽔线的执⾏过程,并进⾏相应的⽐较
三级流⽔:取指--->译码--->执⾏
五级流⽔:取指--->译码--->执⾏--->缓冲/数据--->回写
⽐较:
1三级流⽔译码不包含reg读,五级流⽔译码包含reg读
2三级流⽔执⾏包含reg读,移位/ALU,reg写,五级流⽔执⾏只包含位移/ALU
3五级流⽔增加了存储器数据访问过程,并将reg写单独分离为⼀个过程
7ARM Cortex处理器包括哪⼏个系列?各有什么特点?
ARM Cortex-A系列:微处理器核,能运⾏通⽤操作系统
ARM Cortex-R系列:微处理器核,运⾏实时操作系统
ARM Cortex-M系列:微控制核,功耗低,性能⾼
8ARM微处理器⽀持哪⼏种⼯作模式?各个⼯作模式有什么特点?
7种: 特点:
1.⽤户 程序正常执⾏
2.FIQ 快速中断模式,处理快速中断
3.IRQ 外部中断模式,处理普通中断
4.SVC 特权模式,处理软中断
5.ABT 中⽌模式,处理存储器故障
6.UNQ 未定义模式,处理未定义指令陷阱
7.系统 运⾏特权操作系统任务
9ARM处理器共有多少个寄存器?这些寄存器在⽤户编程的功能中是如何划分的?ARM状态下的通⽤寄存器可分为哪⼏类?
31个通⽤寄存器,6个状态寄存器
⽤户编程:
R0~R14,R15(PC),CPSR
ARM状态:
1.未分组寄存器R0~R7
2.分组寄存器R8~R14
3.程序计数器R15
10简述ARM状态下分组寄存器R13 R14 R15 的功能以及R15使⽤的注意事项
R13 ⽤作堆栈指针SP
R14 ⼦程序连接寄存器LR
R15 程序计数器PC
R15注意事项:由于ARM多级流⽔技术,R15的程序地址并不是当前指令的地址,指令“BX Rm”利⽤Rm的bit[0]来判断跳转到ARM还是thumb状态
11简述ARM程序状态寄存器各位的功能
1条件码标志位
最⾼4位——N,Z,C,V
N:补码状态下,N=0是⾮负数,N=1是负数
Z:Z=1表⽰结果为0,Z=0表⽰结果为⾮0
C:1.加法,c=1有进位 2.减法,c=0有借位 3.位移,c存储最后被移出的值
V:运算溢出V=1否则V=0
2.控制位
最低8位——I,F,T,M[4:0]
I:I=1,禁⽌IRQ中断
F:F=1,禁⽌FRQ中断
T:T=0,ARM执⾏,T=1,Thumb执⾏
M[4:0]:记录当前模式
3.保留位
其他位保留作以后的扩展
12试分析Thumb状态与ARM寄存器的关系
Thumb状态的R0~R7与ARM状态的R0~R7是⼀致的
Thumb状态的CPSR和SPSR与ARM状态的CPSR和SPSR是⼀致的
Thumb状态的SP映射到ARM状态的R13
Thumb状态的LR映射到ARM状态的R14
Thumb状态的PC映射到ARM状态的R15
13ARM体系结构⽀持哪⼏种类型的异常?他们之间的优先级关系如何?各种异常与处理模式有何关系?
7种类型: 优先级: 处理模式:
复位 1 SVC
未定义的指令 6 UNQ
软件中断 6 SVC
指令预取中⽌ 5 ABT
数据访问中⽌ 2 ABT
外部中断请求 4 IRQ
快速中断请求 3 FIQ
14简述ARM处理对异常中断响应过程
1.将CPSR的内容保存到要执⾏的异常中断SPSR中,以实现对处理器当前状态中断屏蔽位以及各个标志位的保存
2.设置当前状态寄存器的CPSR的相应位
3.将寄存器LR_<mode>设置为异常返回的地址,使异常处理程序执⾏完后能正确返回原程序
4给程序计数器PC强制赋值,使程序从相应的向量地址开始执⾏中断程序
15ARM如何从异常中断处理程序返回?需要注意哪些问题
1.所有修改过的⽤户寄存器必须从处理程序的保护堆栈中恢复
2.将SPSR_<mode>寄存器内容复制到CPSR中,使得CPSR从相应的SPSR中恢复,即恢复被中断程序的处理器⼯作状态
3.根据异常类型将PC变回到⽤户指令流中的相应指令处
4.最后清除CPSR中的中断禁⽌标志位I/F
16什么是ARM异常中断向量表?它有何作⽤?存储在什么地⽅?
异常中断向量表中指定了各异常中断与处理程序的对应关系
作⽤:每个异常中断对应异常中断向量表中4个字节,存放⼀个跳转指令或者⼀个向PC寄存器中赋值的数据访问指令LDR。通过指令,程序将跳转到相应的异常中断处理程序处执⾏
通常以存储器低端的0x0为起始位置的32字节空间中
17如果FIQ、IRQ和第三个异常(不是复位)同时发⽣,ARM应该如何处理?
由于FIQ⽐IRQ优先级⾼,会将IRQ屏蔽,直到FIQ明确将IRQ使能或返回⽤户代码为⽌
若第三个异常是数据中⽌异常,则进⼊数据中⽌异常程序后⽴刻进⼊FIQ处理程序,当FIQ返回时再处理数据中⽌异常程序
若第三个异常不是数据中⽌异常,则会⽴即进⼊FIQ,直到FIQ、IRQ返回时才返回到产⽣第三个异常的指令处进⾏处理
18ARM⽀持中断嵌套吗?如何实现ARM处理器的中断嵌套?
⽀持,利⽤中断控制器来实现
19ARM处理器⽀持哪些数据类型
6种:
8位有符号/⽆符号字节
16位有符号/⽆符号半字
32位有符号/⽆符号字
20⼤端存储与⼩端存储有何不同?他们对存储数据有什么要求和影响?
⼩端储存:较⾼有效字节放在较⾼的存储器地址,较低有效字节放在较低的存储器地址,
⼤端储存:较⾼有效字节放在较低的存储器地址,较低有效字节放在较⾼的存储器地址,
串⾏通信上采⽤⼤端排序性能较好
本地主机上采⽤⼩端排序性能较好
21简述ARM的存储层次
1寄存器组
2⽚上RAM
3⽚上Cache
4主存储器
5硬盘
22简述存储器管理单元MMU的作⽤。MMU和MPU有什么不同?
作⽤:
1虚拟存储空间到物理存储空间的映射
2存储器访问权限的控制
3设置虚拟存储空间的缓冲特性
不同:
MMU⽐MPU更先进
MMU能覆盖MPU的所有功能
MMU能实现缓存控制,总线仲裁,Bank切换,⽽MPU不能
MPU⽐MMU更简单,使⽤开销也更少
23统⼀的Cache与分开的Cache有什么区别?他们各⾃的优点是什么?
统⼀的Cache指令预存和数据存取时使⽤的Cache是同⼀个Cache,优点:能够⾃动调整指令在Cache存储器的⽐例,⽐固定划分有
更好的性能
分开的Cache指令预存和数据存取时使⽤的Cache是相互独⽴的Cache,优点:使Load/Stroe指令能够单周期执⾏24简述ARM协处理器的作⽤
ARM通过增加硬件协处理器来⽀持对其指令集的通⽤扩展。
25AMBA规范定义了⼏种总线?各⾃有什么特点?
3种:
1.AHB:⽤于连接⾼性能模块
2.ASB:⽤于连接系统模块
3.APB:是⼀个简单接⼝⽀持低性能的外围接⼝
26简述基于JTAG仿真器的ARM系统调试结构
1.嵌⼊式调试
2.调试处理器核
3.ARM调试硬件
4.EmbeddedICE
27简述基于EmbeddedICE的ARM调试结构
1.是基于JTAG测试端⼝的扩展,引⼊了附加的断点和观测点寄存器
2.EmbeddedICE模块包括两个观察点寄存器以及控制存储器和状态寄存器
3.基于ARM的包括EmbeddedICE模块的系统性⽚通过JTAG端⼝和协议转换器与主机连接
28试分析ARM实时调试的完整解决⽅案
EmbeddedICE单元⽀持断点和观察点的功能并提供主机和⽬标软件的通信通道
ETM单元压缩处理器接⼝信息并通过跟踪端⼝送到⽚外
⽤户可控制断点的和观察点的设置,并可以配置各种各种跟踪功能。
29从应⽤的⾓度分析,ARM芯⽚选择的原则是什么?
1.MMU:如果希望使⽤WindowsCE或Linux,需要选择带有MMU的芯⽚
2.处理器速度:如果系统需要进⾏图像处理这种对速度要求较⾼的应⽤,则需要选择⾼版本ARM内核芯⽚
3.内置存储器容量:如果系统不需要⼤量容量的存储器,可以考虑带有内置存储器的芯⽚
4.USB接⼝:根据产品具体应⽤来选择
5.GPIO数量:在说明书中往往声明最⼤可能的GPIO数量,但有许多引脚是复⽤的,需要⾃⼰计算实际可⽤GPIO数量 ...
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论