Armv9核心A710、A715和A510微架構(gòu)解讀_第1頁
Armv9核心A710、A715和A510微架構(gòu)解讀_第2頁
Armv9核心A710、A715和A510微架構(gòu)解讀_第3頁
Armv9核心A710、A715和A510微架構(gòu)解讀_第4頁
Armv9核心A710、A715和A510微架構(gòu)解讀_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第第頁Armv9核心A710、A715和A510微架構(gòu)解讀1、引言

在上一篇文章“從A76到A78——在變化中學(xué)習(xí)(Arm)微架構(gòu)”中,我們了解了Arm處理器微架構(gòu)的基本組成,介紹了Armv8架構(gòu)最后幾代經(jīng)典處理器架構(gòu)。現(xiàn)在,Arm公司已經(jīng)在2023年3月推出了其(最新)的Armv9架構(gòu)系列處理器,距上一代Armv8系列架構(gòu)發(fā)布相隔了整整10年時(shí)間。新一代的Armv9(產(chǎn)品),不但會(huì)帶來更強(qiáng)大的計(jì)算性能,在安全、(AI)等領(lǐng)域也帶來了全新的設(shè)計(jì)。可以說,Armv9系列繼承了Armv8架構(gòu)的優(yōu)勢(shì),同時(shí)也為Arm公司的下一個(gè)十年拉開了帷幕。本文將著重介紹基于Armv9架構(gòu)的A710、A715、A510等處理器架構(gòu),讓大家了解Armv9架構(gòu)和Armv8架構(gòu)的差異。

ARM處理器路線圖

6、A710和A715微架構(gòu)介紹

6.1A78回顧

文章都寫了一半了,終于到聊到正題了?還沒有!因?yàn)锳710是基于A78微架構(gòu)優(yōu)化而來,我們先要先回顧一下A78。這里和大家快速回顧下A78的微架構(gòu),4路decode,加上MopCache可以一次最多提供6路Mops指令進(jìn)入執(zhí)行單元,整數(shù)執(zhí)行單元提供2個(gè)Branch,4個(gè)ALU,浮點(diǎn)單元提供2個(gè)FPU,存儲(chǔ)單元提供2個(gè)LSAGU,1個(gè)LDAGU和2個(gè)ST-Data通路。

6.2A710和A715簡(jiǎn)介

A710是Armv9家族的第一顆大核心,A710也是第一次正式引入了SVE2擴(kuò)展指令集,A710沒有放棄32bit的支持,可以同時(shí)兼容32bit和64bit應(yīng)用。

A715是Armv9家族的第二顆大核心,值得注意的是核心序號(hào)只加了5,難道Arm覺得還達(dá)不到A720的預(yù)期?我們后續(xù)揭曉。A715相比A710最大的變化是輕裝上陣,拋棄了32bit的支持,讓設(shè)計(jì)師可以更加聚焦設(shè)計(jì)一款純64bit的核心。

6.3A710能效

Arm在A710這一代產(chǎn)品希望重點(diǎn)優(yōu)化能效。根據(jù)Arm提供的性能功耗曲線數(shù)據(jù),A710依然是一顆高能效比的核心,相比A78在同樣的能耗下性能可以提升約10%,同樣的性能條件下功耗可以降低約30%,需要注意2點(diǎn),第一是這個(gè)數(shù)據(jù)是在高頻率區(qū)間取得的,低頻率區(qū)間的能效曲線和A78較為接近;第二是性能的提升是在L3緩存增加情況下得出的,緩存增大理論也貢獻(xiàn)了一部分性能得分。

可惜A710的出生似乎有些生不逢時(shí),大家寄予厚望的采用了A710的第一代產(chǎn)品高通驍龍8Gen1處理器,由于采用了(三星)工藝代工,整體能效表現(xiàn)一般,直到高通公司第二年將工藝切換TSMC并量產(chǎn)了驍龍8+Gen1芯片,整體芯片能效有了明顯提升,才發(fā)揮出了A710應(yīng)有的實(shí)力。

驍龍8+Gen1和8Gen1能效對(duì)比數(shù)據(jù)

6.4A710架構(gòu)設(shè)計(jì)

A710在前端設(shè)計(jì)部分上和A78差異不大,同樣提供了1.5K的MOPcache,提供了可動(dòng)態(tài)配置3264KB的L1緩存和可動(dòng)態(tài)配置256512KB的L2緩存。Arm在A710上的優(yōu)化點(diǎn)是提升了分支預(yù)測(cè)的能力,將關(guān)鍵的分支預(yù)測(cè)結(jié)構(gòu)體容量空間翻了一番,此外L1的TLB容量也翻了一倍。

