Skip to content
WONGCW 網誌
  • 首頁
  • 論壇
  • 微博
  • 壁紙下載
  • 免費圖床
  • 視頻下載
  • 聊天室
  • SEO工具
  • 支援中心
  • 表格製作
  • More
    • 在線名片
    • 網頁搜索
    • 天氣預報
    • 二維碼生成器
  • Search Icon

WONGCW 網誌

記錄生活經驗與點滴

萬字長文解讀AMD新架構

萬字長文解讀AMD新架構

2019-06-15 Comments 0 Comment

一年多來,我們一直惦念著AMD的下一代處理器產品。新的chiplet設計被認為是在驅動性能和可擴展性方面的重大突破,特別是在越來越小的工藝節點上製造高頻大芯片變得越來越困難的情況下。AMD預計將通過Ryzen和EPYC在其處理器系列中部署其chiplet範式,這些chiplet每個都有8個下一代Zen 2核心。

今天,AMD更詳細地介紹了Zen 2核心,為公司上週在Computex上展示的比上一代產品提高15%的時鐘性能提供了理由。

AMD的Zen 2產品組合

目前AMD宣布擁有Zen 2核心的產品包括Ryzen第三代消費級CPU,即Ryzen 3000系列,以及AMD下一代企業EPYC處理器,即Rome。到目前為止,AMD已經公佈了6款消費級Ryzen 3000處理器的詳細信息,包括核心數量、頻率、內存支持和電源。關於服務器處理器的細節,除了一些峰值之外,預計將在未來幾個月的適當時候公佈。

與第一代Zen相比,Zen 2的設計範式已經發生了顯著的變化。新平台和核心實現是圍繞台積電7nm工藝的小型8核chiplet設計的,尺寸約74~80平方毫米。在這些chiplet上有兩組四核組成的“核心複合體”(CCX),其中包含這4個核心和一組L3緩存——Zen 2的L3緩存是Zen 1的兩倍。

每個完整的CPU,無論它有多少chiplet,都通過Infinity Fabric鏈路與中央IO芯片配對。IO芯片充當所有片外通信的中心樞紐,因為它包含處理器的所有PCIe通道、內存通道,以及與其他chiplet和其他CPU之間的Infinity Fabric鏈路。EPYC Rome處理器的IO芯片基於台積電的14nm工藝製造,而消費類處理器IO芯片(體積更小,功能更少)則基於GlobalFoundries的12nm工藝製造。

這款名為“Matisse”(或稱Ryzen 3rd Gen、Ryzen 3000系列)的消費級處理器擁有最多兩個chiplet,16個內核。AMD將在7月7日推出6個版本的Matisse,從6核到16核不等。6核處理器和8核處理器有一個chiplet,8核以上的處理器有兩個chiplet,但在所有情況下IO芯片都是相同的。這意味著每個基於Zen 2的Ryzen 3000處理器都可以訪問24個PCIe 4.0通道和雙通道內存。根據今天的公告,Ryzen 5 3600的價格將從199美元到16核的700美元以上(我們正在等待這個價格的最終確認)。

基於Zen 2 chiplet構建的EPYC Rome處理器擁有多達8個處理器,使一個平台可以支持多達64個核心。與消費級處理器一樣,chiplet不可以直接相互通信——每個chiplet只能直接連接到中央IO芯片。IO芯片包含8個內存通道的鏈路,以及多達128個PCIe 4.0連接通道。

AMD的路線圖

在討論新產品線之前,有必要回顧一下我們目前在AMD的計劃路線圖中所處的位置。

AMD之前的路線圖展示了從Zen到Zen 2、Zen 3的轉變,AMD解釋說,這個結構已有多年,2017年發布Zen,2019年發布Zen 2,2021年發布Zen 3。節奏並不完全是一年一代,因為這依賴於AMD的設計和製造能力,以及與代工廠合作夥伴的協議和當前的市場力量。

AMD曾表示,Zen 2的計劃始終是在7nm工藝上推出,最終使用台積電的7nm製程(Global Foundries未能及時準備好7nm工藝,並最終放棄了這一計劃)。下一代Zen 3預計將與更新的7nm工藝保持一致,目前AMD尚未對潛在的“Zen 2+”設計發表任何評論,儘管目前我們並不期望看到它。

除了Zen 3之外,AMD已經聲明Zen 4和Zen 5目前正處於各自設計的不同階段,但是AMD沒有承諾特定的時間框架或工藝節點技術。AMD過去曾表示,這些平台和處理器設計的範式都是提前3~5年制定的,公司必須在每一代產品上都下大賭注,以確保自己能夠保持競爭力。

為了深入了解Zen 4,在Computex上,AMD嵌入式和半定制組的高級副總裁Forrest Norrod在採訪中向AnandTech獨家透露了AMD Zen 4 EPYC處理器的代號:Genoa。

