- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * ARM指令集和Thumb指令集 ARM体系结构版本中带有T变量的ARM处理器核可以工作在2种状态。 ARM状态,运行32位的ARM指令集 Thumb状态,运行16位的Thumb指令集 在任何一种工作状态可以通过转移指令切换到另一种工作状态。 ARM和Thumb之间的状态切换不影响处理器工作模式和寄存器中的内容。 加电起动时处理器工作在ARM状态。 * * 指令集压缩 对于传统的微处理器体系结构,指令和数据具有同样的宽度。 与16位体系结构相比,32位体系结构在操纵32位数据时呈显了更高的性能,并可更有效地寻址更大的空间。 一般来讲,16位体系结构比32位体系结构具有更高的代码密度,但只有近似一半的性能。 Thumb在32位体系结构上实现了16位指令集,以提供: 比16位体系结构更高的性能; 比32位体系结构更高的代码密度。 * * Thumb指令集 Thumb指令集是通常使用的32位ARM指令集的子集。 每条Thumb指令是16位长,有相应的对于处理器模型有相同效果的32位ARM指令。 Thumb指令在标准的ARM寄存器配置下进行操作,在ARM和Thumb状态之间具有出色的互操作性。 执行时,16位Thumb指令透明地实时解压缩成32位ARM指令,且没有性能损失。 Thumb具有32位核的所有优点: 32位寻址空间; 32位寄存器; 32位移位器和算术逻辑单元ALU(Arithmetic Logic Unit); 32位存储器传送。 * * Thumb指令集(续) Thumb因而可提供长的转移范围、强大的算术运算能力和大的寻址空间。 Thumb代码的长度是ARM代码长度的65%,当从16位存储系统运行时,提供ARM代码160%的性能。 Thumb使ARM7TDMI核非常适用于有存储器宽度限制且代码密度为重要的嵌入式应用场合。 由于ARM7TDMI具有16位Thumb指令集和32位ARM指令集,这使设计者能根据他们的应用要求在子程序级灵活地强调性能或代码长度。 * * Jazelle技术 Jazelle的特点在于可以直接执行Java Byte Cord。它通过在ARM微处理器上增加Jazelle工作模式,使ARM指令和Java Byte Cord指令在同一个微处理器上执行。 ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。 * * 第3种指令集 Jazelle 执行8位指令 一个软件与硬件的混合体 能够加速Java字节码的执行 Java Bytecodes 为了执行Java字节码,需要Jazelle技术外加一个Java虚拟机的特殊修订版。 Jazelle的硬件部分只Java字节码的一个部分,其余由软件仿真。 * * ARM体系结构版本变量列表(第1种形式) 后缀变量 功能说明 T Thumb指令集,Thumb指令的长度为16位。目前Thumb有两个版本。Thumb1用于ARM4的T变种,Thumb2用于ARM5以上的T变种。 D 含JTAG调试器,支持片上调试。 M 提供用于进行长乘法操作的ARM指令,产生全64位结果。 I 嵌入式跟踪宏单元(EmbeddedICE macrocell)硬件部件,提供片上断点和调试点支持。 E 增强型DSP指令,增加了几条16位乘法和加法指令,加减法指令可以完成饱和带符号算术运算。 J JAVA加速器Jazelle,与普通的JAVA虚拟机相比较,Jazelle使Java代码运行速度提高了8倍,而功耗降低了80%。 F 向量浮点单元 S 可综合版本,以源代码形式提供的,可以被EDA工具使用。 * * ARM体系结构变量列表(第2种形式) * * ARM核版本命名规则 命名规则的字符串表达式如下: ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S} 其中花括号的内容表示可有可无。前三个参数含义在下面说明: {x}表示系列号,例如:ARM7,ARM9,ARM10 {y}表示内部存储管理和保护单元,例如:ARM72,ARM92 {z}表示含有高速缓存(Cache),例如:ARM720,ARM940 其余体系结构版本变量已经在前面幻灯片给出。 * * ARM核版本命名规则(续) 说明: ①在ARM7TDMI之后出产的所有ARM内核名称,即使“ARM”字串后面没有包含“TDMI”字符串,也都默认包含了该字串。 ②对于2005年以后ARM公司投入市场的ARMv7体系结构的处理器核,使用字符串“ARM Cortex”打头,随后附加一个字母后缀“-A”,“-R”或者“-M”,表示该处理器核适合应用的领域; 其中:后缀A表示应用(Application)、 R表示实时控制(Real tim
文档评论(0)