版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

[科普中國]-中央處理器狀態(tài)

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識(shí)科普陣地
收藏

簡介

中央處理器狀態(tài)一般可以分為運(yùn)行狀態(tài)和空閑狀態(tài)。為了充分利用CPU資源,一般盡可能使CPU處于繁忙狀態(tài),這樣可以提高CPU的利用率。但是CPU速度與I/O速度不在一個(gè)數(shù)量級(jí),為了彌補(bǔ)速度上的不足,計(jì)算機(jī)一般采取多級(jí)存儲(chǔ)器結(jié)構(gòu)。在計(jì)算機(jī)有很多應(yīng)用都有用的到處理機(jī)狀態(tài),例如調(diào)度、中斷。

空閑狀態(tài)空閑狀態(tài)也可以稱為等待時(shí)間,空閑時(shí)間這個(gè)術(shù)語在計(jì)算機(jī)科學(xué)中是指等待時(shí)間,這里并沒有指出哪個(gè)部分的等待時(shí)間。因?yàn)樵谟?jì)算機(jī)中不同對(duì)象的空閑時(shí)間的含義是不相同的。例如CPU空閑時(shí)間是指PU等待I/O設(shè)備完成I/O請(qǐng)求的時(shí)間。

運(yùn)行狀態(tài)在操作系統(tǒng)中,中央處理器運(yùn)行狀態(tài)根據(jù)運(yùn)行環(huán)境不同,可以將運(yùn)行狀態(tài)分為核心態(tài)和用戶態(tài)。核心態(tài)是操作系統(tǒng)內(nèi)核所運(yùn)行的模式,運(yùn)行在該模式的代碼,可以無限制地對(duì)系統(tǒng)存儲(chǔ)、外部設(shè)備進(jìn)行訪問。用戶態(tài)(user mode)在計(jì)算機(jī)結(jié)構(gòu)指兩項(xiàng)類似的概念。在CPU的設(shè)計(jì)中,用戶態(tài)指非特權(quán)狀態(tài)。在此狀態(tài)下,執(zhí)行的代碼被硬件限定,不能進(jìn)行某些操作,比如寫入其他進(jìn)程的存儲(chǔ)空間,以防止給操作系統(tǒng)帶來安全隱患。在操作系統(tǒng)的設(shè)計(jì)中,用戶態(tài)也類似,指非特權(quán)的執(zhí)行狀態(tài)。內(nèi)核禁止此狀態(tài)下的代碼進(jìn)行潛在危險(xiǎn)的操作,比如寫入系統(tǒng)配置文件、殺掉其他用戶的進(jìn)程、重啟系統(tǒng)等。

調(diào)度調(diào)度在計(jì)算機(jī)中是分配工作所需資源的方法。資源可以指虛擬的計(jì)算資源,如線程、進(jìn)程或數(shù)據(jù)流;也可以指硬件資源,如處理器、網(wǎng)絡(luò)連接或擴(kuò)展卡。

進(jìn)行調(diào)度工作的程序叫做調(diào)度器。調(diào)度器通常的實(shí)現(xiàn)使得所有計(jì)算資源都處于忙碌狀態(tài)(在負(fù)載均衡中),允許多位用戶有效地同時(shí)共享系統(tǒng)資源,或達(dá)到指定的服務(wù)質(zhì)量。調(diào)度是計(jì)算自身的基礎(chǔ),同時(shí)也是編程語言計(jì)算模型固有的部分。調(diào)度器使得在單處理器上通過多任務(wù)處理,從而讓執(zhí)行多個(gè)進(jìn)程成為可能。

調(diào)度器可能會(huì)針對(duì)不同的目標(biāo)設(shè)計(jì),例如:吞吐率最大化、響應(yīng)時(shí)間最小化、最低延遲、或最大化公平。在實(shí)踐中,這些目標(biāo)通常是互相沖突的,因此,調(diào)度器會(huì)實(shí)現(xiàn)一個(gè)權(quán)衡利弊的折中方案,而側(cè)重點(diǎn)則可能是前文提到的任何一種,這取決于用戶的需求和目的。

