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