arm命名规则之自解篇_第1页
arm命名规则之自解篇_第2页
arm命名规则之自解篇_第3页
arm命名规则之自解篇_第4页
arm命名规则之自解篇_第5页
已阅读5页,还剩18页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 ARM命名规则小结 2009年11月30日 星期一 17:47 ARM=Advanced RISC Machines 它开创了一种崭新的商业模式,实现了无厂房式工厂,依靠出售芯片技术知识产权的授权来盈利。 其次,ARM是一种architecture,同MIPS、PowerPC、X86等并列。谈到架构,这实际上本身就是一个很复杂的概念。就现在的理解来看,架构是一种系统设计蓝图,规划了方方面面的技术规范。应该说,架构是理论,那么采用同样的架构,实现的形式可以不相同。这也就是为什么同一架构会有那么多衍生的处理器实现。 ARM可以看作是一种技术,是RISC的代表。 应该说,ARM公司位于产业链的最上

2、层,盈利也最多。中国国内的一些OEM厂商,只是处于下游的小鱼,盈利有限。中国的信息产业要想发展,就必须有自己的核心技术。写到这里,希望龙芯带给我们的,是梦想的接近,甚至是实现!(龙芯是兼容MIPS架构) 二、命名规则 这里提到的命名规则,应该分成两类。 一类是基于ARM Architecture的版本命名规则; 另一类是基于ARM Architecture版本的处理器系列命名规则。 Naming of ARM Architecture versions | ARMv | n | variants | x(variants) | 分成四个组成部分: ARMv - 固定字符,即ARM Versio

3、n n - 指令集版本号。迄今为之,ARM架构版本发布了7个系列,所以n=1:7。其中最新的版本是第7版,具体看ARM官方网站。 variants - 变种。 x(variants) - 排除x后指定的变种 常见的变种有: T - Thumb指令集 M - 长乘法指令 E - 增强型DSP指令 J - Java加速器Jazelle SIMD - ARM媒体功能扩展 例如,ARMv5TxM表示ARM指令集版本为5,支持T变种,不支持M变种。 Naming of ARM Processor 采用上述的架构,形成一系列的处理器。有时候还要区分处理器核和处理器系列。不过,在这里其实不用区分太细,毕竟这

4、是功能的小部分的变化,核心是相同的。 规则:ARMxyzTDMIEJF-S x - 处理器系列 y - 存储管理/保护单元 z - cache T - 支持Thumb指令集 D - 支持片上调试 M - 支持快速乘法器 I - 支持Embedded ICE,支持嵌入式跟踪调试 E - 支持增强型DSP指令 J - 支持Jazelle F - 具备向量浮点单元VFP -S - 可综合版本 ARM体系结构处理器自诞生以来,不断发展与创新,ARM体系的指令集功能形成了多种版本,为了适合不同的应用场合,各个版本又增加了新的变种,这些变种为该版本的指令集增加了新的功能。不同版本的指令集应用于不同的处理器

5、,这也就形成了ARM处理器系列,ARM系列处理器不同版本实现技术、性能、应用场合个不相同。 ARM体系结构的基本版本 1 版本1 该版本的原型机是ARM1,没有用于商业产品。 包括下列指令: l 除乘法指令之外的基本的数据处理指令。 l 基于字节、字和多字的存储器访问指令(Load/Store)。 l 包括子程序调用指令BL在内的跳转指令。 l 供操作系统使用的软件中断指令SWI。 本版本中地址空间是26位,目前已经不再使用。 2 版本2 对V1版进行了扩展,包含了对32位结果的乘法指令和协处理器指令的支持。 版本2a是版本2的变种,ARM3芯片采用了版本2a,是第一片采用片上Cache的AR

6、M处理器。版本2a增加了合并Load和Store(SWP)指令。 与版本V1相比,增加了以下指令: l 乘法指令和乘加指令。 l 支持协处理器操作指令。 l 对于FIQ模式,提供了额外的两个备份寄存器。 l SWP指令和SWPB指令。 本版本中地址空间是26位,目前已经不再使用。 3 版本3 ARM公司第一个微处理器ARM6核心是版本3的,它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU。 版本3的变种版本有版本3G和版本3M。版本3G是不与版本2a向前兼容的版本3,版本3M引入了有符号和无符号数乘法和乘加指令,这些指令产生全部64位结果。 版本3版较以前的版本有较大的

7、改动,主要包括: l 处理器的地址空间扩展到32位,但除了版本3G外的其他版本是向前兼容的,支持26位的地址空间。 l 当前程序状态信息从原来的R15寄存器移到当前程序状态寄存器CPSR中(Current Program Status Register)。 l 增加了程序状态保存寄存器SPSR(Saved Program Status Register)。 l 增加了两种异常模式,使操作系统代码可方便地使用数据访 问中止异常、指令预取中止异常和未定义指令异常。 l 增加了MRS/MSR指令,用于访问新增的CPSR/SPSR寄存器。 l 修改了原来的从异常中返回的指令。 4 版本4 版本4增加了

