第12代Core處理器兩種核心有多厲害?

作者 : 黃燁鋒,EE Times China

本文將詳細闡述Intel新版CPU架構Golden Cove和Gracemont,主要談這兩種核心架構構成的Alder Lake處理器,以及混合架構核心調度策略Intel Thread Director,並帶到Sapphire Rapids。

上周的Intel Architecture Day上,英特爾(Intel)發佈了些新消息,包括:

  • 採用混合架構(類似傳統意義上的大小核設計)的第12代Core處理器Alder Lake;
  • 針對伺服器的Xeon處理器產品Sapphire Rapids;
  • 鎖定遊戲玩家與資料中心的Xe架構GPU;
  • 資料中心負責「基礎設施任務」的新品IPU,在概念上有些偏向於如今流行的DPU。

另外,還包括生態相關的一些發佈和更新,比如說針對各類不同硬體(GPU/CPU/FPGA/VPU等)開發者的統一OneAPI。Architecture Day這次的主要訊息其實並不集中在產品上,更在於產品「架構」,因此Alder Lake的兩種核心Golden Cove和Gracemont,自然成為細節闡述中的重點。

 

 

本文將詳細闡述Intel的新版CPU架構Golden Cove和Gracemont,主要談這兩種核心架構構成的Alder Lake處理器,以及混合架構核心調度策略Intel Thread Director,並帶到Sapphire Rapids。

值得一提的是,這次發佈的一些核心IP對Intel而言,可能成為奠定其後續數年架構發展的基礎。用Intel的話來說,像Golden Cove這樣的核心是「十多年來,最為重大的架構改變和創新」,且其性能提升幅度「甚至大過Sunny Cove對比Skylake的提升」。

第12代Core Alder Lake

感覺第11代Core出現的時間都還不久,第12代Core就來了。有關Alder Lake的發佈也是預期之中,畢竟Intel不是第一次預告了。而且市場也普遍知道Alder Lake將採用「混合架構」——也就是傳統意義上所說的「大小核」,雖然Intel不用這個稱謂。

Intel如今的市場壓力著實不小,市場上有AMD和Arm的雙重夾擊,所以在產品更新節奏上加快也是必然。而且從這次的核心架構更新幅度來看,Intel也的確讓人驚豔,首先看看Alder Lake的已知資訊。

 

 

主要資訊包括:

  • CPU混合架構設計,性能核心 Golden Cove,能效核心Gracemont——至少包括桌上型平台8+8 (24執行緒,能效核心不支持超執行緒)、行動平台6+8 (20執行緒)、超低功耗平台2+8 (12執行緒)的設計方案;LLC緩存至多30MB;
  • 沿用至多96EU的Xe核心顯卡(桌上型平台還是32EU);
  • 記憶體支援:DDR5-4800/DDR4-3200/LPDDR5-5200/LPDDR4x-4266;
  • 總共20路PCIe lane,支持最高x16 PCIe Gen 5(桌上型平台,最高64GBps頻寬),同時支援PCIe Gen 4;
  • 支持Thunderbolt 4、Wi-Fi 6E;
  • TDP 9W~125W;
  • 基於Intel 7製程(即10nm Enhanced SuperFin);

 

 

其實從圖上來看,還有類似GNA 3.0 (Gaussian Neural Accelerator)的組成部分,這裡的IPU指的是Image Processing Unit,TBT則是指Thunderbolt 4——這兩者好像只針對行動平台,桌上型平台是沒有的。

這其中的亮點自然就是「混合架構」了,Intel將性能核心稱作P-core,能效核心稱作E-core——在Alder Lake上自然就是指Golden Cove和Gracemont。Intel在接受採訪時也多次提到,之所以在Alder Lake的選配方案中,可看到的E-core都是8個,是因為其面積很小。從上圖來看,4個E-core連帶cache才相當於1個P-core。

這種混合架構設計,之前的Lakefield中就用了,不過Lakefield屬於Intel在混合架構設計上的練手之作。在這次的Alder Lake處理器中,P-core負責那些有高性能、低延遲需求,尤其是單執行緒低延遲需求的任務;而E-core自然能夠應對低功耗,實現更高的效率。

