泡泡网CPU频道 PCPOP首页      /      CPU     /      评测    /    正文

轻松读懂移动处理器 CPU微架构全解析

正如我们前面提过的,苹果公司在上世纪九零年代就已经和 ARM 合作并且提供了一些微架构设计上的修改方案,因此苹果对 ARM 一点都不陌生甚至有非常丰富的经验。

从 iPad、iPhone 4/iTouch 4、Apple TV 2 开始,苹果开始真正介入 ARM 芯片设计,推出了名为 A4 的自行设计 ARM 处理器。A4 采用了 ARM 授权的 Cortex-A8 IP Core,但是苹果找来了 Intrinsity 公司(已经被苹果收购)和三星公司合作进行了一些调优,可以让 A4 的频率跑得比基于上一代制程的 Cortex-A8 更快。曾经有说法认为 A4 的 L2 cache 大小是 640KiB,但是后来确认修正为 512KiB(这是 ARM Cortex-A8 内核的可选配置方式之一)。

A5 系列依然是采用 ARM IP core,从 Cortex-A8 升级为 Cortex-A9 双核,不过整个 A5 系列出现了三个版本,即 APL0498、APL2498、APL5498(A5X),三个版本的芯片面积各不一样,其中 A5X 的 GPU 是四核 PowerVR 5 并且拥有 4 通道内存总线,定制化设计在这里体现得非常明显。

真正的定制化设计是从 A6 开始,苹果公司给 A6 搭配的 CPU 内核是完全有自己团队开发的 Swift,不仅这样,苹果还提出了一个新的名字:ARMv7s。传统上,ARMv7 是属于 ISA 版本名称,不过 ARMv7s 至今都并未出现在 ARM 官网的公开资料里,因此 ARMv7s 可能并非 ARM 的产物,而是苹果自己在 ARMv7 基础上做的一个架构优化定义,让编译器可以为 Swift 微架构匹配对应的调优,本质上 ISA 还是 ARMv7A。

CPU iPhone iPad iPod Touch Apple TV
ISA 内核 芯片名称
"ARMv7s" Apple Swift Apple A6X   4    
Apple A6 5      
ARMv7A ARM Cortex-A9 Apple A5X   3    
Apple A5   mini    
4S 2 5 3
ARM Cortex-A8 Apple A4 4 1 4 2
三星 S5PC100 3GS   3(32/64GB)  
ARMv6 ARM 1176JZ(F)-S       3(8GB)  
3   2  
1   1  

那么 Swift 和以往的 Cortex-A9 相比有哪些改进呢?苹果公司并未详细说明,传统上这家公司就是这样,千方百计捂着,不过 Anandtech 利用一些自己编写的微型基准测试程序进行了一些探测,以程序员的角度大致估量出了 Swift 的微架构是长得如何了。

在前端部分,Swift 具备三个指令解码器,可以每个周期完成三条指令的解码,而在指令分发器上,具备五个发射端口,浮点单元、整数单元各占两个,还有一个专供 Load/Store 单元使用,具备乱序执行能力、整数流水线深度为 12 级,cache 子系统的时延比 Cortex-A9 低了差不多一半。

“ARMv7s”的设立估计就是让编译器获知编译执行对象是 Swift,这样就能对各种指令顺序进行一些预调度,确保尽可能低的 CPI。

简而言之,A6 系列就是采用了比 A5 系列更先进制程和微架构的产物,其中的 CPU 内核则是苹果首次真正完全执行开发的设计,未来是否会在 GPU 上也有类似的动静将会是值得关注的。

2人已赞

关注我们

泡泡网

手机扫码关注