AMD Zen3架構深度解析揭開性能暴漲39%的秘密

AMD基於Zen3全新架構的銳龍5000系列終於解禁上市了,大喊YES的同時有沒有剁手買買買?

接下來,快科技還會奉上銳龍7 5800X、銳龍5 5600X的評測,敬請期待。

這次,銳龍一直以來可以說唯一弱勢的單核心/遊戲性能終於不再是短板,一舉實現了對Intel的反超,而且還是在製造工藝維持7nm工藝完全不變的前提下做到的,全新設計的Zen3架構可以說功不可沒,這也是Zen誕生以來最大規模的變革。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

今天,我們就好好聊一聊Zen3架構的革新之處。

當然了,處理器架構設計是極為高深的學問,我們不可能講得多麼深入、專業,就說說一些比較表層和便於理解的東西,看看如此逆天的性能飛躍究竟如何而來。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

首先,做任何事都要有目標,設計一個處理器架構更是如此。Zen3的目標就有三個:

一是提升單線程性能,專業名詞叫IPC(每時鍾周期指令數),畢竟之前幾代一直追求多核心為主,是時候把單核性能提升到足夠的高度了,不然始終是瘸着腳走路,缺乏長久競爭力。

二是在維持8核心CCD模塊的前提下,統一核心與緩存,提升彼此通信效率,降低延遲。

三是繼續提高能效比,性能提升的同時功耗不能失控。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

為此,Zen3架構對於所有模塊都進行了翻新,前端、預取、解碼、執行、整數、浮點、載入、存儲、緩存等等,每個環節都是煥然一新。

首先,Zen3設計了一個堪稱藝術級的分支預測器,它之後有兩條通道將指令送入隊列,然後進行分派,一是8路關聯的32KB一級指令緩存和x86解碼器,二是4K指令的操作緩存(Op-cache)。

x86解碼器的限制是每個時鍾周期只能處理最多4條指令,但如果是熟悉的指令,就可以放入操作緩存,每個周期就能處理8條,二者結合指令分發效率就大大提升,相比於Zen2直接上升了一個檔次。

指令分派之後就來到執行引擎階段,分為整數、浮點兩大部分,每個時鍾周期可以向它們分派6條指令。

其中,整數單元還是4個,但更加分散,並增加了一個單獨的分支與數據存儲單元,提升吞吐量,每時鍾周期可以生成3個地址。

浮點方面則分為六條流水線,進一步提升吞吐量和效率。

記憶體方面,每時鍾周期可以執行3個載入,或者1個載入加2個存儲,再次提升吞吐量,並且可以更靈活地處理不同工作負載。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

單純說Zen3可能感覺不到什麼,那就對比一下Zen2,變化太多還是撿最核心的說。

前端方面,主要有容量翻番的L1 BTB、更大的分支預測器帶寬、更快的預測錯誤恢復、更快的操作緩存拾取、更精細的操作緩存流水線切換,等等。

執行引擎方面,主要有獨立的分支與數據存儲單元、更大的整數窗口、更低的特定整數/浮點指令延遲、6寬度拾取與分發、更寬的浮點分派、更快的浮點FMAC(乘法累加器),等等。

載入/存儲方面,主要有更高的載入帶寬(2個變3個)、更高的存儲帶寬(1個變2個)、更靈活的載入/存儲指令、更好的記憶體依賴檢測,等等。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

以上是Zen、Zen2、Zen3三代架構在核心、緩存一些關鍵指標上的變化。乍一看,Zen3變化的力度似乎不如Zen2,但一則這些數字不能完全反應更深層次的變化,二則Zen3在關鍵指標上更有突破,比如說分發寬度從10/11一躍來到16,執行效率提升可不止一點半點。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

正是基於這些改進,Zen3架構的IPC提升了多達19%,來自前端、載入/存儲、執行引擎、緩存預取、微操作緩存、分支預測等部分的合力貢獻。

那麼大家可能會疑惑了,19%這個數字怎麼來的?

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

說起來也簡單,Zen3、Zen2架構都固定在8核心、4GHz頻率,然後對比不同應用的性能變化,最後綜合而來。

不同工作負載的提升幅度當然不盡相同,變化最大的是銳龍之前的弱項網游,吃雞、LOL、絕對武力全球攻勢這些提升了多達35-39%,再加上頻率提升等,最終大家就看到了銳龍5000在網游里邊翻天覆地的變化。

事實上,提升幅度超過19%平均水平的,基本都是遊戲,也正因為如此,銳龍5000才在遊戲性能上奪走了Intel的最後一處陣地,有資格說自己是最好的遊戲處理器。

提升幅度相對較小的是一些基準性質項目和一些難以深度優化的遊戲,尤其是單線程性能,比如POV-Ray 9%、CPU-Z 12%、CineBench R20 13%,CineBench R15 18%,但即便如此大家也看到了非常明顯的實際性能提升,這可比某幾代酷睿每次最多5%左右的變化良心太多了。

如果你覺得前邊講的架構不過癮,想了解更深入,接下來我們就拆解成不同模塊,單獨來看一看它們的變化。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

前端部分,Zen3打造了一個更快的分支預測器,可以在每個時鍾周期內處理更多指令,同時在操作緩存、指令緩存之間切換更加快速,應付不同工作負載更加靈活高效。

當然,分支預測不可能百分之百准確,都是有概率的,有時候會預測錯誤,這時候的關鍵就是能不能快速恢復,Zen3就大大降低了這時候的延遲,可以快速回到正軌,分支預測的精度也得到提升。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