Intel這次依然沒有像AMD那樣,在消費級處理器產品中採用chiplet方案(也就更不利於堆出高核心數)。不過這種混合架構設計,尤其是E-core的加入一方面的確有利於實現低功耗和諸多負載任務下的能效提升,而且還有利於提高多執行緒性能跑分——不會像Ice Lake/Tiger Lake那麼囧。

筆者特別問到Intel為什麼桌上型平台需要用到E-core,畢竟桌上型平台對於功耗並不是很敏感。Intel的回答是:「即便是桌上型端,E-core的價值也很大。導入E-core有兩方面的好處,一是可以讓P-core專注於那些需要更高性能的執行緒,這樣更可以充分發揮E-core對需求更大的執行緒效率;另外一個,在整個PC處在相對低任務負載的情況下,透過E-core可以讓整個處理器具有更好的能耗表現。」

 

 

互連方面,處理器內部「Compute Fabric」依然是雙ring設計,頻寬1,000GBp s(每個P-core,或者每一個集群的E-core是100GBps),透過LLC把核心和繪圖單元連起來,通往記憶體——據說其中一條ring可在需要時關閉以實現節能,這個Compute Fabric ring的頻率有個動態可調範圍,針對延遲、頻寬最佳化也能動態選擇資料路徑;且LLC也能進行動態調節。

而I/O Fabric最高是64GBps的頻寬;記憶體Fabric標注的數位是204GBps,PC平台估計很難達到這個極值,記憶體本身的頻寬會成為瓶頸。從ring互連的圖來看,4個E-core在ring上僅作為一個stop,這個待遇和P-core大不一樣,不知道這會否造成壅塞。

另外有一點格外值得一提,就是這次的Alder Lake將不再支持AVX-512,這主要是因為Gracemont作為E-core並不支援AVX-512。一般同處理器中不同架構的CPU核心,會採用相同的指令支援——雖然不同指令支援也可以實現,但這在設計上會造成顯著的複雜性,Arm也是這麼做。

雖然和Lakefield一樣,Alder Lake的P-core部分對於AVX-512仍然有對應做出支持的電晶體,不過由於E-core的存在,這部分區域對於PC市場而言就「遮蔽」掉了。不知道透過BIOS禁用E-core之類的手段能不能把AVX-512的支援找回來,以及下一代Core產品上,AVX-512會不會回歸。不過Gracemont依然支援AVX2,典型如VNNI指令(用於神經網路),表示Intel還是不曾放棄原屬AVX-512的部分特性。

之所以在設計上,沒有去掉Golden Cove的AVX-512矽實現部分,是因為Sapphire Rapids並沒有像PC平台那樣採用混合架構設計,而僅啟用了P-core;Sapphire Rapids Xeon處理器的Golden Cove自然就支援AVX-512了。

 

 

Sapphire Rapids也是很早就預告了會與Alder Lake共同到來的伺服器處理器產品。除了Golden Cove應有的特性一應俱全,Sapphire Rapids本身為彈性擴展終於用了chiplet方案,不同裸晶之間採用Intel拿手的EMIB 2.5D封裝技術,「55μm bump間距」方案,上圖就能看到4片裸晶的連接。

作為針對資料中心的Xeon處理器,Sapphire Rapids SoC之上也出現了不少專門的加速器,比如說DSA資料流程加速器,用於offload最常見的資料移動任務;Quick Assist Technology引擎,加速加密和壓縮/解壓縮等,符合時下走向高效「專用」的發展態勢。

與此同時I/O方面,CXL技術用於資料中心內的記憶體擴展和加速器用途,之前其實就已經有了這方面的消息。支援DDR5、PCIe Gen 5、QoS、DDI/O;提升UPI技術實現多socket性能擴展,實現更高的速度、更寬的寬度。儲存方面,增加共用LLC (全核共用LLC最多>100MB),以及有產品版本是在封裝中整合HBM記憶體,且可做HBM+DDR多層級記憶體實施方案。

據說E-core比以前大核心還彪悍

