ARM的新成员Cortex—A12核心架构介绍

时间:2022-09-24 01:10:40

ARM的新成员Cortex—A12核心架构介绍

ARM作为全球规模最大的移动SOC授权厂商,先后开发了多款ARM架构的SOC芯片,其中CPU架构部分就有目前比较流行的Cortex-A系列的Cortex-A8、Cortex-A9以及Cortex-A15等。不过ARM最新的Cortex-A15功耗较高,在手机中使用效果不算很好。因此,ARM还需要在为20nm以及以后的手机制程开发一款性能优秀、功耗较低的SOC芯片CPU架构,这就是Cortex-A12,这款架构以功耗控制为主要目标,兼顾了高性能和低功耗,是目前大有希望的全新架构。

纵观ARM在目前智能手机发展中的产品序列,不得不承认Cortex-A9是其中最为成功的一款。Cortex-A9架构从三年前开始崭露头角,到现在依旧是大部分SOC芯片主流的CPU架构。随后的Cortex-A15虽然性能不错,但过于庞大的架构设计和工艺进步的缓慢使得它的功耗表现并不令人满意,因此即使使用在手机上,由于频繁地控制功耗和热量,Cortex-A15的芯片手机机型的续航时间也非常短,整体的使用效果也并不出色。为了解决这种问题,也为了未来新制程下的高性能、低功耗市场考虑,ARM又推出了一个全新的架构,被称作Cortex-A12,它的性能比Cortex-A9好,但是功耗表现却和Cortex-A9相当,在换用新的制程后,还可以进一步降低功耗和体积,进入更广泛的市场。

更巧妙的设计思路

有关Cortex-A12消息,先来看一段比较枯燥的数据。Cortex-A12采用的是ARMv7a指令集,其进步在于ARMv7a的CPU的内存寻址空间可以提升至1TB,不再受到32bit处理器的4GB内存空间的困扰。在其他技术方面,ARMv7a的NENO SIMD指令集可以操作128bit寄存器、支持虚拟化技术、都采用了128bit的AXI4总线(支持big.LITTLE技术的重要总线),同时它的物理寻址空间从32bit升级到新的40bit,使得内存可支持空间提升到了1TB。在硬件架构上,Cortex-A12的整数流水线深度进一步扩展到10~12级(Cortex-A9是8~11级),略微增加了提升频率的空间。Cortex-A12整个架构也更为“乱序”。值得一提的是,Cortex-A12将L2缓存彻底内置,和CPU核心直接整合在一起,所有核心共享缓存,缓存拥有独立电压和频率层,这样既可以和CPU同步,也可以和CPU异步,灵活性大幅度增加。其他功能方面,由于目前浮点计算要求增多,NENO指令集不再是可选单元,而变成了必选,NENO单元和vFP单元提升到了第四版,这对浮点性能有很大帮助。核心数量方面,每个Cortex-A12核心集群最多可以支持四个核心,但是依靠ARM的总线和同步设计,可以支持多个CPU核心集群。

好吧,上述内容可以总结为三点。第一,Cortex-A12整体指令集更先进,支持更多、更有效率的操作。第二,Cortex-A12频率会更高,乱序带来的执行能力会有更进一步的提升。第三,Cortex-A12的浮点性能还会加强。

从架构来看,整个Cortex-A12架构几乎将Cortex-A9架构很大一部分内容推倒重来,Cortex-A12几乎没有太多继承于Cortex-A9的内容了。并且Cortex-A12显然更注重性能功耗比,没有刻意追求“高大全”的功能和特性,而是定位于“够用就好”,只要能精简、节省地赶上应用发展的水平即可。当然,全新的技术特性和规格的加入也是必不可少的,考虑到未来应用发展的需求,更大的内容、更宽的总线、更强大的缓存设计等,都是Cortex-A12成功的保证,在这一方面,ARM做得相当不错。

改进直击架构弱点

由于本刊截稿时ARM暂时还没有给出特别详细的架构内容,所以这里我们使用了一个概略图来描述Cortex-A12和Cortex-A9之间的差异。

从图中来看,前端部分Cortex-A12使用了两个Decode解码单元,和Cortex-A9一样,比Cortex-A15的3个要少了一个。根据ARM的官方说明,他们认为Decode解码单元部分是最为影响整个架构功耗和效能的组件,因此Cortex-A12的目的并非性能而是更优秀的性能功耗比,配置2个Decode解码单元已经足够了。

此外,Cortex-A9的另一个重要问题在于分支预测单元过于薄弱。之前的Cortex-A9后端规模也没有这么大,因此分支预测单元也是够用就好。Cortex-A12上流水线更深、计算资源更丰富后,分支预测单元就显得更为重要了。好在ARM直接将更高一级的Cortex-A53的分支预测单元重新调整后“下放”给Cortex-A12使用,相比Cortex-A9也算得上是大幅度改进了分支预测能力不足的问题。接下来的Rename&Dispatch(命名与发送)部分,为了应付增大的后端,Cortex-A12设计了2个Rename&Dispatch单元,比Cortex-A9多了一倍。

凭借计算单元和指令排序单元的改进,Cortex-A12能轻易获得相对于Cortex-A9 30%~40%的性能提升。不过Cortex-A12在同等工艺下的芯片面积相比,Cortex-A9增大了大约40%。比较下来,Cortex-A15在28nm工艺下单核心面积为2.7平方毫米,比Cortex-A9的28nm单核心面积的1.15平方毫米大了134%,即使Cortex-A12的面积提升40%后,也仅有1.6平方毫米,相当于Cortex-A15的60%,依旧不算大核心。当然,相比Cortex-A7的28nm下的0.45平方毫米,还是大了不少,相应的性能也会强很多。

3 高效产品 2014年中上市

ARM大约在今年7月完成了Cortex-A12的架构设计并向外公布。接下来的架构设计转化为实际的产品,大约需要10~12个月时间。这样看来,Cortex-A12的首款产品上市时间都不会早于2014年6月。从芯片到成品手机、平板电脑也需要一段时间,从一般情况来看,在芯片完成生产后装备到手机中,最快需要一个季度来解决生产、软件等问题,普通厂商至少需要两个季度,才能初步开始生产基于Cortex-A12架构的产品。

这样一来,消费者最早拿到基于Cortex-A12的产品,可能要等到2014年年底了。那么那个时候Cortex-A12还有什么竞争优势呢?实际上,Cortex-A12并非仅仅面向现在的28nm架构,根据ARM的规划,Cortex-A12除了在28nm上使用外,ARM还在联合诸如GLOBALFOUNDRIES、TSMC等厂商规划20nm的产品。如果Cortex-A12使用了20nm工艺的话,面积有望进一步缩减大约60%,这样可以彻底抵销由于规模变大带来的面积增加,以较小的面积和不错的性能占据低端市场。

可以预见的是,在一年多以后的低端市场,Cortex-A7、Cortex-A5等架构很可能由于性能不足等问题不再被消费者和开发人员接受,这个时候Cortex-A12再加上专为入门级设计的Cortex-A53就能很好充当替代者的角色。此时的Cortex-A12实际上也是多能的:它一方面可以使用更优秀的工艺,达到更高的频率在中端手机内使用;一方面也可以在老工艺、低频率下给入门级用户享受。

上一篇:Haswell挑战Ivy Bridge两款主流酷睿i5处理器对... 下一篇:让人垂涎的巅峰