“大小核”,或者更正式的稱呼為“異構多核”,在移動端ARM晶片裡幾乎100%普及了,也開始要走進消費級X86 PC端了(Alder Lake)。 不知道你在看到“大小核”越發普及的背後,是否想過為什麼現在會有越來越多、越來越複雜的“大小核”設計?
“異構多核”(大小核)出現的初衷是很簡單的,就是與之對應傳統“同構多核”提升遇到了瓶頸。雖然在不同場合,這個瓶頸的具體緣由可能不一樣,但最後也都差不多可以歸結為,在有限成本下,無法權衡單核效能與其他效能的提升。 例如在移動端,功耗控制和成本是首要因素,要提升單核無可避免地讓核心更大更胖,如果保持同構多核,胖核心在功耗管理的劣勢會讓手機續航變的不太可用,胖核心的成本劣勢也會讓手機多核效能堆不上去。
越是通用化的設計其執行效率就越低,因此對於大小核的提升思路,我把它稱為更為“精細化”的Case-Level最佳化,針對不同的場景(Case)使用對應最佳化設計的核心,在不需要半導體制造技術和晶片架構設計突破的前提下,獲得整體使用場景下的提升。這種針對特定場景,犧牲通用性來換取提升的方法也並不是“大小核”所特有的,其實我們常見的GPU、NPU、DSP等也都是秉承著類似的思路。回到Alder Lake這裡,我們來看一看為什麼Alder Lake會選擇做成異構多核設計?換而言之,Intel在持續提升單核心效能上遇到了什麼問題?
雖然Alder Lake並不是針對手機設計的晶片,但Alder Lake也會被大規模地用在筆記本端,能耗也是Alder Lake不得不考慮的一個問題。 Intel一直以來堅持同構多核設計,其設計也一直在效能和功耗控制上做的不錯,對於Intel這本不是一個急需改變的地方。但是近年來,AMD靠著低功耗設計(低功耗工藝+閹割外圍L3等)在筆記本上帶來了低功耗8核心的設計,把Intel打了個措手不及,有苦說不出。再加上去年Apple也同樣的低功耗策略,用自己的M1狠狠的羞辱了Intel的能耗一把,Intel也勢必需要對此有所反應。 不過必須要指出的是,AMD的Zen2 8核以及Apple的M1並不見得是導致Alder Lake大小核的直接原因,從Alder Lake的設計週期來看,確定大小核是在這兩個產品之前的,更多的是Intel是從ARM已有的大小核那裡汲取的靈感。
大核心Core,小核心Atom能耗比曲線
現在不可能拿到Alder Lake多具體的資料,對於其最後的大小核效果只能大概從Intel大小核的試驗品Lakefield中來看看。大體上,Intel的小核心相對於大核心,在單核心輸出低於65%效能的時候都是具備足夠的能耗比優勢的,在最低功耗上也是有相當的優勢。透過應用小核心,可以在低效能負載的時候獲得更高的能耗比,改善發熱。
引入大小核設計的另一個重要原因是提供更高的效能密度。就像在剛剛的Lakefield中,四個小核心Tremont叢集的面積大體上只是1.3個大核心的大小,即便單核心的Tremont更弱 ,但是整個叢集卻能提供更多的效能。
更高的效能密度可以降低提升多核效能的成本,並且進一步放大在多核效能上的能耗比優勢。在同樣的面積下,更高的效能密度意味著可以以更低的頻率輸出,從而做到相當誇張的多核能耗比提升。在Lakefield的具體實現中,四個小核心可以提供兩倍於大核心的多核效能下並保持1.2倍的能耗比,或者在輸出同樣多核效能的情況下,提供超過3倍的能耗比優勢。
那麼我們最後聊一聊對於Alder Lake產品線來說,小核心具體的意義都是什麼吧?
首先是作為Lakefield升級的Alder Lake M (M5/U9 1B4L),以及面向輕薄本的Alder Lake P(U15 2B8L),他們的大小核比例都是和Lakefield一樣的1:4,因為他們是Alder Lake中功耗設計最低的產品,他們將會因為大小核設計得到非常明顯的低功耗進步,以及多核跑分的提升,並保持足夠的單核效能。
其次對於Alder Lake P(U28 H45, 6B8L)來說,他們的功耗設計已經寬鬆很多,小核心更多的是承擔在低負載待機下的能耗比表現,以及應對AMD堆核跑分的營銷。
最後對於Alder Lake H55以及Alder Lake S,8B8L,小核最大的功效就是刷分了。消費級場景能用到8個大核的機會已經非常少了,但是消費者又非常喜歡看多核跑分,直接堆大核心費力不討好,不如直接拿更適合刷分的小核心來就好。