一文深入了解 CPU 的型號、代際架構(gòu)與微架構(gòu)
在 10 月 16 號的時候,Intel 正式發(fā)布了第 14 代的酷睿處理器。但還有很多同學看不懂這種發(fā)布會上發(fā)布的各種 CPU 參數(shù)。借著這個時機,給大家深入地講講 CPU 的型號規(guī)則、代際架構(gòu)與微架構(gòu)方面的知識。
CPU 在整個計算機硬件中、技術(shù)體系中都算是最最重要的東西了。但很遺憾的是,80%以上的開發(fā)同學對 CPU 并不是很了解。在今天,我從 CPU 硬件相關(guān)的技術(shù)細節(jié)切入,帶領(lǐng)大家更好地認識 CPU。
在本文中,我以手頭有一臺之前用過的 ThinkPad x270 的筆記本電腦舉例。在這臺電腦中的 CPU 型號是?Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz 2.71 GHz
。那么這個型號字符串中都隱含了哪些技術(shù)信息呢?今天,就讓我們以這個型號為切入點,深入地了解個人 PC 電腦中 CPU 硬件相關(guān)的技術(shù)點。
一、Intel 的 CPU 型號規(guī)則
無論是哪家 CPU 廠商,為了更好地管理自己生產(chǎn)的眾多型號的產(chǎn)品,也為了能更好地讓消費者對自己家的產(chǎn)品快速地了解。都會定義一套產(chǎn)品規(guī)則。對于 Intel 來說,它的命令規(guī)則大致如下:

