• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      移動(dòng)世界的新王者

      2017-03-15 20:55:22徐少卿
      微型計(jì)算機(jī) 2017年1期
      關(guān)鍵詞:流水線解碼功耗

      徐少卿

      最近華為Mate 9以及其所采用的麒麟960處理器吸引了不少目光,其中后者的性能和功耗表現(xiàn)都令人滿意。在它出色表現(xiàn)的背后,離不開(kāi)Cortex-A73架構(gòu)的支持。那么究竟Cortex-A73有哪些改善和進(jìn)步?它和Cortex-A72又有什么不同呢?今天本文就要帶你一起深入了解Cortex-A73。

      Cortex-A73,這個(gè)代號(hào)“Artemis”的架構(gòu)是ARM最新推出的處理器核心架構(gòu)。從實(shí)際產(chǎn)品的角度來(lái)看,Cortex-A73相比之前就已經(jīng)比較成功的Cortex-A72而言,在性能和功耗表現(xiàn)上繼續(xù)改善,尤其是性能功耗比有極為顯著的提升。那么,為什么ARM要在Cortex-A72發(fā)布后沒(méi)多久就發(fā)布Cortex-A73呢?要了解這個(gè)問(wèn)題,不妨先來(lái)簡(jiǎn)單回顧一下ARM最近數(shù)年的產(chǎn)品發(fā)展史,讓歷史告訴我們答案。性能?功耗?亦或性能功耗比?回顧ARM近期發(fā)展史

      在Cortex-A73出現(xiàn)之前,ARM的Cortex-A72在性能和功耗上的表現(xiàn)已然比較出色了。但Cortex-A72從Cortex-A57那里繼承來(lái)的“問(wèn)題”依舊存在——它還是太“大”了一點(diǎn)。Cortex-A72整體性能功耗比的表現(xiàn)受制于架構(gòu)問(wèn)題,除非工藝再次進(jìn)化,否則很難有更進(jìn)一步的改善。為了更清楚地解釋這個(gè)結(jié)論,我們不妨回頭看TARM之前幾款產(chǎn)品的發(fā)展歷史。

      對(duì)ARM架構(gòu)發(fā)展歷史比較熟悉的用戶應(yīng)該還記得,Cortex-A9是一款非常成功的移動(dòng)CPU架構(gòu),它在當(dāng)時(shí)的制程下很好地平衡了功耗和性能,相當(dāng)一大批移動(dòng)設(shè)備都基于Cortex-A9研發(fā),其中有名的處理器包括三星Exynos 4412、Exynos 4210以及TI OMAP4430/4460、英偉達(dá)Tegra 3等。

      Cortex-A9的成功,讓ARM在追求性能的道路上越走越遠(yuǎn),并在不久之后推出了Cortex-A15。從性能角度來(lái)看Cortex-A15的表現(xiàn)的確令人滿意,它的IPC得到了顯著提升。但隨之而來(lái)的是更高的功耗和較低的性能功耗比(當(dāng)然也有受制于工藝的原因)。與此相應(yīng)的是,基于Cortex-A15架構(gòu)的初代SoC芯片,比如Exynos 5250和Exynos5410在功耗方面表現(xiàn)不佳。

      在這種情況下,ARM設(shè)計(jì)出了創(chuàng)新的big.LITTLE架構(gòu),希望通過(guò)高性能高功耗的大核心搭配高性能功耗比但是整體性能較差的小核心來(lái)提高系統(tǒng)整體的性能功耗比,最終實(shí)現(xiàn)降低功耗、延長(zhǎng)設(shè)備使用時(shí)間的目的。big.LITTLE的推出,很快得到了移動(dòng)處理器廠商的歡迎,大量使用Cortex-A15搭配cortex-A7的處理器出現(xiàn),包括華為麒麟920和三星的Exynos 5422。

      ARM此時(shí)還沒(méi)有深刻地認(rèn)識(shí)到處理器的性能功耗比實(shí)際上是移動(dòng)設(shè)備的核心競(jìng)爭(zhēng)力,畢竟此時(shí)工藝尚有更多潛力可挖。于是,ARM按部就班地發(fā)布了全新的ARMv8指令集,這是ARM第一個(gè)支持64位計(jì)算的指令集,與此同時(shí)還有支持64位的Cortex-A57大核心和高效能的小核心Cortex-A53。本來(lái)在ARM的計(jì)劃中,cortex-A57會(huì)用上16nm甚至更好的工藝,不過(guò)蘋果憑借Cyclone架構(gòu)帶來(lái)的64位A7處理器讓業(yè)界風(fēng)向?yàn)橹晦D(zhuǎn),大量廠商不得不在提前使用cortex-A57和cortex-A53來(lái)“抵抗”蘋果突然來(lái)襲的64位處理器。

      結(jié)果在當(dāng)時(shí)28n m/20n m工藝下,Conex-A57的性能功耗比非常糟糕。在初步的嘗試中,高功耗等問(wèn)題使得很多廠商不得不棄用cortex-A57,包括華為麒麟930、聯(lián)發(fā)科Helio X10都只使用了Cortex-A53。凡是使用了cortex-A57的核心,比如驍龍810或者驍龍808、Eynxos 5433等,實(shí)際表現(xiàn)均相比前代產(chǎn)品有一定退步,尤其是在功耗效率方面甚至大幅度倒退。

      在這種情況下,ARM不得不繼續(xù)修修補(bǔ)補(bǔ),推出了更為重視性能功耗比的Cortex-A72核心,高通等廠商則自行研發(fā)了Kyro架構(gòu),不再使用ARM能耗比較低的公版架構(gòu)。CortexoA72的推出以及16nm/14nm等先進(jìn)工藝的使用,才使得移動(dòng)處理器拜托了之前“大火爐”危機(jī)。

      實(shí)際上,我們?cè)谟懻摰臅r(shí)候,忽略了兩個(gè)重要的型號(hào):Cortex-A12和Cortex-A17。其中前者是Cortex-A9的改進(jìn)型產(chǎn)品,后者則是Cortex-A12的深入改進(jìn)型,原因是Cortex-A12不支持當(dāng)時(shí)ARM主推的big.LITTLE技術(shù),Cortex-A17支持了新技術(shù)并可以和Cortex-A7搭配成大小核心。按理來(lái)說(shuō),如果蘋果沒(méi)有那么快推出64位A7處理器,Cortex-A17應(yīng)該會(huì)被諸多廠商接納并發(fā)布不少新品。從當(dāng)時(shí)的狀況來(lái)看,Cortex-A17是比較符合當(dāng)時(shí)的工藝發(fā)展的。市面上相應(yīng)的產(chǎn)品有Rockchip RK3288、海思Hi3536,以及聯(lián)發(fā)科的MT6595等。從一些測(cè)試結(jié)果來(lái)看,MT6595在當(dāng)時(shí)的頻率和工藝下都給出了相當(dāng)出色的性能、功耗表現(xiàn),甚至超過(guò)了高通那顆著名的驍龍800處理器(當(dāng)然也遠(yuǎn)勝驍龍810)。

      Cortex-A17能夠在工藝小幅度落后的情況下還提供更高的性能功耗比,顯然這是一個(gè)不尋常的事件。事出反常必有妖。在這里,還需要梳理一下多年來(lái)ARM這些處理器架構(gòu)的來(lái)源,看看是否能找到一些苗頭。

      從ARM的發(fā)展歷史中可以看出,ARM擁有多個(gè)CPU架構(gòu)設(shè)計(jì)中心,面向不同的用戶推出不同的架構(gòu)家族。其中,位于美國(guó)德克薩斯州的奧斯丁設(shè)計(jì)團(tuán)隊(duì)發(fā)布了cortex-A15、Cortex-A57、CoRex-A72,從本刊之前的介紹和實(shí)際架構(gòu)來(lái)看,奧斯丁家族的架構(gòu)具有一脈相承的特性。另外一個(gè)地方則是英國(guó)劍橋,ARM劍橋設(shè)計(jì)團(tuán)隊(duì)在這里設(shè)計(jì)了打造了著名的小核心產(chǎn)品,包括Cortex-A5、Cortex-A7和Cortex-A53。最后一個(gè)地方就沒(méi)那么有名了——位于法國(guó)的索菲亞·安迪波斯利,歐洲科技中心,推出了Cortex-A12、Cortex-A17和Cortex-A73。如果從血緣關(guān)系來(lái)看的話,索菲亞家族的處理器架構(gòu)才是之前大獲成功的Cortex-A9的正統(tǒng)繼承人。

      現(xiàn)在終于真相大白,Cortex-A73和之前的處理器都不太一樣。ARM在Cortex-A9后數(shù)代產(chǎn)品都選擇了奧斯丁家族,現(xiàn)在終于回到了索菲亞家族。下面我們就一起來(lái)看看,索菲亞家族的Cortex-A73優(yōu)勢(shì)在哪里,憑什么能壓倒奧斯丁家族,被ARM選中而“上位”。

      CorteX-A73架構(gòu)——為實(shí)現(xiàn)更高的性能功耗比而努力

      從上面的回顧中可以看到,ARM在處理器發(fā)展的過(guò)程中一度更為偏向性能,對(duì)功耗的重視程度并沒(méi)有放在首要位置,尤其是在早期制程尚能“抵消”更大的核心帶來(lái)的更高功耗時(shí)。不過(guò)現(xiàn)在這樣的情況已經(jīng)發(fā)生了變化(尤其是制程進(jìn)步遠(yuǎn)沒(méi)有之前那樣容易),ARM不但更重視功耗,而且還提出了一種全新的性能考量方法,那就是“可持續(xù)性能”。

      所謂可持續(xù)性能,是指處理器在較高性能輸出狀態(tài)時(shí)所能持續(xù)的時(shí)間。目前很多SoC芯片的峰值性能表現(xiàn)都非常好,但是這些峰值性能的功耗表現(xiàn)甚至超過(guò)5W,而一些極端SoC則超過(guò)10W,這顯然是一個(gè)完全無(wú)法持續(xù)的狀態(tài),大部分手機(jī)在峰值性能下只能維持幾分鐘就必須降頻甚至關(guān)閉數(shù)個(gè)大核心,無(wú)法提供持續(xù)的性能輸出。這樣一來(lái),更高性能產(chǎn)品存在的意義就被嚴(yán)重削弱了,尤其是設(shè)備商為了更好看、更吸引人的設(shè)計(jì)還在努力將手機(jī)造得更加輕薄。所以讓手機(jī)擁有高可持續(xù)性能就變得極為重要,Cortex-A73的意義就在于此,ARM通過(guò)這個(gè)全新的架構(gòu)在降低功耗、提升能耗效率和維持較高峰值性能的同時(shí)還能保持和之前Cortex-A72基本相當(dāng)?shù)腎PC。

      在解析Cortex-A73之前,我們先來(lái)回顧一下Cortex-A72的架構(gòu)情況。Cortex-A72是一個(gè)擁有超過(guò)15級(jí)流水線、亂序執(zhí)行能力的處理器。在指令端,Cortex-A72設(shè)計(jì)了一個(gè)128bit提取單元和一個(gè)三發(fā)射解碼級(jí)。每個(gè)周期將有最多3個(gè)指令被解碼為uops(微指令),然后將這些指令送入Rename/Dispatch(重命名,調(diào)度)階段,調(diào)度單元每個(gè)周期能夠?qū)崿F(xiàn)5個(gè)uops的調(diào)度,最終通過(guò)IsQ單元派送7個(gè)隊(duì)列并安排排序后的uops進(jìn)入8個(gè)執(zhí)行管道。在這8個(gè)執(zhí)行管道中,有2個(gè)執(zhí)行諸如加法和位移這類基本操作的ALU(Simple Integer |0和Simple Integer|1),整數(shù)的乘法、除法和乘法累加運(yùn)算有專門的多周期整數(shù)流水線(Mu…Cycle M),還有專門對(duì)ASIMD以DNENO這樣浮點(diǎn)運(yùn)算進(jìn)行處理的兩個(gè)管線(NENO/FP FO和NENO/FP F1),還有單個(gè)分支監(jiān)視器(Branch B)以及兩個(gè)專用的AGU讀取和存儲(chǔ)單元(AGU LD和AGU ST)。

      再來(lái)看Cortex-A73。從Cortex-A73的架構(gòu)圖可以發(fā)現(xiàn)它和Conex-A17相似度非常高,這和Cortex-A72三發(fā)射設(shè)計(jì)架構(gòu)完全不同。Cortex-A73微體系結(jié)構(gòu)的特點(diǎn)在于流水線級(jí)數(shù)較短,只有大約11~12級(jí),較短的流水線主要來(lái)自于對(duì)整個(gè)流程的優(yōu)化。與Cortex-A72在指令提取端的5級(jí)流水線相比,Cortex-A73的指令提取端只有4級(jí)。更值得一提的是,Cortex-A73較短的指令解碼端只有一級(jí),這使得絕大多數(shù)指令能夠在一個(gè)周期內(nèi)完成,而不是Cortex-A72的三個(gè)周期。在指令執(zhí)行階段,只有浮點(diǎn)指令需要額外增加一個(gè)周期,也就是總計(jì)需要12級(jí)流水線,其余整數(shù)部分只需要11個(gè)周期就可以完成。

      與Cortex-A17相比,Cortex-A73將最大的指令調(diào)度能力從4uops提高到了60ps,F(xiàn)P解碼端可以獨(dú)立向IsQ單元和NENO單元發(fā)出2uops指令,這和Cortex-A17是一致的。但是整數(shù)部分卻從Cortex-A17的2uops增加到74uops,經(jīng)過(guò)重命名,調(diào)度的指令進(jìn)入指令排序時(shí),三個(gè)IsQ單元每個(gè)都可以派送2個(gè)隊(duì)列,從而進(jìn)入后端的5個(gè)整數(shù)執(zhí)行單元中。

      再來(lái)看看Cortex-A73的后端,它有兩個(gè)FP流水線,這一設(shè)計(jì)也被Cortex-A72借鑒學(xué)習(xí)并應(yīng)用在自己的架構(gòu)中。其余部分Cortex-A73設(shè)計(jì)了一個(gè)分支檢測(cè)器和兩個(gè)AGU單元——但是每個(gè)AGU單元都可以同時(shí)完成讀寫操作,而不是像Cortex-A72那樣只讀或者只寫。此外在整數(shù)執(zhí)行部分,Cortex-A73設(shè)計(jì)了兩個(gè)4級(jí)、較復(fù)雜的整數(shù)單元,其中一個(gè)可以執(zhí)行乘法,另一個(gè)可以執(zhí)行整數(shù)除法,這兩個(gè)都能夠執(zhí)行基本的加法和位移操作。乘法累加不再使用專門的ALU,而需要這兩個(gè)ALU通力合作。

      對(duì)比Cortex-A73和Cortex-A72大相徑庭的設(shè)計(jì)風(fēng)格,正如ARM宣稱的那樣,Cortex-A73是一個(gè)充分優(yōu)化管道、資源和接口的架構(gòu),它的目的是盡可能在最小的功耗下實(shí)現(xiàn)最佳的性能。ARM還宣稱它們對(duì)AArch32和AArch64 ARMv8做出了平衡,因此在執(zhí)行不同命令時(shí)性能和功耗都不會(huì)有太大的劣勢(shì)。

      說(shuō)完了核心,再來(lái)看看集群。Cortex-A73可以支持四核心配置,每個(gè)集群能夠容納一個(gè)到四個(gè)核心,ARM依舊使用SCU一致性單元來(lái)保證集群中核心之間的一致性。集群的包含式L2緩存最高可配置8M B(包括L1緩存的數(shù)據(jù)),和Cortex-A17一樣,是Cortex-A72的兩倍,當(dāng)然大部分消費(fèi)級(jí)產(chǎn)品最多配置1MB或者2MB的L2緩存。

      附加功能方面,ACP的加速一致性端口是可選配置,移動(dòng)設(shè)備一般不會(huì)配備。ACP主要用于附加模塊和CPU核心共同運(yùn)作,同時(shí)也可以利用L2高速緩存。傳統(tǒng)應(yīng)用中往往和網(wǎng)絡(luò)相關(guān),但在移動(dòng)計(jì)算中這一點(diǎn)并不重要。反倒是ARM目前比較關(guān)注機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺(jué)在未來(lái)的發(fā)展?jié)摿Γ瑢iT的加速器能夠提高平臺(tái)的效能。

      由于Cortex-A73主要針對(duì)消費(fèi)市場(chǎng),因此它不支持AMBA 5 CHI標(biāo)準(zhǔn),而是僅僅通過(guò)雙向128bit的AMBA 4 ACE標(biāo)準(zhǔn)。相比之下,老標(biāo)準(zhǔn)拋棄了那些用不到的功能,為芯片節(jié)省了面積和晶體管,降低了復(fù)雜性。目前所有支持big.LITTLE架構(gòu)的SoC都使用了ACE接口相連并保持一致性,比如CCI-400。此外,不針對(duì)工業(yè)應(yīng)用標(biāo)準(zhǔn)的另一個(gè)問(wèn)題是無(wú)法提供L1緩存的ECC校驗(yàn)支持,但是L2可以完全實(shí)現(xiàn)這個(gè)功能,因此這也變得不是那么必要。探尋Cortex-A73更底層的秘密

      前面從架構(gòu)設(shè)計(jì)角度解釋了Cortex-A73的優(yōu)勢(shì)。下面我們更深入地從指令方面去探尋Cortex-A73的秘密。Cortex-A73的指令端設(shè)計(jì)為保持對(duì)核心的最大吞吐量才能實(shí)現(xiàn)最佳的IPc,這是微架構(gòu)設(shè)計(jì)最重要的方面;同時(shí),ARM還必須考慮到功耗因素,在設(shè)計(jì)上有所取舍。ARM稱Cortex-A73的設(shè)計(jì)為“基于槽的微架構(gòu)”(Slot-based microarchitectures),這種設(shè)計(jì)和微架構(gòu)對(duì)不同塊之間處理共享資源的方式有關(guān)。正如ARM解釋的那樣,Cortex-A73擁有8個(gè)“槽”(slot),每個(gè)槽可以獨(dú)立處理指令端的所有資源。主要優(yōu)點(diǎn)是每個(gè)“槽”可以通過(guò)小環(huán)路來(lái)檢測(cè)之前“槽”的信息,這樣能夠消除對(duì)流水線指令端資源的冗余訪問(wèn),實(shí)現(xiàn)最佳功耗比,并且每個(gè)“槽”都擁有大量資源以獲得最佳性能。

      指令預(yù)取模塊經(jīng)過(guò)優(yōu)化,提升了其最大吞吐量。其中一項(xiàng)優(yōu)化是用于去除無(wú)用的“氣泡”并可以獲得更高的IPC。所謂“氣泡”,是指那些可能存在的危險(xiǎn)導(dǎo)致流水線發(fā)生指令停滯或者延遲。在之前的微架構(gòu)中,即使預(yù)測(cè)正確,并且指令端能夠向解碼端發(fā)送大量的指令,但一旦指令輸入解碼端并被分解成微操作的時(shí)候,就有很大可能遇到“氣泡”。但是Cortex-A73的設(shè)計(jì)可以檢測(cè)這種情況,并直接將微指令發(fā)送給解碼端,導(dǎo)致ARM中幾乎沒(méi)有“氣泡”出現(xiàn),大大提高了效率。

      在分支預(yù)測(cè)方面,cortex-A73使用了一種“體現(xiàn)最高水準(zhǔn)”的分支預(yù)測(cè)器,實(shí)現(xiàn)了比較準(zhǔn)確的分支預(yù)測(cè)。ARM宣稱新架構(gòu)擁有一個(gè)更大的BTAC(分支目標(biāo)地址緩存,Branch TargetAddress Cache),并引入了全新的64通路(entry)的“micro-BTAC”用于加速分支預(yù)測(cè)。不過(guò),ARM沒(méi)有公布更多的細(xì)節(jié),只是含糊說(shuō)新的分支預(yù)測(cè)設(shè)計(jì)能夠預(yù)測(cè)幾乎所有情況。對(duì)于那些發(fā)生了錯(cuò)誤的預(yù)測(cè),微架構(gòu)設(shè)置了靜態(tài)分支預(yù)測(cè)器和返回堆棧來(lái)進(jìn)行處理。

      ARM有信心在這種雙發(fā)射的處理器上保持性能的同時(shí)提高效率。在電源管理方面,電源只對(duì)當(dāng)前正在運(yùn)行資源的邏輯有效。解碼器在指令融合方面也提供了顯著的改進(jìn)。一般來(lái)說(shuō),常用習(xí)慣用法的指令融合處理對(duì)提高整體效能來(lái)說(shuō)是非常重要的,但是檢測(cè)它們卻很困難。Cortex-A73能夠通過(guò)檢測(cè)之前的事件和整個(gè)管線的信息,來(lái)分辨出這些習(xí)慣用法。

      在解碼端,將指令分解為更多的微指令有助于時(shí)鐘頻率,不過(guò)也相應(yīng)地減少了整體的IPC。Cortex-A73能夠減少被分成的uops數(shù)量,并且改進(jìn)了解碼器性能。正如前文所說(shuō),Cortex-A73的解碼器能夠在一個(gè)時(shí)鐘周期內(nèi)完成大多數(shù)指令解碼,而不是之前Cortex-A72所需的3個(gè)周期。另外由于為ASMID/NENO浮點(diǎn)管線增加了流水線級(jí)數(shù),因此ARM為其配備了兩個(gè)可以直接讀/寫的AGU單元,實(shí)現(xiàn)效率最大化。在指令分派端,Cortex-A73保留站的整數(shù)部分可以向?yàn)锳LU、AGU和分支監(jiān)視器設(shè)置的IsQ單元發(fā)布隊(duì)列,最多分派4個(gè)uops(每個(gè)IsQ最多接收2個(gè))。

      寄存器方面,Cortex-A72以及前代產(chǎn)品最重要的特點(diǎn)是使用物理寄存器而不是在架構(gòu)類型的,這樣做的優(yōu)點(diǎn)是重命名階段會(huì)簡(jiǎn)化,并實(shí)現(xiàn)更高的性能、降低功耗。和Cortex-A17類似的是,這種做法允許一個(gè)理論上無(wú)限亂序指令的窗口,雖然實(shí)際中依舊存在限制,但它消除了某些情況下的指令窗口瓶頸。ARM甚至宣稱這種設(shè)計(jì)為“亂序微架構(gòu)方法哲學(xué)層面的變革”。另外,Cortex-A73還特別優(yōu)化了從重命名階段到IsQ階段的資源問(wèn)題。IsQ階段所使用的亂序執(zhí)行策略和方法對(duì)最終性能有很大影響,因此需要特別注意有關(guān)指令調(diào)度問(wèn)題,比如隊(duì)列的排序可以取決于很多種事件,舉例來(lái)說(shuō)當(dāng)處在一個(gè)流式任務(wù)時(shí),最好將昕有的存儲(chǔ)任務(wù)依次排列,這樣內(nèi)存系統(tǒng)中將存在一個(gè)完整的緩存數(shù)據(jù)結(jié)構(gòu),以方便處理。

      在數(shù)據(jù)端,Cortex-A73的NEN0單元基本還是繼承自Cortex-A72,但依舊做出了不少改進(jìn)。在Cortex-A73上,NENO指令級(jí)單元混雜了FP傳輸和FP移動(dòng)等功能,并且面積進(jìn)行了一些優(yōu)化,更小巧了。實(shí)際上,Cortex-A73和Cortex-A72的區(qū)別主要在于整數(shù)部分,前者使用了一個(gè)復(fù)雜的、多周期ALU,而后者則使用了簡(jiǎn)單ALU。它們能力存在顯著差異:Cortex-A73中,一個(gè)ALU做乘法時(shí),另一個(gè)可以做除法,但是乘法累積則需要兩個(gè)ALU同時(shí)出現(xiàn)。在Cortex-A72上,乘法累積有專門的單元操作,ALU則可以解放出來(lái)進(jìn)行其他簡(jiǎn)單工作。實(shí)際上Cortex-A73的設(shè)計(jì)對(duì)一些并行計(jì)算和雜項(xiàng)數(shù)據(jù)處理還是有意義的,尤其是最大執(zhí)行吞吐量已經(jīng)翻倍的情況下,效能會(huì)更為出色一些。

      最后來(lái)看看存儲(chǔ)方面。在數(shù)據(jù)高速緩存地址轉(zhuǎn)換上,Cortex-A73已經(jīng)從物理索引物理標(biāo)簽(PIPT)切換至虛擬地址物理標(biāo)簽(VIPT)。在PIPT中,遇到的最大問(wèn)題是地址轉(zhuǎn)換產(chǎn)生索引,這是cPu核心的關(guān)鍵路徑數(shù)據(jù)。但是在VIPT中,這個(gè)問(wèn)題不復(fù)存在,系統(tǒng)使用擴(kuò)展的64KB數(shù)據(jù)緩存(Cortex-A72和Cortex-A17只允許32KB),ARM宣稱較大的緩存帶來(lái)了4%的性能提升。另一點(diǎn)需要指出的是,一般VIPT中軟件需要處理重命名的問(wèn)題,但是ARM稱Cortex-A73使用硬件完成了這一點(diǎn)。在硬件上,緩存實(shí)現(xiàn)的是4路關(guān)聯(lián)性,但是在軟件上則看作PIPT的8路32KB或者16路64KB,這一點(diǎn)是非常特殊的。

      在緩存部分,cortex-A73的L1緩存為4路設(shè)計(jì)且固定為64KB,這是對(duì)之前Cortex-A17 1-32KB/64KB可選配置的升級(jí),也多于Cortex-A72的48KB。L1指令緩存的提升是Cortex-A73在性能上得到改善的一個(gè)關(guān)鍵性因素,ARM表示他們花費(fèi)了很多時(shí)間來(lái)優(yōu)化指令緩存的性能和功耗。其中一個(gè)例子是訪問(wèn)緩存的方式,如果正在執(zhí)行的一個(gè)訪問(wèn)請(qǐng)求實(shí)際上是不需要傳遞數(shù)據(jù)的,那么這個(gè)訪問(wèn)可以被終止,起到節(jié)約能源的作用。在L2方面,ARM改善了CPU之間的資源共享銷量,每個(gè)CPU都有自己?jiǎn)为?dú)的資源,單獨(dú)的CPU數(shù)據(jù)流不會(huì)為其他cPu核心帶來(lái)性能影響,因此并行計(jì)算時(shí)CPU性能不會(huì)發(fā)生損失。

      在讀寫方面,Cortex-A73的兩個(gè)AGU讀寫單元,這個(gè)設(shè)計(jì)對(duì)提高系統(tǒng)效能起到了很明顯的作用,尤其是存儲(chǔ)系統(tǒng)。在內(nèi)存帶寬方面,Cortex-A73對(duì)TLB進(jìn)行了改進(jìn)。在之前的微架構(gòu)中,當(dāng)需要切換到主要TLB時(shí),數(shù)據(jù)集的存在會(huì)導(dǎo)致性能下降,Cortex-A73通過(guò)為TLB提供自己的預(yù)存器來(lái)解決了這個(gè)問(wèn)題,即使對(duì)于數(shù)據(jù)集也能實(shí)現(xiàn)可持續(xù)的流式傳輸。

      Cortex-A73的性能和功耗表現(xiàn)

      在架構(gòu)上說(shuō)了這么多,最終還是要落在實(shí)際的性能和功耗上來(lái)。ARM給出了一些官方模擬的數(shù)據(jù),展示Cortex-A73可以帶來(lái)怎樣的提升。ARM宣稱Cortex-A73在BBench(網(wǎng)站加載基準(zhǔn)測(cè)試)、SIMD性能以及內(nèi)存性能方面,比Cortex-A72有著5%-15%的性能提升。

      當(dāng)然,由于Cortex-A73的解碼發(fā)射寬度降低至雙發(fā)射,因此在某些情況下相比三發(fā)射的Cortex-A72,性能可能有所下降,比如在Dhrystone這樣偏重于微觀角度的測(cè)試軟件中。但是ARM宣稱Cortex-A73的SPEc性能將和Cortex-A72相當(dāng),所以其性能還是值得期待。

      功耗方面,這也是Cortex-A73的最大改進(jìn)。ARM的數(shù)據(jù)表示Cortex-A73在整數(shù)、浮點(diǎn)和L2緩存復(fù)制方面都有了顯著下降,綜合下來(lái)相比Cortex-A72節(jié)約了大約200的功耗。當(dāng)然這里面還有一些硬件因素,比如時(shí)鐘門控技術(shù)的更新、硬件控制電路的加強(qiáng)等。

      最后ARM還展示了新工藝下的Cortex-A73在面積方面的改善。ARM宣稱在即將到來(lái)的10nm工藝下,Cortex-A73相比20nm的Cortex-A57降低了大約70%的面積,相比16nm的Cortex-A72面積減少了46%。在相同的工藝下,相比Cortex-A72降低25%的面積。另外,ARM還比較了目前比較流行的八核心Cortex-A53架構(gòu),ARM宣稱在相同的面積下可以實(shí)現(xiàn)2個(gè)Codex-A73搭配4個(gè)Codex-A53,這樣搭配的多核心性能能夠提升30%,單核性能能夠提高最多90%。

      寫在最后

      可以說(shuō),Cortex-A73依靠和Cortex-A72相當(dāng)甚至更強(qiáng)的性能,但是卻更低的功耗、更高的性能功耗比成功站上了移動(dòng)世界新王者的地位。目前華為麒麟960已經(jīng)開(kāi)始使用Cortex-A73架構(gòu),性能表現(xiàn)非常出色。在16nm工藝下,麒麟960能夠運(yùn)行在2.3GHz,相信未來(lái)?yè)Q用更先進(jìn)的工藝后,頻率、性能還會(huì)進(jìn)一步拔高。相信接下來(lái)諸如高通、聯(lián)發(fā)科等廠商也會(huì)快速跟上,在未來(lái)的新處理器中使用Cortex-A73架構(gòu)。

      現(xiàn)在還有一個(gè)新問(wèn)題:依然有cortex-A73如此優(yōu)秀的公版架構(gòu)存在,是否還有廠商會(huì)花大力氣自研架構(gòu)呢?我們看到蘋果A系列SoC自從Cortex-A92后就再?zèng)]有使用過(guò)公版架構(gòu),高通有自己的Kyro,三星也研發(fā)出了Mongoose。這些內(nèi)核和Cortex-A73有什么差別呢?孰優(yōu)孰劣呢?未來(lái)我們將進(jìn)一步研究這些內(nèi)容,并在合適的時(shí)候和大家一起討論。

      總的來(lái)看,Cortex-A73基本實(shí)現(xiàn)了ARM改善移動(dòng)SoC“可持續(xù)性能”的目的,在功耗、性能上實(shí)現(xiàn)了新的平衡,法國(guó)索菲亞團(tuán)隊(duì)也證明了自己的卓越和成功。從性能到性能功耗比,ARM利用Cortex-A73實(shí)現(xiàn)了自己的改變。

      猜你喜歡
      流水線解碼功耗
      Gen Z Migrant Workers Are Leaving the Assembly Line
      《解碼萬(wàn)噸站》
      流水線
      解碼eUCP2.0
      NAD C368解碼/放大器一體機(jī)
      Quad(國(guó)都)Vena解碼/放大器一體機(jī)
      揭開(kāi)GPU功耗的面紗
      數(shù)字電路功耗的分析及優(yōu)化
      電子制作(2016年19期)2016-08-24 07:49:54
      報(bào)廢汽車拆解半自動(dòng)流水線研究
      “功耗”說(shuō)了算 MCU Cortex-M系列占優(yōu)
      電子世界(2015年22期)2015-12-29 02:49:44
      平舆县| 鞍山市| 乌拉特前旗| 肥东县| 庆阳市| 新和县| 剑川县| 莱阳市| 集贤县| 十堰市| 清涧县| 龙口市| 富锦市| 望都县| 临猗县| 平乐县| 镇远县| 滕州市| 平邑县| 岫岩| 罗山县| 苍溪县| 张北县| 瑞丽市| 荥阳市| 凤台县| 天津市| 石台县| 巴林右旗| 治多县| 万山特区| 浦县| 长武县| 井研县| 炎陵县| 城固县| 锡林浩特市| 横山县| 吴桥县| 华亭县| 东明县|