Intel的E-core——或者我們日常探討時習慣說「小核心」,與Arm所謂的「小核」完全不同,核心寬度、亂序架構等都不是Arm的「小」”在規模上可相提並論的。Intel的E-core——又可以叫mont家族核心,緣起自其Atom處理器產品線。

之前Lakefied所用的E-core代號為Tremont,而今年Alder Lake的E-core則叫做Gracemont。這次Gracemont的改進可謂相當的巨幅,Intel將其與Skylake進行比較,Skylake是Intel最初於2015年推向市場的,後續Kaby Lake、Coffee Lake、Whiskey Lake、Comet Lake等都基本共用了Skylake微架構——一直到Ice Lake問世才打破了傳統。

 

 

Intel表示,以1C1T (單核單執行緒)來比較Gracemont與Skylake,則相同功耗下前者性能比後者高出40%以上;相同性能下,功耗<40%,換句話說,Skylake核心要達到同樣的性能,功耗會增加2.5倍。

 

 

多執行緒性能上,Intel比較了Gracemont的4C4T與Skylake的2C4T (E-core不支援超執行緒),則前者性能比後者高出80%;相同性能下,前者功耗比後者降低80%。

這兩組數字實在有些恐怖。是不是可以說3年前的電腦CPU,性能還不及現在的小核心?當然也不能這麼說。一方面是預計Gracemont的頻率不會提得太高,畢竟這是「E-core」。另一方面,這是SPECrate2017_int測試,要說浮點性能也非這類小核心的強項。

但其效率提升絕對是實打實的,而且在某些基準測試中預計可以刷一波存在感。另外就是為達成指令支援與大核心的對等,Gracemont加入了AVX2支援,似乎也是首個支援AVX2的mont家族核心。

Gracemont前端部分是6-wide解碼,實際上是和Tremont一樣的兩條3-wide路徑,兩路解碼並行每週期3條。不過這次L1-I cache尺寸顯著增大至64KB,此外分支預測器有顯著加強,配套5,000條目的BTB分支目標緩存大小,據說是比以前加深,讓指令佇列做到預測更精準。

 

 

 

有關解碼的部分,x86指令變長眾所周知。預解碼操作開銷比較大;在確定前一條指令長度之前,無法明確下一條指令。mont家族核心不像性能核,並沒有μop cache,所以指令在獲取的時候每次都需要解碼。

在Gracemont的設計中,引入了一種依需求式(on-demand)指令長度解碼器(圖中的OD-ILD)。這種方案會產生預解碼資訊,和指令cache一起儲存。如此一來,就能從L1-I cache二次取指(在指令長度資料存在於cache中的情況下),繞過(Bypass)預解碼階段,進而節省週期。

 

 

架構中段部分(亂序引擎),ROB (重排序buffer)尺寸這次增加到了256條目——這對小核心而言是比較大的尺寸,就這一點也在亂序度上勝過了Skylake。與此同時比較令人驚訝的是配套的總共17個執行埠,比上代Tremont核心不知多多少。放在後端裡,的確是「寬後端」的設計(P-core Golden Cove也就12個)。

 

 

後端執行單元部分包含4個整數ALU,其中2個能做MUL/DIV (乘法/除法);4個AGU (位址生成單元),2 Load、2 Store;2個分支埠;2個額外的整數儲存埠;2個浮點/向量儲存單口;3個浮點/向量ALU (2x AES/FMUL/FADD,1x SHA/IMUL/FDIV)。

這麼寬的後端,相較Tremont而言是一次比較大的躍進,前端怎麼餵飽後端是個問題。Gracemont在指令集支援方面,加入了AVX2,而且有加速AI任務的AVX-VNNI,以及一些安全相關(如CET)的支援。想必這種指令對稱性實現,也增加了設計的複雜性和規模。

 

 

儲存子系統部分, 前面提到AGU相關的規模加倍,還包括32KB L1-D cache,亦即2 × 16位元組load與2×16位元組store至L1-D cache。

前面的大圖中已經看到了每4個Gracemont核心共用最多4MB L2 cache (可選配2MB),17週期延遲。L2 cache可支援每核每週期讀/寫64位元組,L2 cache帶一個64條目的fill buffer,用以支持所有cache未命中至LLC或記憶體。