Forrest解釋說,Zen 5的代號遵循類似的模式,但他不願對Zen 4產品的時間框架發表評論。鑑於Zen 3的設計預計將在2020年年中推出,如果AMD遵循這一節奏,那麼Zen 4將在2021年末/2022年初推出。目前還不清楚它將如何進入AMD的消費級路線圖計劃,它將取決於AMD如何接近其芯片範式和未來對封裝技術的調整,以實現進一步的性能改進。

Zen 2的性能聲明

在Computex上,AMD宣布他們已經設計出了Zen 2,當比較相同頻率的Zen 2和Zen+時,Zen 2可以提供比Zen+平台高15%的原始性能。與此同時,AMD還聲稱,在相同的功率下,Zen 2可以提供1.25倍以上的性能增益,或在同樣的性能下只有一半的功耗。結合這一點,就特定基準而言,AMD聲稱其每瓦性能比其上一代產品高75%,比競爭對手高45%。

這些數字我們目前無法核實,因為我們手頭沒有相關產品,當7月7日禁令解除時,我們會確定基準測試結果。AMD確實花了大量的時間來研究Zen 2微架構的新變化,以及平台級別的變化,以展示該產品與上一代產品相比是如何改進的。

還應該注意的是,在AMD最近的技術日期間,該公司多次表示,他們無意與主要競爭對手在漸進式更新上反复拉鋸,試圖打敗對方,這可能會導致技術停滯不前。AMD的高管們表示,無論競爭對手是誰,AMD都將竭盡所能地挑戰每一代產品的性能極限。首席執行官Lisa Su博士和首席技術官Mark Papermaster都表示,他們預計Zen 2產品組合推出的時間表將與競爭激烈的英特爾10nm產品線交叉。儘管情況並非如此,AMD的高管們表示,他們仍在按計劃推進他們的路線圖。

AMD在展示其即將推出的Matisse處理器的性能時,選擇的基準是Cinebench。Cinebench是一種浮點基準測試,該公司在這方面一直做得很好,它傾向於檢測CPU FP性能以及緩存性能,儘管它通常不涉及很多內存子系統。

早在今年1月的CES 2019上,AMD就展示了一款未命名的8核Zen 2處理器,與英特爾的高端8核處理器i9-9900K相比,二者在Cinebench R15上的系統得分大致相同,但AMD全系統的耗電量約為英特爾的1/3或更少。在5月份的Computex上,AMD公佈了很多8核和12核的細節,以及這些芯片在單線程和多線程Cinebench R20結果中的比較。

AMD表示,在比較不同內核數量時,它的新處理器在CPU基準測試方面提供了更好的單線程性能、更好的多線程性能、更低的功耗和更低的價格。

談到遊戲,AMD在這方面相當樂觀。在1080p時,將Ryzen 7 2700X與Ryzen 7 3800X進行比較,AMD希望幀速率每一代都能有11%~34%的增長。

在比較AMD和英特爾處理器時,AMD堅持對熱門遊戲進行1080p測試,再次比較核心數量和價格類似的處理器。在幾乎所有的比較中,AMD的產品和英特爾的產品都不相上下,AMD有的高些,有的低些,或平分秋色。以下以250美元產品為例進行比較:

此時,遊戲性能旨在展示頻率和IPC的改進,而不是展示PCIe 4.0帶來的好處。在頻率方面,AMD表示,儘管7nm芯片尺寸縮小且通路電阻率較高,但與GlobalFoundries的14nm和12nm相比,它們能夠從台積電7nm工藝中獲得更高的頻率。

AMD還評論了新的L3緩存設計,因為它從2MB/核心變成了4MB/核心。據AMD稱,L3緩存翻了一倍,使用獨立GPU進行遊戲時,1080p的性能提升了11%~21%。

Zen 2中有一些新指令可以幫助驗證這些數字。

Windows優化

對於使用Windows的非英特爾處理器而言,一個令人頭疼的關鍵問題是操作系統中的優化和調度程序安排。我們在過去已經看到Windows對非英特爾微架構佈局是多麼地不友好,例如AMD以前在Bulldozer中的模塊設計、高通在Snapdraon上使用的混合CPU策略,以及最近在Threadripper上進行的多芯片安排,以便將不同的內存延遲域引入消費級計算。

顯然,AMD與微軟有密切的關係,當涉及到識別處理器的非常規核心拓撲時,這兩家公司致力於確保線程和內存分配,沒有程序驅動的方向,試圖最大限度地利用系統。隨著5月10日Windows的更新,一些額外的功能已經到位,以充分利用即將到來的Zen 2微架構和Ryzen 3000芯片佈局。

優化有兩方面,這兩方面都很容易解釋。

線程分組

第一個是線程分配。當處理器具有不同的CPU核心“組”時,分配線程的方式也就不同,所有這些方法都有各自的優缺點。線程分配的兩個極端歸結為線程分組和線程擴展。

線程分組是當新線程生成時,它們將被直接分配到已經擁有線程的內核旁邊的內核上。這使線程緊密結合在一起,用於線程到線程的通信,但是它可以創建高功率密度的區域,特別是當處理器上有多個內核但只有幾個處於活動狀態的時候。

