12代酷睿對比此前的CPU,異構(gòu)設(shè)計到底是一場怎樣的革命?
說起現(xiàn)代處理器的設(shè)計,主要有兩種常見模式,一種是優(yōu)先采用多核心設(shè)計,通過多核心的方法來提高并行計算的能力,另一種就是優(yōu)先高頻率,通過高頻率來直接的提高計算能力。然而我們知道,處理器頻率的提升是越往后越困難的,這個困難并不是提升頻率本身的技術(shù)方面有困難,而是提升之后產(chǎn)生的持續(xù)的高發(fā)熱難以解決,同時在功耗方面,在頻率超過一定的值以后,功耗會急劇的增加(這也是高發(fā)熱量的根本原因),盡管這個功耗我們可以提供,但是顯然并不值得。
當(dāng)然,“優(yōu)先高頻率”的模式也有曲線救國的方法,比如通過改進(jìn)架構(gòu)設(shè)計、采用更先進(jìn)的制程技術(shù)等等,這樣就是可以在同樣時鐘頻率的情況下實現(xiàn)更高的計算性能,但是無論如何這些方法都比“優(yōu)先采用多核心設(shè)計”的模式要復(fù)雜和困難很多,于是“優(yōu)先采用多核心設(shè)計”的模式不可避免的成為簡單、取巧的解決方案。
異構(gòu)設(shè)計實現(xiàn)全應(yīng)用場景下的體驗提升
然而,對于中央處理器CPU來說,“優(yōu)先采用多核心設(shè)計”的模式在根本上是有問題的,與進(jìn)行圖像渲染的圖形處理器GPU不同,CPU并不是用來做特定用途的一種處理器,拿筆者很喜歡的一個例子來說就是,如果說GPU是一個很擅長做粵菜的一個粵式餐飲店,那么CPU就是一棟大酒樓,八大菜系全都要會,或許它出品的粵菜方面并不及一個專精粵菜的粵式餐飲店,但是它保證了你走進(jìn)它的時候,無論提出什么要求,起碼它是能做出來這道菜的。
也就是說,CPU是用來處理復(fù)雜問題的,它涉及到的要處理的問題各種各樣,所以很多時候它并不像GPU那樣能把特定的問題分解成可以同時進(jìn)行的小問題來解決。比如GPU要渲染一幅大圖像,它可以將一幅大圖像切成很多個小塊,每個計算單元負(fù)責(zé)渲染一個小塊,最終它們都渲染出來拼接好就是解決了最初的那個問題。
但是CPU要解決的問題,可能并不能分解成可以同時進(jìn)行的,因為這個問題的每一步進(jìn)行都需要上一步的結(jié)果,那么這種情況下,就只能通過提高頻率,或者說提高單線程計算能力來加快計算時間了,“優(yōu)先采用多核心設(shè)計”的模式在這里就行不通,這也是為什么對于很多游戲應(yīng)用來說,多核心性能強(qiáng)的處理器并不能帶來更好的體驗的原因。
那么總結(jié)一下就是,CPU作為是用來解決復(fù)雜問題的中央處理器來說,它是需要采用“優(yōu)先高頻率”的設(shè)計模式才能提升它在所有應(yīng)用場景下的體驗提升的,然而,“優(yōu)先高頻率”的設(shè)計模式又相較于“優(yōu)先采用多核心設(shè)計”的模式而言困難很多,并且在可以并行計算的應(yīng)用場景(比如圖像渲染)下,“優(yōu)先采用多核心設(shè)計”的模式(比如GPU)就是能實現(xiàn)更快的計算。
正式由于這樣的矛盾,Intel第12代酷睿處理器推出了異構(gòu)設(shè)計,既沒有放棄“優(yōu)先高頻率”的設(shè)計模式,用性能核(P-Core)繼續(xù)增強(qiáng)了單線程的計算能力,同時又加入了能效核(E-Core)的設(shè)計,讓其在可以并行計算的應(yīng)用場景下,可以用多核心設(shè)計來實現(xiàn)更快的計算,這樣,就可以說在全應(yīng)用場景下,它的使用體驗都得到了提升。
異構(gòu)設(shè)計并不同于ARM架構(gòu)的大小核
今天要說的另外一個重要的點是,由于此前ARM架構(gòu)的大小核設(shè)計太深入人心,很多人以為Intel第12代酷睿處理器的異構(gòu)設(shè)計就是把ARM架構(gòu)的大小核設(shè)計搬入到X86體系中而已。
其實并不是這樣。
要說明這個問題,我們還是得再深入了解一點性能核(P-Core)和能效核(E-Core)。
性能核:相比11代IPC性能提升19%
Intel第12代酷睿處理器性能核的曾用代號是Golden Cove,是Sunny Cove與Willow Cove這條核心線路下的直系后代。
性能核旨在提高速度,突破低時延和單線程應(yīng)用程序性能的限制。全新性能核微架構(gòu)帶來了顯著增速同時更好地支持代碼體積較大的應(yīng)用程序,與現(xiàn)有CPU架構(gòu)相比,性能核的改動可以歸納為更寬、更深、更智能。
Golden Cove這次直接拓寬了前端,解碼長度從16字節(jié)翻倍到32字節(jié),****由4個增至6個,每時鐘周期執(zhí)行微指令從6增至8。微指令隊列每個線程從70條目增加到72條目,單線程則從70增加到144。微指令緩存從2.25K擴(kuò)大到4K,增加了命中率與前端帶寬。
增強(qiáng)了編碼預(yù)取能力,4K指令TLB從128條目增加到256條目,2M/4M指令TLB從16條目增加到32條目,分支目標(biāo)從5K增至12K,同時改進(jìn)了分支預(yù)測精度,具備更智能的編碼預(yù)取機(jī)制。整數(shù)執(zhí)行引擎增加了第五個通用執(zhí)行端口,五個端口都有ALU和LEA單元,增加ALU數(shù)量很重要,因為ALU操作非常普遍,很多軟件都對其加以利用。
矢量執(zhí)行引擎在端口1和端口5下方各加了一個FADD快速加法器,此前Intel的處理器浮點加發(fā)都是交由FMA單元處理的,在端口0和1上需要4個時鐘周期,而端口5上則要6個時鐘周期,現(xiàn)在交由FADD做的話只需要3個時鐘周期,效率更高而且延遲更低。FMA單元現(xiàn)在支持FP16浮點數(shù)據(jù)類型,它屬于AVX-512指令集的一部分,這在加速網(wǎng)絡(luò)應(yīng)用方面非常有效。
此外端口5上還多了個AMX單元,它的全稱是Advanced Matrix Extensions高級矩形擴(kuò)展,它可執(zhí)行矩陣乘法運算,現(xiàn)在支持AVX512_VNNI的處理器每個內(nèi)核每時鐘周期可執(zhí)行256次int8運算,而現(xiàn)在借助AMX可讓這性能提升至8倍,達(dá)到每時鐘周期執(zhí)行2048次int8運算,這可用于AI學(xué)習(xí)推理和訓(xùn)練,讓處理器的AI性能大幅加速。
緩存系統(tǒng)方面,增加了一個AGU Load的端口,載入端口從2個增加到3個,吞吐量提高了50%,可同時載入3組256bit的數(shù)據(jù)或2組512bit的數(shù)據(jù),這有效的降低了L1緩存延遲, 同時加深了載入與存儲緩存區(qū),使其具備更強(qiáng)的內(nèi)存并行性,對大型數(shù)據(jù)和代碼體積較大的應(yīng)用程序提供更好的支持。
L1數(shù)據(jù)TLB從64條目增加到96條目,L1數(shù)據(jù)緩存可并行多獲取25%以上的未命中,數(shù)據(jù)預(yù)取器得到了增強(qiáng),可面對更強(qiáng)的亂序執(zhí)行架構(gòu),可同時服務(wù)4個page-table walks,較上代架構(gòu)翻了一倍,這對現(xiàn)代大型、不規(guī)則數(shù)據(jù)集的工作負(fù)載更為有利。
L2緩存桌面與移動端每核心還是和Tiger Lake一樣是1.25MB,但與現(xiàn)在11代桌面處理器相比則是增加了150%,服務(wù)器的Sapphire Rapids則是每核心2MB,優(yōu)化了全寫入預(yù)測帶寬,減少內(nèi)存讀取。
Golden Cove相比目前第11代酷睿桌面處理器的Cypress Cove,在通用性能的ISO頻率下,針對大范圍的工作負(fù)載實現(xiàn)了平均約19%的性能提升,可以理解成IPC提升了這么多。
能效核:同頻比10代還強(qiáng)1%
Gracemont是Intel第12代酷睿處理器能效核的曾用代號,它是Atom處理器所用的Mont系列的第七代架構(gòu),它更追求能效,會在多線程以及線程吞吐上有所加強(qiáng)。此高能效x86微架構(gòu)在有限的體積內(nèi)實現(xiàn)多核任務(wù)負(fù)載,并具備寬泛的頻率范圍。它能夠通過低電壓能效核降低整體功率消耗,為更高頻率運行提供功率熱空間。這也讓能效核提升性能,以滿足更多動態(tài)任務(wù)負(fù)載。
能效核可以利用各種技術(shù)進(jìn)步,在不額外增加處理器功率的情況下對工作負(fù)載進(jìn)行優(yōu)先級排序,并改進(jìn)處理器的IPC性能。
Gracemont大幅擴(kuò)大了分支預(yù)測器,現(xiàn)在擁有5000個條目的分支目標(biāo)緩存區(qū),實現(xiàn)更準(zhǔn)確的分支預(yù)測。一級指令緩存增大到64KB,在不耗費內(nèi)存子系統(tǒng)功率的情況下保存可用指令,它還擁有Intel的首款按需指令長度****,可生成預(yù)解碼信息,加速具有大量代碼的現(xiàn)代工作負(fù)載。采用兩組三寬度的簇亂序執(zhí)行****,可在保持能效的同時,每時鐘周期解碼多達(dá)6條指令。
后端執(zhí)行單元拓寬了,具備5組寬度分配、8組寬度引退、256個亂序窗口入口和17個執(zhí)行端口,共計擁有4個整數(shù)ALU、2個載入AGU、2個存儲AGU、2個跳轉(zhuǎn)端口、2個整數(shù)存儲數(shù)據(jù)、2個浮點/矢量存儲、2個浮點/矢量堆棧、以及第3矢量ALU。
存儲系統(tǒng)采用了雙載入雙存儲的配置,每4個核心共享4MB二級緩存,緩存帶寬高達(dá)64 Bytes/cycle,延遲則是17時鐘周期,并支持深度緩沖、高級預(yù)取器和Intel資源調(diào)配技術(shù)。
指令集方面,支持控制流強(qiáng)制技術(shù)和虛擬化技術(shù)重定向保護(hù)等功能;同時它也是首款支持AVX2指令集的“Mont”核心,以及支持整數(shù)人工智能操作的新擴(kuò)展。
與Skylake核心相比,能效核能夠在相同功耗下實現(xiàn)40%的單線程性能提升,或者只有不到40%的功耗提供相同的性能。與雙核四線程Skylake相比,四個能效核能夠在功耗更低的情況下同時帶來80%的性能提升,或者在提供相同性能的同時功耗減少80%。
P-Core性能核的目的是提升處理器的單線程性能,而E-Core效能核的目的設(shè)計目的則是用更低的功耗來提升多線程性能,根據(jù)Intel的示意圖,四個效能核加起來才等于一個性能核那么大。
在相同頻率下,P-Core的性能比10代酷睿(也就是Skylake)提升了28%,比11代酷睿提升了14%,而E-Core的性能也是要比經(jīng)典的10代酷睿高1%的??梢钥吹剑珽-Core效能核的的性能并不低,這與ARM處理器的小核為了省電而幾乎放棄性能的做法是不同的,E-Core存在的首要目的并不是省電,而是為了多線程性能,在同樣的芯片面積下,將一個性能核P-Core換成四個效能核E-Core,可以極大的提升在執(zhí)行并行計算時候的多線程性能。
總結(jié)
如同一個集大成者,12代酷睿的異構(gòu)設(shè)計融合了“優(yōu)先高頻率”和“優(yōu)先采用多核心設(shè)計”這兩種現(xiàn)代處理器的設(shè)計模式,通過性能核(P-Core)和能效核(E-Core)的異構(gòu)設(shè)計即增強(qiáng)了單線程的計算能力,同時又讓其在可以并行計算的應(yīng)用場景下,可以用多核心設(shè)計來實現(xiàn)更快的計算,實現(xiàn)全應(yīng)用場景下的體驗提升。
12代酷睿的異構(gòu)設(shè)計盡管看起來有些像是ARM架構(gòu)的大小核設(shè)計,實為全新的一種設(shè)計理念,能效核(E-Core)并不是如同ARM處理器中的小核那樣為了省電的目的而去設(shè)計的,而是為了增加處理器的多線程計算能力而設(shè)計的,這樣設(shè)計出來的能效核具有很小的核心面積,可以在同樣尺寸的芯片面積下實現(xiàn)最大化的多線程計算性能,由于最終是為了計算性能,所以每個能效核的計算能力并不差,同頻下相比10代的酷睿還有1%的性能水準(zhǔn)提升。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。