共用L2 cache以每核心分配到512KB來算,滿載場景下,這一整個集群(即4個核心)的E-core在CPU內部的Compute Fabric上只是一個stop,無法得知是否可能產生瓶頸。

P-core驅動下一個10年的基礎

Intel對於Golden Cove的總體評價是「更寬、更深、更智慧」(wider, deeper, smarter)。這次更新在這三者的體現上相當有趣,另外從下圖來看新增了Matrix Engine矩陣乘引擎,用於AI加速——不過主要是針對Sapphire Rapids,而非Alder Lake,以及電源管理控制器,實現更高精準度的電源預算管理。

 

 

首先來看總體性能提升描述。Intel提到,「本次微架構提升水準,從通用性能來看,覆蓋較大範圍的工作負載,平均提升大約是19%。」這裡19%的數字指的是同頻下的性能提升,可理解為IPC提升,19%的IPC隔代性能提升絕對是相當大的幅度。

Intel說,「這種程度的提升,甚至比Sunny Cove核心相較Skylake核心的提升還要大。」不過針對這張表有兩點需要注意,其一是注意小字部分提到,這裡與Golden Cove做對比的是Cypress Cove,也就是桌上型的11代Core處理器的核心。第11代Core的桌上版處理器用的仍是14nm架構,屬於Sunny Cove的向前移植版本;在性能上應當會略弱於Tiger Lake的Willow Cove核心。不過,19%依然是令人相當驚豔的數字。

 

 

另一點是,19%的數字是個均值。是Intel從SPEC CPU2017、SYSmark 25、Crossmark、PCMark 10、WebXPRT 3、Geekbench 5.4.1等測試綜合後的結果。從這張圖來看,某些性能測試甚至能夠實現1.6倍的性能提升,但似乎也有一些測試是倒退的。

從這19%的數位也能看出一件事:在AMD推行Zen/Zen 2架構之際,Intel慌忙演進了Skylake,以實現性能上的一次飛躍。其實用以前PC/伺服器產業的常規來看,以Sunny Cove為基礎做改進和演化,還是可以沿用數年的——當時Sunny Cove就實現了比Skylake大約15%左右的IPC提升,後續的Willow Cove就屬於一個小改款。只是如今的市場格局不似從前,Intel也早就無法像過去那樣高枕無憂,不過短短兩年時間就又來了一次IPC飛躍。不得不感嘆,如今的電腦真是撐不了多久就得被淘汰,以及PC處理器市場競爭已愈發激烈。

另一方面,Intel也提到這次的P-core「不僅是Intel有史以來所造最高性能的CPU核心,也會成為驅動未來下一個10年運算的CPU架構性能基石(step function)」。所以這次的Golden Cove在微架構改進上,還是相當的大膽,並且對Intel而言必須具備前瞻性。

 

 

Golden Cove的前端部分有了顯著的加寬,之前蘋果M1剛發佈之際所有人還在大肆盛讚M1的架構有多寬。而且似乎基於AMD之前所述,x86變長指令做解碼,要做前端拓寬是存在難度的,但Intel這次好像反手給了一記耳光。

Golden Cove的解碼寬度從4-wide增加到了6-wide,以及解碼寬度增加50%,雖然不清楚Intel具體是怎麼做的,不過對x86而言這必然會增加前端電路的複雜度。此外配套fetch寬度每週期增至32位元組,fetch頻寬翻倍。

μop cache自2.25K條目增加至4K,發出從6μop/週期增至8μop/週期——跟上主流步伐的節奏,增加命中率並進一步減少需要走解碼路徑的開銷。μop佇列單執行緒佇列容量跨越至144條目,開啟超執行緒則小幅增至72條目。I-Cache仍為32KB,不過iTLB 4K頁從128條目增至256條目,2M/4M頁增至32條目,實現更大代碼覆蓋能力,針對大程式碼也能實現延遲表現的提升。

