1、單核CPU
1.1 工作原理
工作原理:單核CPU較爲死腦,在通電時該CPU就會執行存儲塊中的指定地址的指令,如果你想要執行內存塊其他地方的代碼必須調整總線位置纔可以讓其執行。單核CPU就相當於阻塞程序,在工作期間只能執行某一個程序!
每一個CPU都需要有較爲獨立的電路支持,有自己的Cache,而他們之間通過板上的總線進行通信。
假如在這樣的架構上,我們要跑一個多線程的程序,不考慮超線程,那麼每一個線程就要跑在一個獨立的CPU上,線程間的所有協作都要走總線,而共享的數據更是有可能要在好幾個Cache裏同時存在。
1.2起源
CPU的起源是1971年英特爾公司推出,由此正式宣告計算機的誕生,可以說是世界級的改變,並且嚴格準守馮諾依曼體系結構,在英特爾推出CPU之前的計算機所使用的處理器工作是非常麻煩的,需要複雜的線路組合才能使其正常工作,當然英特爾推出的CPU也是需要線路組合,但是相比之前的線路英特爾的要較爲簡潔,並且英特爾將這些線路組合稱爲總線!
2、多核CPU
多核心cpu主要分原生多核和封裝多核。
原生多核指的是真正意義上的多核,最早由AMD提出,每個核心之間都是完全獨立的,都擁有自己的前端總線,不會造成衝突,即使在高負載狀況下,每個核心都能保證自己的性能不受太大的影響,通俗的說,原生多核的抗壓能力強,但是需要先進的工藝,每擴展一個核心都需要很多的研發時間。
封裝多核是隻把多個核心直接封裝在一起,比如Intel早期的PD雙核系列,就是把兩個單核直接封裝在一起,但兩核心只能共同擁有一條前端總線,在兩個核心滿載時,兩個核心會爭搶前端總線,導致性能大幅度下降,所以早期的PD被扣上了“高頻低能”的帽子,要提高封裝多核的性能,在多任務的高壓下儘量減少性能損失,只能不斷的擴大前端總線的總體大小,來彌補多核心爭搶資源帶來的性能損失,但這樣做只能在一定程度上彌補性能的不足,和原生的比起來還是差了很多,而且後者成本比較高,優點在於多核心的發展要比原生快的多。
我們只需要一套芯片組,一套存儲,多核之間通過芯片內部總線進行通信,共享使用內存。在這樣的架構上,如果我們跑一個多線程的程序,那麼線程間通信將比上一種情形更快。
3、
(1)CPU個數即CPU芯片個數。
(2)CPU的核心數是指物理上,也就是硬件上存在着幾個核心。比如,雙核就是包括2個相對獨立的CPU核心單元組,四核就包含4個相對獨立的CPU核心單元組。
(3)線程數是一種邏輯的概念,簡單地說,就是模擬出的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來說,只有核心數的概念,沒有線程數的概念。
4、
在Windows中,在cmd命令中輸入“wmic”,
然後在出現的新窗口中分別輸入“cpu get Name”,“cpu get NumberOfCores”,“cpu get NumberOfLogicalProcessors”即可查看物理CPU數、CPU核心數、線程數。