8、下列指令: l 有符号和无符号的半字读取和写入指令。 l 带符号的字节读取和写入指令。 l 增加了处理器的系统模式(特权模式)。在该模式下,使用的是用户模式下的寄存器。 l 为结构定义的操作预留一些SWI(软中断指令)空间 版本4中明确定义了哪些指令会引起未定义指令异常,不再强制要求与以前的26位地址空间兼容。 ARMv4T在ARMv4的基础上增加了Thumb指令集:处理器有了Thumb状态,并且有了在ARM状态和Thumb状态切换的指令,处理器在ARM状态执行ARM指令集,在Thumb状态执行Thumb指令集。 ARMv4和ARMv4T结构的处理器得到了广泛的应用。SA-110、SA-111

9、0等是基于ARMv4的;ARM7TDMI、ARM720T、ARM9TDMI、ARM940T、ARM920T、Intel的StrongARM等是基于ARMv4T版本。 5 版本5 版本5在版本4的基础上增加或修改以下指令: l 提高了T变种中ARM/Thumb混合使用的效率。 l 对于T变种的指令和非T变种的指令使用相同的代码生成技术。 l 增加了前导零计数(CLZ)指令,该指令可以使整数除法和中断优先级排队操作更为有效。 l 增加了软件断点(BKPT)指令。 l 为协处理器设计提供了更多可选择的指令。 l 更加严格的定义了乘法指令对条件标志位的影响。 l 带状态切换的子程序调用(BLX)指令。

10、 版本5包括v5TE和v5TEJ,v5TE在v5T的基础上增加了信号处理(DSP)指令集,v5TEJ除了具备v5T的功能外,还可以执行JAVA字节代码,是在ARM上执行JAVA指令的效率提高了5-10倍,并且降低了功耗。 ARM1020T 是ARMv5T的。 ARM9E-S、ARM966E-S、ARM1020E、ARM 1022E以及XScale是ARMv5TE的。 ARM9EJ-S、ARM926EJ-S、ARM7EJ-S、ARM1026EJ-S是基于ARMv5EJ的。 6 版本6 ARM体系版本6是2001年发布的。其目标是在有效的芯片面积上为嵌入式系统提供更高的性能。ARMv6 包含了AR

11、Mv5TEJ的所有指令。为了使现有的软件,开发方法、设计技术可再利用,ARMv6兼容了ARMv5的内存管理和异常处理。ARMv6主要在多媒体处理、存储器管理、多处理器支持、数据处理、异常和中断响应等方面做了改进。 l SIMD(单指令多数据)指令,可使音视频处理能力提高2-4倍。 l Thumb-2新指令集,混合执行AMR和Thumb代码,可以提供ARM指令级别的性能和Thumb指令级别的代码密度。 l 混合大小端和非对齐存储访问支持 l TrustZone安全技术,在硬件上提供可信区域和不可信区域,两个区域里运行的代码有不同的权限。让经过认证的代码运行在可信区域,未经过认证的代码运行在不可信