解碼寬度加寬以後,指令預測機制自然也需要進一步最佳化,否則會面臨預測錯誤後更大的懲罰。Intel提到有關這方面的努力,主要包括L2分支目標cache結構由5K條目增長至12K條目,近2.5倍的大幅提升,比隔壁家的Zen 3大了很多。Intel在這頁PPT上標注「smarter」,指分支預測精準度提升。

 

 

前端的拓寬看起來是全方位的,最能體現Golden Cove在架構改進上的革新。核心中段(亂序引擎)的變化也很大,μop rename/allocation從前端過來的寬度從以前的5-wide變為6-wide,往後端去。

ROB則加深到了512條目,以前是352。Golden Cove上的ROB部分配置目前應該僅次蘋果,遠超Zen 3。感覺加了E-core以後,這種大核心上的拓寬操作也能變得更放心?但高性能區間的能耗表現是否會因此有什麼影響?

Intel談到P-core有個智慧機制,可透過在allocation分配階段執行一些簡單的指令,打破指令的依賴鏈(collapsing dependency chains),以此實現資源節約、提升效率。似乎從前端開始的比如BTB,和此處allocation階段等細微處的「smarter」改進,可能都著意於在架構拓寬後盡可能地提升效率,在必要時降低能耗。

 

 

Golden Cove的執行埠由10個變為12個,仍然是融合型的執行埠設計。整數執行單元部分,多加了一個執行埠和對應的管線,其下是ALU和LEA。

浮點/向量執行單元部分,在port 1和5之上新增專門的FADD,相比以前用FMA顯著提升了效率。另外,AVX-512導入了FP16資料類型支援,雖然Alder Lake再不會表現出這項特性。其實後端的寬度相比前端的大幅變化,似乎沒有發生什麼大改,也許一方面是在為將來的架構更新做鋪路,以及需要兼顧資料中心端Golden Cove更多特性的實現。

AMX (Advanced Matrix Extensions)是用於AI應用IPC顯著提升的加速單元,用於機器學習推理和訓練,主要其實是針對資料中心,是Sapphire Rapids的主要組成部分,理應不會在Alder Lake的混合架構設計中得到支持。

其實VNNI已經主要提供了INT8 inference能力,不過Intel認為這是不夠的,所以AMX對此推升了8倍,每核每週期可實現2048次INT8操作,和2-wide FMA上運作的VNNI相比,計算輸送量高出8倍,功耗則少於3倍。另外,AMX也能每週期執行大約1,000次的Bfloat16運算。

Golden Cove的儲存子系統新增了一個port 11執行埠,內建load AGU,提升load操作頻寬,每週期3 × 256bit load操作,針對資料中心維持從L1的2 × 512bit load操作。為實現進一步的儲存平行度,Intel提到其「記憶體子系統學習如何想必以前,以更高的效率識別獨立的load和store操作。識別到衝突以後,可立即回應,實現極低限度擾亂下的恢復。」包括儲存資料直接load操作的時延最佳化等,除此之外,L1-D TLB相比之前加大50%到96條目。

L2 cache部分,對Alder Lake這個消費端處理器產品而言分配每核心1.25MB大小,資料中心的Sapphire Rapids則為每核2MB。另外,Cache未命中可並行處理的數量從之前的32提升為48。此處,Intel強調,「全新的L2 prefetch預取引擎,更深入地理解程式列為。這個引擎會觀察運行中的程式,估算未來的儲存訪問模式。」

除了以上提到的這些,這次的P-core也有「核心自主、細細微性的功耗管理技術」,P-core繼承了「新型微控制器,能夠以微秒的細微性(而非毫秒)來捕捉、負責事件,基於實際的應用行為來提升功耗預算利用率。最終實現對於任意應用更高的平均頻率。」

核心間的調度機制

最後談談Intel這次著重強調的Intel Thread Director機制,用於核心間的執行緒調度。在用多種不同核心的情況下,處理器或者作業系統就需要對此有感知,分析行進中的每個執行緒,實現智慧的調度,才能提供真正比較好的體驗。

