每日最新頭條.有趣資訊

Intel新架構Sunny Cove解析:10nm工藝 15年來的首次變革

  在近日舉辦的架構日活動上,英特爾罕見地公布了未來多年的CPU、GPU架構路線圖,以及一系列相關技術、戰略規劃,讓人大飽眼福,其中新的CPU架構是很多人非常關心的亮點。本文收集了一些資料,為大家盡量通俗地做一些簡單解讀。

  2019-2021年三年間,英特爾將每年推出一代高性能酷睿(Core)架構(當然也會用於至強),同時在2019-2023年間,將推出三代低功耗凌動(Atom)架構,重點當然是前者啦。

  2019年的高性能新架構是“Sunny Cove”(陽光海灣),CPU大幅更新的同時集成第11代核芯顯卡,採用10nm工藝製造,桌面端處理器代號“Ice Lake”,這也將是英特爾第一個規模量產的10nm產品。

  2020年是“Willow Cove”(柳樹海灣),幾乎肯定還是10nm工藝,但應該會像14nm+、14nm++那樣優化改進,2021年則是“Golden Cove”(金色海灣),不知道能不能用上7nm。

遊民星空

  對於Willow Cove、Golden Cove,英特爾只是簡單提及了一些主要特性,而對於近在眼前的Sunny Cove,英特爾則是毫不吝嗇地公布了不少架構技術細節。

  首先說,這應該是英特爾歷史上第一次在新品發布之前N個月,就大方地公布路線圖和技術細節,再加上將會第一次大規模應用10nm新工藝,因此10nm Sunny Cove一經宣布,就吸引行業乃至普通用戶的廣泛關注。

  而每當一代新的CPU架構公布時,了解它的原理、它的變革都讓人很興奮,英特爾這一次提前公布一系列猛料也值得鼓掌,值得細細品味。

  但略有遺憾的是,英特爾目前給出的資訊還不完整,主要只是介紹了Sunny Cove架構的後端設計細節,不涉及指令分派、指令隊列等前端部分。

遊民星空

  Sunny Cove的架構更新可以分為兩部分,一是通用目的性能提升,二是特定目的性能提升。

  通用目的性能的提升,就是通過架構增強,改進大量應用的性能和能效,幾乎所有人在日常使用中都能體驗到,其本質上就是原始IPC(每時鐘周期指令數)吞吐量的變化,或者運行頻率的提高。

  無論什麽工藝節點,只要這兩點有一個提升,整體性能就會隨之上升,至少在涉及計算的方面會有直接體現。

  頻率通常取決於工藝和優化,IPC則可以來自更寬、更深、更智能的內核,或者專業點說分別就是每個時鐘周期執行更多指令、每時鐘周期更多並行、通過前端更好地傳輸數據。

  而特定目的性能的提升,是針對特定使用場景、算法進行架構上的擴展,包括新的指令集、新的軟體編譯器/庫等。

  這種變化只有在專門的場合才能體會到,比如說英特爾宣傳Sunny Cove架構通過新加入的指令集,可以讓7-Zip軟體的壓縮解壓性能提升多達75%,就是一個典型例子,只有用這款軟體或者針對其他針對相應指令優化的軟體,才能獲得如此明顯的提升。

遊民星空

  特殊目的性能提升雖然應用範圍有限,但是只要給它發揮的空間,效果就是極為顯著的,幅度遠超通用性能提升。

  Sunny Cove也在這方面做了大量的改進,涉及人工智能/機器學習、加解密、壓縮/解壓、通信/網絡、通用SIMD(單指令多數據流)/矢量處理、特殊SIMD/矢量處理、多線程與多代理處理等等。

  如果你有這些方面的應用,Sunny Cove帶來的變化會非常可觀。

遊民星空

  上邊說的都是一些大的應用範圍,具體到每個領域還有更確切的應用場景,新指令的引入可以大大加速特定計算任務的執行。隨著AVX-512指令單元的加入,Sunny Cove為大數運算增加了IFMA(帶符號熔加算法),也可用於加解密。

  同時還有矢量AES加密(支持更多AES指令並行執行)、矢量乘(Vector Carryless Multiply)、伽羅瓦域(Galois Field)、SHA/SHA-NI安全算法等,其中不少都是密碼學的一些基本元素。