Intel 把 CPU 的編號分成了品牌標志、品牌修飾符、代際編號、SKU、產(chǎn)品線后綴五個部分。接下來我們分別展開對這五個部分來了解。
第一部分是品牌標志。最最常見的 x86 CPU 品牌包括 Intel 和 AMD 兩家公司。而 Intel 又面向不同的市場需求,包括凌動、賽揚、奔騰、酷睿、至強等多個子品牌。
酷睿(CORE)、賽揚(CELERON)、奔騰(PENTIUM)都是應(yīng)用在家用 PC 電腦上的品牌。其中奔騰和賽揚這兩個品牌已經(jīng)算作是歷史了。奔騰在 1992 年推出,之后在很長一段時間里是 PC 家用電腦的主流。賽揚是 1998 年時為了和 AMD 競爭低價市場推出的產(chǎn)品,可以理解為縮水版的奔騰。酷睿是 2006 年推出,直到現(xiàn)在仍然是 PC 電腦里的主流品牌。
志強(Xeon)是企業(yè)級的CPU,多用于服務(wù)器和工作站。大家在工作中使用的線上服務(wù)器,基本都是這個子品牌旗下的產(chǎn)品。
凌動(Atom)主打省電和低功耗,主要用在手機平板等設(shè)備上。是的,Intel 也是做過手機 CPU 的,但因為功耗問題在競爭中被 arm 架構(gòu)各家處理器廠商打敗,在 2016 年后逐漸退出市場。
第二部分是品牌修飾符。這個部分是為了區(qū)分處理器的市場定位的,一般來說同一年代生產(chǎn)的 CPU 中, i3 i5 i7 i9 的性能是依次遞增的。分別代表著低端、中端和高端的定位。
第三部分是 CPU 的代際編號。這一部分有可能是一位數(shù)字,也有可能是兩位的數(shù)字。在我們舉例的這顆 CPU 上,代際編號是“7”。這個代際編號對應(yīng)的是 Intel 于 2016 年推出的內(nèi)部代號為“Kaby Lake” 的 CPU架構(gòu)。一般來說,CPU 代際編號越大,則代表架構(gòu)推出的時間點越新。單核的性能也會更好。關(guān)于“Kaby Lake” 后面我們還會單獨介紹。
第四部分是 SKU 編號。這是 CPU 廠商為了方便對所有的產(chǎn)品進行庫存管理而制定的編號。這類似于超市里商品的條形碼、圖書的 ISBN 號,方便查詢和管理產(chǎn)品的庫存量。一般來說,這個值也是越大性能越好,但不絕對。
第五部分是產(chǎn)品線后綴。在筆記本電腦中,H代表的是高性能、U系列代表的是較低功耗、Y系列代表的是極低的功耗。在臺式機中,X代表的是最高性能、K代表的是高性能、T代表的是功耗優(yōu)化。
關(guān)于型號規(guī)則大家也可以參考 Intel 的官網(wǎng)介紹(https://www.intel.cn/content/www/cn/zh/processors/processor-numbers.html)。
現(xiàn)在我們再回頭來看一下我們開頭提到的 CPU,Intel(R) Core(TM) i5-7200U CPU
。這里面包含的含義就是,這是一個Intel 的酷睿子品牌的 CPU,i7代表著中高端,代際編號是7,這個代際的處理器架構(gòu)是 2016 年發(fā)布的采用的 Kaby Lake 架構(gòu)生產(chǎn)的。SKU 編號是 200。產(chǎn)品線后綴的 U 代表的是低功耗,比較省電,同時也就代表著性能并不是最強的。
在看最新的發(fā)布的酷睿 CPU 型號有,Intel(R) Core(TM) i9-14900K
、Intel(R) Core(TM) i7-14700K
、Intel(R) Core(TM) i5-14600K
?等幾款 CPU。這里面也表示了還是屬于 Intel 酷睿 子品牌下的產(chǎn)品。i9、i7、i5分別代表著每個 CPU 的檔次。14 代表的是代際。900、700、600 屬于 SKU 編號。
二、CPU 的代際
前面在看到 Kaby Lake 的時候,肯定很多小伙伴都會表示看不懂這是什么意思。所以這里專門準備一個小節(jié)來解釋下。前面我們提到每個 CPU 型號中都包含了一個代際編號。比如第 7 代、第 8 代,就在剛剛 2023 的 10 月 16 日,已經(jīng)更新到了第 14 代。
這個代際代表的 CPU 的生產(chǎn)年份不同、生產(chǎn)工藝不同、架構(gòu)設(shè)計的不同。各個代際除了這個數(shù)字的編號外,還會有一個英文代號。比如第 7 代的代際編號就是 Kaby Lake。最新的第 14 代的代際編號是 Raptor Lake Refresh。下表是我搜集整理到的各個代際的信息(在手機上看需要往右拖動一下表格才能夠看全)。

在上面的表中,我列出了每一代 CPU 發(fā)行的時間、代數(shù)、代際編號、制程工藝,還有最后一列是微架構(gòu)。因為我的老電腦中的 CPU 是 Kaby Lake,所以我把 Kaby Lake 的詳細的資料給大家翻出來。
我們這顆 CPU 是雙核四線程的。所以對應(yīng)的 CPU 的 die 圖(CPU芯片的內(nèi)部物理結(jié)構(gòu))就是下面這個

在 Die圖中,最上方的Memory Controller 是內(nèi)存控制器。當前 CPU 能支持什么樣規(guī)格的內(nèi)存,以及能支持多大的內(nèi)存,都是由 CPU 中的內(nèi)存控制器來決定的。其中 Kaby Lake 的內(nèi)存控制器相比上一代 Skylake 來說,將支持的內(nèi)存頻率從 DDR4-2133 提升到了 DDR4-2400。下方中間位置是兩個物理核,這是 CPU 中最重要的部分。還有兩塊 L3 Cache,要注意的是雖然在硬件上是有兩塊 L3,但不管有幾塊,所有的 L3 緩存都是所有核共享的。
在CPU 的下方最右側(cè)的 Gen9.5 是 CPU 中集成顯卡。因為我們不打算深入講顯卡,所以這里大家只要知道 PC 電腦的 CPU 里是包含一塊集成顯卡的就夠了。對這塊顯卡感興趣的同學可以移步?https://en.wikichip.org/wiki/intel/microarchitectures/gen9。
在 CPU 的下方最左側(cè)是?System Agent 模塊。在該模塊中主要包括外圍組件快速互聯(lián)(Peripheral Component Interconnect Express,簡稱PCIe) 通道、圖像處理單元(Image Processing Unit,IPU)等
在 Kaby Lake 中包含 20 個 PCIe 通道。其中有的通道是用于和顯卡通信,有的是通過南橋和硬盤、網(wǎng)卡等設(shè)備通信。
南橋芯片是用于幫助 CPU 和外圍設(shè)備交互的。固態(tài)硬盤、機械硬盤、網(wǎng)卡等 IO 設(shè)備一般來說都是通過南橋來和 CPU 相連的。南橋會收集好了這些設(shè)備上的數(shù)據(jù)再傳輸給 CPU 處理。另外現(xiàn)在有些高性能的固態(tài)硬盤也是直接通過 PCIe 通道和 CPU 通信,這樣的硬盤性能更好。
另外 IPU 的功能是支持視頻錄制成像、人臉檢測識別等圖像相關(guān)處理的硬件支持。

以上就是 Kaby Lake 架構(gòu)下 CPU 的主要物理結(jié)構(gòu)。
另外從表中還可以看到 Kaby Lake 是2016年發(fā)布的,制程工藝是 14 nm。CPU 的制程工藝一直在進步,從 2013 年的 22 nm 逐步發(fā)展到了今天的 7 nm。制程工藝的進步帶來的好處主要是能效比的提升,單位面積上晶體管的數(shù)量增加了,但是需要的能耗卻變低了。
至于說其它的代際的架構(gòu)中的內(nèi)存控制器、PCIe 通道的變化情況。
【文章福利】小編推薦自己的Linux內(nèi)核技術(shù)交流群:【749907784】整理了一些個人覺得比較好的學習書籍、視頻資料共享在群文件里面,有需要的可以自行添加哦?。。。ê曨l教程、電子書、實戰(zhàn)項目及代碼)? ?


