ARM认证工程师应试指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.5 Cortex-A系列处理器

在本节中,我们来仔细看一下实施ARMv7-A体系结构的处理器。在每种情况下仅给出了大概描述,对于每个处理器详细的信息,请参阅表3-3和表10-1。

3.5.1 Cortex- A5处理器

Cortex-A5处理器支持ARMv7-A所有的架构功能,包括TrustZone安全扩展和NEON媒体处理引擎。它的面积和功耗效率是极高的,但比其他Cortex-A系列处理器的最高性能都低。Cortex-A5处理器有单核和多核版本。

如图3-3所示的Cortex-A5处理器在某些情况下可以同时执行一个非分支跳转指令和紧接着的分支跳转指令,并且包含一个复杂的分支预测逻辑,以避免因分支跳转导致流水线被冲刷并重新填充。NEON和浮点硬件的支持是可选的。Cortex-A5处理器还支持ARM和Thumb指令集以及Jazelle DBX和Jazelle-RCT技术。

图3-3 单一核的Cortex-A5处理器框图

3.5.2 Cortex-A7处理器

Cortex-A7多核处理器是一个高性能,低功耗的处理器,与其他在本书提到的Cortex-A系列处理器完全兼容。单核Cortex-A7处理器框图如图3-4所示。

图3-4 单核Cortex-A7处理器框图

Cortex-A7处理器包含高性能的Cortex-A15处理器的所有功能,包括虚拟化、大的物理地址的扩展(LPAE)、NENO和AMBA4 ACE的一致性。

Cortex-A7 MPCore处理器具有以下特点:

● 改进内存管理和总线接口;

● LPAE,可寻址高达1 TB的内存;

● 通过AMBA4技术解决多核处理器集的一致性问题;

● AMBA4缓存一致性互连技术(CCI)保证在多个Cortex-A7 MPCore处理器之间实现所有的缓存一致性。

3.5.3 Cortex-A8处理器

Cortex-A8处理器是第一个实现ARMv7-A体系结构的处理器。许多不同的处理器都使用它,包括三星S5PC100,德州仪器的OMAP3530和飞思卡尔的i.MX515,拥有很广泛的应用,有些能超过1 GHz的主频。

与以前的ARM处理器相比,Cortex-A8处理器有更复杂的微体系结构。图3-5是单核Cortex-A8处理器框图,展示了Cortex-A8处理器的内部结构,包括路径。

图3-5 单核Cortex-A8处理器框图

独立的指令和数据的一级高速缓存的大小为16KB或32KB,是对集成的统一二级高速缓存的一种补充,二级高速缓存可高达1MB的大小。一级和二级高速缓存都可为处理器提供128位宽的数据接口。一级数据缓存虚拟索引,但物理标记,而二级高速缓存的索引和标记都使用物理地址。在默认情况下,NEON使用的数据是不通过L1来缓存的(虽然NEON可以读写L1数据高速缓存中的数据)。

3.5.4 Cortex-A9处理器

Cortex-A9 MPCore处理器和Cortex-A9单核处理器提供比Cortex-A5和Cortex-A8处理器更高的性能,支持ARM、Thumb、Thumb-2、TrustZone、Jazelle RCT和DBX等技术单核Cortex-A9处理器框图如图3-6所示。

图3-6 单核Cortex-A9处理器框图

一级高速缓存系统在硬件上支持1~4个处理器的多核软件的高速缓存一致性。ARM提供外部的二级高速缓存控制器(L2C-310,以前称为PL310),支持高达8MB的高速缓存大小。该处理器还包含一个集成的中断控制器,ARM通用中断控制器(GIC)结构规范的实现,这可以被配置为对多达224个中断源的支持。

集成Cortex-A9处理器的设备,有nVidia的双核Tegra-2、ST的SPEAr1300和TI的OMAP4平台。

3.5.5 Cortex-A15处理器

Cortex-A15 MPCore处理器是目前ARM处理器中性能最高的(在本书即将完成时,ARM已推出了更新的Cortex-A57),并且与本书中描述的其他ARM处理器的应用程序是兼容的。Cortex-A15 MPCore处理器推出了一些新功能,包括支持完整的硬件虚拟化和大物理地址扩展(LPAE),这就可以寻址高达1 TB的内存,其框图如图3-7所示。

图3-7 Cortex-A15 MPCore处理器框图

Cortex-A15 MPCore处理器具有以下特点:

● 无序的超标量流水线;

● 紧密耦合的低延迟的二级高速缓存(高达4MB的大小);

● 改进的浮点和NEON媒体性能;

● 全硬件虚拟化;

● 寻址高达1 TB内存的大物理地址扩展(LPAE);

● 容错性的纠错能力和软件故障恢复;

● 通过AMBA4总线技术形成了多个相干的多核处理器集;

● AMBA4缓存一致性互连(CCI),允许多个Cortex-A15 MPCore处理器之间的全缓存一致。

3.5.6 高通公司的Scorpion

设计兼容ARMv7-A指令集结构的处理器的不只有ARM公司。2005年,美国高通公司宣布,在ARM的许可下创建了它自己的实现,用了同样的名称——Scorpion。Scorpion处理器是高通公司Snapdragon平台的一部分,其中包含了上网本、智能手机或其他移动互联网设备的主要功能。

高通面向公众提供了较少的信息,尽管它提到了Scorpion与Cortex-A8处理器有很多相似点,也是基于ARMv7-A体系结构的实现,ARMv7-A——超标量和双发,以及对VFP和NEON(在高通的新闻稿上称为VeNum媒体处理引擎)的支持。然而相比之下还是有很多差异的,Scorpion可以在其NEON执行中并行处理128位数据,具有1个13级的加载/存储流水线和2个整数流水线,其中一个是10级,只能执行简单的算术运算指令(如加减),而另一种是12级,可以执行所有的数据处理操作,包括乘法。Scorpion还有1个23级的floating-point/SIMD的流水线和VFPv3操作流水线。

本书不会详细介绍Scorpion处理器,但作为符合ARMv7-A体系结构规范的处理器,本书介绍的大部分内容同样适用于Scorpion处理器。