【廣告】
CPU主要包括兩個部分,即控制器、運算器,其中還包括高速緩沖存儲器及實現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制的總線。電子計算機(jī)三大核心部件就是CPU、內(nèi)部存儲器、輸入/輸出設(shè)備。CPU的功效主要為處理指令、執(zhí)行操作、控制時間、處理數(shù)據(jù)。
注:指令集的軟硬件層次之分:硬件指令集是硬件層次上由CPU自身提供的可執(zhí)行的指令集合。軟件指令集是指語言程序庫所提供的指令,只要安裝了該語言的程序庫,指令就可以執(zhí)行。
用戶態(tài)CPU想要執(zhí)行特權(quán)操作,需要發(fā)起系統(tǒng)調(diào)用來請求內(nèi)核幫忙完成對應(yīng)的操作。其實是在發(fā)起系統(tǒng)調(diào)用后,CPU會執(zhí)行trap指令陷入(trap)到內(nèi)核。當(dāng)特權(quán)操作完成后,需要執(zhí)行一個指令讓CPU返回到用戶態(tài)。除了系統(tǒng)調(diào)用會陷入內(nèi)核,更多的是硬件會引起trap行為陷入內(nèi)核,使得CPU控制權(quán)可以回到操作系統(tǒng),以便操作系統(tǒng)去決定如何處理硬件異常。
關(guān)于CPU的多核和多線程
1、CPU的物理個數(shù)由主板上的插槽數(shù)量決定,每個CPU可以有多核心,每核心可能會有多線程。
2、多核CPU的每核(每核都是一個小芯片),在OS看來都是一個獨立的CPU。
3、對于超線程CPU來說,每核CPU可以有多個線程(數(shù)量是兩個,比如1核雙線程,2核4線程,4核8線程),每個線程都是一個虛擬的邏輯CPU(比如windows下是以邏輯處理器的名稱稱呼的),而每個線程在OS看來也是獨立的CPU。