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