1. 程式人生 > >(轉)CPU的核心數、線程數的關系和區別

(轉)CPU的核心數、線程數的關系和區別

模擬 img 出現 元組 hive 選擇 技術分享 性能 我們

我們在選購電腦的時候,CPU是一個需要考慮到核心因素,因為它決定了電腦的性能等級。CPU從早期的單核,發展到現在的雙核,多核。CPU除了核心數之外,還有線程數之說,下面文本就來解釋一下CPU的核心數與線程數的關系和區別。
簡單地說,CPU的核心數是指物理上,也就是硬件上存在著幾個核心。比如,雙核就是包括2個相對獨立的CPU核心單元組,四核就包含4個相對獨立的CPU核心單元組,等等,依次類推。
線程數是一種邏輯的概念,簡單地說,就是模擬出的CPU核心數。比如,可以通過一個CPU核心數模擬出2線程的CPU,也就是說,這個單核心的CPU被模擬成了一個類似雙核心CPU的功能。我們從任務管理器的性能標簽頁中看到的是兩個CPU。
比如Inte l賽揚G460是單核心,雙線程的CPU,Intel 酷睿i3 3220是雙核心 四線程,Intel 酷睿i7 4770K是四核心 八線程 ,Intel 酷睿i5 4570是四核心 四線程等等。
對於一個CPU,線程數總是大於或等於核心數的。一個核心最少對應一個線程,但通過超線程技術,一個核心可以對應兩個線程,也就是說它可以同時運行兩個線程。
CPU的線程數概念僅僅只針對Intel的CPU才有用,因為它是通過Intel超線程技術來實現的,最早應用在Pentium4上。如果沒有超線程技術,一個CPU核心對應一個線程。所以,對於AMD的CPU來說,只有核心數的概念,沒有線程數的概念。
CPU之所以要增加線程數,是源於多任務處理的需要。線程數越多,越有利於同時運行多個程序,因為線程數等同於在某個瞬間CPU能同時並行處理的任務數。
在Windows中,在cmd命令中輸入“wmic”,然後在出現的新窗口中分別輸入“cpu get Name”,“cpu get NumberOfCores”,“cpu get NumberOfLogicalProcessors”即可查看物理CPU數、CPU核心數、線程數。
如下圖所示:
技術分享

Name:表示物理CPU數
NumberOfCores:表示CPU核心數
NumberOfLogicalProcessors:表示CPU線程數
註釋:VM虛擬機中的CPU選擇的核心數實際是代表線程數。

輸入“cpu get *”也可

2.在cmd命令中輸入“systeminfo”,以下信息表示物理CPU有兩個

技術分享

感謝http://swiftlet.net/archives/2236

金絲燕網,專註於線程與並發的研究!

(轉)CPU的核心數、線程數的關系和區別