線程擴展是指內核彼此放置得盡可能遠。這意味著第二個線程盡可能遠地在不同的chiplet或不同的核心複合體(CCX)上產生。這允許CPU通過沒有高功率密度的區域來保持高性能,通常在多個線程上提供最佳的turbo性能。

線程擴展的危險在於,當一個程序生成兩個線程,而這兩個線程最終位於CPU的不同位置的時候。在Threadrapper中,這甚至可能意味著第二個線程位於CPU的一個具有較長內存延遲的部分,從而導致兩個線程之間的潛在性能不平衡,即便這些線程所在的內核處於較高的turbo頻率。

由於現代軟件(特別是視頻遊戲)正在產生多線程而不是依賴單個線程,並且這些線程需要相互通信,AMD正在從混合線程擴展技術轉向線程分組技術。這意味著在訪問另一個CCX之前,一個CCX將被線程填滿。AMD認為,儘管一個chiplet中具有高功率密度的潛力,而另一個可能處於非活動狀態,但對於整體性能而言,這仍然是值得的。

對於Matisse而言,這應該可以為有限的線程場景提供一個很好的改進。看看這對即將到來的EPYC Rome CPU或未來的Threadripper設計有多大影響將會很有趣。AMD在其解釋中提供的單一基準是1080p Low的《火箭聯盟》,報告稱幀速率增加了15%。

時鐘提升

對於熟悉Skylake微架構的用戶來說,你可能還記得英特爾推出了一項名為Speed Shift的新功能,使處理器能夠更自由地在不同P狀態之間進行調整,以及非常快速地從空閒調整到負載——Skylake的第一個版本從100毫秒到40毫秒,然後Kaby Lake下降到15毫秒。它通過將P狀態控制從操作系統返回給處理器來實現這一點,處理器根據指令吞吐量和請求做出反應。在Zen 2中,AMD現在實現了相同的功能。

相比於英特爾,AMD在頻率調整方面已經具有足夠的粒度,允許25MHz而不是100MHz的差異,但是,當涉及非常突發驅動的工作負載(burst-driven workload)時,能夠實現更快的ramp- to-load頻率跳變將給AMD帶來幫助,例如WebXPRT(英特爾最喜歡這種演示)。根據AMD的說法,使用Zen 2實現這一功能的方式將需要BIOS更新以及Windows 5月10日的更新,但是它將把Zen的頻率提升時間從30毫秒降低到Zen 2的1~2毫秒。值得注意的是,這比英特爾給出的數字要快得多。

AMD實現的技術名稱涉及CPPC2,即Collaborative Power Performance Control 2,AMD的指標表明這會增加突發工作負載和應用程序負載。AMD表示,使用PCMark10的應用程序啟動子測試,應用程序的啟動時間性能提升了6%。

增強了Zen 2的安全性

Zen 2的另一個方面是AMD用來提高現代處理器安全性要求的方法。正如已經報導過的,最近一系列的側通道攻擊並沒有影響AMD處理器,這主要是因為AMD管理其TLB緩衝區的方式,這些緩衝區在大部分成為問題之前總是需要額外的安全檢查。儘管如此,對於AMD易受攻擊的問題,它已經為這些問題實現了一個完全基於硬件的安全平台。

這裡的變化來自Speculative Store Bypass,稱為Spectre v4,AMD現在有額外的硬件與操作系統或虛擬內存管理器(如hypervisor)協同工作,以便進行控制。AMD預計這些更新不會帶來任何性能變化。諸如Foreshadow和Zombieload等新問題不會影響AMD處理器。

新指令緩存和內存帶寬QoS控制

與大多數新的x86微架構一樣,存在通過新指令提高性能的動力,但也會嘗試在支持哪些指令方面實現不同供應商之間的對等。對於Zen 2,雖然AMD沒有像英特爾那樣迎合一些更古怪的指令集,但它在三個不同的領域增加了新的指令。

第一個是CLWB,以前已經在英特爾處理器上看到過它與非易失性內存有關。此指令允許程序將數據推回到非易失性內存中,以防系統收到停機命令造成數據丟失。儘管AMD沒有明確說明,但還有其他與保護數據到非易失性內存系統相關的指令。這可能表明AMD正在尋求在未來的設計中更好地支持非易失性內存的硬件和結構,特別是在EPYC處理器中。

第二個緩存指令WBNOINVD是一個僅限AMD的命令,但它基於其他類似的命令,如WBINVD。此命令用於預測將來可能需要緩存的特定部分,並清除它們,以便加速將來的計算。如果所需的緩存行未準備就緒,則會在所需操作之前處理刷新命令,從而增加延遲——當延遲關鍵型指令仍沿流水線中傳遞時提前運行緩存行刷新,有助於加速其最終執行。

在QoS下歸檔的最後一組指令實際上與如何分配緩存和內存優先級有關。

