了解計算機處理器:CPU 與 vCPU 以及線程與內核

2022-07-11     破殼科普社

原標題:了解計算機處理器:CPU 與 vCPU 以及線程與內核

中央處理器 (CPU) 是我們計算機的大腦。他們處理我們每天所做的一切,從打開應用程式到看電影。但究竟什麼是 CPU?它是如何工作的?CPU 和日益流行的 vCPU 有什麼區別?

了解計算機的大腦

根據G2 出版的完整歷史指南,第一台電子計算機是在 1800 年代初期創建的。然而,這些計算機又大又貴,只能由訓練有素的數學家和科學家使用。

1937年,巴貝奇首先提到了分析機,這將成為世界上第一台通用機械計算機。「分析引擎包含現代計算機的所有元素:算術邏輯單元、條件分支和循環形式的控制流以及集成內存,」。

當今計算機的一個關鍵組件是 CPU 或中央處理單元。CPU負責執行諸如作業系統或應用程式等軟體給它的指令。通俗地說,你可以把 CPU 想像成你電腦的大腦。CPU 由兩個主要部分組成:控制單元和算術邏輯單元 (ALU)。如果這些縮寫讓您感到困惑,請參閱我們對 APU、CPU 和 GPU 有何不同的概述。

控制單元負責從內存中取出指令,對其進行解碼,然後將其發送到算術邏輯單元執行。ALU 對存儲在寄存器中的數據執行算術和邏輯運算,寄存器是 CPU 內部的存儲單元。

現代CPU 還包含一個高速緩存,它是少量高速內存,用於存儲經常使用的指令和數據。緩存分為等級;1 級 (L1) 高速緩存內置於 CPU 晶片本身,2 級 (L2) 高速緩存位於靠近 CPU 的單獨晶片上,而 3 級 (L3) 高速緩存位於離 CPU 較遠的晶片上,甚至位於自己的晶片上自己的電路板。

CPU 與 vCPU

隨著雲服務的興起,出現了虛擬中央處理器,簡稱 vCPU。TechTarget 將 vCPU 定義為「分配給虛擬機 (VM) 的物理中央處理單元 (CPU)」。

虛擬機基本上是獨立的作業系統,在另一個作業系統中運行,就好像它們是應用程式一樣。VM 用於多種目的,例如在安全環境中測試新軟體、在同一台計算機上運行多個作業系統(例如 Windows 和 Linux),或者將多個物理伺服器整合到單個伺服器中以節省空間和降低成本。

因此,vCPU 是 CPU 的軟體實現;它不像真正的 CPU 那樣實際存在於您的計算機中。虛擬機管理程序是創建和管理 VM 的軟體,它將 vCPU 分配給虛擬機。VM 內的作業系統將每個 vCPU 視為真正的 CPU 內核。請參閱我們對虛擬機管理程序的解釋以了解更多信息。

但是,由於 vCPU 是基於軟體的,因此它們不如真正的 CPU 高效。因此,在購買計算機時指定處理器的核心數非常重要(例如,「四核」表示四個核心)。選擇虛擬專用伺服器 (VPS) 或專用伺服器託管計劃時也適用相同的規則。

CPU 和 vCPU 之間的主要區別在於 CPU 是基於硬體的,而 vCPU 是基於軟體的。這意味著 CPU 物理存在於您的計算機中,而 vCPU 不存在;相反,它們是由管理程序在需要時創建的。由於實現上的這種差異,CPU 比 vCPU 效率更高;它們沒有與在軟體中運行相關的開銷。

自 2000 年代初以來,vCPU 變得越來越流行,因為它們比物理 CPU 更便宜且更容易分配;但是,如果您正在尋找性能,最好使用具有多個 CPU 內核的計算機,因為每個內核都可以獨立處理指令。

核心與線程

一個 CPU 可能有一個或多個核心,核心是在指定時間執行任務的處理單元。內核將維護任務執行順序、寄存器和緩存(如果適用),並通過 ALU 執行操作。CPU 控制內核,但內核執行作業系統調度的每個軟體進程或線程。線程是可由 CPU 處理的獨立指令序列。

多個線程可以存在於同一個進程中並共享同一個內存空間。與在單獨的進程中運行相比,這使它們能夠更輕鬆地相互通信。線程通常用於通過允許程序的不同部分在不同的內核或處理器上同時運行來提高多線程應用程式的性能。

「線程」這個詞在計算術語中已經使用了很多年。然而,直到 2000 年代初,處理器才引入了對線程的硬體級支持。這允許多個線程在不同的內核上同時執行。以前,無論處理器中有多少個內核,一次只能在單個內核上執行一個線程。多核處理器現在很常見,大多數作業系統都為以多線程運行程序提供了一定程度的支持。

總結核心問題

總而言之,CPU 是我們計算機的基於硬體的大腦,而它們的虛擬對應物 vCPU 是基於軟體的,由管理程序創建以在虛擬機中運行。內核是 CPU 中基於硬體的處理單元,而線程是 CPU 可以處理的基於軟體的指令。

線程可以在不同的內核上同時執行,這允許程序的不同部分同時運行。這可以提高硬體性能,因為可以同時處理多個任務而不是順序處理。

現在您了解了 CPU、vCPU、內核和線程之間的區別,您可以在選擇計算機或伺服器時做出明智的決定。如果您正在尋找性能,最好選擇具有多個 CPU 內核的計算機,因為每個內核都可以獨立處理指令。但是,如果您正在尋找具有成本效益的解決方案,vCPU 可能是您的最佳選擇。

文章來源: https://twgreatdaily.com/zh-hk/56617d3d0f6caa71bf88dac2ffffbca9.html