12、区域,从而提高系统的安全性。 采用ARMv6核的处理器是ARM11系列。 ARM1136J(F-S基于ARMv6主要特性有SIMD、Thumb、Jazelle、DBX、(VFP、MMU。 ARM1156T2(F-S基于ARMv6T2 主要特性有SIMD、Thumb-2、(VFP、MPU。 ARM1176JZ(F-S基于ARMv6KZ 在 ARM1136EJ(F-S 基础上增加MMU、TrustZone。 ARM11 MPCore基于ARMv6K 在ARM1136EJ(F-S基础上可以包括1-4 核SMP、MMU。 7 版本7 2004年发布了新的ARMv7体系结构。全新的ARMv7是基于ARM

13、v6的,ARMv7采用了Thumb-2技术,体积比32位ARM代码减小31%,性能比16位Thumb代码高出38%。同时,ARMv7保持了对已有ARM代码的兼容性。此外,ARMv7还支持改良的运行环境,以迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技术的使用。 ARMv7的增加的特性有: l 改进的Thumb-2指令集。 l NEON多媒体技术,将DSP和多媒体处理能力提高了近4倍。 l VFPv3改良的浮点运算。 l 动态编译支持。 ARM体系结构的变种 1 Thumb指令集(T变种) Thumb指令集是将ARM指令集中的

14、一部分指令重新编码形成的一个子集, Thumb指令长度是16位的。使用Thumb指令可以得到比ARM指令更高的代码密度,这有助于减小系统的存储器容量,从而降低系统的成本。另外,对于数据线是8或16位的系统,使用Thumb指令集可以取得好于使用ARM指令集的性能。在ARM体系命名中通用“T”来表示该版本支持Thumb指令集。在ARMv4T中使用v1版Thumb指令集;ARMv5T使用v2版的Thumb指令集。和Thumb v1相比Thumb v2 具有如下特点: l 通过对指令的修改,来提高ARM指令和Thumb指令混合使用是的效率。 l 增加软件断点指令。 l 严格定义了Thumb乘法指令对条

15、件标志位的影响。 与ARM指令集相比,Thumb指令集具有以下局限性: l 完成相同的操作,Thumb指令通常需要更多的指令。 l Thumb指令集没有包含进行异常处理时需要的一些指令,异常返回时需要从ARM状态返回。 2 长乘法指令(M变种) M变种增加了两条用于进行长乘法的ARM指令。其中一条用于实现32位整数乘以32位整数,生成64位整数的长乘法操作;另一条指令用于实现32位整数乘以32位位整数,然后加上32位整数,生成64位整数的长乘加操作。 3 增强型DSP指令(E变种) l E变种包含了一些附加的指令,这些指令用于增强处理器对一些典型的DSP算法的处理性能。主要包括: l 几条新的

16、实现16位数据乘法和乘加操作的指令 l 实现饱和的带符号数的加减法操作的指令。所谓饱和的带符号数的加减法操作是在加减法操作溢出时,结果并不进行卷绕(Wrapping around),而是使用最大的整数或最小的负数来表示。 l 进行双字数据操作的指令,包括双字读取指令LDRD、双字写入指令STRD和协处理器的寄存器传输指令MCRR/MRRC。 l Cache预取指令PLD 4 Java加速器Jazelle(J变种) ARM的Jazelle技术将Java的优势和先进的32位RISC芯片完美地结合在一起。Jazelle技术提供了Java加速功能,可以得到比普通Java虚拟机高得多的性能。与普通的Ja

17、va虚拟机相比,Jazelle使代码运行速度提高了8倍,而且功耗降低了80%,Jazelle技术使得程序员可以在一个单独的处理器上同时运行Java应用程序、已经建立好的操作系统、中间件以及其他的应用程序。与使用协处理器和双处理器相比,使用单独得处理器可以在提供高性能的同时,保证低功耗和低成 本。ARM体系版本4TEJ最早包含了J变种,用字符J表示J变种。 5 SIMD变种(ARM媒体功能扩展) ARM媒体功能扩展SIMD技术极大地提高了嵌入式应用系统的音频和视频处理器能力,它可使微处理器的音频和视频性能提高4倍。新一代的Internet应用产品、移动电话和PDA等设备终端需要提供高性能的流式媒

18、体,包括音频和视频等。而且这些设备需要提供更加人性化的界面,包括语言输入和手写输入等。这样,就对处理器的数字信号处理能力提出了很高的要求,同时还必须保证低功耗。ARM的SIMD媒体功能扩展为这些应用系统提供了解决方案,它为包括音频和视频处理在内的应用系统提供了优化功能,其主要特点如下: 使处理器的音频和视频处理的性能提高了24倍。 可同时进行2个16位操作数或者4个8位操作数的运算。 用户可自定义饱和运算的模式。 可进行2个16位操作数的乘加/乘减运算及32位乘以32位的小数乘加运算。 同时8 /16位选择操作。 ARM11是基于ARMv6架构建成的。基于ARMv6架构的处理器包括ARM113

19、6J(FS,ARM1156T2(FS,以及ARM1176JZ(FS。ARMv6是ARM进化史上的一个重要里程碑:从那时候起,许多突破性的新技术被引进,存储器系统加入了很多的崭新的特性,单指令流多数据流(SIMD)指令也是从v6开始首次引入的。而最前卫的新技术,就是经过优化的Thumb2指令集,它专为低成本的单片机及汽车组件市场。 基于从ARMv6开始的新设计理念,ARM进一步扩展了它的CPU设计,成果就是ARMv7架构的闪亮登场。在这个版本中,内核架构首次从单一款式变成3种款式。 1) 款式A:设计用于高性能的开放应用平台-越来越接近电脑了。 2) 款式R:用于高端的嵌入式系统,尤其是那些带有

20、实时要求的-又要快又要实时。 3) 款式M:用于深度嵌入的,单片机风格的系统中-本书的主角。 让我们再进距离地考察这3种款式: 1) 款式A(ARMv7A):需要运行复杂应用程序的应用处理器。支持大型嵌入式操作系统,比如Symbian,Linux,以及微软的WindowsCE和智能手机操作系统WindowsMobile。这些应用需要劲爆的处理性能,并且需要硬件MMU实现的完整而强大的虚拟内存机制,还基本上会配有Java支持,有时还要求一个安全程序执行环境。典型的产品包括高端手机和手持仪器,电子钱包以及金融事务处理机。 2) 款式R(ARMv7R):硬实时且高性能的处理器。标的是高端实时市场。那些高级的玩意,像高档轿车的组件,大型发电机控制器,机器手臂控制器等,它们使用的处理器不但要很好很强大,还要极其可靠,对事件的反应也要极其敏捷。 3) 款式M(ARMv7M):认准了旧世代单片机的应用而量身定制。在这些应用中,尤其是对于实时控制系统,低成本、低功耗、极速中断反应以及高处理效率,都是至关重要的。 Cortex系列是v7架构的第一次亮相,其中CortexM3就是按款式M设计的。 到目前为止,CortexM3也是款式M中被抚养

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论