- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二部分习题解答
第六章
1、ARM处理器的特点是什么?
答:ARM处理器立足于嵌入式市场,其设计思想并不单纯地追求处理器速度,而是着眼于系统的整体性能。具体来讲,主要包括以下几个方面。
首先,低功耗是一个主要的考虑方面。其次,高代码密度是嵌入式系统的又一个重要需求。另外,嵌入式系统通常都是价格敏感的。还有一个影响嵌入式系统性能的因素就是处理器内核管芯(die)的面积,对于一个单片方案,处理器内核所占的面积越小,留给外设电路的空间就越大,这可以减少最终产品的外围芯片数目,从而降低设计和制造成本。
在体系结构方面,ARM处理器采用精简指令系统计算机(RISC)结构,但ARM处理器又不是纯粹的RISC。为了能够更好地满足嵌入式应用的需求,ARM处理器还增加了以下特点:
一些特定指令的周期数可变,即并不是所有的ARM指令都是单周期的。
内嵌桶形移位器产生了更为复杂的指令。
Thumb 16位指令集。
条件执行。这个特性可以减少分支指令的数目,从而改善性能,提高代码密度。
2、ARM处理器系列主要包括几大类?各自的特性是什么?
ARM处理器系列属性的比较
类型
属性
ARM7
ARM9
ARM9E
ARM10E
ARM11
Cortex
处理器流
水线深度
3
5
5
6
8
13
典型频率(MHz)
236
250
470
540
620
1100
典型功耗(mw/MHz)
0.03
0.25 (+cache)
0.235 (+cache)
0.45 (+cache)
0.6 (+cache)
0.45 (+cache)
性能(MIPS)
Dhrystone 2.1
130
300
300
400
675
2000
典型的指
令集结构
ARMv3
ARMv4T
ARMv5TE
ARMv5TEJ
ARMv6
ARMv7
3、ARM处理器有哪些处理器模式?各自如何切换?
答:ARM处理器有7种处理器模式,它们分别是:用户模式,快速中断模式,外部中断模式,管理模式,中止模式,未定义模式和系统模式。各模式之间的切换,可以通过软件控制来实现,也可以由外部中断或异常而引起。
处理器复位之后,首先进入管理模式,操作系统内核通常处于这种模式。当运行用户程序时,进入用户模式。在用户模式下,应用程序不能访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式的切换,只允许对CPSR(当前程序状态寄存器)的控制域进行读操作,但允许对CPSR条件标志的读/写访问,用户模式下执行软中断指令(SWI)时也进入管理模式。系统模式是一种特殊的用户模式,它使用和用户模式完全相同的寄存器,但允许对CPSR的完全访问,当操作系统任务需要访问系统资源但又想避免访问与异常模式相关的寄存器时进入该模式。当处理器访问存储器失败时,进入中止模式。当处理器遇到没有定义的指令或处理器不支持该指令时,进入未定义模式。快速中断模式和外部中断模式分别对ARM处理器两种不同级别的中断做出响应。
4、“字节序”是指什么?ARM处理器如何解决这一问题?
答:当把一个多字节的数据存入以字节为单位编址的内存空间时,存在哪个字节定位在哪个地址单元的问题,在存储系统中称为字节序。一般有两种方案,big-endian和little-endian。在big-endian方案中,低字节在高地址单元中;在little-endian方案中,低字节在低地址单元中。
ARM处理器支持两种方案的字节序,可以通过系统设置指定处理器支持那种方案。一般缺省为litter-endian,而且对于指令访问来说,总是little-endian。
第七章
1、试分析ARM处理器指令系统中对立即数进行预处理的好处。
答:一般立即数寻址在指令系统中是必不可少的。ARM指令系统是32位的RISC结构,每条指令的位数都固定为32位。因此在指令中能直接给出的立即数位数就会很少,使得立即数的使用受到很大限制。
ARM对立即数进行预处理的技术,使得在12位的空间内可以表示部分32位的立即数,它突破了指令格式中位数的限制,使得立即数的范围大大扩大。虽然这样做只能表示部分立即数,但大部分常用的立即数因为小于8位,都能直接表示。而对于不能表示的立即数,又有伪指令LDR来处理。
从计算机系统结构的角度来说,这种设计是非常优秀的。
2、举例说明ARM指令系统中条件执行的好处。
由于条件执行可以有效地减少分支指令的数目,从而减少指令流水线的暂停次数,因此条件执行既可以改善代码执行的性能,又可以提高代码的密度。例如,求最大公约数的C语言代码片断为:
while (a != b) {
if (a b) a -= b; else b -= a;
}
不采用条件执行的ARM汇编代码为:
gcd
CMP R1,R2
BEQ
文档评论(0)