正文内容 评论(0)
【A9 CPU架构探寻:进化而非革命】
A9 CPU架构的内部代号为“Twister”。A7上的第一代64位架构叫Cyclone,去年的A8上是Typhoon,属于小幅升级版,不过因为20nn工艺的局限频率只有1.4GHz。
A9按理说应该在架构上有大幅度的改进,同时得益于全新的FinFET工艺频率也大幅提升到了1.85GHz,所以性能提升十分明显,只不过受限于两个核心,多线程性能一般般。
经过这几个月的研究,现在我们终于摸清了A9 CPU的一些基本情况,但也承认只是触到了表面,太多深入的东西几乎没办法获得,不再可能像当初对A6那样知根知底了,甚至不可能达到A7的层次。
好了,还是来看看我们已经知道的吧(注意都是非官方数字):
最核心的六发射宽度、192指令记录器缓冲都没有变,看来苹果认为这样的64位架构是非常稳妥高效的。
最有趣的是分支预测延迟,从上代的平均16个周期降低到了只有9个,但没有更多架构细节不太好评价。可能是流水线更短了,但至少在分支预测错误的时候,A9的效率大大提高了。
FP/NEON单元、整数单元、载入/存储单元数量都没变,但是性能均得到了提升,包括整数和浮点性能,比如FP32加法(每周期还是三个)的延迟从四个周期缩短到了三个,再结合频率提升就相当于实时延迟从2.9纳秒缩短到了1.6纳秒。
FP32乘法延迟也从五个周期缩短到了四个,因此有能力每周期执行三个FP乘法,因此浮点密集型负载的表现将会大大提高。
整数方面是另一个样子,整数乘法延迟反而从三个周期增加到四个,回到了A7的水平,但还是每周期两个,所以整数乘法性能实际是下降的,可能是高频率的牺牲品。
缓存方面,一级还是64KB数据、64KB指令,而二级从1MB大幅增至3MB,能存储更多数据和指令,但访问时间一般会增大
三级也从4MB翻番至8MB,而且它是CPU、GPU共享的,更大了都有好处,不过苹果的缓存设计有个特点,下一级会完全复制一份上一级的数据,所以实际有效的三级缓存容量其实是6MB。
惊喜的是,延迟方面也有了大幅度的改进,相比于A8缩短了30-40%,尤其是在1-3MB范围内,A8耗尽了二级缓存,A9却可以维持稳定。