CPU 基礎知識:什麼是內核、超線程和多 CPU?

已發表: 2023-03-19
沒有散熱器的 CPU。
傑森·菲茨帕特里克 / How-To Geek
單個現代 CPU 通常具有多個內核。 每個核心都是自己的處理器。 同時多線程,英特爾稱為超線程,將每個物理內核分成兩個邏輯處理器。 每個邏輯處理器都讓您的操作系統運行兩個獨立的任務。 例如,八核 CPU 顯示為具有 8 個內核和 16 個邏輯處理器的單個 CPU。

計算機中的中央處理器 (CPU) 執行計算工作——基本上是運行程序。 但現代 CPU 提供了多核和超線程等功能。 有些 PC 甚至使用多個 CPU。 我們將解釋差異及其工作原理。

目錄

什麼是超線程和同步多線程?
什麼是 CPU 內核?
所有的多核 CPU 配置都一樣嗎?
多CPU怎麼樣?

什麼是超線程和同步多線程?

同步多線程(Intel 稱為超線程)允許單個 CPU 同時運行多個任務,而不是按順序運行,這在大多數情況下提高了性能。

超線程是英特爾在 2002 年首次嘗試將並行計算引入消費類 PC。當時的 Pentium 4 只有一個 CPU 內核,因此它一次只能執行一個任務——即使它能夠在兩者之間切換任務足夠快,以至於看起來像是多任務處理。 超線程——在 AMD 和其他非英特爾處理器上稱為同步多線程 (SMT)——試圖彌補這一點。

注意:嚴格來說,只有Intel 處理器具有超線程,但是,該術語有時通俗地用於指代任何類型的同步多線程。

具有超線程或同步多線程的單個物理 CPU 內核在操作系統中表現為兩個邏輯 CPU。 CPU還是單CPU,所以有點坑爹。 雖然操作系統看到每個內核有兩個 CPU,但實際的 CPU 硬件每個內核只有一組執行資源。 CPU 假裝它擁有比實際更多的內核,並使用自己的邏輯來加快程序執行速度。 換句話說,操作系統被欺騙,讓每個實際的 CPU 核心看到兩個 CPU。

超線程允許兩個邏輯 CPU 內核共享物理執行資源。 這可以稍微加快速度——如果一個虛擬 CPU 停止並等待,另一個虛擬 CPU 可以藉用它的執行資源。 超線程可以加速您的系統,但它遠不及擁有實際的額外內核。

英特爾驅動的筆記本電腦。
漢娜史崔克 / How-To Geek

值得慶幸的是,超線程現在只是一個額外的好處。 雖然最初具有超線程的消費類處理器只有一個偽裝成多核的單核,但現代 CPU 現在同時具有多核和超線程或 SMT 技術。 具有超線程的六核 CPU 在操作系統中顯示為 12 個內核,而具有超線程的八核 CPU 顯示為 16 個內核。 超線程並不能替代額外的內核,但是帶有超線程的雙核 CPU 應該比沒有超線程的雙核 CPU 表現更好。

什麼是 CPU 內核?

最初,CPU 具有單核。 這意味著物理 CPU 上只有一個中央處理器。 為了提高性能,製造商添加了額外的“核心”或中央處理器。 雙核 CPU 有兩個中央處理器,因此在操作系統看來是兩個 CPU。 例如,具有兩個內核的 CPU 可以同時運行兩個不同的進程。 這會加快您的系統速度,因為您的計算機可以同時執行多項操作。

與超線程不同,這裡沒有技巧——雙核 CPU 實際上在 CPU 芯片上有兩個中央處理單元。 四核 CPU 有四個中央處理器,八核 CPU 有八個中央處理器,依此類推。

這有助於顯著提高性能,同時保持物理 CPU 單元足夠小以適合單個插槽。 只需要一個 CPU 插槽和一個 CPU 單元插入其中——而不是四個不同的 CPU 插槽和四個不同的 CPU,每個都需要自己的電源、冷卻和其他硬件。 延遲更少,因為內核可以更快地通信,因為它們都在同一個芯片上。

