轻松读懂移动处理器 CPU微架构全解析
上图是高通 2012 年 11 月于分析者日会议上公布的 AP 产品路线图
虽然 2012 年年初的时候 NVIDIA Tegra 3 大放异彩,但是到了临近年末的时候,高通的 Snapdragon 4 Pro APQ8064 却已经是成为了几乎所有性能导向新 Android 手机的主角,其中一个重要原因就是它采用的 Krait 微架构能提供对手不具备的特性。
Krait 微架构是高通第四代 Snapdragon(骁龙)处理器所搭配的 CPU 内核微架构,是 ARMv7 架构的实现,属于高通的 ARM 架构级授权、自行研发的处理器内核微架构。
Krait 的前身是 Scorpion,在产品布局上它和 Scorpion 有些类似,例如 Scorpion 定位于 Cortex-A8 和 Cortex-A9,而 Krait 的定位也是类似,即 Cortex-A9 和 Cortex-A15 之间,具备一些 Cortex-A15 的特征。
例如 L0 cache(Cortex-A15 上有类似作用的 loop buffer,相当于 L0 I-cache,指令调度器无需经过解码器就能抓到小循环的微操作指令)、三路超标量、VFP4 浮点单元、128-bit SIMD 处理能力(高通称 SIMD 单元为 VeNum,ARM 自己则称之为 NEON)以及基于 A15 同级的半导体制程节点。至于有人说 Krait 是 A9 的改进版,这样的观点我很难认同,它和 Scorpion 都类似于当年 DEC 获得 ARMv4 ISA 授权而自行研发的微架构。
不过另一方面,Krait 的乱序执行要逊色于 Cortex-A15,后者具备八个指令发射端口和八个执行端口,每一个执行端口都对应一个(准)保留站(有些类似于 AMD K7-K10),而 Krait 只有四个指令发射端口和七个执行端口,并且采用的是类似 Cortex-A9 或者说 Pentitum Pro 方式的单个大规模指令发射队列单元。
微架构对比 ARM vs 高通 | ||||||
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) | 不具备 | 具备 (64-bit) |
可选 MPE (64-bit) |
具备 (128-bit) |
具备 (128-bit) |
具备 (128-bit) |
半导体制程 | 90nm | 65nm/45nm | 40nm | 32nm | 40nm | 28nm |
典型频率 | 412MHz | 600MHz/1GHz | 1.2GHz | 2GHz | 1GHz | 1.5GHz |
在现实测试中,Krait 的表现和它的微架构一样,提供了比 Cortex-A9 更强的性能,在对单线程性能较高的应用中,即使是双核版的 Karit 都可以比四核 Cortex-A9 更快。