AMD基于Zen3全新架構的銳龍5000系列終于解禁上市了,不知道銳龍9 5950X、銳龍9 5900X的性能是否讓大家滿意?大喊YES的同時有沒有剁手買買買?
接下來,快科技還會奉上銳龍7 5800X、銳龍5 5600X的評測,敬請期待。
這次,銳龍一直以來可以說唯一弱勢的單核心/游戲性能終于不再是短板,一舉實現了對Intel的反超,而且還是在制造工藝維持7nm工藝完全不變的前提下做到的,全新設計的Zen3架構可以說功不可沒,這也是Zen誕生以來最大規(guī)模的變革。
今天,我們就好好聊一聊Zen3架構的革新之處。
當然了,處理器架構設計是極為高深的學問,我們不可能講得多么深入、專業(yè),就說說一些比較表層和便于理解的東西,看看如此逆天的性能飛躍究竟如何而來。
首先,做任何事都要有目標,設計一個處理器架構更是如此。Zen3的目標就有三個:
一是提升單線程性能,專業(yè)名詞叫IPC(每時鐘周期指令數),畢竟之前幾代一直追求多核心為主,是時候把單核性能提升到足夠的高度了,不然始終是瘸著腳走路,缺乏長久競爭力。
二是在維持8核心CCD模塊的前提下,統(tǒng)一核心與緩存,提升彼此通信效率,降低延遲。
三是繼續(xù)提高能效比,性能提升的同時功耗不能失控。
為此,Zen3架構對于所有模塊都進行了翻新,前端、預取、解碼、執(zhí)行、整數、浮點、載入、存儲、緩存等等,每個環(huán)節(jié)都是煥然一新。
首先,Zen3設計了一個堪稱藝術級的分支預測器,它之后有兩條通道將指令送入隊列,然后進行分派,一是8路關聯的32KB一級指令緩存和x86解碼器,二是4K指令的操作緩存(Op-cache)。
x86解碼器的限制是每個時鐘周期只能處理最多4條指令,但如果是熟悉的指令,就可以放入操作緩存,每個周期就能處理8條,二者結合指令分發(fā)效率就大大提升,相比于Zen2直接上升了一個檔次。
指令分派之后就來到執(zhí)行引擎階段,分為整數、浮點兩大部分,每個時鐘周期可以向它們分派6條指令。
其中,整數單元還是4個,但更加分散,并增加了一個單獨的分支與數據存儲單元,提升吞吐量,每時鐘周期可以生成3個地址。
浮點方面則分為六條流水線,進一步提升吞吐量和效率。
內存方面,每時鐘周期可以執(zhí)行3個載入,或者1個載入加2個存儲,再次提升吞吐量,并且可以更靈活地處理不同工作負載。
單純說Zen3可能感覺不到什么,那就對比一下Zen2,變化太多還是撿最核心的說。
前端方面,主要有容量翻番的L1 BTB、更大的分支預測器帶寬、更快的預測錯誤恢復、更快的操作緩存拾取、更精細的操作緩存流水線切換,等等。
執(zhí)行引擎方面,主要有獨立的分支與數據存儲單元、更大的整數窗口、更低的特定整數/浮點指令延遲、6寬度拾取與分發(fā)、更寬的浮點分派、更快的浮點FMAC(乘法累加器),等等。
載入/存儲方面,主要有更高的載入帶寬(2個變3個)、更高的存儲帶寬(1個變2個)、更靈活的載入/存儲指令、更好的內存依賴檢測,等等。
以上是Zen、Zen2、Zen3三代架構在核心、緩存一些關鍵指標上的變化。乍一看,Zen3變化的力度似乎不如Zen2,但一則這些數字不能完全反應更深層次的變化,二則Zen3在關鍵指標上更有突破,比如說分發(fā)寬度從10/11一躍來到16,執(zhí)行效率提升可不止一點半點。
正是基于這些改進,Zen3架構的IPC提升了多達19%,來自前端、載入/存儲、執(zhí)行引擎、緩存預取、微操作緩存、分支預測等部分的合力貢獻。
那么大家可能會疑惑了,19%這個數字怎么來的?
說起來也簡單,Zen3、Zen2架構都固定在8核心、4GHz頻率,然后對比不同應用的性能變化,最后綜合而來。
不同工作負載的提升幅度當然不盡相同,變化最大的是銳龍之前的弱項網游,吃雞、LOL、CSGO這些提升了多達35-39%,再加上頻率提升等,最終大家就看到了銳龍5000在網游里邊翻天覆地的變化。
事實上,提升幅度超過19%平均水平的,基本都是游戲,也正因為如此,銳龍5000才在游戲性能上奪走了Intel的最后一處陣地,有資格說自己是最好的游戲處理器。
提升幅度相對較小的是一些基準性質項目和一些難以深度優(yōu)化的游戲,尤其是單線程性能,比如POV-Ray 9%、CPU-Z 12%、CineBench R20 13%,CineBench R15 18%,但即便如此大家也看到了非常明顯的實際性能提升,這可比某幾代酷睿每次最多5%左右的變化良心太多了。
如果你覺得前邊講的架構不過癮,想了解更深入,接下來我們就拆解成不同模塊,單獨來看一看它們的變化。
前端部分,Zen3打造了一個更快的分支預測器,可以在每個時鐘周期內處理更多指令,同時在操作緩存、指令緩存之間切換更加快速,應付不同工作負載更加靈活高效。
當然,分支預測不可能百分之百準確,都是有概率的,有時候會預測錯誤,這時候的關鍵就是能不能快速恢復,Zen3就大大降低了這時候的延遲,可以快速回到正軌,分支預測的精度也得到提升。
拾取與解碼部分,這里可以看到分支預測器的更多細節(jié),尤其是精度提升是怎么來的,比如分支目標緩沖重新設計、L1 B2B容量翻倍、L2 B2B重新組織、間接目標陣列(ITA)增大、流水線縮短、錯誤預測延遲降低等等。
同時,32KB 8路關聯的一級指令緩存進行了優(yōu)化,從而改進預取能力和利用率。
操作緩存也更加精煉,隊列拾取效率更高,操作緩存與指令緩存流水線的切換也更加自如。
執(zhí)行引擎方面,增加了浮點和整數分發(fā)寬度,降低了FMAC延遲,還增大了執(zhí)行窗口。
整數執(zhí)行方面,整數調度器節(jié)點從92個增至96個(4×24分布),用來重命名邏輯寄存器以提升亂序執(zhí)行效率的物理寄存器文件也從180個增至192個。
每時鐘周期的分發(fā)也從7個增至10個,包括4個ALU(算術邏輯單元)、3個AGU(地址生成單元)、1個分支單元、2個存儲數據單元。
此外,記錄器緩沖(ROB)所保存的x86指令也從224個增至256個。
Zen3里的整數單元沒變還是4個,但共享了ALU、AGU調度器,應對不同負載時更加均衡。
浮點執(zhí)行方面,浮點單元增至6條流水線意味著可以一次性分派6個微操指令,同時以前兼顧負責存儲與浮點寄存器文件的MUL乘法、ADD加法整數單元現在改為獨立流水線,需要的時候可以更好地處理真正的MUL、ADD指令。
另外還有更快的4周期FMAC、分離的F2I與存儲單元、更大的調度器。
載入/存儲方面,存儲隊列節(jié)點從48個增至64個,同時增大了與32KB一級指令緩存之間的帶寬,每時鐘周期可以執(zhí)行3個載入,或者2個浮點與1個存儲,另外還改進了預取算法,以更好地利用容量翻番的三級緩存。
接下來我們回到“高級”層面,看看Zen3在核心與緩存方面的設計。
這張CDD核心與緩存布局圖大家很熟悉了。Zen2、Zen3的每個CCD都是8個物理核心、32MB三級緩存,但前者是隔離的兩部分,每4個核心共享一半的16MB三級緩存,而后者是完整的一部分,所有8個核心共享所有32MB三級緩存,等于每個核心可獲取的三級緩存容量直接翻了一番。
Zen2上邊,如果某個核心需要的指令、數據在非直接共享的另一半三級緩存里,那么就要繞一個圈,延遲自然大大增加,現在可以直接一步到位了,當第一個核心需要的數據在第八個核心里的時候,也可以直接在CCX內部快速獲取到。
再看緩存細節(jié)。一二三級容量都沒變,但效率高得多,比如32KB一級指令緩存支持32bit拾取,32KB一級數據緩存支持最多3個載入、2個存儲,512KB二級緩存速度也更快了。
三級緩存容量增大、訪問統(tǒng)一后,可以完全保存二級緩存里被丟棄出來的犧牲品緩存(victim cache),相當于一個備份,因為它們被再次訪問的概率很高,這樣無論哪個核心再次需要,都可以直接從緩存從交換獲取。
另外,每個核心從二級緩存到三級緩存允許64個命中失敗,從三級緩存到內存則允許192個命中失敗。
銳龍5000系列讓然延續(xù)chiplet小芯片設計,一個或兩個CCD Die搭配一個IOD(負責內存控制器和輸入輸出),但是由于每個CCD里只有統(tǒng)一的一個CCX而不再是獨立的兩個,CCD與IOD、內存之間的連接通信也更加一致、高效。
兩個CCD搭配一個IOD的時候,帶寬是相同的,也是同樣的一致性系統(tǒng)。
這時候也再次體現了chiplet小芯片設計的好處,可以輕松做到16核心,可以不換布局和平臺就升級到Zen3架構,一切都在封裝內部進行。
安全方面,Zen3重點增加了控制流強制技術(CET),Intel此前已支持。它引入了影子堆棧(shadow stack),只包含返回地址并且存儲在系統(tǒng)內存中,同時受到處理器內存管理模塊的保護,如果有惡意代碼利用漏洞村改堆棧,在造成傷害之前就能被發(fā)現并阻止。
指令集方面,Zen3增加了MPK,也就是內存保護密鑰,可以由軟件更高效地改變數據讀寫權限,另外VAES、VPCLMULQD指令增加支持AVX2。
最后說說能效,按照官方說法Zen3架構的銳龍9 5950X、銳龍9 5900X相比于i9-10900K分別達到了2.8倍、2.4倍,而對比Zen2架構的銳龍9 3950X、銳龍9 3900XT也分別提高了12%、26%,從而做到了性能更好,但功耗不增加。
總之,Zen3順利實現了預期目標,包括IPC大幅提升(平均19%)、延遲大幅降低(統(tǒng)一8核心與32MB三級緩存)、內存訪問大幅加速(三級緩存直接訪問翻倍)、頻率大幅提高(最高加速4.9GHz)、能效大幅改進(最高2.8倍)、游戲幀率大幅增長(1080p下平均約26%)。
AMD Zen的下一站將是Zen 4,會同時搭配更先進的5nm工藝,目前正在設計中,一切按計劃推進,看時間表應該會在2022年上半年推出。
關鍵詞: