中央處理器狀態

中央處理器狀態

中央處理器 (Central Processing Unit , CPU),是計算機的主要設備之一,功能主要是解釋計算機指令以及處理計算機軟體中的數據。在計算機系統中,中央處理器狀態一般可以分為運行狀態和空閒狀態。運行狀態是指CPU正在處理進程或程式;空閒狀態則與之相反。

簡介

中央處理器狀態一般可以分為運行狀態和空閒狀態。為了充分利用CPU資源,一般儘可能使CPU處於繁忙狀態,這樣可以提高CPU的利用率。但是CPU速度與I/O速度不在一個數量級,為了彌補速度上的不足,計算機一般採取多級存儲器結構。在計算機有很多套用都有用的到處理機狀態,例如調度、中斷。

空閒狀態

空閒狀態也可以稱為等待時間,空閒時間這個術語在計算機科學中是指等待時間,這裡並沒有指出哪個部分的等待時間。因為在計算機中不同對象的空閒時間的含義是不相同的。例如CPU空閒時間是指PU等待I/O設備完成I/O請求的時間。

運行狀態

在作業系統中,中央處理器運行狀態根據運行環境不同,可以將運行狀態分為核心態和用戶態。核心態是作業系統核心所運行的模式,運行在該模式的代碼,可以無限制地對系統存儲、外部設備進行訪問。用戶態(user mode)在計算機結構指兩項類似的概念。在CPU的設計中,用戶態指非特權狀態。在此狀態下,執行的代碼被硬體限定,不能進行某些操作,比如寫入其他進程的存儲空間,以防止給作業系統帶來安全隱患。在作業系統的設計中,用戶態也類似,指非特權的執行狀態。核心禁止此狀態下的代碼進行潛在危險的操作,比如寫入系統配置檔案、殺掉其他用戶的進程、重啟系統等。

調度

調度在計算機中是分配工作所需資源的方法。資源可以指虛擬的計算資源,如執行緒、進程或數據流;也可以指硬體資源,如處理器、網路連線或擴展卡。

進行調度工作的程式叫做調度器。調度器通常的實現使得所有計算資源都處於忙碌狀態(在負載均衡中),允許多位用戶有效地同時共享系統資源,或達到指定的服務質量。調度是計算自身的基礎,同時也是程式語言計算模型固有的部分。調度器使得在單處理器上通過多任務處理,從而讓執行多個進程成為可能。

調度器可能會針對不同的目標設計,例如:吞吐率最大化、回響時間最小化、最低延遲、或最大化公平。在實踐中,這些目標通常是互相衝突的,因此,調度器會實現一個權衡利弊的折中方案,而側重點則可能是前文提到的任何一種,這取決於用戶的需求和目的。

當一個新作業或進程調入記憶體時,一般會先檢查處理機狀態,如果空閒立即執行,否則採取一定調度策略。

多級存儲器結構

中央處理器狀態 中央處理器狀態

對於通用計算機而言,存儲層次至少應具有三級:最高層為 CPU 暫存器,中間為主存,最底層是輔存。在較高檔的計算機中,還可以根據具體的功能分工細劃為暫存器、高速快取、主存儲器、磁碟快取、固定磁碟、可移動存儲介質等 6 層。如圖 4-1 所示,在存儲層次中越往上,存儲介質的訪問速度越快,價格也越高,相對存儲容量也越小。其中,暫存器、高速快取、主存儲器和磁碟快取均屬於作業系統存儲管理的管轄範疇,掉電後它們存儲的信息不再存在。固定磁碟和可移動存儲介質屬於設備管理的管轄範疇,它們存儲的信息將被長期保存 。

在計算機系統存儲層次中,暫存器和主存儲器又被稱為可執行存儲器,存放於其中的信息與存放於輔存中的信息相比較而言,計算機所採用的訪問機制是不同的,所需耗費的時間也是不同的。 進程可以在很少的時鐘周期內使用一條 load 或 store 指令對可執行存儲器

進行訪問,但對輔存的訪問則需要通過 I/O 設備來實現,因此,訪問中將涉及到中斷、設備驅動程式以及物理設備的運行,所需耗費的時間遠遠高於對可執行存儲器訪問的時間,一般相差 3 個數量級甚至更多。

CPU物理結構

CPU包括運算邏輯部件、暫存器部件和控制部件等。

邏輯部件

英文Logic components;運算邏輯部件。可以執行定點或浮點算術運算操作、移位操作以及邏輯操作,也可執行地址運算和轉換。

暫存器

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

控制部件

英文Control unit;控制部件,主要是負責對指令解碼,並且發出為完成每條指令所要執行的各個操作的控制信號。

其結構有兩種:一種是以微存儲為核心的微程式控制方式;一種是以邏輯硬布線結構為主的控制方式。

微存儲中保持微碼,每一個微碼對應於一個最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構成微程式。中央處理器在對指令解碼以後,即發出一定時序的控制信號,按給定序列的順序以微周期為節拍執行由這些微碼確定的若干個微操作,即可完成某條指令的執行。

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

相關詞條

熱門詞條

聯絡我們