零聲白金VIP體驗卡(含基礎(chǔ)架構(gòu)/高性能存儲/golang/QT/音視頻/Linux內(nèi)核)課程:

三、物理核微架構(gòu)設(shè)計
另外每個代際的 CPU 還有個非常不同的地方在于微架構(gòu)的不同。微架構(gòu)指的是每個物理核設(shè)計時采用的技術(shù)方案。不同的微架構(gòu)對核的設(shè)計是不同的,比如 TLB、L1、L2 等各種緩存,再比如 CPU 核內(nèi)部的運算單元都會有所不同。
通過上一節(jié)中的表格,可以看到我手頭的這顆Intel(R) Core(TM) i5-7200U CPU
?代際編號為Kaby Lake,微架構(gòu)的設(shè)計仍然沿用的是 Skylake 中的核設(shè)計。那么 Skylake 中的物理核是怎么設(shè)計的呢?我從官網(wǎng)站到了它的內(nèi)部物理結(jié)構(gòu)。

上面的圖中大致可以根據(jù)顏色的不同分成三大塊區(qū)域。
第一塊區(qū)域是黃色部分的前端,也叫 Front End。
前端部分的作用是從內(nèi)存中獲取指令并解碼,然后把解碼后的指令放到隊列中,等待 CPU 后端處理。還包括了 CPU 中的分支預(yù)測的實現(xiàn) BPU。另外也還包含解析指令是需要用到的 L1 指令緩存和指令 TLB。
其中從上圖中也可以看到,Skylake 核中的 L1 指令緩存的大小是 32 KiB。
第二塊區(qū)域是綠色的后端,又叫 Execution Engine。
后端模塊的作用是從隊列中獲取前端解碼好了的指令開始運行。在后端中包括 Port0、Port1、...、Port7 等 8 個端口。每個端口都支持不同的微操作(uOP)的處理。
其中 Port0、Port1、Port5、Port6支持整數(shù)、浮點數(shù)的加法運算,Port2、Port3 用于地址生成和加載,Port4用于存儲操作。每個
因為有 8 個 Port,所以后端在一個時鐘周期內(nèi),是可以最多處理 8 個微操作的。
第三塊區(qū)域是紫色的存儲系統(tǒng),又叫 Momory SubSystem。
在這里包括了 L1 級別的 Data 緩存區(qū),圖中也展示了它的大小是 32KiB。還包括 L2 緩存,其大小是 256 KiB。另外還有 Data TLB 等緩存。這些緩存都是位于 CPU 核內(nèi)部的。訪問它們的速度比訪問內(nèi)存更快。
不同代際的 CPU 的微架構(gòu)設(shè)計也是不同的,單核性能也會有變化。
總結(jié)
今天借助我手頭的一枚老舊的 CPU?Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz 2.71 GHz
。咱們深入地介紹了 Intel 的 CPU 命名規(guī)則。了解了命名規(guī)則有助于你快速判斷一顆 CPU 的大概的性能。不過如果你是一名發(fā)燒友,還是建議你搜索天梯圖來了解每個 CPU 的排名情況。
另外我們也找到了這顆 CPU 的硬件解剖圖 - Die 圖。從 Die 圖里我們直觀地看到了 CPU 內(nèi)部的物理結(jié)構(gòu)。在 i5-7200U 中包括了集成顯卡、包括了物理核、還看到了 L3 緩存的位置。另外內(nèi)存控制器也是集成在 CPU 的,CPU 就是通過它來和內(nèi)存通信的。還有就是 PCIe 通道,是 CPU 用來和硬盤、網(wǎng)卡、顯卡等設(shè)備通信的通路。
最后我們深入到了 Skylake 的物理核的內(nèi)部。了解到了物理核中的三大組成部分:前端、后端和存儲模塊。其中前端負責指令的解析,后端負責指令解析后的微操作的運行處理。存儲系統(tǒng)為前端和后端提供了 L1、L2 等緩存,用于加速內(nèi)存訪問。
原文作者:開發(fā)內(nèi)功修煉