A710微架構(gòu)的一個(gè)關(guān)鍵的修改在指令分發(fā)Dispatch模塊,該模塊發(fā)生了一些有趣的變化,大家還記得A77新引入MOPcache時(shí)就是4路decode和6路dispatch,A78同樣繼承如此,到了A710上Arm將其減少到了5路dispatch。減少一條通路意味著可以節(jié)省芯片電路和面積,另一方向性能上也難免會(huì)有一定的損失。為了彌補(bǔ)這個(gè)損失,Arm宣稱做了一系列基于MOPcache的優(yōu)化,并將分支預(yù)測(cè)到分支執(zhí)行的流水線縮減到10個(gè)(時(shí)鐘)周期,從而達(dá)成宣稱的能效優(yōu)化指標(biāo)。

目前(網(wǎng)絡(luò))上A710的(資料)并不多,特別缺乏后端設(shè)計(jì)部分的(詳細(xì)資料),根據(jù)推測(cè)后端設(shè)計(jì)和A78比差異不大,推測(cè)ROB應(yīng)該會(huì)增加,推測(cè)訪存LSU的單元和A78沒有明顯變化,后續(xù)我們可以在A715上再次論證。

Arm還提到A710通過優(yōu)化數(shù)據(jù)預(yù)取(prefetcher)來提升性能和能效,減少CPU的數(shù)據(jù)預(yù)取次數(shù),可以減少對(duì)于DSU的訪問參數(shù),同業(yè)也可以降低對(duì)于(DRAM)的訪問次數(shù),從圖中數(shù)據(jù)看,相比A78,A710在DSU和DRAM的訪問上都有明顯改善。

簡(jiǎn)單總結(jié)下,A710相比A78的設(shè)計(jì)僅相隔了一年,并不是一個(gè)準(zhǔn)備多年的全新架構(gòu)升級(jí),在A78的基礎(chǔ)上,A710保留了32bit的支持,優(yōu)化了流水線和數(shù)據(jù)預(yù)取能力,前端分支預(yù)測(cè)和指令通路是最明顯的變化。這次Armv9架構(gòu)升級(jí)涉及到X2、A710和A510三款核心,相比之下X2和A510的變化更多,我們后續(xù)會(huì)詳細(xì)分析。

6.5A715能效

目前最新的Arm大核心是A715,從官方數(shù)據(jù)中我們可以看出A715這一代的目標(biāo)并不是以提升性能為主,同樣功耗下性能只提升了5%,或許這也是被叫做A715的一個(gè)原因。在能效方面,相同性能下可以降低20%的功耗。

再來看一下DVFS曲線,A715的曲線和A710比較接近,同樣功耗下性能有小幅度提升。后續(xù)這幾代Arm大核心微架構(gòu)上都不會(huì)有像A75、A76那樣大幅變化,基本是保持A715對(duì)A710這樣的穩(wěn)定功耗優(yōu)化,性能小幅度提升。

從數(shù)據(jù)上看,A715整體的能效優(yōu)化幅度不高,可以認(rèn)為A715是A710的一個(gè)小改款。結(jié)合微架構(gòu)分析整體看,Arm需要一顆更經(jīng)濟(jì)的核心來支撐整個(gè)產(chǎn)品線以及平衡性能和功耗。

6.6A715架構(gòu)設(shè)計(jì)

很幸運(yùn),網(wǎng)絡(luò)有高手(Cardyak)放出了A715的微架構(gòu)圖,我們可以借此一窺A77到A715的變化。

A715的前端分支預(yù)測(cè)能力有了進(jìn)一步提升,Arm在Armv9上很重視分支預(yù)測(cè)能力,每一代都有一些優(yōu)化。A710相比A78提升了分支預(yù)測(cè)能力,這次A715進(jìn)一步優(yōu)化,以提升IPC和能效。細(xì)節(jié)上,A715將Direc(ti)onPredictor的容量提升了一倍,從而進(jìn)一步提升分支預(yù)測(cè)的準(zhǔn)確性。A715每個(gè)周期支持預(yù)測(cè)2個(gè)分支,比A710多支持了條件分支的預(yù)測(cè)能力。此外,在分支預(yù)測(cè)方案上,Arm傳統(tǒng)支持0級(jí)和2級(jí)預(yù)測(cè)模型,這次A715將2級(jí)預(yù)測(cè)模型拆分成3級(jí),增加了一個(gè)fasterturnaroud功能,在發(fā)現(xiàn)預(yù)測(cè)錯(cuò)誤時(shí)可以快速返回,提升分支預(yù)測(cè)效率。最后是訪問指令緩存(Icache)方面,A715將指令緩存的查找?guī)捯蔡嵘艘槐?,從而支持更好的訪問指令緩存的效率。

