1.說明
CPU(Central Processing Unit)是中央處理單元,
本文介紹實體CPU,實體CPU核心,邏輯CPU,
以及他們三者之間的關系,
一個實體CPU可以有1個或者多個實體核心,
一個實體核心可以作為1個或者2個邏輯CPU。
2.實體CPU
實體CPU就是計算機上實際安裝的CPU,
實體CPU數就是主機闆上實際插入的CPU數量。
在Linux上檢視/proc/cpuinfo,
其中的physical id就是每個實體CPU的id,
有幾個不同的physical id就有幾個實體CPU。
3.實體CPU核心
每顆實體CPU可以有1個或者多個實體核心,
通常每顆實體CPU的核心數都是固定的,
單核CPU就是有1個實體核心,
雙核CPU就是有2個實體核心。
其中的core id就是每顆實體CPU的實體核心id,
有幾個不同的core id就有幾個實體核心。
總的CPU實體核心數 = 實體CPU數 * 每顆實體CPU的核心數
4.邏輯CPU
作業系統可以使用邏輯CPU來模拟真實CPU。
在沒有多核處理器的時候,
一個實體CPU隻能有一個實體核心,
而現在有了多核技術,
一個實體CPU可以有多個實體核心,
可以把一個CPU當作多個CPU使用,
也就是所謂的邏輯CPU。
沒有開啟超線程時,邏輯CPU的個數就是總的CPU實體核心數。
然而開啟超線程後,邏輯CPU的個數就是總的CPU實體核心數的兩倍。
其中的processor就是邏輯CPU,
有幾個processor就有幾個邏輯CPU。
總的邏輯CPU數 = 實體CPU個數 * 每顆實體CPU的核數 * 超線程數
總的邏輯CPU數 = 總的CPU實體核心數 * 超線程數
5.幾核幾線程
6.兩路四核超線程