ARM架構(gòu)
ARM架構(gòu)過去稱作進(jìn)階精簡指令集機(jī)器(Advanced RISC Machine,更早稱作:Acorn RISC Machine),是一個32位精簡指令集(RISC)處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計。由于節(jié)能的特點(diǎn),ARM處理器非常適用于移動通訊領(lǐng)域,符合其主要設(shè)計目標(biāo)為低耗電的特性。
在今日,ARM家族占了所有32位嵌入式處理器75%的比例,使它成為占全世界最多數(shù)的32位架構(gòu)之一。ARM處理器可以在很多消費(fèi)性電子產(chǎn)品上看到,從可攜式裝置(PDA、移動電話、多媒體播放器、掌上型電子游戲,和計算機(jī))到電腦外設(shè)(硬盤、桌上型路由器)甚至在導(dǎo)彈的彈載計算機(jī)等軍用設(shè)施中都有他的存在。在此還有一些基于ARM設(shè)計的派生產(chǎn)品,重要產(chǎn)品還包括Marvell的XScale架構(gòu)和德州儀器的OMAP系列。
ARM 指令集走向64 位元帶來的重大改革
蘋果在2008年4月23日,冒著極大風(fēng)險硬著頭皮發(fā)表初代iPhone的隔年,耗費(fèi)2億7,800 萬美元,購并了專注開發(fā)高效能Power 處理器的PA Semi,組成其處理器研發(fā)團(tuán)隊的骨干,然后在2012年9月發(fā)表的iPhone 5,其心臟「A6」處理器,終于不再使用來自ARM授權(quán)的核心,采用自家的「Swift」微架構(gòu)(Micro Architecture)。
再以世界上首款搶灘登陸智慧型手機(jī)與平板的64位元ARM處理器「A7」(Cyclone微架構(gòu))為起點(diǎn),蘋果自家SoC開始逐漸展現(xiàn)壓倒ARM Cortex家族(與躺著中槍的Qualcomm自有核心)效能優(yōu)勢,且隨著時間演進(jìn),差距越拉越開。
讓ARM 指令集邁向64 位元的ARMv8-A,并非只有「將整數(shù)邏輯暫存器寬度延長到64 位元」和「提供64 位元記憶體定址空間」這么簡單,拋棄昔日專注于嵌入式應(yīng)用的遺產(chǎn),更加的簡潔優(yōu)雅,更利于打造高效能微架構(gòu),引領(lǐng)ARM 榮登高效能的天堂,是這次指令集改版最神圣不可侵犯的絕對使命。
ARMv8-A 修訂項目極多,但就筆者的角度,除了取消「加速重建儲存CPU 狀態(tài)的Context Switch 相關(guān)機(jī)制」(一堆就今日觀點(diǎn)實(shí)在很小家子氣的技術(shù)),和簡化例外處理與執(zhí)行特權(quán)階層外,最重大的改革,只有兩項:
倍增通用暫存器(GPR)數(shù)量,這件事在當(dāng)年AMD 讓x86 邁向64 位元時也發(fā)生過,意義重大。
取消涵蓋整套指令集的「條件執(zhí)行」(Conditional Execution),這和前者互為表里,因為總算擠出了珍貴的指令編碼空間去增加暫存器數(shù)量。
其中又稱為「引述式執(zhí)行」(Predicated Execution,或Guarded Exectuion)的后者,目的在于減少程式中的分支,指令集提供簡單扼要的條件執(zhí)行指令,一次做完所有事情。
ARMv8架構(gòu)及技術(shù)特點(diǎn)
2011年11月,ARM公司發(fā)布了新一代處理器架構(gòu)ARMv8的部分技術(shù)細(xì)節(jié)。這是ARM公司的首款支持64位指令集的處理器架構(gòu)。由于ARM處理器的授權(quán)內(nèi)核被廣泛用于手機(jī)等諸多電子產(chǎn)品,故ARMv8架構(gòu)作為下一代處理器的核心技術(shù)而受到普遍關(guān)注。ARM將在2012年間推出基于ARMv8架構(gòu)的處理器內(nèi)核并開始授權(quán),而面向消費(fèi)者和企業(yè)的樣機(jī)于2013年由蘋果的A7處理器上首次運(yùn)用。
ARMv8技術(shù)特點(diǎn)
ARMv8是在32位ARM架構(gòu)上進(jìn)行開發(fā)的,將被首先用于對擴(kuò)展虛擬地址和64位數(shù)據(jù)處理技術(shù)有更高要求的產(chǎn)品領(lǐng)域,如企業(yè)應(yīng)用、高檔消費(fèi)電子產(chǎn)品。
ARMv8架構(gòu)包含兩個執(zhí)行狀態(tài):AArch64和AArch32。AArch64執(zhí)行狀態(tài)針對64位處理技術(shù),引入了一個全新指令集A64;而AArch32執(zhí)行狀態(tài)將支持現(xiàn)有的ARM指令集。目前的ARMv7架構(gòu)的主要特性都將在ARMv8架構(gòu)中得以保留或進(jìn)一步拓展,如:TrustZone技術(shù)、虛擬化技術(shù)及NEON advanced SIMD技術(shù),等。
配合ARMv8架構(gòu)的推出,ARM正在努力確保一個強(qiáng)大的設(shè)計生態(tài)系統(tǒng)來支持64位指令集。ARM的主要合作伙伴已經(jīng)能夠獲得支持ARMv8架構(gòu)的ARM編譯器和快速模型(Fast Model)。在新架構(gòu)的支持下,對一系列開源操作系統(tǒng)、應(yīng)用程序和第三方工具的初始開發(fā)已經(jīng)在開展中。通過合作,ARM合作伙伴們共同加速64位生態(tài)系統(tǒng)的開發(fā),在許多情況下,這可視為是對現(xiàn)有支持基于ARMv7架構(gòu)產(chǎn)品的廣泛生態(tài)系統(tǒng)的自然延伸。
具備64位計算能力的ARMv8架構(gòu),將使其合作伙伴有望進(jìn)入高端服務(wù)器市場。然而,很多合作伙伴卻缺乏在該市場的技術(shù)積累。
ARM架構(gòu)的蘋果處理器強(qiáng)在哪里
蘋果從2013年九月發(fā)布iPhone 5S配備了自家的A7處理器開始,正式邁進(jìn)64位處理器的時代,也以此為起點(diǎn),蘋果的A系列處理器開始展現(xiàn)驚世駭俗的性能優(yōu)勢,從2015年六月趕盡殺絕32位應(yīng)用程序,直到去年蘋果的iOS 11系統(tǒng)正式宣布不再支持32位處理器(意思就是iPhone 5S以前的機(jī)型不再支持升級系統(tǒng)到iOS 11),更是深具重大意義的里程碑。
高性能之路:讓處理器在同一時間處理更多的指令
但64位運(yùn)算真的有這么神奇嗎?當(dāng)然不是,真正有舉足輕重影響的,是ARM升級到64位指令集時,「順便」帶來的革新,特別是鏟平了打造高性能構(gòu)架的重大障礙。
要提高處理器性能,不外乎增加每個時鐘周期可處理的指令數(shù):
· 提高時鐘周期,對于便攜移動設(shè)備來說,這幾乎是不切實(shí)際的選項,提高時鐘周期預(yù)示著在同樣的技術(shù)條件下需要更多的能耗。
· 增加同時可以平行處理的指令數(shù)量,不再像以前那樣每次只能一個蘿卜種一個坑,現(xiàn)在你可以同時種多個蘿卜到多個坑中。
· 提高管線效率,特別是當(dāng)發(fā)生同時執(zhí)行的指令,要存取相同儲存器而撞車時,需要以「儲存器更名機(jī)制」為中心的「非循序指令執(zhí)行」來解決。
前面有提到,電腦有別于計算器的最大差別,在于「條件判斷的能力」。
你可將計算機(jī)程序的正常執(zhí)行流程,想像成一個「棋盤」,以一個角落當(dāng)做起點(diǎn),對角線的角落作為終點(diǎn),在棋盤上反復(fù)移動,不限制前進(jìn)或后退。如發(fā)生條件判斷的分支(Branch),或無條件判斷的跳躍(Jump),就會變更指令流,并且中斷指令管線的運(yùn)作,特別是必須先等待條件判斷的執(zhí)行結(jié)果,才能決定該分支是否發(fā)生的分支,對性能的影響尤其明顯。
所以某些指令集就具備了所謂「引述執(zhí)行(Predicaton)」的能力,包含32位的ARM指令集。一個在一般指令集的簡單條件判斷(相信各位一定看得懂):
beq ra,label // if(ra)= 0,branch to‘label’ or rb,rb,rc // else move(rb)into rc
改用具備引述執(zhí)行的條件搬移指令,一行就解決了,避開了分支指令,也無須啟動分支預(yù)測機(jī)制。講的直白一點(diǎn),就是把所有相關(guān)工作打包起來,一次搞定。
cmovne ra,rb,rc
這對追求高度平行化的指令集,有著莫大的吸引力,所以也不外乎多數(shù)超長指令集(VLIW)電腦,都具備這樣的能力,包含Intel的IA-64(Itanium),連x86從Pentium Pro開始也有cmov體系指令,只是因種種因素不那么實(shí)用,而逐漸邊緣化了。
蘋果看到的64位大未來
基于未來性,蘋果也很早就把重心放在64位性能,根據(jù)某些實(shí)際的指令排程輸出率測試,蘋果兼具32/64位兼容性的Ax應(yīng)用處理器,64位的指令輸出量,就幾乎是32位的足足兩倍,例如每個時鐘周期可輸出6個64位指令,32位就會腰斬。當(dāng)然,蘋果自家芯片亦具備極度優(yōu)異的內(nèi)存性能,A10X走向大型化L2緩存,也隱約透露出些有趣的弦外之音,這就有賴前P.A. Semi團(tuán)隊的功力了。
-
處理器
+關(guān)注
關(guān)注
68文章
19100瀏覽量
228814 -
ARM架構(gòu)
+關(guān)注
關(guān)注
14文章
176瀏覽量
36256
發(fā)布評論請先 登錄
相關(guān)推薦
評論