當針對不同客戶將雲CPU拆分為不同的容器(container)或虛擬機(VM)時,性能級別並不總是一致的,因為性能可能會根據另一個虛擬機在系統上執行的操作而受到限制。這就是所謂的“嘈雜鄰居”問題:如果其他人正在佔用所有核心到內存的帶寬(即L3緩存),那麼系統上的另一個VM就很難訪問它所需的內容。由於這個嘈雜的鄰居,其他VM在處理其工作負載時的延遲將是高度可變的。或者,如果一個任務關鍵型VM在系統上,而另一個VM一直在請求資源,那麼任務關鍵型VM可能會錯過它的目標,因為它沒有訪問所需的所有資源。

除了確保單個用戶可以完全訪問硬件之外,處理嘈雜的鄰居很困難。大多數雲提供商和操作甚至不會告訴你是否有鄰居,在實時VM遷移的情況下,這些鄰居可能會非常頻繁地更改,因此不能保證在任何時候都有持續的性能。這就需要一組專用的QoS(服務質量)指令。

與英特爾的實現一樣,當一系列虛擬機分配到虛擬機管理程序之上的系統上時,虛擬機管理程序可以控制每個虛擬機有多少內存帶寬和緩存。如果任務關鍵型8核虛擬機需要訪問64MB的L3和至少30GB/s的內存帶寬,則虛擬機監控程序可以控制優先級虛擬機始終有權訪問該數量,並將其從其他虛擬機的池中完全刪除,或者在任務關鍵型虛擬機突然進入完全訪問時智能地限制其要求。

英特爾只在其Xeon可擴展處理器上實現了這一功能,但AMD將為消費級和企業用戶在Zen 2處理器系列中實現這一功能。

我在這個功能上遇到的最直接的問題是在消費級方面。想像一下,如果一個視頻遊戲需要訪問所有的緩存和所有的內存帶寬,而一些流媒體軟件卻不能訪問——這可能會對系統造成嚴重的破壞。AMD解釋說,雖然從技術上講,單個程序可以請求一定級別的QoS,但是,這些請求是否有效和合適將取決於操作系統或虛擬機監控程序。他們將此功能更多地視為發揮虛擬機監控程序作用時使用的一種企業功能,而不是消費級系統上的裸機安裝。

CCX尺寸

向下移動節點大小會在核心內外帶來許多挑戰。即使不考慮功率和頻率,將結構放入芯片,然後將芯片集成到封裝中,以及通過正確的連接為芯片的正確部分提供電力本身也成為一種練習。AMD讓我們深入了解7nm如何改變其部分設計,以及其中的封裝挑戰。

AMD放棄的一個關鍵指標與核心複合體(CCX)有關:4個核心,相關的核心結構,然後是L2和L3緩存。AMD稱,在12 nm和ZEN+核心的情況下,單個核心複合體為60平方毫米,其中核心佔44平方毫米,8MB的L3佔16平方毫米。把其中兩個60平方毫米的複合體加上兩個帶內存控制器、PCIe通道、4個IF鏈路和其他IO,Zen+ Zeppelin裸片總共是213平方毫米。

對於Zen 2,單個chiplet是74平方毫米,其中31.3平方毫米是核心複合體,有16 MB的L3。AMD沒有將這31.3個數字拆分為核心和L3,但是人們可以想像L3可能接近這個數字的50%。chiplet如此小的原因是它不需要內存控制器,它只有一個IF鏈路,沒有IO,因為所有的平台要求都在IO芯片上。這使得AMD可以使chiplet非常緊湊。然而,如果AMD打算繼續增加L3緩存,那麼L3緩存可能會佔據芯片的大部分。

但總體而言,AMD已經表示CCX(核心加L3)的尺寸減少了47%。這顯示了巨大的可擴展性,特別是當+15%的原始指令吞吐量和增加的頻率開始發揮作用時。每平方毫米的性能將是一個非常令人興奮的指標。

封裝

由於Matisse使用AM4插槽,Rome使用EPYC插槽,AMD表示他們必須押寶封裝技術,以保持兼容性。這些賭注中的一些最終總是為了持續的支持而進行權衡,但AMD相信,為了兼容性值得付出額外的努力。

AMD談到的與封裝有關的關鍵問題之一是,每個裸片如何連接到封裝上。為了實現pin-grid陣列台式機處理器,必須以BGA方式將芯片固定到處理器上。AMD表示,由於採用了7nm工藝,凸點間距(裸片和封裝上的焊球之間的距離)從12nm的150微米減少到7nm的130微米。這聽起來並不多,但AMD表示,世界上只有兩家廠商擁有足夠的技術來做到這一點。唯一的替代方案是使用更大的芯片來支持更大的凸點間距,最終導致芯片中出現大量空閒(或不同的設計範式)。

為了實現更緊密的凸點間距,其中一種方法是調整在芯片下側處理凸點的方式。通常情況下,封裝上的焊料凸點是一個無鉛焊料的團或球,依靠表面張力和回流的物理特性來確保其一致且規則。然而,為了實現更緊密的凸點間距,AMD必須轉向銅柱焊料凸點拓撲。

