arm developer’s guide图:嵌入式arm的基本架构
图:应用软件运行在arm硬件上的抽象图
图:arm memory remap
图: arm内容数据流模型
图:arm在用户模式下可用的寄存器
图:图解状态寄存器
图:完整的arm寄存器集合
图: arm指令序列
图: arm指令执行的例子
图: arm向量表
arm中的高速缓冲存储器cache
ARM架构演进
以由高到低的方式来看,ARM处理器大体上可以排序为:Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A12处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、ARM7处理器,再往低的部分手机产品中基本已经不再使用
Cortex-A53、Cortex-A57两款处理器属于Cortex-A50系列,首次采用64位ARMv8架构,意义重大,这也是ARM最近发布的两款产品。
Cortex-A57是ARM最先进、性能最高的应用处理器,号称可在同样的功耗水平下达到当今顶级智能手机性能的三倍;而Cortex-A53是世界上能效最高、面积最小的64位处理器,同等性能下能效是当今高端智能手机的三倍。这两款处理器还可整合为ARM big.LITTLE(大小核心伴侣)处理器架构,根据运算需求在两者间进行切换,以结合高性能与高功耗效率的特点,两个处理器是独立运作的。
ARM Cortex-A15处理器隶属于Cortex-A系列,基于ARMv7-A架构,是业界迄今为止性能最高且可授予许可的处理器。
Cortex-A15 MPCore处理器具有无序超标量管道,带有紧密耦合的低延迟2级高速缓存,该高速缓存的大小最高可达4MB。浮点和NEON媒体性能方面的其他改进使设备能够为消费者提供下一代用户体验,并为 Web 基础结构应用提供高性能计算。Cortex-A15处理器可以应用在智能手机、平板电脑、移动计算、高端数字家电、服务器和无线基础结构等设备上。
理论上,Cortex-A15 MPCore处理器的移动配置所能提供的性能是当前的高级智能手机性能的五倍还多。在高级基础结构应用中,Cortex-A15 的运行速度最高可达2.5GHz,这将支持在不断降低功耗、散热和成本预算方面实现高度可伸缩的解决方案。
2013中旬,ARM 发布了全新的Cortex-A12处理器,在相同功耗下,Cortex-A12的性能上比Cortex-A9提升了40%,同时尺寸上也同样减小了30%。Cortex-A12也同样能够支持big.LITTLE技术,可以搭配Cortex-A7处理器进一步提升处理器的效能。
ARM表示Cortex-A12处理器未来将应用于大量的智能手机以及平板产品,但更加侧重于中端产品。同时ARM也预计在2015年,这些中端产品在数量上将远超过旗舰级别的智能手机及与平板。
搭载Cortex-A12处理器的中端机在未来也将是非常有特点的产品,因为Cortex-A12能够支持虚拟化、AMD TrustZone技术,以及最大1TB的机身存储。这也就意味着未来搭载这一处理器的智能手机完全可以作为所谓的BYOD(Bring Your Own Device)设备使用,换句话说就是在作为自用手机的同时,还可以用作商务手机存储商务内容
ARM Cortex-A9处理器隶属于Cortex-A系列,基于ARMv7-A架构,目前我们能见到的四核处理器大多都是属于Cortex-A9系列。
Cortex-A9 处理器的设计旨在打造最先进的、高效率的、长度动态可变的、多指令执行超标量体系结构,提供采用乱序猜测方式执行的 8 阶段管道处理器,凭借范围广泛的消费类、网络、企业和移动应用中的前沿产品所需的功能,它可以提供史无前例的高性能和高能效。
Cortex-A9 微体系结构既可用于可伸缩的多核处理器(Cortex-A9 MPCore多核处理器),也可用于更传统的处理器(Cortex-A9单核处理器)。可伸缩的多核处理器和单核处理器支持 16、32 或 64KB 4 路关联的 L1 高速缓存配置,对于可选的 L2 高速缓存控制器,最多支持 8MB 的 L2 高速缓存配置,它们具有极高的灵活性,均适用于特定应用领域和市场。
应用案例:德州仪器OMAP 4430/4460、Tegra 2、Tegra 3、新岸线NS115、瑞芯微RK3066、联发科MT6577、三星 Exynos 4210、4412、华为K3V2等。另外高通APQ8064、MSM8960、苹果A6、A6X等都可以看做是在A9架构基础上的改良版本。
ARM Cortex-A8处理器隶属于Cortex-A系列,基于ARMv7-A架构
ARM Cortex-A8处理器是首款基于ARMv7体系结构的产品,能够将速度从600MHz提高到1GHz以上。Cortex-A8处理器可以满足需要在300mW以下运行的移动设备的功率优化要求;以及需要2000 Dhrystone MIPS的消费类应用领域的性能优化要求。
Cortex-A8 高性能处理器目前已经非常成熟,从高端特色手机到上网本、DTV、打印机和汽车信息娱乐,Cortex-A8处理器都提供了可靠的高性能解决方案。
应用案例:MYS-S5PV210开发板、TI OMAP3系列、苹果A4处理器(iPhone 4)、三星S5PC110(三星I9000)、瑞芯微RK2918、联发科MT6575等。另外,高通的MSM8255、MSM7230等也可看做是A8的衍生版本。
ARM Cortex-A7处理器隶属于Cortex-A系列,基于ARMv7-A架构,它的特点是在保证性能的基础上提供了出色的低功耗表现。
Cortex-A7处理器的体系结构和功能集与Cortex-A15 处理器完全相同,不同这处在于,Cortex-A7 处理器的微体系结构侧重于提供最佳能效,因此这两种处理器可在big.LITTLE(大小核大小核心伴侣结构)配置中协同工作,从而提供高性能与超低功耗的终极组合。单个Cortex-A7处理器的能源效率是ARM Cortex-A8处理器的5倍,性能提升50%,而尺寸仅为后者的五分之一。
作为独立处理器,Cortex-A7可以使2013-2014年期间低于100美元价格点的入门级智能手机与2010 年500美元的高端智能手机相媲美。这些入门级智能手机在发展中世界将重新定义连接和Internet使用。
应用案例:全志Cortex-A7四核平板芯片,联发科的MT6589。
ARM Cortex-A5处理器隶属于Cortex-A系列,基于ARMv7-A架构,它是能效最高、成本最低的处理器。
Cortex-A5处理器可为现有ARM9和ARM11处理器设计提供很有价值的迁移途径,它可以获得比ARM1176JZ-S更好的性能,比ARM926EJ-S更好的功效和能效。另外,Cortex-A5处理器不仅在指令以及功能方面与更高性能的Cortex-A8、Cortex-A9和Cortex-A15处理器完全兼容,同时还保持与经典ARM处理器(包括ARM926EJ-S、ARM1176JZ-S和 ARM7TDMI)的向后应用程序兼容性。
应用案例:高通MSM7227A/7627A(摩托罗拉XT615、诺基亚610、中兴V889D、摩托罗拉DEFY XT等)、高通MSM8225/8625(华为U8825D、酷派7266等)、米尔 MYD-SAMA5D3X系列开发板(MYD-SAMA5D31、MYD-SAMA5D33、MYD-SAMA5D34、MYD-SAMA5D35)。
ARM11系列包括了ARM11MPCore处理器、ARM1176处理器、ARM1156处理器、ARM1136处理器,它们是基于ARMv6架构,分别针对不同应用领域。ARM1156处理器主要应用在高可靠性和实时嵌入式应用领域,与手机关联不大
ARM11 MPCore使用多核处理器结构,可实现从1个内核到4个内核的多核可扩展性,从而使具有单个宏的简单系统设计可以集成高达单个内核的4倍的性能。Cortex-A5处理器是ARM11MPCore的相关后续产品。
ARM1176处理器主要应用在智能手机、数字电视和电子阅读器中,在这些领域得到广泛部署,它可提供媒体和浏览器功能、安全计算环境,在低成本设计的情况下性能高达1GHz。
ARM1136处理器包含带媒体扩展的ARMv6 指令集、Thumb代码压缩技术以及可选的浮点协处理器。ARM1136是一个成熟的内核,作为一种应用处理器广泛部署在手机和消费类应用场合中。在采用 90G工艺时性能可达到600MHz以上,在面积为2平方毫米且采用65纳米工艺时可达到1GHz。
ARM9系列处理器系列包括ARM926EJ-S、ARM946E-S和 ARM968E-S处理器。其中前两者主要针对嵌入式实时应用,我们这里就主要针对ARM926EJ-S进行介绍。
ARM926EJ-S基于ARMv5TE架构,作为入门级处理器,它支持各种操作系统,如Linux、Windows CE和Symbian。ARM926EJ-S 处理器已授权于全球100多家硅片供应商,并不断在众多产品和应用中得到成功部署,应用广泛。
应用案例:TI OMAP 1710。诺基亚N73、诺基亚E65、三星SGH-i600等手机采用的都是该处理器,以及包括米尔科技的 MYS-SAM9X5 系列工控开发板。 |