ARM Cortex-A15 架构的特点与性能
今年的手机趋势一下让人感觉四核还没过渡完就直接奔向了八核时代,不过仔细看看现在发布的主流产品,似乎还都是四核、双核的产品。不过即便都是四个核心的处理器,实际上在性能上也是有极大的差异的。2012年市场上四核手机普遍采用的是Cortex-A9、Cortex-A7 级别的CPU处理器内核,前者在性能上有较好的优势后者在功耗上有不错的控制。但这二者有一个共同的特性就是,成本比较低廉,所以在入门级和中端手机市场上占据了相当大的份额。
但在仅剩下的几家处理器巨头在2013年推出的旗舰型处理器中,我们可以看到实际上呈现了多极分化的态势。除了在2012就灭掉了几乎所有处理器的高通 Krait 系列架构四核外,ARM 正统的 Cortex-A15 也开始走上了四核手机的舞台,例如三星的Exynos 5 Octa、NVIDIA 的 Tegra 4。
Cortex-A15 是 ARM Cortex-A 家族中目前最强劲的 CPU 内核架构,发布时间为 2010年,德州仪器是最早(2011 年)投产基于该架构处理器(型号为 OMAP 5)的授权厂商。和 ARM 的 Cortex-A7、Cortex-A9 等微架构相比,Cortex-A15 有很大的不同。可以说Cortex-A15是一个很先进的构架,但可惜在2011年的时候的确是生不逢时。
ARM11 |
ARM Cortex A8 |
ARM Cortex A9 |
ARM Cortex A15 |
Qualcomm Scorpion |
Qualcomm Krait |
|
指令解码 |
单路 | 双路 | 双路 | 三路 | 双路 | 三路 |
整数流水线 |
8级 | 13级 | 8级 | 15级 | 10级 | 11级 |
乱序执行 |
否 | 否 | 是 | 是 | 部分 | 是 |
浮点单元 |
VFP11 | VFPv3 | 可选VFPv3 | VFPv4 | VFPv3 | VFPv4 |
SIMD(NEON) |
不具备 | 具备(64bit) |
可选MPE(64bit) |
具备(128bit) | 具备(128bit) | 具备(128bit) |
半导体制程 |
90nm | 65/45nm | 40nm | 32nm | 40nm | 28nm |
典型频率 |
412MHz | 600/1000MHz | 1.2GHz | 2.0GHz | 1.0GHz | 1.5GHz |
微架构对比
Cortex-A15和Cortex-A9同样具备乱序执行,但是 Cortex-A15 具备(两倍)的指令发射端口和执行资源,指令解码能力也要高出 50%,动态分支预测能力更强(采用了多层级分支表缓存),指令拾取带宽更强(128 bit vs 64 bit),这些都能让 A15 的流水线执行具备更高的效率。除此以外,A15 采用了 VFPv4 浮点单元设计,能执行 FMA 指令以及硬件除法指令,相较而言 A9 的峰值向量浮点性能基本上只有 A15 的一半。
不过在现实中,A15 的对手应该是高通自行设计的 ARMv7A 兼容处理器架构 Krait。高通对 Krait 的架构细节透露并不是很多,大致上就是 3 个指令解码端口(和 A15 一样)、7 个指令发射端口(A15 是 8 个)、4 个发射端口(A15 是 8 个),具备 4KiB + 4KiB 的单周期时延 L0 Cache 设计。
如果采用老掉牙的 Dhrystone DMIPS/MHz 作为性能衡量指标,Krait 是 3.3,A9 是 2.5,而 A15 这是 3.5,从纸面上看 Krait 的确非常适合作为 A15 的对手。
不过 Dhrystone 的缺点是显而易见,它是完全可以塞进 CPU 的 L1 cache 里执行,这就意味着无法以此对 L2 cache(A15 是一体化设计,Krait 是分离式设计,一体化设计可以减少内存交换导致的大量时延)、乱序执行的硬件效率/复杂性、内存子系统单元(A15 的内存单元可以实现在一定条件下预执行一条加载指令,而 Krait 能否具备这样的能力尚不清楚)等诸多体系架构区别对实际性能的影响作出有价值评估。
当然,ARM 采用的 DMIPS 指标实际上并非 28 年前的那个 Dhrystone,而是来自 EEBMC Coremark(其实 Coremark 就是前者的改善版本,主要是为了减少预优化、对测试有比较严格的规则),但是 CoreMark 同样可以塞进现今大多数处理器的 L1 cache 里,Dhrystone 不能反映现今移动设备真实应用的问题在这里依然存在。
网友评论