為了實現這一特性,銅被外延沉積在掩模內,以便形成回流焊料所使用的“支架”。由於焊柱的直徑,所需的掩模較少,從而產生較小的焊料半徑。由於其在Matisse內部的雙芯片設計,AMD還遇到了另一個問題:如果IO芯片使用標準焊料凸點掩模,並且chiplet使用銅柱,則集成散熱器需要有一定的高度一致性。對於較小的銅柱,這意味著管理銅柱的增長水平。

AMD解釋說,與建造不同高度的散熱器相比,實際上管理這種連接實現更容易,因為散熱器的沖壓工藝不會產生如此小的公差。AMD預計,未來所有7nm設計都將採用銅柱實現。

佈線

除了將裸片放在有機襯底上之外,該襯底還必須管理裸片與裸片外部之間的連接。為了處理額外的佈線,AMD必須將封裝中的襯底層增加到12層(沒有透露在Rome需要多少層,也許14層)。對於單核chiplet和雙核chiplet處理器而言,這也變得有些複雜,特別是在將裸片放進封裝之前對其進行測試時。

從圖中我們可以清楚地看到從兩個chiplet到IO芯片的IF鏈路,IO芯片也處理內存控制器以及貌似電源平面的任務。chiplet之間沒有封裝內鏈接:chiplet無法直接通信,chiplet之間的所有通信都是通過IO芯片處理的。

AMD表示,採用這種佈局,他們還必須注意處理器如何放置在系統中,以及冷卻和內存佈局。此外,當涉及到更快的內存支持或PCIe 4.0更嚴格的容差時,所有這些也需要被考慮,以便在不受其他佈線干擾的情況下為信號傳導提供最佳路徑。

AMD Zen 2微架構概述快速分析

在AMD的技術日,在場的是同事兼首席架構師Mike Clark,他經歷了這些變化。Mike是一個很好的工程師,儘管總是讓我感到有趣的是,談論最新產品上市的工程師們已經在公司工作了一代、兩代或三代(對於任何公司都是這樣,不僅僅是AMD)。Mike說,他花了一段時間來回想Zen+到Zen 2的具體變化,而他的腦海中已經經歷了幾代產品的變化。

Zen 2的一個有趣元素是圍繞其意圖。最初Zen 2僅僅是Zen+的縮小版,從12nm縮小到7nm,類似於我們在本世紀初看到的英特爾的tick-tock模型。然而,AMD根據內部分析和7nm的時間框架,決定使用ZEN 2作為性能更好的平台,以多種方式利用7nm,而不是僅僅在一個新的工藝節點上重新設計相同的佈局。作為調整的結果,AMD正在推動Zen 2的IPC比Zen+提升15%。

當談到微架構的確切變化時,我們基本上看到的仍然是類似於Zen外觀的佈局規劃。Zen 2是Zen系列的一員,在處理x86方面並不是完全的重新設計或不同的範例——與其他具有家族更新的架構一樣,Zen 2提供了更有效的核心和更廣泛的核心,允許更好的指令吞吐量。

從較高的層面來看,核心看起來非常相似。Zen 2設計的亮點包括不同的L2分支預測器,稱為TAGE預測器,micro-op緩存加倍,L3緩存加倍,整數資源增加,加載/存儲資源增加,以及對單操作AVX-256(或AVX2)的支持。AMD表示,基於其能量感知頻率平台,AVX2沒有頻率損失。

AMD還對緩存系統進行了調整,其中最引人注目的是L1指令緩存,它被減半到32kb,但關聯性增加了一倍。進行這種更改是出於重要的原因,我們將在下一頁中對此進行討論。L1數據緩存和L2緩存保持不變,但是事務後備緩衝區(TLB)增加了支持。AMD還表示,它已經在安全方面增加了更深層次的虛擬化支持,有助於實現流水線後續的功能。正如本文前面提到的,還有安全性強化更新。

對於快速分析,可以很容易地看出,在許多情況下,加倍micro-op緩存將為IPC帶來顯著的改進,而把它與負載/存儲資源的增加相結合,會有助於通過更多的指令。加倍L3緩存有助於特定工作負載,支持AVX2單操作也是如此,但改進的分支預測程序也將展示原始性能提升。總而言之,從紙面分析來看,AMD 15%的IPC改進似乎是一個非常合理的數字。

在接下來的幾頁中,我們將深入探討微架構的變化。

提取/預提取

我們從處理器的前端開始,預取器。

AMD在這裡宣傳的主要改進是使用TAGE預測器,儘管它只用於非l1提取。這聽起來可能並不足道:AMD仍然使用哈希感知器預取引擎為L1提取,這將會盡可能多的提取,但TAGE L2分支預測器使用額外的標記來實現更長的分支歷史,以獲得更好的預測路徑。這對於L2預取及以後的預取變得更加重要,哈希感知器優先用於基於功率的L1中的短預取。

