Intel深入研究了其即將推出的E和P架構設計(他們之前稱之為大核和小核),它看起來像是在功率和效率方面真正的全面飛躍。為了讓讀者了解這一點,這些是以前稱為Gracemont和Goldencove的設計。這次我們就讓Intel專家講解一下架構:
Stephen Robinson深入了解Intel的高效核心 (E-Core)
我們的主要目標是打造世界上最高效的x86 CPU核心。我們想要做到這一點,同時仍然提供比Intel迄今為止最多產的CPU微架構更多的IPC:Skylake。我們還設定了一個積極的晶片面積目標,以便在這些架構錨就位的情況下,可以根據需要使用盡可能多的核心來橫向擴展多核工作負載。我們還希望提供寬泛的頻率範圍。這使我們能夠透過在低電壓下執行來節省電量,並為更苛刻的工作負載增加頻率和提升性能創造空間。
最後我們希望提供豐富的ISA功能,例如可加速現代工作負載的Advanced vector和AI 指令。我很高興地說我們實現了所有目標,我很榮幸介紹Intel最新的高效x86 核心微架構。得益於深前端、寬後端和優化設計以利用 Intel 7,這款CPU核心在多核性能方面實現了突破。現在讓我們從正面開始深入了解細節。
推動高效IPC的第一個方法是確保我們可以盡快處理指令。這從準確的分支預測開始。如果沒有準確的分支預測,大部分工作最終都會沒有被使用,這是一種浪費。我們實施了5,000個入口分支目標計數。我們採用歷史悠久的分支預測來補充它。這有助於我們快速打造準確的指令指針。透過準確的分支預測,可以在對程序執行變得至關重要之前及早發現和糾正諸如指令快取未命中之類的事情。工作負載,如Web瀏覽器、資料庫、資料包處理,這些都受益於這些功能。
我們還有一個64KB的指令快取。這可以保持最有用的指令關閉,而不會消耗記憶體子系統的功率。這種微架構採用Intel首個按需指令長度解碼器,可生成與指令快取一起儲存的預解碼訊息。這為我們提供了最佳的特性組合。以前從未見過的代碼被快速解碼。然而下次執行時。我們繞過解碼器的長度並節省能量。新核心還採用Intel革命性的集群亂序解碼器,每個週期最多可解碼6條指令,同時保持更窄核心的能效。
實現性能的第二個主要方面是確保您提取程式中固有的任何並行性。憑藉五個寬分配、一個寬退出、256個亂序窗口和17個執行端口,該微架構提供比Intel Skylake更通用的IPC,同時消耗一小部分功率。執行端根據每個單元的獨特要求進行調整,從而最大限度地提高性能和能源效率。
四個通用整數執行由雙整數乘法器和除法器補充。我們也可以每個週期解析兩個分支。現在對於Vector Operations,我們有三個SIMD ALU。整數乘法器支援Intel的Virtual Neural Network Instructions (VNNI)。兩個對稱浮點流水線允許執行兩個獨立的加法或乘法運算。感謝Advanced Vector Extensions。
我們還可以在每個週期執行兩條浮點乘法加法指令。高級加密單元完善了Vector Stack,提供AES和Shaw加速。現在實現高效性能的最後一個方面是快速記憶體子系統。兩條加載管道,加上兩條儲存管道,可同時實現32 byte讀取和32 byte頻寬。四個核心之間共享的L2快取可以是2或4 MegaBytes ,具體取決於產品的要求。這個大型L2透過保持數據接近,為單線程工作負載提供高性能和高能效。
它還提供足夠的頻寬來為所有四個核心提供服務。L2可以提供每個週期64 byte的頻寬,擁有17個週期的延遲。記憶體子系統擁有深度緩衝,每個四個核心模組最多可以有64個未命中的最後一級快取及更高等級的未命中。所有快取等級都存在高級預取,以自動檢測各種串流媒體行為。現在Intel資源管理器技術可確保軟體可以控制核心之間的資源。
一套強大的安全功能以及可以支援多種數據類型的ISA對於每個新的微架構都很重要。我們支援Intel Control Flow Enforcement Technology和Intel Virtualization Technology重定向保護等功能。我們更加關注安全性和驗證,並開發了幾種新技術來加強,抵禦某些攻擊媒介,以保持嚴密的安全性。我們還實現了AVX ISA以及支援整數AI操作的新擴展。
除了選擇要包含的內容之外,設計新的微架構最重要的方面之一是決定不包含的內容。我們透過關注那些需要的功能並排除其餘功能來平衡這種權衡。這會提高面積效率,從而使產品能夠擴大數量。當然這也有助於減少每條指令的能量。現在最大限度地降低功耗是當今處理器面臨的最大設計挑戰。功率是多種因素的組合,其中電壓是最重要的,這種微架構和我們專注的設計工作使我們能夠在低電壓下執行以降低功耗,同時創造功率餘量空間以在更高的頻率。
好的。現在讓我們來看看這個新設計的結果。看看我們是否將我們的核心與單個Skylake核心進行比較。我們可以在相同的功率水平下實現40%的性能提升,同時保持相同的性能水平降低40%的功率。換個說法要實現相同的性能,Skylake核心將消耗兩倍半的功率。這是一個巨大的成就。
然而我們對吞吐量結果更加興奮。如果我們將四個新CPU核心與兩個執行四個線程的Skylake進行比較,我們可以提供80%以上的性能,同時仍然消耗更少的電量。或者我們提供相同的吞吐量,同時減少 80% 的功耗。再次這意味著Skylake需要消耗五倍於您想像的相同性能的功率,這對我們來說是非常令人興奮的結果。考慮到我們可以提供四個新核心,佔用空間與單個Skylake核心相似,這令人難以置信。總之我們為我們新的、高度可擴展的產品感到非常自豪。
Adi Yoaz 深入了解Intel的性能核心 (P-Core)
我很高興地宣布我們實現了所有目標,我很榮幸地介紹Intel的新性能X86核心架構。專為速度而設計,突破了低延遲和單應用性能的極限。繼續推動通用性能。我們將機器設計得更寬、更深、更智慧。它有更深的亂序調度器和緩衝區、更多的物理寄存器、更寬的分配窗口和更多的執行核心。使機器更寬更深可以暴露更高程度的並行性並提供更高的性能,前提是它從正確的路徑接收指令並且數據按時進入執行。
為了使這個新的更廣泛、更深入的機器有效,我們還透過改進分支預測和指令供應、折疊依賴鏈並使數據更接近需要的時間的功能使其更智慧。除了加速最常見工作負載的基本功能之外,我們還為更多擁有特定屬性的核心添加了專用功能。例如為了更好地支援擁有大量代碼佔用空間的應用,我們現在正在追蹤更多分支預測目標。
對於擁有大型不規則數據集的新興工作負載,該機器可以同時為四個頁表工作負載提供服務。針對機器學習不斷發展的趨勢,我們添加了專用硬體和新的ISA來執行矩陣乘法運算,從而將AI加速性能提升一個等ˇ及。這是為軟體易用性而設計的,利用了x86編程模型。額外的性能是透過核心自主細粒度電源管理技術實現的。
性能核心整合了一個新的微控制器,可以以微秒而不是毫秒的速度來處理事件,並根據實際應用行為收緊功率預算利用率。結果是任何給定應用的平均頻率更高。這是我們十年來最大的架構轉變。
打造平衡的更寬核心的第一步是擴大和增強核心的前端,供應從解碼器端和微快取路徑都得到改善。冗長的代碼現在加倍運行,每週期32 bytes,並且將添加兩個解碼器以便在從微快取提供微操作時,每個週期能夠從解碼器獲得6個微解碼。我們現在每個週期可以獲得8個microps,並且microp快取本身已增加到4K而不是 2.25k微操作。
這使我們能夠更好地提供亂序引擎,提供更高的微操作頻寬,並在更低的延遲、更短的管道中做到這一點。更好地支援代碼佔用量大的軟體。我們將儲存在IPL中的 4K頁面和大頁面的數量增加了一倍。我們有一個更智慧的代碼預取機制,隱藏了大部分指令快取未命中延遲並提高分支預測準確性以減少跳轉未命中預測。
分支目標緩衝區比上一代大2倍以上,如果代碼量很大,這大大提高了四核的性能。它使用機器學習算法來動態增長和縮小其大小。它在不需要節省電力時關閉多餘的容量,並在需要提高性能時打開額外的容量。有了更寬更智慧的前端,我們現在轉向機器的亂序部分。亂序引擎是魔法發生的地方。這就是CPU架構與所有其他架構的區別。我們正在透過從5個到6個寬重命名分配和從10個到12個執行核心來擴展機器。
隨著512條目重排序緩衝區寬物理寄存器和更深的分佈式每個操作類型調度窗口,機器也變得更加深入,所有這些都針對性能和電源效率進行了調整。為了進一步提高性能和電源效率,智慧功能透過在分配階段執行一些簡單的指令來支援折疊依賴鏈,從而節省管道中的資源。這允許駐留在關鍵路徑上的其他操作執行得更快,同時更好地利用執行頻寬,並節省功耗。透過更深入、更智慧的亂序引擎,我們還希望顯著增強我們的執行單元。讓我從整數端開始。我們在所有5個端口上添加了1個週期的LEA。執行單元也可用於泛型算術,加法和減法以及與某些固定數字的第一次乘法等計算。在端口端添加的LEA也可以在單個週期內進行縮放操作,類似於我們在端口1和5上的LEA。在浮點向量方面我們在端口1和5上添加了新的dast加法器。
L2快取子系統使可以並行服務的請求或預取操作的數量增加了一倍多。並開發了一個全新的L2預取引擎,以利用對程式行為的更深入理解。預取引擎可觀察正在執行的程式以估計未來記憶體訪問模式的可能性。
消息來源
|