ARM CortexA-72處理器3.5倍性能來(lái)源之謎
ARM公司今年2月份推出了A57的繼任者——Cortex-A72架 構(gòu),號(hào)稱(chēng)性能是A15的3.5倍,功耗則降低了75%。
ARM雖然是家小公司,但他們是整個(gè)ARM處理器陣營(yíng)的核心,除了蘋(píng)果、高通等極少數(shù)可以自己開(kāi)發(fā)ARM兼容架構(gòu)的公司之外,聯(lián)發(fā)科、海思等大多數(shù)公司都會(huì)直接使用ARM的公版Cortex-A架構(gòu)授權(quán)。64位時(shí)代以來(lái),ARM已經(jīng)發(fā)布了Cortex-A57/A53一大一小兩種架構(gòu),但只有A53遍地開(kāi)花,高性能的A57核心在手機(jī)市場(chǎng)只有三星、高通在用,面臨著難產(chǎn)的尷尬。
當(dāng)時(shí)我們對(duì)ARM的Cortex-A72核心了解并不多,只知道A72核心會(huì)使用新一代的FinFET工藝生產(chǎn),包括三星/Globalfoundries的14nm及TSMC的16nm,得益于先進(jìn)的工藝,A72核心頻率更高,可以達(dá)到2.5GHz,更高的頻率有助于A72增強(qiáng)服務(wù)器市場(chǎng)的存在感,這也是它的目標(biāo)市場(chǎng)之一。
ARM日前公布了Coretx-A72核心的詳細(xì)架構(gòu),Anandtech網(wǎng)站也做了一番解析,我們來(lái)看下A72架構(gòu)到底有哪些改進(jìn),畢竟A72核心很可能成為明年的旗艦手機(jī)/平板的標(biāo)配。
值得一提的是,原先首先解釋了A72核心的命名由來(lái),為什么不選擇Cortex-A59這樣的命名呢?ARM解釋說(shuō)這純粹是方便市場(chǎng)宣傳而已,如果跟A57的命名很相近,那么大家就不容易看出這兩種核心之間的區(qū)別(大家都只會(huì)看數(shù)字辯好壞嗎?)。
A72核心的性能達(dá)到了A15的3.5倍
功耗降低了75%
ARM之前宣傳A72核心性能是前代的3.5倍,功耗降低了75%,但大家也得清楚這只是宣傳而已,ARM并沒(méi)有直接對(duì)比A57與A72的差別,如果只看這兩者,A72核心在同樣的14/16nm工藝下只比A57提升了34%(2.6x到3.5x,還得考慮到頻率上的差異),而在同樣的28nm工藝下,其功耗也不過(guò)減少了20%左右。
還要注意到,A72核心可以運(yùn)行在更高的頻率下,這不是簡(jiǎn)單地最高頻率,此前A57由于太強(qiáng),因此它只能在最高頻率下維持很短時(shí)間就要降頻,而ARM提供的數(shù)據(jù)表明,A72核心在16nm FinFET工藝下,2.5GHz頻率運(yùn)行時(shí)功耗只有750mW。
除了功耗之外,ARM還在A72架構(gòu)上做了很多優(yōu)化,如上圖所示,整數(shù)、浮點(diǎn)、內(nèi)存等性能皆有不同程度的提升,雖然還缺少一些細(xì)節(jié),不過(guò)IPC性能上提升16-30%還是有的。
由A57升級(jí)而來(lái)的A72架構(gòu)
ARM似乎在性能、功耗及核心面積這三個(gè)方面都做了全面的改善,這也是半導(dǎo)體設(shè)計(jì)的三個(gè)重要指標(biāo)。這個(gè)成績(jī)是ARM重新優(yōu)化了幾乎所有A57邏輯區(qū)塊之后才得來(lái)的,其中CPU架構(gòu)做了相當(dāng)大的改進(jìn),包括新的分支預(yù)測(cè)單元,改善了解碼器管線設(shè)計(jì)等。
在指令預(yù)取這一塊,我們可以看到ARM重新設(shè)計(jì)了分支預(yù)測(cè)單元,它可以支持更復(fù)雜的算法,提高了性能、降低了功耗以、誤預(yù)測(cè)率及投機(jī)(speculation),具體來(lái)說(shuō)就是相比A57降低了50%的誤預(yù)測(cè),25%的投機(jī)率。多余的分支預(yù)測(cè)單元?jiǎng)t被禁止了。——實(shí)際工作中,如果分支預(yù)測(cè)單元不能有效工作,那就會(huì)被繞過(guò)去。
此外,通過(guò)更好地耦合不同的IP模塊,ARM還優(yōu)化了RAM組織。
再來(lái)看A72的管線設(shè)計(jì),解碼/重命名性能也提升了。解碼器自身是3指令發(fā)射的解碼器,但ARM在提升性能。降低功耗方面花了很大精力。為了提高要性能,提升了有效的解碼帶寬,而解碼器也獲得了一些AArch64指令融合增強(qiáng)。此外,功耗也通過(guò)多種方法降低了,包括直接的解碼等。
看起來(lái)指令分派/收回(Dispatch/retire)單元是提升性能而做的改進(jìn)中變化最大的。解碼器可以融合指令,ARM的指令分派單元可以將ops操作打亂成更小的微操作(micro-ops)輸送給執(zhí)行單元,這樣可以在指令派發(fā)單元將3發(fā)射變成等效5發(fā)射。這將提高解碼器的吞吐量,同時(shí)也提高了每個(gè)周期內(nèi)指令派發(fā)單元?jiǎng)?chuàng)建的微操作數(shù)。
A72架構(gòu),ARM表示平均每個(gè)指令有1.08個(gè)微操作,這將緩解57架構(gòu)中實(shí)際受限的指令派發(fā)單元的性能。
另一方面執(zhí)行單元也有新的設(shè)計(jì),包括新一代的FP浮點(diǎn)/高級(jí)SIMD單元,由于FP浮點(diǎn)管線從9降低到了6,因此延遲更低。FMUL(浮點(diǎn)乘法)的延遲也從5周期降低了3周期,F(xiàn)ADD(浮點(diǎn)加法)從4降到3,F(xiàn)MAC(浮點(diǎn)累積乘)從9降低到6,CVT單元從4降到2。FP浮點(diǎn)單元的渲染管線長(zhǎng)度從19降低到了16。
整數(shù)單元也做了改進(jìn),Radix-16除法器的帶寬加倍,CRC單元延遲降低到了1周期,相比A57架構(gòu)其帶寬達(dá)到了3倍。
另一個(gè)重大的性能改進(jìn)是L/S(Load/Store)單元,ARM表示L/S單元的帶寬提升了30%,這是因?yàn)橐肓诵碌念A(yù)取器。
A72架構(gòu)紙面上的改進(jìn)讓人印象深刻,它是A57架構(gòu)的革新升級(jí),不論是性能還是功耗,或者核心面積,A72都有改進(jìn)。A57架構(gòu)是去年Q3季度進(jìn)入市場(chǎng)的,但現(xiàn)在才有三星、高通的A57架構(gòu)處理器量產(chǎn)上市,所以A72核心真正進(jìn)入市場(chǎng)還需要至少1年時(shí)間。