當(dāng)一個(gè)新作業(yè)或進(jìn)程調(diào)入內(nèi)存時(shí),一般會(huì)先檢查處理機(jī)狀態(tài),如果空閑立即執(zhí)行,否則采取一定調(diào)度策略。

多級(jí)存儲(chǔ)器結(jié)構(gòu)對(duì)于通用計(jì)算機(jī)而言,存儲(chǔ)層次至少應(yīng)具有三級(jí):最高層為 CPU 寄存器,中間為主存,最底層是輔存。在較高檔的計(jì)算機(jī)中,還可以根據(jù)具體的功能分工細(xì)劃為寄存器、高速緩存、主存儲(chǔ)器、磁盤緩存、固定磁盤、可移動(dòng)存儲(chǔ)介質(zhì)等 6 層。如圖 4-1 所示,在存儲(chǔ)層次中越往上,存儲(chǔ)介質(zhì)的訪問速度越快,價(jià)格也越高,相對(duì)存儲(chǔ)容量也越小。其中,寄存器、高速緩存、主存儲(chǔ)器和磁盤緩存均屬于操作系統(tǒng)存儲(chǔ)管理的管轄范疇,掉電后它們存儲(chǔ)的信息不再存在。固定磁盤和可移動(dòng)存儲(chǔ)介質(zhì)屬于設(shè)備管理的管轄范疇,它們存儲(chǔ)的信息將被長期保存1。

在計(jì)算機(jī)系統(tǒng)存儲(chǔ)層次中,寄存器和主存儲(chǔ)器又被稱為可執(zhí)行存儲(chǔ)器,存放于其中的信息與存放于輔存中的信息相比較而言,計(jì)算機(jī)所采用的訪問機(jī)制是不同的,所需耗費(fèi)的時(shí)間也是不同的。 進(jìn)程可以在很少的時(shí)鐘周期內(nèi)使用一條 load 或 store 指令對(duì)可執(zhí)行存儲(chǔ)器

進(jìn)行訪問,但對(duì)輔存的訪問則需要通過 I/O 設(shè)備來實(shí)現(xiàn),因此,訪問中將涉及到中斷、設(shè)備驅(qū)動(dòng)程序以及物理設(shè)備的運(yùn)行,所需耗費(fèi)的時(shí)間遠(yuǎn)遠(yuǎn)高于對(duì)可執(zhí)行存儲(chǔ)器訪問的時(shí)間,一般相差 3 個(gè)數(shù)量級(jí)甚至更多。

CPU物理結(jié)構(gòu)CPU包括運(yùn)算邏輯部件、寄存器部件和控制部件等。

邏輯部件英文Logic components;運(yùn)算邏輯部件。可以執(zhí)行定點(diǎn)或浮點(diǎn)算術(shù)運(yùn)算操作、移位操作以及邏輯操作,也可執(zhí)行地址運(yùn)算和轉(zhuǎn)換。

寄存器寄存器部件,包括寄存器、專用寄存器和控制寄存器。 通用寄存器又可分定點(diǎn)數(shù)和浮點(diǎn)數(shù)兩類,它們用來保存指令執(zhí)行過程中臨時(shí)存放的寄存器操作數(shù)和中間(或最終)的操作結(jié)果。 通用寄存器是中央處理器的重要部件之一。

控制部件英文Control unit;控制部件,主要是負(fù)責(zé)對(duì)指令譯碼,并且發(fā)出為完成每條指令所要執(zhí)行的各個(gè)操作的控制信號(hào)。

其結(jié)構(gòu)有兩種:一種是以微存儲(chǔ)為核心的微程序控制方式;一種是以邏輯硬布線結(jié)構(gòu)為主的控制方式。

微存儲(chǔ)中保持微碼,每一個(gè)微碼對(duì)應(yīng)于一個(gè)最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構(gòu)成微程序。中央處理器在對(duì)指令譯碼以后,即發(fā)出一定時(shí)序的控制信號(hào),按給定序列的順序以微周期為節(jié)拍執(zhí)行由這些微碼確定的若干個(gè)微操作,即可完成某條指令的執(zhí)行。

簡單指令是由(3~5)個(gè)微操作組成,復(fù)雜指令則要由幾十個(gè)微操作甚至幾百個(gè)微操作組成。