在上一章《ARM的生存之道(一):獨(dú)特的商業(yè)模式》,我們?cè)敿?xì)解讀了ARM的授權(quán)模式經(jīng)營之道,理解了這家英國小公司是如何生存、壯大的。今天我們?cè)俎D(zhuǎn)向技術(shù)方面,重點(diǎn)看看新宣布的Cortex-A12究竟是怎么回事兒。
【Cortex-A架構(gòu)體系】
在消費(fèi)級(jí)產(chǎn)品領(lǐng)域(臺(tái)式機(jī)、筆記本、平板機(jī)、智能手機(jī)),Intel有兩套架構(gòu),一是2008年引入的高性能和主流級(jí)別Core(酷睿),二就是低功耗的Atom(凌動(dòng))。
ARM則有三套架構(gòu),分別是高端的Cortex-A15、主流的Cortex-A9、低功耗高能效的Cortex-A7。Intel的超低壓版Core Y系列、Atom可以說分別對(duì)應(yīng)前兩者,但是面對(duì)A7,Intel還沒有可以競爭的方案。
?。ˋRM其實(shí)還有Cortex-R系列嵌入式、Cortex-M系列微控制器方案,但不在本文討論范圍內(nèi)。)
很顯然,ARM在移動(dòng)領(lǐng)域已經(jīng)有了完整的布局,Intel則正努力將桌面和筆記本那一套拿過來。
A15、A7一高一低,可以組成big.LITTLE聯(lián)合方案,但是要注意,A15并不是用來取代A9的,而在很長的一段時(shí)間內(nèi),A9并沒有真正的后繼者。
A15、A7未來將會(huì)分別被64位ARMv8架構(gòu)的A57、A53所取代,A9呢?它的后代在哪里呢?這就是最近宣布的:Cortex-A12。
A12將會(huì)和A57、A53形成新一代的“三駕馬車”,但在架構(gòu)上它其實(shí)還是32位的ARMv7,跟其它兩位并不一樣(這個(gè)后邊詳述)。
?。ㄗ⒁鈾M軸時(shí)間線不是產(chǎn)品上市時(shí)間,而是IP授權(quán)時(shí)間)
說起處理器的性能、功耗,除了依賴架構(gòu)之外,生產(chǎn)工藝也是關(guān)鍵所在。當(dāng)前的主流是28nm,接下來還會(huì)有20nm、16/14nm、10nm……
尤其是對(duì)于A15來說,28nm已經(jīng)無法在提供足夠性能的同時(shí)將功耗控制在合理水平,這也正是bit.LITTLE誕生的理由之一。如果過渡到20nm,A15的情況無疑會(huì)好很多。
當(dāng)然,對(duì)于移動(dòng)GPU也是同樣的道理,比如Imagination PowerVR 6系列宣布了那么久還停留在紙面上,除了開發(fā)周期之外最重要的原因就是當(dāng)前工藝伺候不了它,而根據(jù)與臺(tái)積電的合作,16nm才會(huì)是PowerVR 6系列的理想著陸點(diǎn)。
【A12架構(gòu)縱覽、前端設(shè)計(jì)】
從高端層面講,A12是雙發(fā)射、亂序執(zhí)行架構(gòu),整數(shù)流水線10-12級(jí)(A9 8-11級(jí)),整合二級(jí)緩存和載入/存儲(chǔ)、浮點(diǎn)、NEON單元(標(biāo)準(zhǔn)配置而非可選),每個(gè)群簇支持最多四核心,也可以多個(gè)群簇并聯(lián),組成八核心、十二核心……
從指令集架構(gòu)兼容性上講,A12、A7、A15是一家的,都是32位的ARM-v7A,均支持40位物理尋址(最大容量1TB)、128-bit AXI4總線界面、虛擬化、整合緩存。
相比之下,A9支持的是32位物理尋址,2×64-bit AXI4總線,外置緩存,NEON單元也是可選的。
Cortex-A12架構(gòu)縱覽
尤其值得一提的是二級(jí)緩存,A9上是外置的,需要操作系統(tǒng)單獨(dú)支持,A12則和A15/A7一樣完全整合,為所有核心共享,并有自己獨(dú)立的電壓和頻率層,不過如果需要,后者也可以和CPU同步。
一級(jí)緩存是四路關(guān)聯(lián),容量可選32KB、64KB,同時(shí)緩存數(shù)據(jù)線(cache line)也翻番為64Byte,以便更好地和DDR內(nèi)存控制器對(duì)齊。
值得一提的是,A12最終也會(huì)支持big.LITTLE,同樣能夠搭配A7,但是目前的初始版本還不行,缺乏必需的一致性界面。
A9、A12/A7/A15架構(gòu)特性對(duì)比
分支預(yù)測器比A9有了很大改進(jìn),可以大大改進(jìn)能效、性能,不過在A12設(shè)計(jì)之初,ARM對(duì)其性能估計(jì)不足,直到大約三個(gè)月前才意識(shí)到錯(cuò)誤,但此時(shí)時(shí)間緊迫,ARM必須做出選擇:是照常發(fā)布這個(gè)低效率的設(shè)計(jì),還是迅速尋找替換一個(gè)更合適的分支預(yù)測器?
A12團(tuán)隊(duì)最終選擇了A53里的分支預(yù)測器,拉過來塞給A12,并做了一些細(xì)微的針對(duì)性調(diào)整。
【A12后端設(shè)計(jì)】
A12的前端雖然比A9效率更高,但真正的性能提升來自于核心內(nèi)部的執(zhí)行。類似A15,A12在功能單元之前引入了多個(gè)獨(dú)立的發(fā)射隊(duì)列。
指令解碼進(jìn)入微操作,重命名指令分派進(jìn)入發(fā)射隊(duì)列,然后微操作在操作數(shù)可用的時(shí)候從發(fā)射隊(duì)列中發(fā)射出來。這一切都依賴于發(fā)射隊(duì)列的正確順序處理,A12是可以亂序執(zhí)行的(絕大部分情況下)。
A9只有一個(gè)發(fā)射隊(duì)列,只能處理4個(gè)解碼指令;A12增加到了三個(gè)隊(duì)列,每個(gè)都比A9里更大。僅此一點(diǎn)就能大大提升IPC。
這三個(gè)發(fā)射隊(duì)列分別是:整數(shù)、FP/NEON、載入/存儲(chǔ)。
下邊就是A12、A9的簡單架構(gòu)對(duì)比圖,其中藍(lán)色部分是順序執(zhí)行的,粉色/黃色則是亂序執(zhí)行的。很顯然,A12仍然只是部分亂序架構(gòu),只不過比A9“更亂”而已。
Cortex-A12
Cortex-A9
A12保留了A9中的兩條整數(shù)流水線,但是和A7/A15一樣加入了對(duì)整數(shù)除法的支持,A系列其它架構(gòu)都沒有這一點(diǎn),不過除此之外整數(shù)流水線沒啥變化。
FP/NEON單元的改進(jìn)非常大。A9剛發(fā)布的時(shí)候,NEON代碼很少能用到,這也正是NVIDIA Tegra 2去掉了它的主要原因,不過現(xiàn)在情況不同了,Android和移動(dòng)應(yīng)用對(duì)NEON的支持已經(jīng)很好了。
A12仍然是整數(shù)和浮點(diǎn)操作的物理寄存器文件相分離,但是比A9里更大了。
A9中的浮點(diǎn)和NEON指令都是順序執(zhí)行的,A12將它們改成了完全亂序,至少在非內(nèi)存操作上如此。FP/NEON發(fā)射隊(duì)列是雙發(fā)射的,分成兩個(gè)流水線,都可以完全亂序操作,配合也很緊密,可以在浮點(diǎn)和整數(shù)單元之間快速轉(zhuǎn)移數(shù)據(jù)。
AGU單元也變成了兩個(gè),對(duì)應(yīng)兩條流水線,而且也成了完全亂序的。
?
【提升40%?A12性能、未來展望】
A9架構(gòu)誕生于2009年,當(dāng)時(shí)智能手機(jī)才剛剛起步,而這幾年的巨變讓很多東西都完全變了,比如FP/NEON指令大大增加了,內(nèi)存訪問頻率更高了,應(yīng)用性能要求更高了,A9在浮點(diǎn)、內(nèi)存方面的缺陷就暴露了出來。
為此,A9架構(gòu)這幾年來也在不斷改進(jìn),先后衍生了四個(gè)版本:最初的r1版對(duì)應(yīng)40nm工藝,主頻最高1GHz;r2版改進(jìn)了預(yù)取部分,工藝不變主頻可達(dá)1.2GHz;r3版來到了32nm工藝,配合改進(jìn)與調(diào)校,頻率也升至1.6GHz;最新的r4版由改進(jìn)了薄弱的分支預(yù)測和內(nèi)存系統(tǒng),會(huì)用在28nm上,主頻有望高達(dá)2.3GHz。
不過,這些細(xì)微的調(diào)整并不能掩蓋A9本質(zhì)上的劣勢。這,就是A12要彌補(bǔ)的。
ARM雖然也聲稱A9是亂序執(zhí)行架構(gòu),但其實(shí)僅限整數(shù)部分,浮點(diǎn)和內(nèi)存操作都是順序的。A12則變成了一個(gè)幾乎完全亂序的結(jié)構(gòu),各處設(shè)計(jì)也都有了改進(jìn)。未來幾年,A9仍將繼續(xù)輔以并深挖潛力,但是很顯然,A12會(huì)有更好的性能、更高的能效。
在同樣的頻率下,ARM宣稱A12的性能可比A9提升40%,比如照ARM的說法,F(xiàn)P/NEON的改進(jìn)能讓FFMPEG負(fù)載下同頻率性能提升48%!當(dāng)然實(shí)際應(yīng)用中肯定沒這么多。
能效和內(nèi)核面積的改進(jìn)更有趣。ARM聲稱使用同樣的制造工藝,A12的內(nèi)核面積估計(jì)會(huì)比A9大最多40%,但能效可與A9持平或者更好。
A12 IP在幾周前才剛剛最終定案,目前已經(jīng)對(duì)外提供授權(quán)。按照以往的開發(fā)周期慣例,第一款芯片將在大約一年后誕生,第一款設(shè)備則可能要2014年底或者2015年初。這段時(shí)間就是A9發(fā)揮余熱的最后時(shí)刻。
不過,移動(dòng)市場發(fā)展這么快,兩年后還需要A12么?特別是還有高通的Krait 300的定位就很類似?;蛟S還是那句話,沒有很差的產(chǎn)品,只有不合理的定價(jià)。如果能比驍龍600系列便宜很多,A12一樣會(huì)很吸引人。
最后提一句,ARM表示會(huì)繼續(xù)改進(jìn)優(yōu)化A15的功耗問題。
評(píng)論
查看更多