Windows 任務管理器很好地展示了這一點。 在這裡,例如,您可以看到這個系統有一個實際的 CPU(插槽)和 8 個內核。 同時多線程使每個內核在操作系統看來就像兩個 CPU,因此它顯示了 16 個邏輯處理器。

具有 8 核 CPU 的 Windows 10 上的任務管理器。

所有的多核 CPU 配置都一樣嗎?

不,並非所有多核 CPU 配置都相同。 在查看多核 CPU 時,您會遇到兩種截然不同的設計理念。

一種配置——多年來在消費類 PC 中很常見的配置——使用多個相同的內核。 在這些設置中,如果您有一個八核系統,所有八個處理器都是高性能 CPU,並且它們都以相同的方式進行了優化。

另一種使用不同內核的混合體(有時稱為異構內核架構)。 通常,這些設置將使用兩種不同的類型:性能核心和效率核心。

確切的命名方案因公司和應用程序而異,但基本思想是相同的。 效率核心保留用於後台和低需求任務。 這些內核消耗的功率更少。 性能核心恰恰相反。 它們消耗的電量要多得多,但在要求苛刻的任務(例如游戲)中性能要好得多。 這種組合可在您需要時提供性能,但背景能耗較低。

相關:什麼是 GPU 或 CPU 的低電壓,你應該什麼時候做?

這種異構多核設置(被 ARM 稱為 big.LITTLE)首先在手機和其他移動設備中流行起來,因為它們提供了節能功能。 當您需要手機續航一整天時,通過一直運行高功率核心來不必要地耗盡電池是沒有意義的。 英特爾還在主流台式機 CPU 中引入了這一理念,首先是其 Alder Lake 處理器。

多CPU怎麼樣?

大多數計算機只有一個 CPU。 單個 CPU 可能具有多個內核或超線程技術——但它仍然只是一個物理 CPU 單元,插入到主板上的單個 CPU 插槽中。

相關:為什麼你不能使用 CPU 時鐘速度來比較計算機性能

在超線程和多核 CPU 出現之前,人們試圖通過添加額外的 CPU 來為計算機增加額外的處理能力。 這需要帶有多個 CPU 插槽的主板。 主板還需要額外的硬件來將這些 CPU 插槽連接到 RAM 和其他資源。 這種設置有很多開銷。 如果 CPU 需要相互通信,會有額外的延遲,具有多個 CPU 的系統會消耗更多的功率,並且主板需要更多的插槽和硬件。

具有多個 CPU 的服務器。
賈斯汀·杜伊諾 / How-To Geek

如今,具有多個 CPU 的系統在家庭用戶 PC 中並不常見。 即使是配備多張顯卡的高性能遊戲台式機,通常也只有一個 CPU。 您會在超級計算機、服務器、一些工作站和類似的高端系統中發現多個 CPU 系統,它們需要盡可能多的數字運算能力。

計算機擁有的 CPU 或內核越多,它可以同時處理的事情就越多,這有助於提高大多數任務的性能。 大多數計算機現在都有多核 CPU——我們討論過的最有效的選擇。 您甚至可以在現代智能手機和平板電腦上找到具有多核的 CPU。

在比較性能時,CPU 的時鐘速度及其 IPC(每週期指令數)過去已經足夠了。 事情不再那麼簡單了。 提供多核和超線程的 CPU 的性能可能明顯優於不具有超線程的相同速度的 CPU。 具有多個 CPU 的 PC 可以具有更大的優勢。 所有這些功能旨在讓 PC 更輕鬆地同時運行多個進程——在多任務處理或視頻編碼器和現代遊戲等強大應用程序的需求下提高您的性能。

當然,更高的核心數並不是在所有情況下都那麼重要。 現代操作系統在將任務分配給多個內核方面非常聰明,但並非所有程序都得到瞭如此好的優化。 在許多情況下(尤其是遊戲),性能主要受限於單個內核的最大速度,而不是您擁有的內核總數。 因此,不要急於購買 64 核 Threadripper CPU,以為它會在《使命召喚》中為您淨賺 10 億幀每秒——事實並非如此。