拾取與解碼部分,這里可以看到分支預測器的更多細節,尤其是精度提升是怎麼來的,比如分支目標緩沖重新設計、L1 B2B容量翻倍、L2 B2B重新組織、間接目標陣列(ITA)增大、流水線縮短、錯誤預測延遲降低等等。

同時,32KB 8路關聯的一級指令緩存進行了優化,從而改進預取能力和利用率。

操作緩存也更加精煉,隊列拾取效率更高,操作緩存與指令緩存流水線的切換也更加自如。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

執行引擎方面,增加了浮點和整數分發寬度,降低了FMAC延遲,還增大了執行窗口。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

整數執行方面,整數調度器節點從92個增至96個(4×24分布),用來重命名邏輯寄存器以提升亂序執行效率的物理寄存器文件也從180個增至192個。

每時鍾周期的分發也從7個增至10個,包括4個ALU(算術邏輯單元)、3個AGU(地址生成單元)、1個分支單元、2個存儲數據單元。

此外,記錄器緩沖(ROB)所保存的x86指令也從224個增至256個。

Zen3里的整數單元沒變還是4個,但共享了ALU、AGU調度器,應對不同負載時更加均衡。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

浮點執行方面,浮點單元增至6條流水線意味着可以一次性分派6個微操指令,同時以前兼顧負責存儲與浮點寄存器文件的MUL乘法、ADD加法整數單元現在改為獨立流水線,需要的時候可以更好地處理真正的MUL、ADD指令。

另外還有更快的4周期FMAC、分離的F2I與存儲單元、更大的調度器。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

載入/存儲方面,存儲隊列節點從48個增至64個,同時增大了與32KB一級指令緩存之間的帶寬,每時鍾周期可以執行3個載入,或者2個浮點與1個存儲,另外還改進了預取算法,以更好地利用容量翻番的三級緩存。

接下來我們回到「高級」層面,看看Zen3在核心與緩存方面的設計。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

這張CDD核心與緩存布局圖大家很熟悉了。Zen2、Zen3的每個CCD都是8個物理核心、32MB三級緩存,但前者是隔離的兩部分,每4個核心共享一半的16MB三級緩存,而後者是完整的一部分,所有8個核心共享所有32MB三級緩存,等於每個核心可獲取的三級緩存容量直接翻了一番。

Zen2上邊,如果某個核心需要的指令、數據在非直接共享的另一半三級緩存里,那麼就要繞一個圈,延遲自然大大增加,現在可以直接一步到位了,當第一個核心需要的數據在第八個核心里的時候,也可以直接在CCX內部快速獲取到。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

再看緩存細節。一二三級容量都沒變,但效率高得多,比如32KB一級指令緩存支持32bit拾取,32KB一級數據緩存支持最多3個載入、2個存儲,512KB二級緩存速度也更快了。

三級緩存容量增大、訪問統一後,可以完全保存二級緩存里被丟棄出來的犧牲品緩存(victim cache),相當於一個備份,因為它們被再次訪問的概率很高,這樣無論哪個核心再次需要,都可以直接從緩存從交換獲取。

另外,每個核心從二級緩存到三級緩存允許64個命中失敗,從三級緩存到記憶體則允許192個命中失敗。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

銳龍5000系列讓然延續chiplet小芯片設計,一個或兩個CCD Die搭配一個IOD(負責記憶體控制器和輸入輸出),但是由於每個CCD里只有統一的一個CCX而不再是獨立的兩個,CCD與IOD、記憶體之間的連接通信也更加一致、高效。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

兩個CCD搭配一個IOD的時候,帶寬是相同的,也是同樣的一致性系統。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

這時候也再次體現了chiplet小芯片設計的好處,可以輕松做到16核心,可以不換布局和平台就升級到Zen3架構,一切都在封裝內部進行。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

安全方面,Zen3重點增加了控制流強制技術(CET),Intel此前已支持。它引入了影子堆棧(shadow stack),只包含返回地址並且存儲在系統記憶體中,同時受到處理器記憶體管理模塊的保護,如果有惡意代碼利用漏洞村改堆棧,在造成傷害之前就能被發現並阻止。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

指令集方面,Zen3增加了MPK,也就是記憶體保護密鑰,可以由軟件更高效地改變數據讀寫權限,另外VAES、VPCLMULQD指令增加支持AVX2。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

最後說說能效,按照官方說法Zen3架構的銳龍9 5950X、銳龍9 5900X相比於i9-10900K分別達到了2.8倍、2.4倍,而對比Zen2架構的銳龍9 3950X、銳龍9 3900XT也分別提高了12%、26%,從而做到了性能更好,但功耗不增加。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

總之,Zen3順利實現了預期目標,包括IPC大幅提升(平均19%)、延遲大幅降低(統一8核心與32MB三級緩存)、記憶體訪問大幅加速(三級緩存直接訪問翻倍)、頻率大幅提高(最高加速4.9GHz)、能效大幅改進(最高2.8倍)、遊戲幀率大幅增長(1080p下平均約26%)。

AMD Zen3架構深度解析揭開性能暴漲39%的秘密

AMD Zen的下一站將是Zen 4,會同時搭配更先進的5nm工藝,目前正在設計中,一切按計劃推進,看時間表應該會在2022年上半年推出。

– THE END –

轉載請註明出處:快科技

#AMD#CPU處理器#架構#銳龍#Zen 3

責任編輯:上方文Q

作者:上方文Q
來源:快科技