ARM作為全球規(guī)模最大的移動SOC授權(quán)廠商,先后開發(fā)了多款A(yù)RM架構(gòu)的SOC芯片,其中CPU架構(gòu)部分就有目前比較流行的Cortex-A系列的Cortex-A8、Cortex-A9以及Cortex-A15等。不過ARM最新的Cortex-A15功耗較高,在手機(jī)中使用效果不算很好。因此,ARM還需要在為20nm以及以后的手機(jī)制程開發(fā)一款性能優(yōu)秀、功耗較低的SOC芯片CPU架構(gòu),這就是Cortex-A12,這款架構(gòu)以功耗控制為主要目標(biāo),兼顧了高性能和低功耗,是目前大有希望的全新架構(gòu)。
縱觀ARM在目前智能手機(jī)發(fā)展中的產(chǎn)品序列,不得不承認(rèn)Cortex-A9是其中最為成功的一款。Cortex-A9架構(gòu)從三年前開始嶄露頭角,到現(xiàn)在依舊是大部分SOC芯片主流的CPU架構(gòu)。隨后的Cortex-A15雖然性能不錯,但過于龐大的架構(gòu)設(shè)計和工藝進(jìn)步的緩慢使得它的功耗表現(xiàn)并不令人滿意,因此即使使用在手機(jī)上,由于頻繁地控制功耗和熱量,Cortex-A15的芯片手機(jī)機(jī)型的續(xù)航時間也非常短,整體的使用效果也并不出色。為了解決這種問題,也為了未來新制程下的高性能、低功耗市場考慮,ARM又推出了一個全新的架構(gòu),被稱作Cortex-A12,它的性能比Cortex-A9好,但是功耗表現(xiàn)卻和Cortex-A9相當(dāng),在換用新的制程后,還可以進(jìn)一步降低功耗和體積,進(jìn)入更廣泛的市場。
更巧妙的設(shè)計思路
有關(guān)Cortex-A12消息,先來看一段比較枯燥的數(shù)據(jù)。Cortex-A12采用的是ARMv7a指令集,其進(jìn)步在于ARMv7a的CPU的內(nèi)存尋址空間可以提升至1TB,不再受到32bit處理器的4GB內(nèi)存空間的困擾。在其他技術(shù)方面,ARMv7a的NENO SIMD指令集可以操作128bit寄存器、支持虛擬化技術(shù)、都采用了128bit的AXI4總線(支持big.LITTLE技術(shù)的重要總線),同時它的物理尋址空間從32bit升級到新的40bit,使得內(nèi)存可支持空間提升到了1TB。在硬件架構(gòu)上,Cortex-A12的整數(shù)流水線深度進(jìn)一步擴(kuò)展到10~12級(Cortex-A9是8~11級),略微增加了提升頻率的空間。Cortex-A12整個架構(gòu)也更為“亂序”。值得一提的是,Cortex-A12將L2緩存徹底內(nèi)置,和CPU核心直接整合在一起,所有核心共享緩存,緩存擁有獨立電壓和頻率層,這樣既可以和CPU同步,也可以和CPU異步,靈活性大幅度增加。其他功能方面,由于目前浮點計算要求增多,NENO指令集不再是可選單元,而變成了必選,NENO單元和vFP單元提升到了第四版,這對浮點性能有很大幫助。核心數(shù)量方面,每個Cortex-A12核心集群最多可以支持四個核心,但是依靠ARM的總線和同步設(shè)計,可以支持多個CPU核心集群。
好吧,上述內(nèi)容可以總結(jié)為三點。第一,Cortex-A12整體指令集更先進(jìn),支持更多、更有效率的操作。第二,Cortex-A12頻率會更高,亂序帶來的執(zhí)行能力會有更進(jìn)一步的提升。第三,Cortex-A12的浮點性能還會加強(qiáng)。
從架構(gòu)來看,整個Cortex-A12架構(gòu)幾乎將Cortex-A9架構(gòu)很大一部分內(nèi)容推倒重來,Cortex-A12幾乎沒有太多繼承于Cortex-A9的內(nèi)容了。并且Cortex-A12顯然更注重性能功耗比,沒有刻意追求“高大全”的功能和特性,而是定位于“夠用就好”,只要能精簡、節(jié)省地趕上應(yīng)用發(fā)展的水平即可。當(dāng)然,全新的技術(shù)特性和規(guī)格的加入也是必不可少的,考慮到未來應(yīng)用發(fā)展的需求,更大的內(nèi)容、更寬的總線、更強(qiáng)大的緩存設(shè)計等,都是Cortex-A12成功的保證,在這一方面,ARM做得相當(dāng)不錯。
改進(jìn)直擊架構(gòu)弱點
由于本刊截稿時ARM暫時還沒有給出特別詳細(xì)的架構(gòu)內(nèi)容,所以這里我們使用了一個概略圖來描述Cortex-A12和Cortex-A9之間的差異。
從圖中來看,前端部分Cortex-A12使用了兩個Decode解碼單元,和Cortex-A9一樣,比Cortex-A15的3個要少了一個。根據(jù)ARM的官方說明,他們認(rèn)為Decode解碼單元部分是最為影響整個架構(gòu)功耗和效能的組件,因此Cortex-A12的目的并非性能而是更優(yōu)秀的性能功耗比,配置2個Decode解碼單元已經(jīng)足夠了。
此外,Cortex-A9的另一個重要問題在于分支預(yù)測單元過于薄弱。之前的Cortex-A9后端規(guī)模也沒有這么大,因此分支預(yù)測單元也是夠用就好。Cortex-A12上流水線更深、計算資源更豐富后,分支預(yù)測單元就顯得更為重要了。好在ARM直接將更高一級的Cortex-A53的分支預(yù)測單元重新調(diào)整后“下放”給Cortex-A12使用,相比Cortex-A9也算得上是大幅度改進(jìn)了分支預(yù)測能力不足的問題。接下來的RenameDispatch(命名與發(fā)送)部分,為了應(yīng)付增大的后端,Cortex-A12設(shè)計了2個RenameDispatch單元,比Cortex-A9多了一倍。
憑借計算單元和指令排序單元的改進(jìn),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平方毫米,相當(dāng)于Cortex-A15的60%,依舊不算大核心。當(dāng)然,相比Cortex-A7的28nm下的0.45平方毫米,還是大了不少,相應(yīng)的性能也會強(qiáng)很多。
3 高效產(chǎn)品 2014年中上市
ARM大約在今年7月完成了Cortex-A12的架構(gòu)設(shè)計并向外公布。接下來的架構(gòu)設(shè)計轉(zhuǎn)化為實際的產(chǎn)品,大約需要10~12個月時間。這樣看來,Cortex-A12的首款產(chǎn)品上市時間都不會早于2014年6月。從芯片到成品手機(jī)、平板電腦也需要一段時間,從一般情況來看,在芯片完成生產(chǎn)后裝備到手機(jī)中,最快需要一個季度來解決生產(chǎn)、軟件等問題,普通廠商至少需要兩個季度,才能初步開始生產(chǎn)基于Cortex-A12架構(gòu)的產(chǎn)品。
這樣一來,消費者最早拿到基于Cortex-A12的產(chǎn)品,可能要等到2014年年底了。那么那個時候Cortex-A12還有什么競爭優(yōu)勢呢?實際上,Cortex-A12并非僅僅面向現(xiàn)在的28nm架構(gòu),根據(jù)ARM的規(guī)劃,Cortex-A12除了在28nm上使用外,ARM還在聯(lián)合諸如GLOBALFOUNDRIES、TSMC等廠商規(guī)劃20nm的產(chǎn)品。如果Cortex-A12使用了20nm工藝的話,面積有望進(jìn)一步縮減大約60%,這樣可以徹底抵銷由于規(guī)模變大帶來的面積增加,以較小的面積和不錯的性能占據(jù)低端市場。
可以預(yù)見的是,在一年多以后的低端市場,Cortex-A7、Cortex-A5等架構(gòu)很可能由于性能不足等問題不再被消費者和開發(fā)人員接受,這個時候Cortex-A12再加上專為入門級設(shè)計的Cortex-A53就能很好充當(dāng)替代者的角色。此時的Cortex-A12實際上也是多能的:它一方面可以使用更優(yōu)秀的工藝,達(dá)到更高的頻率在中端手機(jī)內(nèi)使用;一方面也可以在老工藝、低頻率下給入門級用戶享受。