蔡金濤
[拼音]:zhongyang chuliqi
[英文]:central processing unit
處理機中解釋和執行指令的部件,簡稱CPU。中央處理器包括處理機中的運算器和系統控制器。系統控制器不僅解釋指令,執行控制型指令,還提供全機控制系統的硬體支援,因而表示和控制處理機執行狀態、實現實時處理和系統管理的中斷系統等也屬於中央處理器。CPU有兩種工作狀態,使用者程式執行時處理機處於“目的程式狀態”(簡稱“目態”);系統管理程式執行時則處於“管理程式狀態”(簡稱“管態”)。中央處理器的系統管理指令只能在“管態”下執行,成為特權指令,使用者使用這些指令會導致系統的混亂,因而處理機監督這種違法使用的情況。CPU響應中斷可能會改變CPU的程式狀態,甚至改變它的內部狀態等。這些都需要中央處理器的硬體支援。
指令是中央處理器直接識別的機器語言的基本單位。一條運算指令一般指定一種操作和若干運算元;一條控制指令則指定中央處理器的狀態,設定和改變各個控制暫存器的內容。中央處理器既是一個按使用者程式要求處理資料的部件,又是負責整個系統控制的部件。它的運算器實現算術、邏輯運算和資料移位、傳送的功能;系統控制器則實現指令譯碼、定址變址、存取資料、控制運算、執行控制指令、接收中斷請求以及對中斷按優先順序排隊。
中央處理器除包含運算器和傳統的運算控制器(簡稱控制器)外,在結構上還包含中斷系統、通用暫存器和堆疊等部分。中斷系統是系統控制器的一個重要組成部分,它由中斷請求暫存器、中斷遮蔽暫存器和排隊優先線路組成。
通用暫存器(以至便箋儲存器或區域性儲存器),是中央處理器的重要部件。它可以在一箇中央處理器時鐘週期內完成讀或寫操作。按地址存取的通用暫存器、浮點暫存器、控制暫存器、程式計數器和堆疊指標一般都放在區域性儲存器中。在採用微程式控制的中央處理器中,微程式工作暫存器、微堆疊以及狀態保留暫存器均可在區域性儲存器分配到儲存單元。有時,它還可用作輸入-輸出通道的資料緩衝儲存器。這種區域性儲存器可以是一個或幾個。
堆疊是中央處理器的一個常用部件。它一般按後進先出規則存取資訊,故又稱“後進先出儲存器”。它包括棧基、棧限和棧頂三個指標暫存器。棧基指向棧的底部,棧限指示棧的最大長度,棧頂指向堆疊中現行資訊頂部。堆疊可以設在主儲存器或區域性儲存器中,也可以將棧頂若干單元存放在暫存器中,其餘部分使用儲存器單元。堆疊常用在採用零地址機器指令的CPU中,作為向運算器提供運算元和存放運算結果的指定部件。堆疊還常用於中斷保護和程式呼叫與巢狀兩種情況。
(1)中斷保護:CPU響應中斷時,首先將中斷現場的處理機狀態存入堆疊。待中斷處理完畢退出中斷時,從堆疊中取出保留資訊、恢復原先的處理機狀態,保證被中斷程式的繼續執行。
(2)程式呼叫和巢狀:從主程式轉子程式或子程式又套用子程式時,每一次都將轉子程式的返回地址壓入堆疊,如此可以層層巢狀。每個子程式的結尾,執行一條返回指令,自動從棧頂取出返回地址送入程式計數器。由於堆疊是後進先出的,可保證中央處理器從裡向外逐層執行子程式,實現多重子程式的遞迴。