遊民星空

  在緩存方面,Sunny Cove後端擁有48KB一級數據緩存,比現在的32KB增加了50%。一般來說,緩存的非命中率和容量增加幅度的平方根成反比,也就是說Sunny Cove的一級數據緩存命中錯誤率將會降低22%。

  Sunny Cove的二級緩存也更大了,但具體容量暫未披露。目前酷睿是每核心256KB二級緩存,至強則是1MB。

  另外,微操作(uOp)緩存也比現在的2048-entry設計要更大,只不過具體數字暫時也沒有公開。

  二級TLB同樣增大到未知數,這有助於機器歷史地址轉換。通常情況下,需要保持和存儲更多輪詢的時候才會這麽做,這意味著英特爾已經發現,在部分應用環境中,最近的機器地址還沒有用上就被收回了。

遊民星空

  這張圖顯示了更多變化,包括執行端口從8個增至10個,可以讓調度器一次釋放更多指令,其中端口4、端口9連接著循環數據存儲,帶寬加倍,AGU(地址生成單元)存儲能力加倍,更大的一級指令緩存也在其中起到了一定作用。

  之前的Skylake架構上存在一個瓶頸,當全部三個AGU嘗試存儲的時候,帶寬就會明顯不足,每個時鐘周期只能執行一個。

  載入性能不變,而寬度調度從4個增至5個,這意味著記錄緩衝區的分派每時鐘周期可以命中5個指令,但是實際效果如何仍有待觀察。

遊民星空

  Sunny Cove、Skylake架構的執行端口發生了根本性的變化。

  可以看到,英特爾為核心的整數部分配備了更多LEA(有效地址載入)單元,用來進行記憶體尋址計算,可能在需要頻繁記憶體計算的情況下,通過安全更新來緩解性能損失,或者通過恆定的偏移,有助於高性能陣列代碼。

  MUL(乘法)單元從Skylake的端口5轉移到了端口1,可能是出於平衡設計的目的,同時還增加了一個iDIV整數除法單元。

  這個變化並不大,10nm Cannon Lake也有一個64位的IDIV,可以將64位證書出發從97個時鐘周期(混合指令)降低到18個,Sunny Cove可能也與之類似。

  INT整數運算方面,Skylake端口5的乘法單元變成了MulHi單元,但在新架構中的具體作用尚不明晰。

  FP浮點運算方面,Sunny Cove增加了重排資源,因為英特爾收到客戶反饋,希望能消除代碼中的瓶頸。

  英特爾沒有具體說明核心浮點部分FMA(熔加運算)單元的功能,但我們知道,核心內有一個AVX-512指令單元,所以至少會有一個FMA單元會與之互動。

  Cannon Lake架構只有一個512位FMA單元,很可能延續到了這裡,在至強上可能會有兩個。

  為了更明晰地對比Skylake、Sunny Cove的後端執行資源變化,外媒AnandTech還做了個對比表格如下:

遊民星空

  英特爾列出的其他內核改進還有:分支預測器改進、有效載入延遲降低(得益於TLB/L1D)等等,但是英特爾也承認,這些改進不會讓每個人獲益,需要新的算法在特定代碼中使用。

  另外,Sunny Cove還支持更大的記憶體,主記憶體分頁表現在是5層設計(之前是4層),支持的線性尋址空間達到57位,物理尋址空間則是52位。

  這意味著,至強伺服器平台理論上每顆處理器可以搭配最多4TB記憶體,而現在Skylake-SP架構的可擴展至強只有1.5TB,AMD霄龍也不過2TB。

  事實上,Sunny Cove是自從AMD 2003年引入x86-64 64位架構以來,第一個對x64虛擬記憶體尋址做出重大變革的架構。

  這十幾年來,雖然虛擬記憶體尋址都支持64位,但實際上只有前48位有用,後邊的16位只是前邊簡單的拷貝而已,這就將虛擬尋址空間限制在256TB。

  這些虛擬記憶體通過分頁表映射到物理記憶體,使得物理記憶體記憶體尋址也被限制在48位,導致整個系統的最大物理記憶體不能超過256TB。

  現在,Sunny Cove將有效的虛擬記憶體尋址擴展到了57位,物理尋址則是最多52位,結果就是虛擬記憶體、物理記憶體最多分別可以支持到128PB、4PB。

  根據英特爾之前給出的路線圖,Ice Lake-SP家族的新一代至強將在2020年上市,屆時記憶體擴展能力將得到前所未有的提升。

  順帶說,在安全方面,Sunny Cove支持多密鑰全記憶體加密、用戶模式指令預防。

  至於Sunny Cove前端部分的變化,我們期待英特爾公布更多資訊。

遊民星空
陽光海灣充滿意境:雖然此圖中的天空不算很Sunny,但的確Cove很美

獲得更多的PTT最新消息
按讚加入粉絲團