ARM前不久发布了一款新的核心架构——Cortex-A17。从名称来看,Cortex-A17应该在Cortex-A15之上,远高于Cortex-A12。但实际上,Cortex-A17仅仅是Cortex-A12的小改版而已,基本技术结构和Cortex-A12如出一辙,只是在有关总线、big.LITTLE技术上进行改变。Cortex-A17更像是ARM的一款“马甲”产品,而且据传它和联发科有很深的渊源……
2014年2月中,ARM发布了一个全新的架构,命名为Cortex-A17。在这个架构发布后,ARM的Cortex-A系列产品线就拥有了Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A12、Cortex-A15、Cortex-A17以及64 bit的Cortex-A53Cortex-A57一共九个架构。根据ARM对产品命名的一般规则来看,Cortex-A系列架构可提供的高性能是按照架构的数字大小进行排列的,那么Cortex-A17的性能应该比性能强大的Cortex-A15更强。但事实并非如此,Cortex-A17完全没有Cortex-A15那样庞大、彪悍的内部结构,它仅仅是Cortex-A12的改进版本,性能无法和Cortex-A15相提并论。那么ARM推出Cortex-A17的用意何在?Cortex-A17又有哪些值得我们关注的地方呢?
ARM在发布Cortex-A17时并没有详细提及它所采用的架构。但我们仍可从已有的资料中发现,相比Cortex-A12,Cortex-A17基本上没有对CPU内核做出任何调整,依旧沿用了Cortex-A12的设计。这就让人有些疑惑,Cortex-A17的改进究竟在哪里呢?
在了解新的东西之前,我们先来回顾一下Cortex-A12的一些情况。Cortex-A12在发布时被ARM官方介绍是用于替代Cortex-A9的新架构,其设计更接近于Cortex-A15,管线更为“乱序”,同时也更长,因此官方预测它的性能大概超出Cortex-A9约40%。
根据ARM提供的官方数据,Cortex- A17的性能在“特定的频率和工艺下”(注意这个描述),相比新的Cortex-A9r4提升大约60%,相比Cortex-A12也有大约20%的性能提升,也就是说它的性能达到了和Cortex-A15一样的档次。为了更清晰地说明Cortex-A17的性能,我们参考ARM官方数据中使用的DMIPS/MHz来衡量它们的性能水平(需要特别说明的是,使用DMIPS/MHz来衡量不同核心的性能实际上并不是好的方法,DMIPS/MHz的衡量手段比较老旧,很难在复杂的实际应用中反映出CPU核心的性能。不过在单纯比较ARM CPU架构的时候,DMIPS/MHz还是可以作为一个参考数据来使用,这也是之前ARM官方使用过的衡量方法。所以在这里为了让读者有更直观的感受,我们还是引入了该数据以供说明和参考),Cortex-A17性能的估计值大概是4.0 DMIPS/MHz,目前性能强大的Cortex-A57大概为5.0DMIPS/MHz,而Cortex-A9的性能为2.5DMIPS/MHz,Cortex-A15也是4.0DMIPS/MHz,比较差的Cortex-A7差不多在1.9DMIPS/MHz左右。从这个数据来看,Cortex-A17的性能还是很不错的。
不过令人遗憾的是,由于ARM还没有给出有关Cortex-A17具体改进的介绍,因此无法进行详细的结构对比。但就目前已知的资料来看,Cortex-A17可能在内存和总线系统上做出了改进,使得Cortex-A17能在计算核心不变的情况下获得更高的性能。此外,Cortex-A17的总线采用了AMBA4 ACE,终于正式支持big.LITTLE技术。相比Cortex-A12没有提供对big.LITTLE技术的支持,Cortex-A17能更好地适应ARM未来的异构计算发展计划,在不同的环境下提供不同的核心以达到尽可能高的性能功耗比的目的。
这样看来,Cortex-A17的实际改进相比Cortex-A12并不明显,性能提升幅度也不够大,但为什么Cortex-A17能够在型号编号上力压Cortex-A15呢?
Cortex-A17可以和Cortex-A7组建big.LITTLE大小核心,图为ARM以Cortex-A17和Cortex-A7、Mali-T720组建的ARM SoC的架构示意图。