嵌入式第二章课后习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章
1.按照ARM处理器的命名规则,说明ARM7TDMI中T、D、M、I的含义。答:T:支持16位的Thumb指令集;D:支持JTAG片上调试;M:支持长乘法操作(64位结果)的ARM指令,包含快速乘法器;I:带有嵌入式追踪宏单元ETM(Embedded Trace Macro),用来设置断点和观察点。
2.什么是哈佛结构?与普林斯顿结构有何区别?
答:哈佛结构是一种将程序中指令和数据分开存储的存储器结构。即哈佛结构中程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
普林斯顿结构(冯·诺伊曼结构)是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。这便是。这便是两种结构的区别。
3.什么是RSIC?什么是CSIC?简述他们的特点与差别。
答:RSIC是精简指令集计算机,CISC是复杂指令集计算机。两者的区别在于不同的CPU设计理念和方法。
对于CISC:⑴在CSIC结构的指令系统中,各种指令的使用频率相差悬殊。有80%的指令只在20%的运行时间内才会用到。
⑵CISC结构指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
⑶在CISC结构指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术来提高系统的性能。
对于RISC:⑴简化指令集,只保留常用的基本指令;
⑵设计大量的通用存储器,减少访存的次数;
⑶采用装载/保存结构,支持流水线技术,使每个周期时间相等;
⑷采用简单的指令格式、规整的指令字长和简单的寻址方式;
⑸单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。
4.ARM7处理器是几级流水线?在ARM7处理器中,“PC指向的是下一条要
执行的指令”,这句话对吗?为什么?
答:ARM7处理器采用三级流水线。
“PC指向的是下一条要执行的指令”,这句话不对。在ARM处理器中将PC 程序计数器定义到R15寄存器,无论处理器处于何种状态,PC总是指向“正在取值”指令的地址,一般来说,人们习惯性的约定将“正在执行的指令作为参考点”,成为当前第一条指令,那么PC总是指向随后的第三条指令,或者说PC总是指
向当前正在执行的指令地址再加上2条指令的地址,即指向正在执行指令的下下一条指令,而不是指向下一条要执行的指令。
5.简述ARM处理器中在线仿真器模块EmbeddedICE-RT的作用。
答:ARM处理器中的在线仿真器模块EmbeddedICE-RT,一般还带有嵌入式宏跟踪单元模块ETM,实现ARM处理器的在线调试和运行过程的跟踪功能;并且具有诸多ICE功能,例如实时寻址、断点、单步、对ARM CPU的完全控制、对ASIC系统其余部分的访问,以及对主机显示器外设访问、键盘输入和磁盘存储。
6.ARM处理器的工作状态分为哪二种?ARM处理器又是怎么定义和标志
的?
答:ARM处理器的工作状态分为ARM状态和Thumb状态,这两种状态有程序状态字CPSR中T标志位确定,为0时处理器工作在ARM状态,为1时处理器工作在Thumb状态。
7.ARM7TDMI支持哪几种指令集,各有什么特点?
答:ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb 指令集,两种指令集的特点是:
ARM指令集:处理器执行32位字对齐方式的ARM指令,每条ARM指令长度为32位,指令的功能强大。
Thumb指令集:处理器执行16位字对齐方式的Thumb指令,每条Thumb 指令长度为16位,是ARM指令功能的子集。
8.ARM7处理器有哪些工作模式?如何实现不同模式之间的切换?举例说明。答:ARM处理器供支持7种工作模式,分别为:用户模式(usr);快速中断模式(fiq);外部中断模式(irq);管理模式(svc);数据访问终止模式(abt);系统模式(sys);未定义指令中止模式(und)。在7中模式中,除用户模式外,其他的6种模式称为特权模式,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。特权模式下通过修改当前程序状态寄存器CPSR中控制位M[4:0]的值,来改变处理器的运行模式。
例如
MSR CPSR_c,#(NoInt |SVC32Mode)//从系统模式切换到管理模式
MSR CPSR_c,#(NoInt |SYS32Mode)//从管理模式切换到系统模式9.描述ARM7处理器的内部寄存器结构,并分别说明快速中断FIQ有何特点?答:ARM7微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。37个寄存器定义如下:
⑴ 31个通用寄存器:R0~R15、R8_fiq、R9_fiq、R10_fiq、R11_fiq、R12_fiq、R13_fiq、R14_fiq、R13_svc、R14_svc、R13_abt、R14_abt、R13_und、R14_und、R13_irq、R14_irq。
⑵ 6个状态寄存器:CPSR、SPSR_abt 、SPSR_svc 、SPSR_irq 、SPSR_fiq、SPSR_und。
快速中断FIQ,适用于对一个突发事件的快速响应,在ARM状态中,快中断有8个专用的寄存器,可以缩短状态切换时需要的时间。当CPSR中相应的F 位清零,快速中断被使能。
10.什么是中断延时?在实时系统中如何计算中断延时时间?
答:中断延时是系统响应一个中断所需要的时间,即从外部中断请求信号发出到执行对应的中断服务程序ISR的第1条指令所需要的时间。
FIQ的中断延时计算,当FIQ使能时,最坏的延时包括:
a)Tsyncmax:请求通过同步器的最长时间,为两个处理器周期。
b)Tldm:最长执行时间,最长为20个周期。
c)Texc:数据中止异常进入时间,为三个周期。
d)Tfiq:FIQ进入时间,为两个周期
总的延时可为27个周期。
11.在内存的数据存储过程中,什么是“字对齐”和“半字对齐”?
答:在内存数据存储过程中,一般分为小端存储格式和大端存储格式。下面以小端存储格式为例来说明字对齐和半字对齐:
在小端存储格式中,对于地址为A的字单元,其中字节的低位字节到高位字节地址顺序为A ,A+1 ,A+2,A+3;对于地址为A的半字单元,其中字节的低位字节到高位字节地址顺序为A ,A+1。
12.简述程序计数器(PC)在处理器工作中的作用。
答:在ARM处理器中将PC程序计数器定义到R15寄存器,无论处理器处于何种状态,PC总是指向“正在取值”指令的地址。
13.简述ARM处理器中的返回链接寄存器(LR)在处理器工作中的作用。
答:链接寄存器LR用于保存子程序返回地址或者异常处理程序的返回地址,LR寄存器一共有6个,其中子程序的返回地址使用一个R14,每种异常模式各自有一个专用的LR寄存器用于保存异常处理程序的返回地址,它们分别为R14_fiq、R14_svc、R14_abt、R14_und、R14_irq。
14.分别简述ARM处理器中的CPSR、SPSR在处理器工作中的作用。
答:ARM内核包含1个CPSR和5个仅供异常处理模式使用的SPSR。
由于所有模式全部共享一个程序状态寄存器CPSR,因此处理器所有的状态全部都保存在CPSR中,也就是ARM内核是通过CPSR来监视和控制内部操作的。
每种异常模式都有一个对应的程序状态保存寄存器SPSR,用于保存任务在