1 ARMv8-A

        ARMv8-A架构是最新一代以应用profile为目标的ARM架构。名字ARMv8-A用于描述整个架构,现在包括32位和64位执行。它引入了用64位宽寄存器执行,但也保留了与ARMv7软件兼容的能力。

armv7-a架构 armv8-a架构_数据

        ARMv8-A架构引入了一些修改,它使能了设计的更高性能的处理器实现。

Large Physical Address: 它使能处理器超过4G物理内存的访问

64bit virtual Address: 它使能了超过4GB限制的虚拟内存。这对现代桌面和服务器软件使用内存映射的文件IO或解析地址非常重要。

Automatic Event signaling: 这使能了电源有效和高性能的spinlock。

Larger Register Files: 31个64位通用寄存器用于提升性能和减少栈的使用。

Efficient 64bit immediate generation:需要更少的文字池。

Large PC-relative addressing range:对共享库和位置无关的执行文件中有效数据的 A+/-4GB地址范围。

Additional 16KB和4KB转换粒度:这减少了TLB miss率和页walk的深度。

New execption level: 这减少了OS和hypervisor的软件复杂度。

Effient cache management: 用户空间的CACHE操作可以改善动态代码产生效率。使用Data Cache Zero指令快速的清除数据CACHE。

Hardware-accelerated cryptography: 提供3倍或10倍的软件加密性能。这对小粒度的解密和加密太小不能有效的进行硬件加速特别有用,比如https。

Load-Acquire, Stronore-Release instructions: 为C++11,C11,和Java内存模型设计。它们通过减少明显的内存barrier指令来改善线程安全的代码。

NEON double-precision floating-point advanced SIMD: 这使能SMID来应用于更宽的一组算法,如科学计算,HPC和超算。

2 ARMv8-A处理器属性

        下表比较了ARMv8-A架构实现的处理器属性:

Comparison of ARMv8-A processors

processor

Cortex-A53

Cortex-A57

Release data

July 2014

January 2015

典型时钟速率

2GHZ 28nm

1.5~2.5GHZ 20nm

执行顺序

有序

无序,预测发出,超级标量

core核数

1~4

1~4

集成最大吞吐量

2.3MIPS/MHZ

4.1~4.76MIPS/MHZ

浮点单元

Yes

Yes

半精度

Yes

Yes

硬件除法

Yes

Yes

融合乘法积累

Yes

Yes

流水线级数

8

15+

返回栈的数目

4

8

GIC

外部

外部

AMBA 接口

64位I/F AMBA 4

128位I/F AMBA 4

L1 CACHE大小(指令)

8KB~64KB

48KB

L1 CACHE结构(指令)

2路组相连

2路组相连

L1 CACHE大小(数据)

128KB~2MB

32KB

L1 CACHE结构(数据)

4路组相连

2路组相连

L2 CACHE

可选

集成

L2 CACHE SIZE

128KB~2MB

512KB~2MB

L2 CACHE 结构体

16路组相连

16路组相连

主TLB项

512

1024

uTLB项

10

48 指令

32 数据

2.1 ARMv8处理器

        本节描述了实现ARMv8-A架构的每个处理器。它仅给出了每种情况的通用描述。对于每个处理器的更多特殊情况,看上表。

Cortex-A53处理器

        Cortex-A53处理器是中等范围,在一个cluster中包含1~4个core的低功耗处理器,每个core带L1 CACHE子系统,可选的集成GICv3/4接口,和可选的L2 cache控制器。

        Cortex-A53处理器是一个极度电源效率的处理器,它支持32位和64位代码的能力。它传递明显的性能高于Cortex-A7处理器。它具有部署为一个独立的应用处理器的能力,或与Cortex-A57处理器一起组成大小核配置来优化性能,规模和电源效率。

armv7-a架构 armv8-a架构_v8_02

        Corext-A53具有如下特性:

(1)顺序执行,8级流水线。

(2)通过使用层级时钟门限,电源域,和更先进的保留模式实现低功耗。

(3)增加了双端能力,如执行资源的复制,双指令的解码。

(4)电源优化的L2 cache设计,它具有更低的时延,让性能与效率的平衡。

Cortex-A57处理器

        Cortex-A57的目标为移动电话和企业计算应用包括计算型64位应用如高端计算机,桌面和服务器产品。可以用它与Cortex-A53处理器一起组成大小核配置来实现大规模性能和有效的能源应用。

        Cortex-A57处理器提供与其他处理器的cache一致性的互操作性,包括用于GPU计算的ARM Mali家族的GPU和为高性能企业应用提供可选的可靠性和规模性的特征。它提供了明显更高于ARMv7 Cortex-A15更高的性能,且更高的电源效率级别。包含扩展的加密特性,提供了10倍于之前代处理器的加密算法。

armv7-a架构 armv8-a架构_低功耗_03

        Cortex-A57处理器完全实现了ARMv8-A架构。它在一个cluster中实现了1~4个处理器的多核操作。多个一致性SMP cluste通过AMBA5 CHI或AMBA 4 ACE技术实现。可通过CoreSight技术让debug和trace有效。

Cortex-A57处理器具有如下特征:

(1)乱序执行,15+流水线。

(2)节能技术包括路预测,tag减少,和cache查找。

(3)通过执行资源的复制来增加最大的指令吞吐量。本地解码,3-wide解码带宽来实现电源优化指令。

(4)L2 cache设计的性能使能在一个cluster中超过1个core来同时访问L2。