解碼模塊依然是Armv9重點(diǎn)優(yōu)化的部分,也是A715變化最大的模塊。在A715上有一個(gè)關(guān)鍵的修改,Arm出于成本考慮,將自A77開始加入的MOPcache模塊移除了。MOPcache可以緩存一些常用的核心指令,降低從L1取指令的負(fù)擔(dān),但是Arm宣稱可以通過其他優(yōu)化方法,進(jìn)一步提升性能和能效。第一點(diǎn),A715是一顆純64bit的大核心,憑借這一點(diǎn),可以節(jié)省原來為了兼容32bit而增加的(晶體管)電路;第二是A715上增加了一路decode通路,從4通路提升到5通路,在A710之后Dispatch也改成了5通路,A715這一代Fetch和Dispatch到后端模塊的通道正好對(duì)齊都是5通路,可以發(fā)揮最高的效率;第三是采用了小尺寸的decoder,將原來A710的統(tǒng)一大尺寸decoder拆分成4個(gè)小尺寸的decoder,便于分配資源和節(jié)省能耗;最后是A715提升了復(fù)雜指令(NEONSVESVE2)的吞吐率,讓它們可以快速發(fā)送到對(duì)應(yīng)的執(zhí)行單元。

在ROB重排序緩沖方面,A715提供了192個(gè)entry,相比A77的160個(gè)entry提升了20%,和A77至A715的性能提升可以匹配上。執(zhí)行單元的Issueentry還是120個(gè),這個(gè)大小自A76開始就沒有變化。在執(zhí)行單元上,A715相比A710和A78都沒有明顯變化,還是2個(gè)Branch,4個(gè)ALU,浮點(diǎn)單元提供2個(gè)FPU,存儲(chǔ)單元提供2個(gè)LSAGU,1個(gè)LDAGU和2個(gè)ST-Data通路,看來Arm認(rèn)為這塊的設(shè)計(jì)非常合理不需要改變。

在存儲(chǔ)單元上,A715增大了Lo(ad)Replay隊(duì)列尺寸,可以提供更多的數(shù)據(jù)預(yù)取和L2訪問機(jī)會(huì)。此外A715提供了2倍的DataCacheBanks,可以支持更多同步讀寫數(shù)據(jù),降低并發(fā)沖突從而降低能耗。A715的L2的TLBentry增大了50%,達(dá)到了1.5K個(gè)entry,提升了數(shù)據(jù)預(yù)取的準(zhǔn)確性,也可以降低內(nèi)存的訪問,進(jìn)而提升綜合性能。

6.7小結(jié)

階段總結(jié)下,A715相比A710的微架構(gòu)修改較大,A715取消了32bit的支持,取消了MOPcache,優(yōu)化了分支預(yù)測(cè)、指令單元和存儲(chǔ)單元,統(tǒng)一了指令通路數(shù)量,還提出了小decoder的模型。目前A715已經(jīng)在高通驍龍8Gen2,MTK天璣9200等產(chǎn)品成功應(yīng)用,搭配最新的4nm工藝,性能和能效表現(xiàn)可圈可點(diǎn)。

7、A510微架構(gòu)介紹

7.1A510簡(jiǎn)介

我們并沒有花很多篇幅去介紹A55這顆處理器,因?yàn)锳55實(shí)在是“久經(jīng)沙場(chǎng)”,伴隨著A75登場(chǎng),歷經(jīng)A75-A78四代產(chǎn)品。到Armv9時(shí)代,Arm認(rèn)為必須更新一下A5x系列的小核心產(chǎn)品線了,于是我們看到了最新的A510系列小核心處理器。

21年Arm更新了A510產(chǎn)品線,22年Arm又做了小幅度優(yōu)化,更新了A510r產(chǎn)品線。由于Arm維持了每年迭代的產(chǎn)品快速更新策略,進(jìn)入Armv9后一年需要更新X2、A710和A510三款產(chǎn)品,難免造成資源分散。例如對(duì)于32bit的支持問題上,A710支持32bit,X2和A510不支持,但是在22年更新的A510r第二代產(chǎn)品,又加入了32bit的支持。

7.2A510能效

官方數(shù)據(jù)顯示A510可以提升35%的性能,能效優(yōu)化20%,ML性能是以前A55的3倍。從能效曲線看,性能提升35%都是保守的,后續(xù)的架構(gòu)分析也可以支撐這一說法,但是能效的20%優(yōu)化要加限定詞,限定在A55高頻率段區(qū)間比較合理,因?yàn)檎w的功耗和性能提升成正比,簡(jiǎn)單說就是A510的極限性能和極限功耗都增加了。

對(duì)于A510的能效,Arm也提出后續(xù)會(huì)不斷優(yōu)化,例如A510r重新設(shè)計(jì)了一些電路,宣稱可以提升5%的能效。下一代的Hayes也會(huì)繼續(xù)優(yōu)化能效。為什么A510的性能提升,能效沒有進(jìn)一步提升呢?在后面的架構(gòu)設(shè)計(jì)部分大家應(yīng)該可以得出一些推論。

