今年Intel Innovation(英特爾on技術創新大會)應該算是場大戲了,尤其是對PC處理器而言——主要是因為Meteor Lake的全面揭曉。我們之前就Meteor Lake的預先報道應該算是非常多了,包括Intel 4工藝、3D先進封裝、微架構改進等等。
不過代號為Meteor Lake的這一代酷睿處理器并非14代酷睿。今年年中,Intel就宣布了酷睿(Core)處理器品牌變化,最新的Meteor Lake被稱為酷睿Ultra第1代處理器;而處理器不同SKU也改成了酷睿Ultra 5、Ultra 7和Ultra 9等。
Meteor Lake之所以矚目,我們認為關鍵并不在它表明Intel四年5個工藝節點的計劃順利開展,而是它標志著PC處理器基于先進封裝chiplet時代的到來。AMD那邊雖然chiplet方案也用了挺久,但除了3D V-Cache之外,其die與die之間的互聯方式都很難稱得上“先進封裝”。
另外,Intel EMIB、Foveros之類的先進封裝技術,雖然此前就已經應用到了數據中心芯片產品上,但在PC處理器上大規模應用還是頭一回。這不僅是對Intel技術能力的考驗,也是PC處理器邁向新時代的開端??犷ltra的品牌定位重置,應該也是基于這樣的變化。
所以在Intel Innovation活動之前,Intel就面向媒體做了技術向的pre-briefing——而且是就CCG業務做半導體制造向的技術科普。不過先期宣講是沒有把重點放在酷睿Ultra產品層面的,而是把大部分精力放在了chiplet、先進封裝,和大框架的結構上。(最新消息是,新一代酷睿Ultra處理器產品預計要到12月14日發布)
我們基于這部分信息,來率先看一看這顆將要應用Intel 4制造工藝,并且全面開啟PC平臺基于先進封裝chiplet時代的電腦處理器。
值得一提的是,由于Meteor Lake處理器新增了名為NPU的AI加速器,有關AI的部分,我們會另外撰文探討(點擊這里查看)。Intel 4制造工藝及Foveros先進封裝部分,本次有一些內容更新,也將單獨成文(點擊這里查看);
后續Intel Innovation活動期間若有更多酷睿Ultra處理器產品層面的信息更新,我們也將再行撰文報道。本文主要談談Meteor Lake的關鍵技術信息,這些內容對PC和技術愛好者而言,應該都是一場難得的盛宴。
總覽Meteor Lake的chiplet設計
Meteor Lake是Intel接下來即將推向PC市場的新一代酷睿Ultra處理器,大方向上采用Intel 4制造工藝,并融合了先進封裝技術。Meteor Lake芯片層面,目前已知的幾個核心處理器模塊包括了CPU、GPU、NPU,IO支持包括雷電4、USB 4、PCIe 5、WiFi 7、藍牙5.4等。
去年Hot Chips 34期間,我們就Meteor Lake的chiplet設計做過了比較詳細的解讀——就先進封裝層面的詳細信息,包括die間通信功耗、協議、帶寬等,推薦閱讀這篇文章。
而有關chiplet和先進封裝技術本身,這兩年電子工程專輯的封面故事都花很多篇幅去聊過(《先進封裝的現在和將來,價值鏈的未來重心》《這次不說chiplet的好,來談談chiplet的“壞”》)。
簡單來說,隨著晶體管微縮的速度放緩,以及半導體尖端制造工藝成本的增加,外加芯片制造面臨reticle limit之類的限制,高性能計算領域的芯片面積,已經大到無法用單die去解決的程度。
而chiplet就把一顆設想中很大的die,切成很多小片die,每片小die都叫做一個chiplet。而先進封裝,就是通過更為密集的I/O互聯間距,將這些小die“縫合”起來,封裝到一起成為一整顆芯片。
Meteor Lake就是基于這種思路的產物——而且未來很長一段時間的酷睿處理器產品,不出意外也會按照這個思路去走。
從這次Intel的介紹來看,Meteor Lake依舊分成了Compute tile(上面主要是CPU)、Graphics tile(核顯)、SoC tile(其上包含有低功耗E-core,NPU,WiFi與藍牙模塊、顯示引擎、DDR內存控制器等)、IO tile(主要是PCIe Gen 5與Thunderbolt 4支持實現)。Intel稱其為“tile”,中文譯作“模塊”,實際上就是chiplet。
此前我們就提過,Intel的chiplet思路和隔壁AMD的差異還是比較大的。不過從介紹來看,Intel這種模塊化設計的靈活度,在劃分不同SKU,及未來性能和架構擴展和進化方面會提供極大的幫助。
Intel在介紹中提到,Meteor Lake的核心設計理念包括(1)性能功耗效率提升;(2)首次將NPU集成到PC處理器;(3)集顯性能飛躍;(4)采用Intel 4制造工藝。
這里的采用Intel 4制造工藝,主要是指Compute tile部分用的是Intel 4——畢竟chiplet的靈活性之一,就體現在不同的chiplet可以用不同的工藝。而且Meteor Lake的其中某些die應該是臺積電造的,也體現了IDM 2.0策略。
CPU部分:新增一種低功耗E-core
Intel從12代酷睿(Alder Lake)開始,CPU部分就采用異構設計了,即包含P-core性能核、E-core能效核兩種不同架構的核心設計。
Meteor Lake的CPU部分主要位于Compute tile之上——示意圖給出的是6+8的方案,6顆P-core,以及4核心一組的E-core總共8個核心,和ring fabric環形總線。其實就截止發稿前,我們還并不清楚在酷睿Ultra產品層面,這代處理器的具體配置如何,包括核心數、頻率等。這個部分后續還會單獨刊文報道。
目前就CPU部分了解到的信息是,P-core代號Redwood Cove,E-core代號Crestmont。但這并非Meteor Lake的全部。
在SoC tile上,Intel還額外給了兩顆Low Power E-core(以下簡稱LP E-core)。
截至發稿前,暫不清楚這兩顆單獨的E-core在架構層面,是否與Compute tile上的E-core一致。猜測應該是不同的,因為在介紹調度策略時,Intel給出這種類似三叢集架構(Intel稱其為3D性能混合架構)的功耗與性能關系,大致如下圖:
這張圖畫的還是相當隨意,但總體都是在表達不同核心集群,負責不同性能和功耗區間的工作,以達成最高的能效。記得此前Arm說自己是全球唯一在做3-cluster核心CPU設計的企業,這會兒Intel也是了。..
LP E-core所在的SoC tile(或其中一部分)似乎是被Intel稱作為“Low Power Island”(低功耗島)的,也不光是因為兩顆LP E-core,還在于其他模塊——這個我們放到后文去談。
不過Intel在介紹中提到,很多情況下“只要SoC tile是活著的,工作就可以繼續;而Compute tile、Graphics tile都可以掛起睡眠或進入超低功耗模式,甚至關閉?!薄氨WC在不損失性能的情況下,在大部分時間里,都讓整個package處于非常低功耗的狀態”。
Intel在舉例中提到了類似IT后臺工作,大部分情況下可以交給LP E-core去跑。在需要性能和響應速度時,再切往E-core和P-core。
這種3集群的結構,實際上會給調度提出更高的要求??紤]到自12代酷睿起,P-core + E-core的兩集群異構設計,在某些場景下就存在調度問題,這次的Meteor Lake對Intel和微軟而言都會是相當大的技術挑戰。
所以在媒體會上,Intel又花較大篇幅去談了Intel Thread Director(以下簡稱ITD)。這個ITD是在Intel發布12代酷睿時,也同期發布的、輔助操作系統做調度決策的機制——它介于CPU與操作系統scheduler之間,給予scheduler以hint,或者說建議。
這次Intel好像對Thread Director做了大改——起碼從介紹來看是如此:我們來大致了解一下現在的ITD機制:
上圖左邊classification,不同的class代表不同類型的指令或工作。縱坐標代表不同集群核心的IPC(每周期執行指令數)比值。比如說對于class 0而言,P-core與E-core的情況基本類似(大部分指令落在這個區間內);而class 1部分則代表,P-core執行此類指令的IPC將大于E-core;class 2顯然是P-core的IPC遠高于E-core;class 3則是相反的。
右邊這張圖,則就每一類class,針對不同的核心,有EE(energy efficiency,能效)與Perf(性能)兩個打分。得分最高的,就將該核心推薦給OS scheduler。就像上面這張圖,就class 0,若追求性能,則ITD傾向于推薦P-core N,而若追求能效,則推薦E-core N。
這張表是動態更新的,基于功耗、發熱等情況發生變化;“主打一個當有其他IP占用power budget時,做動態的評估和判斷”;還有像是基于SoC運行時間能力做更新等。比如Intel舉例中,存在有時class 0指令,無論從性能還是能效維度考量,都推薦E-core的情形。“在正確的時間讓正確的線程跑在正確的core上”。
Intel針對這一代ITD的總結還包括面向操作系統增強的feedback和更智能的hint,以及基于“系統運行模式、硬件特征”等,都“納入到控制邏輯里面來”。
Intel在媒體會上舉了個比較抽象的調度案例。比如說有個高資源占用的前臺app跑起來,有4個進程跑在P-core上;然后有個低資源占用的app跑了2條線程在E-core上;在高資源占用app跑完以后,若兩個輕載線程還在跑,則ITD會建議操作系統將它們搬到LP E-core核心,讓Compute tile整體閑置,以節約能耗。
其實當工作負載很復雜時,全流程仍然相當考驗Intel和微軟的功力。這種3集群設計,在理想情況下可以做到低功耗、高能效;但如果不理想,則會對體驗產生很大影響(而且LP E-core現在是在不同的die上,不知道線程遷移的延遲會不會因此大幅增加)。具體就看產品發布后的實際情況了,畢竟這方面的工作Arm也是和谷歌協調了好多年才走向成熟的。
GPU:核顯性能翻番、支持光追
接下來聊一聊Graphics tile上的核顯,以及SoC tile上的媒體與顯示引擎(另顯示的PHY部分是放在了IO tile上的,如下圖)。以前,這三者習慣上我們總是放在一起聊的。
從總體上來看,Intel說這次的Xe核顯吸取了Arc獨顯方面的技術積累和經驗;新版的Xe-LPG相比于前代Xe-LP,性能和能效(Perf/watt)都實現了翻番;而且新增了一些DirectX 12 Ultimate特性,新增光線追蹤(8個RTU)支持,兩倍速率HiZ,異步拷貝(Async Copies),以及亂序采樣(Out of Order Sampling)。
這里面的確有許多特性是繼承自Xe-HPG獨顯。具體架構層面的變化,媒體分享會上并沒有詳談——據說有互聯、cache方面的優化。從Intel提供的PPT來看,這一代Xe-LPG相比前代的Xe-LP,主要是提高了主頻、擴大了規模、提升了架構效率。
提頻依賴于架構、邏輯與電路設計,以及工藝進化(雖然不知道Graphics tile是否基于Intel自己的Intel 4)。
而在規模擴大的問題上,從下面這張架構框圖來看,跟Xe-HPG的Render Slice的確還挺像的(只不過似乎還是沒有XMX)。
核顯總體規模就是8個Xe核心,總共128個矢量引擎——相比上代的96EU提升了33%;geometry管線達成雙倍拓寬;sampler和pixel backends都有對應提升。按照Intel所說相比前代2倍圖形性能提升,矢量引擎數字提升卻沒有這么多,還是能看出整體架構上的優化的。
當然每個Xe核心對應的有一個光線追蹤單元,看來往后光追是真的要普及了。Intel在酷睿Ultra處理器核顯上,將RTU作為標準件推廣,對于其自身的光追和圖形生態發展也相當有好處。不過基于Embree的Blender光追性能測試提升,Intel給的提升數據是相比CPU渲染提升2.5倍左右的性能,其實就光追部分來看還是挺弱的。
但如果說整體圖形性能真的達成了2倍提升(假定是3DMark這類benchmark成績提升100%),而且存儲不成為瓶頸,那么隔壁“大核顯”就可以被比下去了。則明年用輕薄本全面玩游戲,的確還是可以期待一下。
有關圖形部分,這里其實還有個問題,我們此前提過,即以往的酷睿處理器都是monolithic的SoC,核顯都是掛在環形總線上,甚至還能享用LLC的。Meteor Lake顯然就不能再這么做了,因為Graphics tile都獨立了,和Compute tile中間還隔著個SoC tile。
此前我們就分析過,這么做可能實際造成的性能負面影響很有限(因為圖形的cache hit rate原本就很低);而且這么做對整體系統功耗的降低,似乎還有相當大的幫助,后文談uncore的部分會提及這一點。
此外,Xe顯示引擎、媒體引擎主要都位于SoC tile上,并沒有放在Graphics tile上。媒體引擎支持最高8k60 10bit HDR解碼,8k30 10bit HDR編碼;格式方面,主流的VP9, AVC, HEVC, AV1都有支持。
顯示引擎部分,Intel強調做了功耗方面的優化;全路徑(optimized end to end unified compression)壓縮,“當遇到顯示輸出與分辨率不匹配時,壓縮提供了很不錯的輸出能力,功耗也控制得非常好”;低功耗模式,“降低對CPU、內存、圖形方面的資源需求”。
顯示連接支持HDMI 2.1, Display 2.1, eDP 1.4;輸出最高8k60 HDR, 4x 4k60 HDR, 或者1080p/1440p 360Hz。
為低功耗而生的SoC tile
前面談到媒體引擎、顯示引擎主要都是放在了SoC tile上的;SoC tile上另外還有LP E-core、NPU、內存控制器、IPU,以及包括對USB、Ethernet、WiFi 6E/7、藍牙等的支持。另外,IO tile部分主要是實現PCIe Gen 5和Thunderbot 4支持(似乎此種架構下,也就沒有了PCH的概念——其實以前的PCH+CPU,也屬于多die方案,只不過嚴格意義上不屬于先進封裝)。
這種Chiplet式的模塊化設計,不僅是讓不同chiplet得以用最適配的工藝來制造,而且也確實某種程度上達成了不同模塊的解耦,包括未來要對顯示、媒體、imaging成像(IPU),或者PCIe和Thunderbolt支持做加強,會更便利。Intel說這種架構思路,會影響到未來數代CPU架構設計。
其實這種設計的關鍵還在于die間通信帶寬、功耗、延遲。Intel在宣傳中說Foveros技術具備高密度(單位面積線數)、高帶寬、低延遲、簡單、高能效的特點,但這次沒給具體的數字。去年的Hot Chips上Intel給過一組數據,量級上可供各位同學參考:
不過其實SoC和IO tile的設計,還是挺有講究的。就邏輯框圖來看,SoC tile位于整個Meteor Lake芯片的中間位置,上承Graphics tile,下接Compute tile和IO tile。Die與die之間有專門的高速互聯總線(Foveros Die Interconnect,不同die之間基于不同的通信協議)。
從上圖來看,SoC tile內部有兩條總線,“北邊的是NOC(network on chip),特性是高帶寬、快速響應,能夠讓掛在上面的設備快速、低功耗地訪問memory”。前文著重提到的LP E-core、顯示與媒體引擎、NPU,乃至Compute tile和Graphics tile都掛在NOC上。
“南邊的是IO Fabric”,IO tile、PCIe、USB,以及SoC tile內部的Audio、Ethernet、WiFi藍牙都掛在IO Fabric上。這部分還有兩個相關安全的組成部分,Silicon Security和Security & Managebility Engine(CSME),分別是silicon level和platform level的安全控制。
就不同tile的定位,Intel在宣傳中對Graphics tile的描述是“為3D性能做優化”,對Compute tile的描述則為“為CPU性能做優化”——這兩樣都很好理解。而SoC tile描述為“為功耗做優化”。
SoC tile(或其中一部分)又被Intel稱作Low Power Island低功耗島。其實不光是因為LP E-core位于其上,還包括集成DLVR、動態的內部總線頻率調節、基于負載的性能調節SoC算法、和前文提及ITD線程調度等特性。
而SoC tile實現低功耗的根本原因或許還在下面。
Uncore設計,為將來打基礎
有關SoC tile,及其中相關uncore的部分,在于踐行低功耗、高能效理念過程里,這部分存在的價值。Intel花了不少篇幅去談uncore的設計指導原則——也可能成為未來酷睿處理器設計的基礎:包括第一,對計算密集型IP的重新劃分,實現功耗優化;第二,IO帶寬可擴展;第三,引入低功耗核心(即LP E-core);第四,重組電源管理設計。
我們一個個來看。首先是“計算密集型IP重新劃分”——大致上體現在幾個方面,過去monolithic時代的酷睿處理器設計,媒體編解碼器是和核顯(graphic IP)是放在一起的;而核顯則掛在LLC(L3 cache)上——前文也提到了這一點。下面這張圖展示了ring fabric將這些IP串起來。
“任何一個CPU core,或者graphic(核顯),或者media(媒體引擎)要訪問內存,就會藉由ring總線,通過system agent(系統代理),到達內存。對內存訪問而言,這是非常高性能的解決方案?!币酝芏啻目犷L幚砥骷词沁@么做的。
這種設計存在一個問題,即ring總線上的任何一環需要訪問內存時,“包括ring、core complex、graphic等邏輯單元就都需要激活”——Intel在介紹中說,對于具體的應用而言,這種操作是沒有必要的。最終結果就是功耗更高。
比如說只是流媒體播放的話,media IP對memory做訪問,就要把整個ring都開啟。那么為了解決這個問題,前文已經提到Meteor Lake的核顯部分是單獨位于Graphics tile的;媒體引擎則位于SoC tile;CPU核心主要位于Compute tile。也包括內存控制器,“它們都有自己獨立的、在SoC總線上面attach的位置?!比缦聢D。
“無論graphics,media,還是compute core,要對內存做訪問時,不需要其他部分供電?!北热缟厦孢@張圖展示媒體引擎工作,與內存控制器、顯示引擎之間通訊即可,其余部分是可以關閉的。那么在進行視頻播放時,功耗自然就能得到降低。
不過Intel并未給出有關這能帶來多大程度功耗降低的具體數據(這一點其實很重要)。或許這將有助于筆記本的日常使用場景下,降低低負載下的系統功耗水平——這其實一直以來都是Intel PC處理器的一大頑疾。
此外,談到uncore的第二個設計理念,是IO帶寬可擴展,用以支持SoC內部所有模塊對于帶寬的需求。尤其由于部分新IP的引入,則沿用過去的方案就會造成內部IO的瓶頸和流量擁塞。
“碰到帶寬問題,常規解決辦法是制定優先級,為一些IP創建高優先級。過去我們就是這么做的。但現在由于新IP的引入和劃分,Meteor Lake不能再沿用老的設計方式?!薄八晕覀冡槍oC做了全新的帶寬擴展,適配SoC內部所有IP對帶寬的需求,消除SoC中IP與IP、IP與總線、IO之間的通信瓶頸?!?/p>
“同時,我們還添加了IO緩存塊?!睉撌侵干蠄D中的IOC(IO cache?),“來管理傳入IO的量和地址轉換,確保維持較好的次序。”雖然其實就Intel的講解來看,我們沒聽出scalability可縮放特性表現在哪兒,但應當至少包含了帶寬的增加。
其三,前文也已經提到,就是Meteor Lake的混合架構在SoC tile上引入了LP E-cores。因為畢竟不同IP之間的交互,還是需要控制、協調的。如果這個時候要依靠Compute tile上的CPU核心來協調,顯然是得不償失的。
就這個角度來看,LP E-core的引入似乎是現有chiplet架構下的必行之策。比如用前面的例子來看,進行流媒體播放時,LP E-core就能做基本控制,不需要Compute tile參與。
其四,是電源管理設計的“重塑”。主要表現為不同的tile,內部都有獨立的電源管理控制器(PMC);而在SoC tile上,又有個PUNIT,“它跟不同tile上的電源管理控制器溝通,提供實時、可擴展的電源管理架構”,并“和上層的操作系統、軟件協同工作”。
這又是個模塊化、可縮放的方案,也是去中心化的組成部分。Intel說這種新架構“為Meteor Lake提供了很多電源管理方面新的功能,也為將來芯片設計的電源管理,奠定了非常好的基礎”。怪不得Chips and Cheese認為Intel的chiplet方案相比AMD的更松散、更靈活。
從Intel的描述來看,uncore的這些設計理念,應該是Meteor Lake實現“出色的性能功耗效率”相當重要的一環;同時也是后續進一步達成低功耗的探索和基礎。所以媒體分享會上,Intel說了好幾次Meteor Lake是“Intel歷史上能效最高的客戶端處理器”。雖然可能在大部分用戶看來,這是一句正確的廢話。
最后總結一下Meteor Lake的要點,如上圖所述。(1)核顯性能2倍提升并支持光追;(2)新增SoC tile上的LP E-core,作為更高能效比及更低功耗區間段的第三個集群,加入到了CPU核心中;(3)新增NPU加速單元;(4)采用Intel 4制造工藝,與Foveros 3D先進封裝技術。
有關NPU部分點擊這里查看;Intel 4工藝與Foveros先進封裝技術更多信息則點擊這里查看。
很難得的,本文沒談CPU核心微架構,光在封裝級的系統設計層面打轉就已經耗費了將近7000文字。怪不得這兩年大家都在說,摩爾定律停滯之際,芯片設計的復雜性是往后端和系統層面進一步傾斜了。
感覺要一次完成這么多工作,應該會相當困難。不知道最后Meteor Lake——即酷睿Ultra第1代處理器交付時,最終能達成多少Intel自己的預設。其實即便其中的某些設計與方案未能達成預期,在我們看來也不要緊,因為Meteor Lake對未來的酷睿Ultra處理器也會是至關重要的一代產品。Meteor Lake對Intel而言,乃是重回半導體技術王座的堅實一步。
編輯:黃飛
評論