【廣告】
程序的運(yùn)行過(guò)程,實(shí)際上是程序涉及到的、未涉及到的一大堆的指令的執(zhí)行過(guò)程。當(dāng)程序要執(zhí)行的部分被裝載到內(nèi)存后,CPU要從內(nèi)存中取出指令,然后指令解了碼(以便知道類型和操作數(shù),簡(jiǎn)單的理解為CPU要知道這是什么指令),然后執(zhí)行該指令。再然后取下一個(gè)指令、解了碼、執(zhí)行,以此類推直到程序退出。
在計(jì)算機(jī)體系結(jié)構(gòu)中,CPU 是對(duì)計(jì)算機(jī)的所有硬件資源(如存儲(chǔ)器、輸入輸出單元) 進(jìn)行控制調(diào)配、執(zhí)行通用運(yùn)算的核心硬件單元。CPU 是計(jì)算機(jī)的運(yùn)算和控制核心。計(jì)算機(jī)系統(tǒng)中所有軟件層的操作,終都將通過(guò)指令集映射為CPU的操作。
由于CPU訪問(wèn)內(nèi)存以得到指令或數(shù)據(jù)的時(shí)間要比執(zhí)行指令花費(fèi)的時(shí)間長(zhǎng)很多,因此在CPU內(nèi)部提供了一些用來(lái)保存關(guān)鍵變量、臨時(shí)數(shù)據(jù)等信息的通用寄存器。所以,CPU需要提供 一些特定的指令,使得可以從內(nèi)存中讀取數(shù)據(jù)存入寄存器以及可以將寄存器數(shù)據(jù)存入內(nèi)存。
CPU控制技術(shù)的主要形式,插入控制。CPU 對(duì)于操作控制信號(hào)的產(chǎn)生,主要是通過(guò)指令的功能來(lái)實(shí)現(xiàn)的,通過(guò)將指令發(fā)給相應(yīng)部件,達(dá)到控制這些部件的目的。實(shí)現(xiàn)一條指令功能,主要是通過(guò)計(jì)算機(jī)中的部件執(zhí)行一序列的操作來(lái)完成。較多的小控制元件是構(gòu)建集中處理模式的關(guān)鍵,目的是為了更好的完成CPU數(shù)據(jù)處理操作。
除了嵌入式系統(tǒng),多數(shù)CPU都有兩種工作模式:內(nèi)核態(tài)和用戶態(tài)。這兩種工作模式是由PSW寄存器上的一個(gè)二進(jìn)制位來(lái)控制的。內(nèi)核態(tài)的CPU,可以執(zhí)行指令集中的所有指令,并使用硬件的所有功能。
關(guān)于CPU的多核和多線程
1、CPU的物理個(gè)數(shù)由主板上的插槽數(shù)量決定,每個(gè)CPU可以有多核心,每核心可能會(huì)有多線程。
2、多核CPU的每核(每核都是一個(gè)小芯片),在OS看來(lái)都是一個(gè)獨(dú)立的CPU。
3、對(duì)于超線程CPU來(lái)說(shuō),每核CPU可以有多個(gè)線程(數(shù)量是兩個(gè),比如1核雙線程,2核4線程,4核8線程),每個(gè)線程都是一個(gè)虛擬的邏輯CPU(比如windows下是以邏輯處理器的名稱稱呼的),而每個(gè)線程在OS看來(lái)也是獨(dú)立的CPU。