AMD的Zen3內(nèi)核芯片技術(shù)架構(gòu)_第1頁
AMD的Zen3內(nèi)核芯片技術(shù)架構(gòu)_第2頁
AMD的Zen3內(nèi)核芯片技術(shù)架構(gòu)_第3頁
AMD的Zen3內(nèi)核芯片技術(shù)架構(gòu)_第4頁
AMD的Zen3內(nèi)核芯片技術(shù)架構(gòu)_第5頁
免費預(yù)覽已結(jié)束,剩余10頁可下載查看

下載本文檔

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

文檔簡介

1、 AMD的Zen 3內(nèi)核芯片架構(gòu) 我們已經(jīng)很長時間沒有看到一個新CPU性能較之上一代能有明顯的提升的狀況出現(xiàn),而AMD的Ryzen 5000系列產(chǎn)品以及他們的新Zen 3內(nèi)核就做到了這一點。雖然我們只有很短的時間來使用功能全面的Ryzen 5950系統(tǒng),但這就足夠給我們留下了深刻的印象。Linux Mint 20的啟動速度是如此之快以至于引人注目,這實際上是我們?nèi)粘V饕到y(tǒng)花費時間的一小部分。其中大部分取決于PCIe4 SSD,但CPU不得不在輸入數(shù)據(jù)時對其進行處理。在系統(tǒng)上花了幾分鐘的時間后,我們在技嘉X570 Aorus Master主板上搭配了AMD Ryzen 9 5950X、三星98

2、0 Pro PCIe4 SSD和16GB GSkill Trident Z Royal DDR4-3600內(nèi)存,該系統(tǒng)在所有內(nèi)核上均以1.25V的電壓在4.5GHz頻率運行。考慮到所有這些,在我們看來,有一件事也很突出,該系統(tǒng)速度非??臁S捎谒悄壳笆袌錾献罡叨说挠螒騊C,因此您希望它能發(fā)布出最好的數(shù)字,并且對網(wǎng)絡(luò)的簡要了解表明它確實符合SemiAccurate的早期主張,即“ AMD應(yīng)該在現(xiàn)在一切上取勝,而英特爾沒有回應(yīng)”。唯一真正的問題是它如何到達那里,這是一個漫長的故事。Ryzen 5000 Chiplet布局如果您查看Ryzen 5000 CPU的高級框圖,它們看起來就像基于Zen 2

3、的Ryzen 3000。他們有一個或兩個CCD,但是基于經(jīng)過改進的7納米制程(在Intel語言中為+或+)和一個cIOD。該cIOD與R3K產(chǎn)品線中的cIOD完全相同,而這顆來自Global Foundries 12nm的芯片面積為125平方毫、擁有20.9億個晶體管,整個die幾乎沒有任何改變。在CCD方面,幾乎所有方面都發(fā)生了變化,但現(xiàn)在我們將重點關(guān)注在die本身上。這些變化需要一個新的封裝,其接線方式不同,但僅此而已。每個CCD為80.7平方毫米,包含41.5億個晶體管。這意味著單個CCD封裝的總硅面積為205.7平方毫米,兩個CCD SKU的總硅面積為286.4平方毫米。更令人印象深刻

4、的是,AMD能夠提高DDR4-4000支持的內(nèi)存速度,而無需更改包含內(nèi)存控制器的cIOD。對于基于Milan的服務(wù)器產(chǎn)品,這具有一些非常有趣的含義,但這又是另一回事了。更多緩存:深入研究CCD,我們會看到一些差異出現(xiàn),特別是在核心組織層面。Zen 2 / Rome CCD邏輯上細分為兩個4C CCX,每個CCX具有16MB的L3緩存。這兩個高速緩存片和核心群集沒有直接連接,要使核心4與核心5進行通信,它必須離開裸片,轉(zhuǎn)到cOID,然后返回同一CCD上的另一個CCX。這是巨大的功耗浪費,還增加了延遲,而且通常不是一個好主意。您唯一能說的好事是,任何兩個CCX之間的延遲都相當(dāng)一致。Zen 2 vs