在前端,我們還有更大的BTB,以幫助跟踪指令分支和緩存請求。L1 BTB的大小增加了一倍,從256個條目增加到512個條目,L2幾乎增加了一倍,從4K增加到7K。L0 BTB保持在16個條目,但間接目標陣列最多可達1K個條目。總體而言,AMD的這些變化讓誤預測率降低了30%,從而節省了電力。

另一個主要變化是L1指令緩存。我們注意到它對於Zen 2來說更小:只有32KB而非64KB,但是關聯性增加了一倍,從4路增加到8路。考慮到高速緩存的工作方式,這兩種影響最終不會互相抵消,但是32KB L1-I緩存應該更節能,並且有更高的利用率。L1-I緩存並不是孤立地減少的——減少I緩存大小的好處之一是允許AMD將micro-op緩存的大小增加一倍。這兩個結構在核心內部彼此相鄰,因此即使在7nm,我們也有空間限制的實例,導致核心內部結構之間的權衡。AMD表示,這種較小的L1與較大的micro-op緩存的配置,在更多的測試場景中表現更好。

解碼

對於解碼階段,這裡的主要提升是micro-op緩存。通過把2K條目加倍到4K條目,它將比以前包含更多的解碼操作,這意味著它將經歷大量的重用。為了便於使用,AMD提高了從micro-op緩存到緩衝區的調度速度,最多8條融合指令。假設AMD可以經常繞過它的解碼器,這應該是一個非常有效的區塊。

4K條目更令人印象深刻的是當我們將它與競爭對手進行比較的時候。在英特爾的Skylake系列中,這些內核中的micro-op緩存只有1.5K條目。英特爾將Ice Lake的規模增加了50%,達到了2.25K,這個核心將在今年晚些時候進入移動平台,明年可能進入服務器。相比之下,AMD的Zen 2核心將涵蓋從消費級到企業的所有領域。同時,我們也可以將其與Arm A77 CPU的micro-op緩存進行比較,該緩存為1.5K條目,然而,它是Arm為核心設計的第一個micro-op緩存。

Zen 2中的解碼器保持不變,我們仍然可以訪問4個複雜解碼器(Intel是1個複雜解碼器+4個簡單解碼器),解碼指令被緩存到micro-op緩存中,並被分派到micro-op隊列中。

AMD還表示,它已經改進了其micro-op融合算法,但沒有詳細說明這將如何影響性能。目前的micro-op融合轉換已經相當好,所以看看AMD在這裡做了什麼將會很有趣。與ZEN和ZEN+相比,基於對AVX2的支持,這意味著解碼器不需要將AVX2指令分解為兩個micro-op:AVX2現在是通過流水線的單個micro-op。

除了解碼器之外,micro-op隊列和調度可以在每個週期向調度器饋送6個micro-op。但是,這有點不平衡,因為AMD有獨立的整數和浮點調度器:整數調度器每週期可以接受6個micro-op,而浮點調度器只能接受4個micro-op。然而,調度可以同時向兩者發送micro-op。

浮點

浮點性能的關鍵亮點是完全支持AVX2。AMD已經將執行單元的寬度從128位增加到256位,允許單週期AVX2計算,而不是將計算分成兩個指令和兩個週期。這是通過提供256位負載和存儲來增強的,因此FMA單元可以連續饋送。AMD指出,由於其能量感知調度,在使用AVX2指令時沒有預定義的頻率下降(但是頻率可能會根據溫度和電壓要求而降低,但無論使用何種指令,這都是自動的)。

在浮點單元中,隊列每個週期最多接受來自調度單元的4個micro-op,這些micro-op饋入一個包含160個條目的物理寄存器文件。這將移動到4個執行單元,可以在加載和存儲機制中向這些單元提供256b的數據。

除了尺寸加倍之外,FMA還進行了其他調整。AMD表示,他們提高了內存分配、重複物理計算,以及某些音頻處理技術的原始性能。

另一個關鍵更新是將FP乘法延遲從4個週期減少到3個週期。這是相當顯著的進步。AMD表示,公司對很多細節保密,因為公司想在8月的Hot Chips上展示。我們將在7月7日進行全面的指令分析。

整數單元、加載和存儲

整數單元調度器每個週期最多可以接受6個micro-op,這些micro-op將饋送到224個條目的重新排序緩衝區(以前是192個)。整數單元在技術上有7個執行端口,由4個ALU(算術邏輯單元)和3個AGU(地址生成單元)組成。

調度程序由4個16條目的ALU隊列和1個28條目的AGU隊列組成,儘管AGU單元每個週期可以向寄存器文件饋送3個micro-op。基於AMD對通用軟件中指令分佈的模擬,AGU隊列的大小有所增加。這些隊列饋送180個條目的通用寄存器文件(原先是168個),但也跟踪特定的ALU操作,以防止潛在的停機操作。