7.3A510架構(gòu)設(shè)計(jì)

上面是A510的微架構(gòu)圖和A55的架構(gòu)簡(jiǎn)圖,從圖中可以看到A510相比A710的大核心設(shè)計(jì),確實(shí)有很多簡(jiǎn)化的地方,但是相比A55還是有明顯增強(qiáng)的。

A510和A55一樣,是一顆不支持亂序執(zhí)行(OoO-Outofoder)的核心,不支持OoO意味著沒有重排序緩沖(ROB)模塊,可以節(jié)省芯片面積,缺點(diǎn)則是無法充分填充和利用流水線,指令執(zhí)行的效率較低。

此外,第一代的A510不支持32bit應(yīng)用,第二年Arm在A510r上,又把32bit應(yīng)用的支持加回來了。

A510為了進(jìn)一步優(yōu)化芯片面積,采用了拼接核心設(shè)計(jì),如圖中所示,兩顆A510被封裝在一起,共享L2緩存、L2TLB等模塊。這種(硬件)設(shè)計(jì)對(duì)于軟件調(diào)度器的設(shè)計(jì)提供了優(yōu)化思路,因?yàn)楣蚕鞮2,在2顆共享核心之間調(diào)度的效率會(huì)高于跨L2,所以軟件在選擇任務(wù)遷移時(shí),如果還是移動(dòng)到小核心執(zhí)行,應(yīng)當(dāng)優(yōu)先去選擇共享L2的那個(gè)CPU去執(zhí)行,效率會(huì)最高。

在前端設(shè)計(jì)上,A510相比A55最大的改變是將2寬度流水線拓展到了3寬度,如指令Fetch能力從2提升到3,等于增加了一條通路,這也是A510同頻率性能可以提升的關(guān)鍵影響因素。此外,A55每個(gè)周期可以fetch64-bit,A510每時(shí)鐘周期則可以fetch128-bit指令。同時(shí),A510還借鑒了Armv9系列架構(gòu)的分支預(yù)測(cè)方案設(shè)計(jì),相比A55可以提供更為準(zhǔn)確的分支預(yù)測(cè)能力,減少流水線的損失。

A510相比A55的通路增加是完整的,在指令Fetch模塊后,指令Decode和Issue模塊的通路也從2增加到3,提升了50%。

運(yùn)算單元部分,小核心僅有1個(gè)Branch單元沒有變化,ALU數(shù)量(含MAC、DIV)從2提升到4,也提升了50%。FPU(又叫做VPU)被挪到了2個(gè)核心共享,雖然無法直接對(duì)比,根據(jù)Arm提供的數(shù)據(jù)看FP也有50%的性能提升。

存儲(chǔ)模塊上,A510相比A55也有明顯提升,A55提供了1個(gè)Load和1個(gè)Store通路,A510雖然還是2通路,但是一個(gè)支持Load,另一個(gè)同時(shí)支持Load和Store,Load能力有提升。同時(shí),Load帶寬從A55的64bit提升到128bit,如圖中顯示L1帶寬可以提升4倍,L2和L3分別也提升了2倍。此外,DataPrefetcher模塊也引入了Armv9的系列優(yōu)化,可以提升數(shù)據(jù)預(yù)取準(zhǔn)確性。

最后,A510的兩個(gè)核心還共享了矢量運(yùn)算單元(VPU),用于處理ScalarFP、NEON、SVE2等指令,Arm期望通過這種設(shè)計(jì)進(jìn)一步優(yōu)化小核心的面積,優(yōu)化能效。

7.4小結(jié)

相隔4年,Arm終于更新了A5x系列小核心,看完后還是感覺有點(diǎn)不夠過癮,意猶未盡的感覺。雖然A510相比A55,不論在整數(shù)、浮點(diǎn)還是存儲(chǔ)性能上都有明顯的提升(見上圖),但是整體處理器的能效并沒有明顯的改善,究其根因,這次A510的升級(jí),并沒有引入OoO亂序執(zhí)行等大核心的先進(jìn)特性,而是基于A55的架構(gòu)上通過增加通路和運(yùn)算模塊達(dá)成的性能提升,總體能效改善不夠明顯。

A510的這次升級(jí),也導(dǎo)致終端廠商在實(shí)際產(chǎn)品開發(fā)中,針對(duì)A510的小核心的處理需要更加謹(jǐn)慎,例如盡可能利用和A55性能接近的區(qū)間,獲取最大能效收益,在軟件調(diào)度時(shí)需要考慮2個(gè)共享核心內(nèi)優(yōu)先調(diào)度以獲取最低的開銷等等。

相信Arm公司對(duì)于A5x會(huì)持續(xù)迭代優(yōu)化,在后續(xù)的A510r和Haye

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論