5、 Zen 3 的CCX安排Zen 3 / Milan通過將CCX升級為具有32MB可直接訪問的L3緩存的8C來解決此問題。每個L3高速緩存塊都經(jīng)過地址切片(address sliced),但轉(zhuǎn)到另一個CCD仍意味著需要進行一些封裝和cIOD traversals,并且鏈接的負載遠小于Zen 2設(shè)備上的負載。借助少量的OS調(diào)度程序支持或軟件優(yōu)化,這將帶來整體性能顯著提高。不利的一面在于,較大的L3意味著延遲從16MB Zen 2 L3中的39個周期增加到Ryzen 5000中的46個周期??傮w而言,最壞的情況稍差一些,但平均性能和實際性能要好得多。Zen 3的緩存層次結(jié)構(gòu)在L1和L2緩存上,Ze

6、n 3與上一代相比沒有太大變化。L1 I $和D $仍然分別為32K,而L2仍為512K,這三個延遲均保持不變。L3則是高速緩存的“受害者”,因此僅當(dāng)從L2撤出東西時才填充它,但它具有陰影標(biāo)簽,因此其他內(nèi)核可以從同一裸片上的L2中拉出而無需掉頭到內(nèi)存控制器。從核心開始,帶寬也得到了改善,該核心現(xiàn)在可以每個周期執(zhí)行三個負載或兩個存儲,除非它是一個256b操作,分別最大為2和1。內(nèi)存路徑始終為32B /周期,但L3寫入內(nèi)存的方式僅為16B /周期。除此之外,從上表中可以看到,一切變化不大。一切都相同或更好,并且在實際工作負載中顯示出了好處。進入核心:Zen 3核心是全新的,其整數(shù)管道(Intege

7、r pipes)從7擴展到10,F(xiàn)P從4擴展到6,并且據(jù)稱可以更好地利用一切。AMD將新內(nèi)核的目標(biāo)描述為性能,延遲和效率的提升,但凈能耗沒有增加。據(jù)了解。其IPC增長了19,每瓦性能提高了24,所有這些似乎都表明AMD達到了目標(biāo)。Zen 2 vs Zen 3框圖一如既往,細節(jié)決定成敗,但即使從高級的角度來看,很明顯內(nèi)部也發(fā)生了很多變化。在前端,兩種架構(gòu)之間的情況看起來相當(dāng)相似,但Zen 3將Micro-Op Queue分為Op Queue和Dispatch階段,但實際差異更加細微。BTB翻倍、分支預(yù)測器帶寬增加、等待時間減少、準確性增加,并且過渡得到更好的處理。Zen 3前端概述分支預(yù)測器變得

8、更快是不錯的,準確性也略有提高,但最大的成功在于延遲?!盁o氣泡”聲明意味著一旦預(yù)測到某些結(jié)果,該結(jié)果就可以在下一個周期使用,而不必等到將結(jié)果發(fā)送到正確的塊時再使用。這確實很難做到,AMD不會評論確切的方法,但是會花費很多時間。類似地,從錯誤預(yù)測中恢復(fù)所花費的時間也減少了,這同樣也是為了降低預(yù)測延遲。Zen 3的提取/解碼單元分支預(yù)測器每個周期可以將四個操作拉入隊列。AMD改進了處理極端情況和邊界過渡的方式,這再次提高了延遲。那就是說x86可變長度操作數(shù)是一個痛苦的事情,即使有了改進,事情也會變得很快復(fù)雜。一旦將其解碼并存儲在操作緩存中,這些邊界是已知的,并且情況變得更加清晰,因此每個周期可以將

9、八個操作分配給該橙色框而沒有名稱。所說的半匿名橙色框非常重要,因為Zen 2令人頭疼的是將I $端和Op-Cache端的操作重新組合在一起,這可能需要花費一些時間才能正確排列所有內(nèi)容。Zen 3這樣做的速度更快,減少了等待時間,并且又是專有的。最重要的是,這里做出的決策要細得多,因此要好一些,要快一些??偠灾?,總的來說,前端要稍微精確一些,而延遲卻要低得多,從而在性能和功耗上取得了巨大的成功。整數(shù)上升:Zen 3的前端每個周期可以發(fā)出16條指令,而Zen 2中為11條指令。在幾乎不可思議的巧合中,該數(shù)字與Zen 3中的16條管道非常接近,而Zen 2中為11條。FP則從4增加到6。從整體芯片

10、的效率可以看出,AMD在這方面似乎已經(jīng)取得了平衡。Zen 3的整數(shù)單元從上圖可以看到,調(diào)度程序(scheduler )從92個條目增加到96個條目,更具體地說,是四個24條目調(diào)度程序,物理寄存器文件從12個增加到192個,ROB則提高到256個條目,而不是Zen 2的224個。這些數(shù)字在效率方面非常有用,他們確保每個單元都有足夠的空間來保持最佳狀態(tài),但是真正的變化在于管道本身。如您所見,現(xiàn)在有4個ALU,3個AGU,一個專用分支單元和2個存儲單元。這10個單元中的每個單元(注意,上面的幻燈片中沒有全部圖示)可以在每個周期內(nèi)饋送,這是較之Zen 2的一個很大改進。還要注意,管道的排列方式使每個A

