我們已經(jīng)很長時(shí)間沒有看到一個(gè)新CPU性能較之上一代能有明顯的提升的狀況出現(xiàn),而AMD的Ryzen 5000系列產(chǎn)品以及他們的新Zen 3內(nèi)核就做到了這一點(diǎn)。
雖然我們只有很短的時(shí)間來使用功能全面的Ryzen 5950系統(tǒng),但這就足夠給我們留下了深刻的印象。Linux Mint 20的啟動(dòng)速度是如此之快以至于引人注目,這實(shí)際上是我們?nèi)粘V饕到y(tǒng)花費(fèi)時(shí)間的一小部分。其中大部分取決于PCIe4 SSD,但CPU不得不在輸入數(shù)據(jù)時(shí)對其進(jìn)行處理。
在系統(tǒng)上花了幾分鐘的時(shí)間后,我們在技嘉X570 Aorus Master主板上搭配了AMD Ryzen 9 5950X、三星980 Pro PCIe4 SSD和16GB GSkill Trident Z Royal DDR4-3600內(nèi)存,該系統(tǒng)在所有內(nèi)核上均以1.25V的電壓在4.5GHz頻率運(yùn)行。
考慮到所有這些,在我們看來,有一件事也很突出,該系統(tǒng)速度非???。由于它是目前市場上最高端的游戲PC,因此您希望它能發(fā)布出最好的數(shù)字,并且對網(wǎng)絡(luò)的簡要了解表明它確實(shí)符合SemiAccurate的早期主張,即“ AMD應(yīng)該在現(xiàn)在一切上取勝,而英特爾沒有回應(yīng)”。唯一真正的問題是它如何到達(dá)那里,這是一個(gè)漫長的故事。
Ryzen 5000 Chiplet布局
如果您查看Ryzen 5000 CPU的高級框圖,它們看起來就像基于Zen 2的Ryzen 3000。他們有一個(gè)或兩個(gè)CCD,但是基于經(jīng)過改進(jìn)的7納米制程(在Intel語言中為+或++)和一個(gè)cIOD。該cIOD與R3K產(chǎn)品線中的cIOD完全相同,而這顆來自Global Foundries 12nm的芯片面積為125平方毫、擁有20.9億個(gè)晶體管,整個(gè)die幾乎沒有任何改變。
在CCD方面,幾乎所有方面都發(fā)生了變化,但現(xiàn)在我們將重點(diǎn)關(guān)注在die本身上。這些變化需要一個(gè)新的封裝,其接線方式不同,但僅此而已。每個(gè)CCD為80.7平方毫米,包含41.5億個(gè)晶體管。這意味著單個(gè)CCD封裝的總硅面積為205.7平方毫米,兩個(gè)CCD SKU的總硅面積為286.4平方毫米。更令人印象深刻的是,AMD能夠提高DDR4-4000支持的內(nèi)存速度,而無需更改包含內(nèi)存控制器的cIOD。對于基于Milan的服務(wù)器產(chǎn)品,這具有一些非常有趣的含義,但這又是另一回事了。
更多緩存:
深入研究CCD,我們會(huì)看到一些差異出現(xiàn),特別是在核心組織層面。Zen 2 / Rome CCD邏輯上細(xì)分為兩個(gè)4C CCX,每個(gè)CCX具有16MB的L3緩存。這兩個(gè)高速緩存片和核心群集沒有直接連接,要使核心4與核心5進(jìn)行通信,它必須離開裸片,轉(zhuǎn)到cOID,然后返回同一CCD上的另一個(gè)CCX。這是巨大的功耗浪費(fèi),還增加了延遲,而且通常不是一個(gè)好主意。您唯一能說的好事是,任何兩個(gè)CCX之間的延遲都相當(dāng)一致。
Zen 2 vs Zen 3 的CCX安排???????????
Zen 3 / Milan通過將CCX升級為具有32MB可直接訪問的L3緩存的8C來解決此問題。每個(gè)L3高速緩存塊都經(jīng)過地址切片(address sliced),但轉(zhuǎn)到另一個(gè)CCD仍意味著需要進(jìn)行一些封裝和cIOD traversals,并且鏈接的負(fù)載遠(yuǎn)小于Zen 2設(shè)備上的負(fù)載。借助少量的OS調(diào)度程序支持或軟件優(yōu)化,這將帶來整體性能顯著提高。不利的一面在于,較大的L3意味著延遲從16MB Zen 2 L3中的39個(gè)周期增加到Ryzen 5000中的46個(gè)周期??傮w而言,最壞的情況稍差一些,但平均性能和實(shí)際性能要好得多。
Zen 3的緩存層次結(jié)構(gòu)
在L1和L2緩存上,Zen 3與上一代相比沒有太大變化。L1 I $和D $仍然分別為32K,而L2仍為512K,這三個(gè)延遲均保持不變。L3則是高速緩存的“受害者”,因此僅當(dāng)從L2撤出東西時(shí)才填充它,但它具有陰影標(biāo)簽,因此其他內(nèi)核可以從同一裸片上的L2中拉出而無需掉頭到內(nèi)存控制器。
從核心開始,帶寬也得到了改善,該核心現(xiàn)在可以每個(gè)周期執(zhí)行三個(gè)負(fù)載或兩個(gè)存儲(chǔ),除非它是一個(gè)256b操作,分別最大為2和1。內(nèi)存路徑始終為32B /周期,但L3寫入內(nèi)存的方式僅為16B /周期。除此之外,從上表中可以看到,一切變化不大。一切都相同或更好,并且在實(shí)際工作負(fù)載中顯示出了好處。
進(jìn)入核心:
Zen 3核心是全新的,其整數(shù)管道(Integer pipes)從7擴(kuò)展到10,F(xiàn)P從4擴(kuò)展到6,并且據(jù)稱可以更好地利用一切。AMD將新內(nèi)核的目標(biāo)描述為性能,延遲和效率的提升,但凈能耗沒有增加。據(jù)了解。其IPC增長了19%,每瓦性能提高了24%,所有這些似乎都表明AMD達(dá)到了目標(biāo)。
Zen 2 vs Zen 3框圖
一如既往,細(xì)節(jié)決定成敗,但即使從高級的角度來看,很明顯內(nèi)部也發(fā)生了很多變化。在前端,兩種架構(gòu)之間的情況看起來相當(dāng)相似,但Zen 3將Micro-Op Queue分為Op Queue和Dispatch階段,但實(shí)際差異更加細(xì)微。BTB翻倍、分支預(yù)測器帶寬增加、等待時(shí)間減少、準(zhǔn)確性增加,并且過渡得到更好的處理。
Zen 3前端概述
分支預(yù)測器變得更快是不錯(cuò)的,準(zhǔn)確性也略有提高,但最大的成功在于延遲。“無氣泡”聲明意味著一旦預(yù)測到某些結(jié)果,該結(jié)果就可以在下一個(gè)周期使用,而不必等到將結(jié)果發(fā)送到正確的塊時(shí)再使用。這確實(shí)很難做到,AMD不會(huì)評論確切的方法,但是會(huì)花費(fèi)很多時(shí)間。類似地,從錯(cuò)誤預(yù)測中恢復(fù)所花費(fèi)的時(shí)間也減少了,這同樣也是為了降低預(yù)測延遲。
Zen 3的提取/解碼單元
分支預(yù)測器每個(gè)周期可以將四個(gè)操作拉入隊(duì)列。AMD改進(jìn)了處理極端情況和邊界過渡的方式,這再次提高了延遲。那就是說x86可變長度操作數(shù)是一個(gè)痛苦的事情,即使有了改進(jìn),事情也會(huì)變得很快復(fù)雜。一旦將其解碼并存儲(chǔ)在操作緩存中,這些邊界是已知的,并且情況變得更加清晰,因此每個(gè)周期可以將八個(gè)操作分配給該橙色框而沒有名稱。
所說的半匿名橙色框非常重要,因?yàn)閆en 2令人頭疼的是將I $端和Op-Cache端的操作重新組合在一起,這可能需要花費(fèi)一些時(shí)間才能正確排列所有內(nèi)容。Zen 3這樣做的速度更快,減少了等待時(shí)間,并且又是專有的。最重要的是,這里做出的決策要細(xì)得多,因此要好一些,要快一些。總而言之,總的來說,前端要稍微精確一些,而延遲卻要低得多,從而在性能和功耗上取得了巨大的成功。
整數(shù)上升:
Zen 3的前端每個(gè)周期可以發(fā)出16條指令,而Zen 2中為11條指令。在幾乎不可思議的巧合中,該數(shù)字與Zen 3中的16條管道非常接近,而Zen 2中為11條。FP則從4增加到6。從整體芯片的效率可以看出,AMD在這方面似乎已經(jīng)取得了平衡。
Zen 3的整數(shù)單元
可以看到,調(diào)度程序(scheduler )從92個(gè)條目增加到96個(gè)條目,更具體地說,是四個(gè)24條目調(diào)度程序,物理寄存器文件從12個(gè)增加到192個(gè),ROB則提高到256個(gè)條目,而不是Zen 2的224個(gè)。這些數(shù)字在效率方面非常有用,他們確保每個(gè)單元都有足夠的空間來保持最佳狀態(tài),但是真正的變化在于管道本身。
如您所見,現(xiàn)在有4個(gè)ALU,3個(gè)AGU,一個(gè)專用分支單元和2個(gè)存儲(chǔ)單元。這10個(gè)單元中的每個(gè)單元(注意,上面的幻燈片中沒有全部圖示)可以在每個(gè)周期內(nèi)饋送,這是較之Zen 2的一個(gè)很大改進(jìn)。還要注意,管道的排列方式使每個(gè)ALU / AGU對都由一個(gè)調(diào)度程序饋送,但是它們?nèi)匀荒軌颡?dú)立工作。這是效率的重要部分,它允許以更少的復(fù)雜性進(jìn)行更多的工作。如果必須對其進(jìn)行總結(jié),則會(huì)添加管道以避免爭用,并且出于類似的原因,它們的排列也更好。較少的復(fù)雜性和布線往往會(huì)使事情變得更有效率,這就是重點(diǎn)。
FP單元版本 3.000000:
在FP端,延遲也是一個(gè)關(guān)鍵的優(yōu)化領(lǐng)域,這是更廣泛的問題。新的架構(gòu)仍然有2個(gè)Mul和2個(gè)Add管道,但是F2I(Float 2整數(shù))功能已被分解以分離管道,并且其中一個(gè)與存儲(chǔ)單元結(jié)合在一起。顯然,這可以減少爭用,并且由于可以同時(shí)送入所有六個(gè)管道,因此可以提高吞吐量。Zen 2的5周期FMAC操作減少了一個(gè)周期,因此延遲也減少了。調(diào)度程序會(huì)隨著內(nèi)部帶寬的增長而增加一點(diǎn),所以一切都很好。
此外,在FP單元閑置時(shí),將數(shù)字提升到指數(shù)的精靈還有更多舒適的椅子可以坐在那里,因此在需要時(shí)它們會(huì)很新鮮。只是檢查看看您是否還在關(guān)注。
加載和存儲(chǔ):
加載/存儲(chǔ)始終是與非技術(shù)朋友討論的有趣話題,AMD這次給我們帶來了一些新的東西。主要的是3個(gè)AGU,這意味著它們每個(gè)周期可以完成三個(gè)加載或兩個(gè)存儲(chǔ),或者兩個(gè)(如前所述)為256b,則可以存儲(chǔ)兩個(gè)。這是雙贏,更大的帶寬和更大的靈活性,這在現(xiàn)代超優(yōu)化內(nèi)核中是罕見的。還有更好的內(nèi)存依賴檢測,還有四個(gè)TLB Walker,總共六個(gè)。
其余的改進(jìn)可以總結(jié)為“到處都有更好的情況”。存儲(chǔ)隊(duì)列增加了33%,達(dá)到64個(gè)條目,但是大多數(shù)其他結(jié)構(gòu)的原始大小或多或少都相同。跨頁面邊界的更好的預(yù)取在更早的時(shí)候就被提出了,而且對存儲(chǔ)到加載的前向依賴項(xiàng)也有了更好的預(yù)測。專門被調(diào)用的一條指令是REP MOVSB,它對短副本的延遲確實(shí)很高。
在Zen 3中,在短迭代次數(shù)上減少了很多,在中位數(shù)上得到了改善,但從長遠(yuǎn)來看仍然可以正常工作。同樣,在許多地方略微減少延遲會(huì)帶來很多好處,這就是裝入/存儲(chǔ)單元的全部更改。:
還有很多其他小事情,它們又使Zen 3內(nèi)核比Zen 2更快,更高效。一些指令的執(zhí)行速度更快,其中一些已在上面提到,還有很多事情,例如執(zhí)行時(shí)的指令排序。Op緩存之間的延遲要低得多。最終,所有這些都加起來很大,特別是AMD聲稱IPC增加19%,每瓦提升24%。
除此之外,還有一些新功能,一些次要功能,一些重要功能。在安全方面,Zen 3現(xiàn)在支持控制流實(shí)施技術(shù)(Control-Flow Enforcement Technology :CET),基本上是用于阻止ROP攻擊的影子堆棧。VAES和VPCLMULQD這兩個(gè)指令現(xiàn)在具有AVX2支持,這應(yīng)該可以極大地緩解等待此情況的粉絲的煩惱。越來越多的粉絲正在等待AMD對MPK的描述,該描述有效地允許了更精細(xì)的內(nèi)存權(quán)限。
SemiAccurate詢問了有關(guān)問題,但AMD沒有解釋,但我們認(rèn)為當(dāng)Milan/ Epyc 3發(fā)布時(shí),他們很快就會(huì)解決。
另一個(gè)好處是,AMD終于對其基準(zhǔn)測試設(shè)置進(jìn)行了可靠的披露。希望他們GPU方面也能與時(shí)俱進(jìn)。因?yàn)榭尚湃蔚臄?shù)字都是信任所必需的。
結(jié)論:
最終,我們來到這里,采用Ryzen 5000系列的Zen 3已經(jīng)面世,從遠(yuǎn)處看,它看起來很像Zen 2 / Ryzen3000。放大之后,您可以看到CCD上的所有東西都是全新的向上。
IPC提升19%意味著AMD現(xiàn)在贏了一切,所有以前的英特爾據(jù)點(diǎn)和重要案例現(xiàn)在都清楚看到了Ryzen的勝利。是的,在這里和那里還有一些事情,英特爾仍然可以取得奇數(shù)勝利,但僅此而已。當(dāng)AMD將其產(chǎn)品定價(jià)高于英特爾時(shí),您就知道一切都結(jié)束了。
從這里我們預(yù)計(jì)5nm Zen 4會(huì)在一年內(nèi)上市,并帶來實(shí)質(zhì)性的性能優(yōu)勢。從現(xiàn)在到現(xiàn)在,英特爾都無法與AMD相抗衡。Zen 3明年將表現(xiàn)良好,事實(shí)證明它是如此出色。
正如我們之前所說,AMD幾乎贏得了一切。
責(zé)任編輯:tzh
-
CCD
+關(guān)注
關(guān)注
32文章
881瀏覽量
142259 -
amd
+關(guān)注
關(guān)注
25文章
5468瀏覽量
134160 -
控制器
+關(guān)注
關(guān)注
112文章
16361瀏覽量
178043 -
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211760
發(fā)布評論請先 登錄
相關(guān)推薦
評論