1.主流ARM处理器
主流的ARM处理器有ARM7、ARM9、ARM9E、ARM10E、ARM11、Cortex系列等,目前仍在不断发展,其ARM核的演变过程如下。
(1)经典ARM7、ARM9、ARM11。
(2)Cortex M0、M1、M3、M4、R4、A5、A8、A9。
(3)指令架构ARMV4、ARMV6、ARMV7。
2.ARM体系结构命名
ARM主要有七种指令集体系结构,v1~v3版本,v4T版本,v5版本,v6版本,v7版本。ARM产品通常以ARM【x】【y】【z】【T】【D】【M】【I】【E】【J】【F】【S】形式出现,这些后缀了可以组合,含义如下。
①x:系列号,如ARM9、ARM11等。
③z拥有Cache。
④T表示支持16位Thumb压缩指令集。
⑤D表示支持片上调试(Debug)。
⑥M表示内嵌硬件乘法器(Multiplier)。
⑦I:支持片上断点和调试点。
⑧E:增强指令(基于TDMI)。
⑨J:支持Jazelle加速,即Java加速器。
⑩F:支持向量浮点单元。
⑪ S表示合成式(full synthesizable)。
3.ARM V4-V7架构(www.daowen.com)
ARM7TDMI、ARM920T属于ARMv4体系,ARM926、ARM946、ARM966属于ARM v5体系,ARM1136、ARM1176、ARM Cortex-M0、ARM Cortex-M1属于ARM v6体系,Cortex-A8、Cortex-R4、Cortex-M3属于ARM v7体系。按应用特征分类,可以分为应用处理器(Application Processor)、实时控制处理器(Real-time Controller)、微控制器(Micro Controller)三类。
(1)ARMv4。ARMv4是目前支持的最老的架构,是基于32bit地址空间的32bit指令集。ARMv4除了支持ARMv3的指令外,还扩展了支持halfword的存取、支持byte和halfword的符号扩展读、进一步地明确了会引起Undefined异常的指令、对以前的26bits体系结构的CPU不再兼容等功能。
(2)ARMv4T。ARMv4T增加了16bit Thumb指令集,这样使得编译器能产生紧凑代码(相对于32bit代码,内存能节省到35%以上)并保持32bit系统的好处。
(3)ARMv5TE。1999年推出ARMv5TE,增强了Thumb体系,改进了Thumb/ARM相互作用、编译能力和混合及匹配ARM与Thumb例程,以更好地平衡代码空间和性能并在ARM ISA上扩展了增强的DSP指令集。增强的DSP指令包括支持饱和算术(saturatedarithmetic)应用,提高了数字信号处理70%性能。“E”扩展表示在通用的CPU上提供DSP能力。2000年推出ARMv5TEJ,增加了支持Java加速技术。
(4)ARMv6。2001年推出ARMv6,它在许多方面做了改进,如内存系统、异常处理和较好地支持多处理器。SIMD指令的扩展使得广大的软件应用(如Video和Audio codec)的性能提高了4倍。Thumb-2和TrustZone技术也用于ARMv6中。
(5)ARMv7。ARMv7定义了3种不同的处器器配置(Processor profiles):Profile A是面向复杂、基于虚拟内存的OS和应用的;Profile R是针对实时系统的;Profile M是针对低成本应用的优化的微控制器的。所有ARMv7处理器配置都能够实现Thumb-2技术。
4.典型ARM系列处理器
(1)ARM Cortex应用处理器。Cortex-A系列为ARM Cortex应用处理器,也称为开放式操作系统的高性能处理器。Cortex应用处理器在先进工艺节点中可实现高达2GHz+标准频率的卓越性能,从而可支持下一代的移动Internet设备。这些处理器具有单核和多核种类,最多提供四个具有可选NEON多媒体处理模块和先进浮点执行单元的处理单元。能执行复杂操作系统(如Linux、Android/Chrome、MicrosoftWindows(CE/嵌入式)和Symbian)和支持复杂图形用户界面来定义。集成了内存管理单元(MMU)以管理这些复杂操作系统的内存需求,并允许下载和执行第三方软件。
传统单核处理器包括初级的ARM926EJ-S,直到常规性能超过2GHz的Cortex-A9处理器。而多核处理器,如Cortex-A9 MPCore处理器、Cortex-A5 MPCore处理器和ARM11MPCore处理器,则最多可在单个对称或非对称系统中实现四个内核,外加一个全局中断处理单元和一个监听控制单元,从而提供扩展的性能和可伸缩性。
此类处理器主要应用于智能手机、智能本/上网本/电子书阅读器、普通手机、高端个人媒体播放器、数字电视、机顶盒和卫星接收器、高端打印机、个人导航设备等。
(2)ARM Cortex嵌入式处理器。主要分为Cortex-R和Cortex-M系列。Cortex-M系列处理器主要是针对微控制器领域开发的,在该领域中,既需进行快速且具有高确定性的中断管理,又须将门数和功耗控制在最低;Cortex-R系列处理器的开发则面向深层嵌入式实时应用,对低功耗、良好的中断行为、卓越性能以及与现有平台的高兼容性等需求进行平衡考虑。
嵌入式处理器主要着重于各种功耗敏感型应用中提供具有高确定性的实时行为。这些处理器通常执行实时操作系统(RTOS)和用户开发的应用程序代码,因此只需要内存保护单元(MPU),而不需要应用处理器中提供的MMU。
此类处理器主要应用于商业微控制器、汽车控制系统、电机控制系统、大型家用电器控制器、无线和有线传感器网络、大容量存储控制器、打印机、网络设备等。
(3)经典ARM处理器。主要分为ARM11系列(基于ARM v6架构的高性能处理器)、ARM9系列(基于ARM v5架构的常用处理器)和ARM7系列(面向通用应用的经典处理器)。
ARM经典处理器适用于那些希望在新应用中使用经过市场验证的技术的组织。这些处理器提供了许多的功能、卓越的能效和范围广泛的操作性能,适用于成本敏感型解决方案。这些处理器每年都有数十亿的发货量,因此可确保设计者获得最广泛的生态系统和资源,从而最大限度地减少集成过程中出现的问题并缩短上市时间。
(4)ARM专业处理器。ARM专业处理器旨在满足特定市场的苛刻需求。SecurCore处理器在安全市场中用于手机SIM卡和证件应用,集成了多种既可为用户提供卓越性能,又能检测和避免安全攻击的技术。
ARM还开发面向FPGA构造的处理器,在保持与传统ARM设备兼容的同时,使用户产品快速上市。此外,这些处理器具有独立于构造的特性,因此开发人员可以根据应用选择相应的目标设备,而不会被绑定于特定供应商。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。