在近日舉辦的架構日活動上,,英特爾罕見地公布了未來多年的CPU,、GPU架構路線圖,以及一系列相關技術,、戰(zhàn)略規(guī)劃,,讓人大飽眼福,,其中新的CPU架構是很多人非常關心的亮點。本文收集了一些資料,,為大家盡量通俗地做一些簡單解讀,。
2019-2021年三年間,英特爾將每年推出一代高性能酷睿(Core)架構(當然也會用于至強),,同時在2019-2023年間,,將推出三代低功耗凌動(Atom)架構,重點當然是前者啦,。
2019年的高性能新架構是“Sunny Cove”(陽光海灣),,CPU大幅升級的同時集成第11代核芯顯卡,,采用10nm工藝制造,,桌面端處理器代號“Ice Lake”,這也將是英特爾第一個規(guī)模量產的10nm產品,。
2020年是“Willow Cove”(柳樹海灣),,幾乎肯定還是10nm工藝,但應該會像14nm+,、14nm++那樣優(yōu)化改進,,2021年則是“Golden Cove”(金色海灣),不知道能不能用上7nm,。
對于Willow Cove,、Golden Cove,英特爾只是簡單提及了一些主要特性,,而對于近在眼前的Sunny Cove,,英特爾則是毫不吝嗇地公布了不少架構技術細節(jié)。
首先說,,這應該是英特爾歷史上第一次在新品發(fā)布之前N個月,,就大方地公布路線圖和技術細節(jié),再加上將會第一次大規(guī)模應用10nm新工藝,,因此10nm Sunny Cove一經宣布,,就吸引行業(yè)乃至普通用戶的廣泛關注。
而每當一代新的CPU架構公布時,,了解它的原理,、它的變革都讓人很興奮,英特爾這一次提前公布一系列猛料也值得鼓掌,,值得細細品味,。
但略有遺憾的是,英特爾目前給出的信息還不完整,,主要只是介紹了Sunny Cove架構的后端設計細節(jié),,不涉及指令分派,、指令隊列等前端部分。
Sunny Cove的架構更新可以分為兩部分,,一是通用目的性能提升,,二是特定目的性能提升。
通用目的性能的提升,,就是通過架構增強,,改進大量應用的性能和能效,幾乎所有人在日常使用中都能體驗到,,其本質上就是原始IPC(每時鐘周期指令數(shù))吞吐量的變化,,或者運行頻率的提高。
無論什么工藝節(jié)點,,只要這兩點有一個提升,,整體性能就會隨之上升,至少在涉及計算的方面會有直接體現(xiàn),。
頻率通常取決于工藝和優(yōu)化,,IPC則可以來自更寬、更深,、更智能的內核,,或者專業(yè)點說分別就是每個時鐘周期執(zhí)行更多指令、每時鐘周期更多并行,、通過前端更好地傳輸數(shù)據(jù),。
而特定目的性能的提升,是針對特定使用場景,、算法進行架構上的擴展,,包括新的指令集、新的軟件編譯器/庫等,。
這種變化只有在專門的場合才能體會到,,比如說英特爾宣傳Sunny Cove架構通過新加入的指令集,可以讓7-Zip軟件的壓縮解壓性能提升多達75%,,就是一個典型例子,,只有用這款軟件或者針對其他針對相應指令優(yōu)化的軟件,才能獲得如此明顯的提升,。
特殊目的性能提升雖然應用范圍有限,,但是只要給它發(fā)揮的空間,效果就是極為顯著的,,幅度遠超通用性能提升,。
Sunny Cove也在這方面做了大量的改進,涉及人工智能/機器學習,、加解密,、壓縮/解壓,、通信/網(wǎng)絡、通用SIMD(單指令多數(shù)據(jù)流)/矢量處理,、特殊SIMD/矢量處理,、多線程與多代理處理等等。
如果你有這些方面的應用,,Sunny Cove帶來的變化會非??捎^。
上邊說的都是一些大的應用范圍,,具體到每個領域還有更確切的應用場景,,新指令的引入可以大大加速特定計算任務的執(zhí)行。隨著AVX-512指令單元的加入,,Sunny Cove為大數(shù)運算增加了IFMA(帶符號熔加算法),,也可用于加解密。
同時還有矢量AES加密(支持更多AES指令并行執(zhí)行),、矢量乘(Vector Carryless Multiply),、伽羅瓦域(Galois Field),、SHA/SHA-NI安全算法等,,其中不少都是密碼學的一些基本元素。
在緩存方面,,Sunny Cove后端擁有48KB一級數(shù)據(jù)緩存,,比現(xiàn)在的32KB增加了50%。一般來說,,緩存的非命中率和容量增加幅度的平方根成反比,,也就是說Sunny Cove的一級數(shù)據(jù)緩存命中錯誤率將會降低22%。
Sunny Cove的二級緩存也更大了,,但具體容量暫未披露,。目前酷睿是每核心256KB二級緩存,至強則是1MB,。
另外,,微操作(uOp)緩存也比現(xiàn)在的2048-entry設計要更大,只不過具體數(shù)字暫時也沒有公開,。
二級TLB同樣增大到未知數(shù),,這有助于機器歷史地址轉換。通常情況下,,需要保持和存儲更多輪詢的時候才會這么做,,這意味著英特爾已經發(fā)現(xiàn),在部分應用環(huán)境中,,最近的機器地址還沒有用上就被收回了,。
這張圖顯示了更多變化,,包括執(zhí)行端口從8個增至10個,可以讓調度器一次釋放更多指令,,其中端口4,、端口9連接著循環(huán)數(shù)據(jù)存儲,帶寬加倍,,AGU(地址生成單元)存儲能力加倍,,更大的一級指令緩存也在其中起到了一定作用。
之前的Skylake架構上存在一個瓶頸,,當全部三個AGU嘗試存儲的時候,,帶寬就會明顯不足,每個時鐘周期只能執(zhí)行一個,。
載入性能不變,,而寬度調度從4個增至5個,這意味著記錄緩沖區(qū)的分派每時鐘周期可以命中5個指令,,但是實際效果如何仍有待觀察,。
Sunny Cove、Skylake架構的執(zhí)行端口發(fā)生了根本性的變化,。
可以看到,,英特爾為核心的整數(shù)部分配備了更多LEA(有效地址載入)單元,用來進行內存尋址計算,,可能在需要頻繁內存計算的情況下,,通過安全更新來緩解性能損失,或者通過恒定的偏移,,有助于高性能陣列代碼,。
MUL(乘法)單元從Skylake的端口5轉移到了端口1,可能是出于平衡設計的目的,,同時還增加了一個iDIV整數(shù)除法單元,。
這個變化并不大,10nm Cannon Lake也有一個64位的IDIV,,可以將64位證書出發(fā)從97個時鐘周期(混合指令)降低到18個,,Sunny Cove可能也與之類似。
INT整數(shù)運算方面,,Skylake端口5的乘法單元變成了MulHi單元,,但在新架構中的具體作用尚不明晰。
FP浮點運算方面,,Sunny Cove增加了重排資源,,因為英特爾收到客戶反饋,希望能消除代碼中的瓶頸。
英特爾沒有具體說明核心浮點部分FMA(熔加運算)單元的功能,,但我們知道,,核心內有一個AVX-512指令單元,所以至少會有一個FMA單元會與之交互,。
Cannon Lake架構只有一個512位FMA單元,,很可能延續(xù)到了這里,在至強上可能會有兩個,。
為了更明晰地對比Skylake,、Sunny Cove的后端執(zhí)行資源變化,外媒AnandTech還做了個對比表格如下:
英特爾列出的其他內核改進還有:分支預測器改進,、有效載入延遲降低(得益于TLB/L1D)等等,,但是英特爾也承認,這些改進不會讓每個人獲益,,需要新的算法在特定代碼中使用,。
另外,Sunny Cove還支持更大的內存,,主內存分頁表現(xiàn)在是5層設計(之前是4層),,支持的線性尋址空間達到57位,物理尋址空間則是52位,。
這意味著,,至強服務器平臺理論上每顆處理器可以搭配最多4TB內存,而現(xiàn)在Skylake-SP架構的可擴展至強只有1.5TB,,AMD霄龍也不過2TB,。
事實上,,Sunny Cove是自從AMD 2003年引入x86-64 64位架構以來,,第一個對x64虛擬內存尋址做出重大變革的架構。
這十幾年來,,雖然虛擬內存尋址都支持64位,,但實際上只有前48位有用,后邊的16位只是前邊簡單的拷貝而已,,這就將虛擬尋址空間限制在256TB,。
這些虛擬內存通過分頁表映射到物理內存,使得物理內存內存尋址也被限制在48位,,導致整個系統(tǒng)的最大物理內存不能超過256TB,。
現(xiàn)在,Sunny Cove將有效的虛擬內存尋址擴展到了57位,,物理尋址則是最多52位,,結果就是虛擬內存、物理內存最多分別可以支持到128PB、4PB,。
根據(jù)英特爾之前給出的路線圖,,Ice Lake-SP家族的新一代至強將在2020年上市,屆時內存擴展能力將得到前所未有的提升,。