11、LU / AGU對都由一個調(diào)度程序饋送,但是它們?nèi)匀荒軌颡毩⒐ぷ鳌_@是效率的重要部分,它允許以更少的復(fù)雜性進行更多的工作。如果必須對其進行總結(jié),則會添加管道以避免爭用,并且出于類似的原因,它們的排列也更好。較少的復(fù)雜性和布線往往會使事情變得更有效率,這就是重點。FP單元版本 3.000000:在FP端,延遲也是一個關(guān)鍵的優(yōu)化領(lǐng)域,這是更廣泛的問題。新的架構(gòu)仍然有2個Mul和2個Add管道,但是F2I(Float 2整數(shù))功能已被分解以分離管道,并且其中一個與存儲單元結(jié)合在一起。顯然,這可以減少爭用,并且由于可以同時送入所有六個管道,因此可以提高吞吐量。Zen 2的5周期FMAC操作減少了一個周

12、期,因此延遲也減少了。調(diào)度程序會隨著內(nèi)部帶寬的增長而增加一點,所以一切都很好。此外,在FP單元閑置時,將數(shù)字提升到指數(shù)的精靈還有更多舒適的椅子可以坐在那里,因此在需要時它們會很新鮮。只是檢查看看您是否還在關(guān)注。加載和存儲:加載/存儲始終是與非技術(shù)朋友討論的有趣話題,AMD這次給我們帶來了一些新的東西。主要的是3個AGU,這意味著它們每個周期可以完成三個加載或兩個存儲,或者兩個(如前所述)為256b,則可以存儲兩個。這是雙贏,更大的帶寬和更大的靈活性,這在現(xiàn)代超優(yōu)化內(nèi)核中是罕見的。還有更好的內(nèi)存依賴檢測,還有四個TLB Walker,總共六個。其余的改進可以總結(jié)為“到處都有更好的情況”。存儲隊列

13、增加了33,達到64個條目,但是大多數(shù)其他結(jié)構(gòu)的原始大小或多或少都相同??珥撁孢吔绲母玫念A(yù)取在更早的時候就被提出了,而且對存儲到加載的前向依賴項也有了更好的預(yù)測。專門被調(diào)用的一條指令是REP MOVSB,它對短副本的延遲確實很高。在Zen 3中,在短迭代次數(shù)上減少了很多,在中位數(shù)上得到了改善,但從長遠來看仍然可以正常工作。同樣,在許多地方略微減少延遲會帶來很多好處,這就是裝入/存儲單元的全部更改。還有很多其他小事情,它們又使Zen 3內(nèi)核比Zen 2更快,更高效。一些指令的執(zhí)行速度更快,其中一些已在上面提到,還有很多事情,例如執(zhí)行時的指令排序。Op緩存之間的延遲要低得多。最終,所有這些都加起

14、來很大,特別是AMD聲稱IPC增加19,每瓦提升24。除此之外,還有一些新功能,一些次要功能,一些重要功能。在安全方面,Zen 3現(xiàn)在支持控制流實施技術(shù)(Control-Flow Enforcement Technology :CET),基本上是用于阻止ROP攻擊的影子堆棧。VAES和VPCLMULQD這兩個指令現(xiàn)在具有AVX2支持,這應(yīng)該可以極大地緩解等待此情況的粉絲的煩惱。越來越多的粉絲正在等待AMD對MPK的描述,該描述有效地允許了更精細的內(nèi)存權(quán)限。SemiAccurate詢問了有關(guān)問題,但AMD沒有解釋,但我們認為當(dāng)Milan/ Epyc 3發(fā)布時,他們很快就會解決。另一個好處是,AMD終于對其基準測試設(shè)置進行了可靠的披露。希望他們GPU方面也能與時俱進。因為可信任的數(shù)字都是信任所必需的。結(jié)論:最終,我們來到這里,采用Ryzen 5000系列的Zen 3已經(jīng)面世,從遠處看,它看起來很像Zen 2 / Ryzen3000。放大之后,您可以看到CCD上的所

溫馨提示

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

評論

0/150

提交評論