三個AGU饋送到加載/存儲單元,加載/存儲單元每個週期可以支持兩個256位的讀取和一個256位的寫入。從上圖可以看出,並非所有三個AGU都相同:AGU2只能管理存儲,而AGU0和AGU1可以同時進行加載和存儲。

存儲隊列從44個條目增加到48個條目,數據緩存的TLB也增加了。不過,這裡的關鍵指標是加載/存儲帶寬,因為核心現在每個時鐘可以支持32個字節,而非原來的16個字節。

緩存和Infinity Fabric

緩存中最大的變化就是L1指令緩存,它從64KB減少到了32KB,但是結合度從4路增加到了8路。這一變化使AMD能夠將micro-op緩存的大小從2K條目增加到4K條目,AMD認為這可以更好地平衡現代工作負載的發展。

L1-D緩存仍然是8路32KB ,而L2緩存仍為8路512KB。L3緩存是非包容性緩存(L2是包容性緩存),現在它的大小已經增加了一倍,達到16MB/核心複合體(原先是8MB)。AMD管理L3的方式是每個CCX共享一個16MB的區塊,而不是允許從任何核心訪問L3。

由於L3的大小增加,延遲略有增加。L1仍然是4週期,L2仍然是12週期,但是L3已經從35週期增加到了40週期(這是大緩存的一個特性,它們的延遲會稍微長一些;這是一個有趣的權衡)。AMD已經聲明它已經增加了處理L1和L2丟失的隊列的大小,儘管尚未詳細說明它們現在有多大。

Infinity Fabric

隨著Zen 2的推出,我們也轉向了第二代Infinity Fabric。IF2的主要更新之一是支持PCIe 4.0,因此總線寬度從256位增加到512位。

據AMD稱,IF2的整體效率提高了27%,導致每比特的功耗更低。隨著EPYC中的IF鏈路越來越多,這將變得非常重要,因為數據從chiplet傳輸到IO芯片。

IF2的一個特點是時鐘已經從DRAM主時鐘中分離出來。在Zen和Zen+中,IF頻率與DRAM頻率耦合,這導致了一些有趣的場景,在這些場景中,內存可以運行得更快,但IF中的限制意味著它們都受到時鐘鎖步特性的限制。對於Zen 2,AMD已經為IF2引入了比率,支持1:1的正常比率或2:1的比率,可以將IF2時鐘減半。

這個比率應該在DDR4-3600或DDR4-3800附近自動發揮作用,但這確實意味著IF2時鐘減少了一半,這對帶寬有衝擊效應。應該注意的是,即使DRAM頻率很高,如果IF頻率較慢,則可能會限制從該較快內存獲得的原始性能增益。AMD建議在DDR4-3600附近保持1:1的比例,而是在該速度優化sub-timing。

結論:平台、SoC、核心

構建像Zen 2這樣的核心需要的不僅僅是構建核心。核心、SoC設計和平台之間的相互作用要求不同的內部團隊聯合起來,創造出單獨工作所缺乏的協同水平。AMD在chiplet設計和Zen 2方面所做的工作表現出了巨大的希望,不僅可以利用更小的工​​藝節點,還可以為計算的未來開闢一條道路。

當進入更先進的工藝節點時,主要優點是功耗更低。這可以通過以下幾種方式來實現: 在相同的性能下降低運行的功率,或者使用更多的功率預算來做更多的事情。隨著時間的推移,我們在核心設計中看到了這一點:隨著更多的功率預算被開啟,以及內核中的不同單元變得更高效,額外的功率被更廣泛地用來驅動內核,希望能提高原始指令速率。這不是一個容易解決的問題,因為存在許多權衡因素:Zen 2核心中的一個例子就是L1 I緩存的減少使得AMD的micro-op緩存增加了一倍,AMD希望這樣能提高性能和功耗。對這些工程師來說,實施至少在高層次上可行的方案就像玩樂高一樣。

儘管如此,Zen 2看起來很像Zen。它屬於同一個系列,這意味著它看起來非常相似。AMD在這個平台上所做的一切,啟用PCIe 4.0,並使服務器處理器擺脫類似NUMA的環境,都將有助於AMD的長遠發展。AMD良好的前景取決於它可以驅動的服務器部件的頻率有多高,但Zen 2+ Rome將會著力解決Zen的客戶提出的大量問題。

總之,AMD已經在Zen 2和Zen+的基礎上提高了15%的核心性能。隨著核心的變化,在高層次上看肯定是可行的。專注於性能的用戶會喜歡新的16核Ryzen 9 3950X,而處理器在105W時看起來效率很高,因此看看它在低功耗下會發生什麼會很有趣。我們也期待在接下來的幾個月內Rome推出非常強大的產品,特別是像雙倍FP性能和QoS這樣的特性,64核的原始多線程性能將成為市場的一個有趣的破壞者,特別是價格有效的話。我們很快就會拿到硬件,在7月7日處理器發佈時展示我們的發現。