Arm及合作夥伴,以及Google Android在配合上也已有相當多年的經驗——雖然這個部分似乎並不怎麼為外人所知。比如高通Snapdragon 810比較早地應用了類似Energy Aware Scheduler的方案,更早從PELT轉向——之前Arm也在這方面多有探索,畢竟大小核甚至更多集群的核心是Arm陣營的常規。在執行緒於大小核心的遷移上,Intel對面陣營可是做了多年嘗試。

而微軟和Intel,除了有前期的Lakefield練手,在Alder Lake上進行這種實踐還算是新手。而且需要考慮一個問題,就是Intel處理器普遍還在用超執行緒技術,這為執行緒調度增加了進一步的難度,Intel對此提出的就是Intel Thread Director方案。

 

 

Thread Director方案,在Intel這一側是以較細的細微性監測指令組合、每個核心當前的運行狀態、相關微架構的情況。把這些資訊都收集起來,提供給作業系統,讓作業系統做調度決策。這裡的作業系統當然是Windows 11——Windows 10應該不支援硬體級的Thread Director,而會用一種稱Hardware Guided Scheduling的機制就作業系統層面進行調度。

雖然Intel並沒有具體說明Thread Director方案是怎麼執行,但舉了兩個例子。比如使用者啟動了遊戲或者內容創作軟體,這屬於性能需求比較高的任務,很多執行緒首先一定是分配到P-core上;而後台如郵件同步、網路驅動備份之類的低優先順序任務,會主要放在E-core上跑。

如果現在發生了這樣一個情況:P-core處於滿載狀態,又有個執行緒正需求高性能——比如AI指令。在這種情況下,Thread Director就會給作業系統一個回饋,提出有高性能執行緒需求存在。與此同時Thread Director又能夠發現,基於目前的情況,目前在P-core中跑的某個「候選」執行緒可以遷移到E-core,那麼就會騰出空間來,讓位於後面的AI執行緒。

 

 

Intel強調在此一切軟體都是動態的。在實現上,Thread Director是將一個嵌入式微控制器放進處理器中,用以監控每個執行緒在做的事情,以及其需求,然後為Windows 11作業系統scheduler提供回饋。

尤為值得一提的是,Intel表示Thread Director對一個執行緒做這種分析可短至30μs的時間,而傳統作業系統scheduler層面做出類似的推斷則可能需要數百毫秒,所以其延遲帶來的體驗差異會很大。另外,Thread Director也能對頻率、電壓和功耗進行調整,主要在行動處理器上會表現出價值,而且頻率調節的回應速度也以μs計。在筆記型電腦平台,尤其適用電池的功耗敏感場景下,保證體驗基礎上的執行緒遷移與調度,還是相當考驗功力,也是未來Intel筆記型電腦能否真正實現續航顯著提升的關鍵。

微軟(Micrisoft)在Intel Architecture Day為Intel站台時,提到Windows 11與Intel之間的配合。微軟談到作業系統scheduler對於執行緒上的工作負載是沒有可視性的,不管是複製記憶體操作,還是執行什麼複雜的運算。所以在Thread Director配合以後,Windows 11的執行緒scheduler就能夠基於工作負載動態選擇合適的核心,獲得最佳性能和功耗。

 

 

總結:大躍進成果待實際檢驗

這次Alder Lake,以及其E-core和P-core,在架構層面的確稱得上是大跨步。怪不得Golden Cove極有可能成為未來多年的架構更新基礎。不過,這些躍進仍然有待最終產品實際表現的檢驗,尤其將架構在很多層面拓寬到比隔壁Zen顯著更激進的程度,以Inte 7製程製造能不能獲得理想的效果;P-core拓寬的前端是否能帶來預期中對等的效率提升。

而Intel在不同核心間的調度,與微軟的配合都屬首次。但Arm在這方面已經做了很多年,畢竟作業系統做執行緒調度的高效性,會極大程度影響到實際的用戶體驗。Alder Lake預計上市時間是今年第四季,在第11代Core之後這麼短的時間就推第12代Core,可以說現在的市場競爭果然是越來越激烈了。

本文原刊登於EE Times China網站

 

 

 

 

 

加入我們官方帳號LINE@,最新消息一手掌握!

發表評論