【嵌⼊式】嵌⼊式系统开发与应⽤第⼆版课后答案第⼆章(⽥
泽)
复习⽤,⾃整理、%%犇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小时内删除。