分享此文:

  • 按一下即可分享至 X(在新視窗中開啟) X
  • 按一下以分享至 Facebook(在新視窗中開啟) Facebook
  • 分享到 WhatsApp(在新視窗中開啟) WhatsApp
  • 按一下以分享到 Telegram(在新視窗中開啟) Telegram
  • 分享到 Pinterest(在新視窗中開啟) Pinterest
  • 分享到 Reddit(在新視窗中開啟) Reddit
  • 按一下即可以電子郵件傳送連結給朋友(在新視窗中開啟) 電子郵件
  • 點這裡列印(在新視窗中開啟) 列印

相關


網絡資訊

Post navigation

PREVIOUS
因未與高通續簽合同LG手機面臨斷供風險
NEXT
小黃車越來越少要退的押金卻越來越多

發表迴響取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料。

More results...

Generic filters
Exact matches only
Search in title
Search in content
Search in excerpt
Filter by 分類
網站公告
Featured
限時免費
Windows 軟件下載
系統軟件
辦公軟件
圖像處理
影音媒體
網絡軟件
應用軟件
Mac 軟件下載
安卓軟件下載
網絡資訊
Mac資訊
Linux資訊
VPS資訊
NASA資訊
WordPress資訊
WeChat資訊
PHP資訊
教學資源
開源程序
網頁工具
SEO工具
醫療健康
其他資訊
Content from
Content to
2019 年 6 月
一 二 三 四 五 六 日
 12
3456789
10111213141516
17181920212223
24252627282930
« 5 月   7 月 »

分類

  • 網站公告
  • 限時免費
  • Windows 軟件下載
  • 系統軟件
  • 辦公軟件
  • 圖像處理
  • 影音媒體
  • 網絡軟件
  • 應用軟件
  • Mac 軟件下載
  • 安卓軟件下載
  • 網絡資訊
  • Mac資訊
  • Linux資訊
  • VPS資訊
  • NASA資訊
  • WordPress資訊
  • WeChat資訊
  • PHP資訊
  • 教學資源
  • 開源程序
  • 網頁工具
  • SEO工具
  • 醫療健康
  • 其他資訊

彙整

近期文章

  • 全面推動「凋零骷髏塔」標準化建設的網路大狂歡是怎麼開啟的? 2025-05-23
  • Windows記事本不再「簡單」 微軟為其新增AI寫作功能 2025-05-23
  • 基於Sora的微軟新工具Bing Video Creator挑戰Veo 各平台均可免費用 2025-05-23
  • 科學家發明結合紅外線和可見光的夜視鏡片 2025-05-23
  • Bluesky 將開始驗證「知名」用戶 2025-05-23
  • Anthropic CEO稱人工智慧模式產生的幻覺其實比人類少 2025-05-23
  • 這些韓國老年海女已擁有基因層面的“超能力” 2025-05-23
  • 防止顯示卡接口燒熔玩家給RTX 4090電源線裝上保險絲還有更狠的 2025-05-23
  • BMWSpeedtop概念車官圖發表售價超過400萬的雙門獵裝轎跑 2025-05-23
  • 馬雲上榜《時代》全球百大慈善人物榜單 2025-05-23

熱門文章與頁面︰

  • z-sms – 在線免費云短信臨時手機號接碼平台網頁版
  • 您可以在Windows 11 24H2 中找回WordPad
  • 電影《尋秦記》宣布2025賀歲檔上映古天樂等原班人馬回歸
  • 彩虹-YH1000無人物流機首飛成功一口氣能飛1500公里
  • 微軟員工再次擾亂Satya Nadella 的主題演講
  • ROG NUC 2025迷你遊戲PC上市:Ultra 9 275HX+RTX 5080首發24999元
  • 鳥寶寶有多內捲?為了讓父母投餵自己長出恐怖的嘴巴
  • ASUS 華碩 RT-AX86U AX5700規格電競路由器 開箱拆解評測
  • Saildrone的首艘鋁製Surveyor自主駕駛勘測船下水參加海軍測試
  • 上海兩大機場直通地鐵虹橋到浦東只要40分鐘全程26元

投遞稿件

歡迎各界人士投遞稿件到admin@wongcw.com

請提供以下資料:

1.你的名字

2.你的電郵

3.分類目錄

4.文章標題

5.文章摘要

6.文章內容

7.文章來源

 

聯繫我們

查詢,投稿,商務合作:
​admin@wongcw.com
​技術支援:
​support@wongcw.com
​客户服務:
​cs@wongcw.com

QQ群:833641851

快帆

MALUS

極度掃描

DMCA.com Protection Status

WONGCW 網誌

  • 免責聲明
  • 捐助我們
  • ThemeNcode PDF Viewer
  • ThemeNcode PDF Viewer SC
  • Events

服務器提供

本站使用之服務器由ikoula提供。

聯繫我們

查詢,投稿,商務合作:
​admin@wongcw.com
​技術支援:
​support@wongcw.com
​客户服務:
​cs@wongcw.com

QQ群:833641851

© 2025   All Rights Reserved.