本文來自微信公眾號:開發(fā)內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen
大家好,我是飛哥!
在 10 月 16 號的時候,Intel 正式發(fā)布了第 14 代的酷睿處理器。但還有很多同學(xué)看不懂這種發(fā)布會上發(fā)布的各種 CPU 參數(shù)。借著這個時機(jī),我給大家深入地講講 CPU 的型號規(guī)則、代際架構(gòu)與微架構(gòu)方面的知識。
CPU 在整個計算機(jī)硬件中、技術(shù)體系中都算是最最重要的東西了。但很遺憾的是,80% 以上的開發(fā)同學(xué)對 CPU 并不是很了解。所以在前面的文章中,我?guī)ьI(lǐng)大家深入地學(xué)習(xí)了很多內(nèi)核中管理和調(diào)度 CPU 資源相關(guān)的文章。在今天,我從 CPU 硬件相關(guān)的技術(shù)細(xì)節(jié)切入,帶領(lǐng)大家更好地認(rèn)識 CPU。
在本文中,我以手頭有一臺之前用過的 ThinkPad x270 的筆記本電腦舉例。在這臺電腦中的 CPU 型號是 Intel (R) Core (TM) i5-7200U CPU @ 2.50GHz 2.71 GHz。那么這個型號字符串中都隱含了哪些技術(shù)信息呢?今天,就讓我們以這個型號為切入點(diǎn),深入地了解個人 PC 電腦中 CPU 硬件相關(guān)的技術(shù)點(diǎn)。
一、Intel 的 CPU 型號規(guī)則
無論是哪家 CPU 廠商,為了更好地管理自己生產(chǎn)的眾多型號的產(chǎn)品,也為了能更好地讓消費(fèi)者對自己家的產(chǎn)品快速地了解。都會定義一套產(chǎn)品規(guī)則。對于 Intel 來說,它的命令規(guī)則大致如下:
Intel 把 CPU 的編號分成了品牌標(biāo)志、品牌修飾符、代際編號、SKU、產(chǎn)品線后綴五個部分。接下來我們分別展開對這五個部分來了解。
第一部分是品牌標(biāo)志。最最常見的 x86 CPU 品牌包括 Intel 和 AMD 兩家公司。而 Intel 又面向不同的市場需求,包括凌動、賽揚(yáng)、奔騰、酷睿、至強(qiáng)等多個子品牌。
酷睿(CORE)、賽揚(yáng)(CELERON)、奔騰(PENTIUM)都是應(yīng)用在家用 PC 電腦上的品牌。其中奔騰和賽揚(yáng)這兩個品牌已經(jīng)算作是歷史了。奔騰在 1992 年推出,之后在很長一段時間里是 PC 家用電腦的主流。賽揚(yáng)是 1998 年時為了和 AMD 競爭低價市場推出的產(chǎn)品,可以理解為縮水版的奔騰??犷J?2006 年推出,直到現(xiàn)在仍然是 PC 電腦里的主流品牌。
至強(qiáng)(Xeon)是企業(yè)級的 CPU,多用于服務(wù)器和工作站。大家在工作中使用的線上服務(wù)器,基本都是這個子品牌旗下的產(chǎn)品。
凌動(Atom)主打省電和低功耗,主要用在手機(jī)平板等設(shè)備上。是的,Intel 也是做過手機(jī) 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)推出的時間點(diǎn)越新。單核的性能也會更好。關(guān)于“Kaby Lake” 后面我們還會單獨(dú)介紹。
第四部分是 SKU 編號。這是 CPU 廠商為了方便對所有的產(chǎn)品進(jìn)行庫存管理而制定的編號。這類似于超市里商品的條形碼、圖書的 ISBN 號,方便查詢和管理產(chǎn)品的庫存量。一般來說,這個值也是越大性能越好,但不絕對。
第五部分是產(chǎn)品線后綴。在筆記本電腦中,H 代表的是高性能、U 系列代表的是較低功耗、Y 系列代表的是極低的功耗。在臺式機(jī)中,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 代表的是低功耗,比較省電,同時也就代表著性能并不是最強(qiáng)的。
在看最新的發(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 的時候,肯定很多小伙伴都會表示看不懂這是什么意思。所以這里專門準(zhǔn)備一個小節(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。下表是我搜集整理到的各個代際的信息(在手機(jī)上看需要往右拖動一下表格才能夠看全)。
時間 | 代數(shù) | CPU 代際 | 制程工藝 | 微架構(gòu) |
---|---|---|---|---|
2013 | 第 4 代 | Haswell | 22nm | Haswell |
2014 | 第 5 代 | Broadwell | 14nm | Haswell |
2015 | 第 6 代 | Skylake(client) | 14nm | Skylake |
2016 | 第 7 代 | Kaby Lake | 14nm | Skylake |
2017 | 第 8 代 | Coffee Lake | 14nm | Skylake |
2018 | 第 9 代 | Coffee Lake Refresh | 14nm | Skylake |
2019 | 第 10 代 | Ice Lake(client) | 10nm | Sunny Cove |
2020 | 第 11 代 | Tiger Lake | 10nm | Willow Cove |
2021 | 第 12 代 | Alder Lake S | 7nm | 大核 Golden Cove 小核 Gracemont |
2022 | 第 13 代 | Raptor Lake | 7nm | 大核 Raptor Cove 小核 Gracemont |
2023 | 第 14 代 | Raptor Lake Refresh | 7nm | 大核 Raptor Cove 小核 Gracemont |
在上面的表中,我列出了每一代 CPU 發(fā)行的時間、代數(shù)、代際編號、制程工藝,還有最后一列是微架構(gòu)。因為我的老電腦中的 CPU 是 Kaby Lake,所以我把 Kaby Lake 的詳細(xì)的資料給大家翻出來。
我們這顆 CPU 是雙核四線程的。所以對應(yīng)的 CPU 的 die 圖(CPU 芯片的內(nèi)部物理結(jié)構(gòu))就是下面這個
在 Die 圖中,最上方的 Memory Controller 是內(nèi)存控制器。當(dāng)前 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 里是包含一塊集成顯卡的就夠了。對這塊顯卡感興趣的同學(xué)可以移步 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)硬盤、機(jī)械硬盤、網(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 的制程工藝一直在進(jìn)步,從 2013 年的 22 nm 逐步發(fā)展到了今天的 7 nm。制程工藝的進(jìn)步帶來的好處主要是能效比的提升,單位面積上晶體管的數(shù)量增加了,但是需要的能耗卻變低了。
至于說其它的代際的架構(gòu)中的內(nèi)存控制器、PCIe 通道的變化情況,我們后面再單獨(dú)寫一篇文章。
三、物理核微架構(gòu)設(shè)計
另外每個代際的 CPU 還有個非常不同的地方在于微架構(gòu)的不同。微架構(gòu)指的是每個物理核設(shè)計時采用的技術(shù)方案。不同的微架構(gòu)對核的設(shè)計是不同的,比如 TLB、L1、L2 等各種緩存,再比如 CPU 核內(nèi)部的運(yùn)算單元都會有所不同。
通過上一節(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。
后端模塊的作用是從隊列中獲取前端解碼好了的指令開始運(yùn)行。在后端中包括 Port0、Port1、...、Port7 等 8 個端口。每個端口都支持不同的微操作(uOP)的處理。
其中 Port0、Port1、Port5、Port6 支持整數(shù)、浮點(diǎn)數(shù)的加法運(yùn)算,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)部。了解到了物理核中的三大組成部分:前端、后端和存儲模塊。其中前端負(fù)責(zé)指令的解析,后端負(fù)責(zé)指令解析后的微操作的運(yùn)行處理。存儲系統(tǒng)為前端和后端提供了 L1、L2 等緩存,用于加速內(nèi)存訪問。
看到這里,相信你對 CPU 會有更深刻的認(rèn)識了。后面我們再來一篇文章介紹不同代際中都在哪些地方有進(jìn)步。別猶豫,快把本文快分享給你的好基友吧!
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。