說人話系列: 英特爾酷睿12代詳解(2): 單核效能為何長期停滯?

說人話系列: 英特爾酷睿12代詳解(2): 單核效能為何長期停滯?

世界牙膏大廠‍

在講CPU之前,我先來介紹一下我的朋友小明,身高1米75,體重100公斤。右邊小明的腸子,長9米。為何1米7多的小明有近10米的腸子?因為腸子是曲折捲曲在一起的,而不是一條直線。這是重點,等下要考。

說人話系列: 英特爾酷睿12代詳解(2): 單核效能為何長期停滯?

這位就是小明,右邊是4倍小明身高長度的大小腸

話題回到CPU,CPU的基本結構是電晶體,可以透過電晶體的通電斷電實現0跟1的二進位制變化,數百萬數千萬的電晶體構成了CPU的計算單元。電晶體可以是二極體三極體先不說,但是密密麻麻的電晶體構成了一條條電路。一直以來,電晶體是平面鋪設的。如果讓我們把鏡頭拉近看晶片本身呢。

說人話系列: 英特爾酷睿12代詳解(2): 單核效能為何長期停滯?

晶片本身是密密麻麻的電晶體電路集合

像不像小明的腸道?這就很好理解了。如果在理想狀態下,我們假設一個單核處理器,那這個晶片最外邊的距離,離晶片中間是最遠的,這就造成了核心內部的延遲。因為晶片電路結構不是平均分佈,而是類似人腸道系統的排布,摺疊延伸,所以這個延遲不是簡單的加減關係,而是倍數關係。晶片過大的影響還有其他方面。比如電阻增大,發熱,漏電率增加,抗干擾能力差。那成千上萬的指令,就在這些無數小毛病的堆積中錯誤頻繁,效率不增反降。

就跟小明體重增加,腰圍加大,也不能增加多少智力一樣,單核心晶片過大並不會造成效能顯著提高,反而功耗暴漲,發熱,處理效率低下。為了規避晶片自己的問題,就有了新的設計,多核。實際上,在2003年前後,AMD跟英特爾都玩不轉單核效能增加了,紛紛走向了多核設計。

說人話系列: 英特爾酷睿12代詳解(2): 單核效能為何長期停滯?

說:謝謝小明!

多核設計的思路就是,多個單核連在一起。而多核之間是有通訊的,要受晶片內部指令排程,還要作業系統支援

,而我們敬愛的微軟大人有先見之明,讓windowsXP支援最多4個核心的排程。而多核處理器本身,也要講設計。一般CPU晶片最外圍的部分,都是記憶體控制器跟連線電路之類優先順序低的模組,先不用考慮複雜的公式跟英特爾內部的考慮,我們就以酷睿E5300一直到酷睿i7-8700k這些跨越15年的處理器來看,共同點是,核心計算單元都圍繞在離中心6-8mm的距離之內,超過10mm延遲就會變得很大。CPU的計算速度是每秒鐘數GHZ的,這一丁點兒的延遲差距,能造成巨大影響。

說人話系列: 英特爾酷睿12代詳解(2): 單核效能為何長期停滯?

45nm志強8核,塗成紅藍色的兩個核心,距離差距目測2倍,實際延遲更大

如何規避這些問題?那就控制單核心處理器的大小跟規模,控制在一個合理的範圍。不同核心的距離也要保證,從而保證通訊速度。實際上,從奔騰2開始,整個英特爾CPU單核芯都被限制在了40-50平方毫米左右的面積。

說人話系列: 英特爾酷睿12代詳解(2): 單核效能為何長期停滯?

本人就是這麼懶,但是可見單核心面積多年來沒多少長進

2013年,英特爾創造性的發明了3D電晶體工藝,從而可以讓32nm縮小為更先進的22nm,以便讓摩爾定律延續下去。更先進的工藝帶來更多問題。比如,平面排列的電晶體,現在成了堆疊。更高的單位密度,也造成了同樣面積更大的延遲,更大的電阻,更高的熱量。到了14nm時代,兩倍於22nm的堆疊電晶體密度,讓發熱,電阻,漏電這些問題終於成了大問題。2015年,英特爾第一代14nm工藝問世。結果是令人驚訝的,那高昂的發熱功耗,漏電帶來的效能下降,讓使用者苦不堪言。甚至於,i7-5700HQ筆記本處理器,它的設計溫度就是105℃都屬正常,而使用者覺得英特爾腦子不正常。

如何解決這個問題呢?在這什麼都soc的時代,英特爾14nm第二代卻反整合化。將很多晶片功能拿出來放到主機板,精簡了部分CPU核心的功能,減少了晶片的發熱跟漏電,這造就了6代酷睿i系列的成功。實話講,6代酷睿i系列的能耗比追平2年前22nm的haswell架構,這是進步嗎?而隨著英特爾的不斷打磨,14nm也隨著後面+號的增加越來越好用。而可以預見的是,14nm時代,單核心效能同頻率進步有限,更多是最佳化跟精簡。6代酷睿i系列反SOC化來削減晶片提高能耗比,反而比較穩定。

說人話系列: 英特爾酷睿12代詳解(2): 單核效能為何長期停滯?

退化就是進化(確信)

本期結束。下期繼續講,如何在條件如此多限制的情況下有效提升CPU效能,看看英特爾是在工藝相同的情況下怎麼做到的。