複製鏈接
請複製以下鏈接發送給好友

中央處理機

鎖定
中央處理機指的是由運算器、寄存器和控制器所組成,能控制指令的解釋和執行的部分稱為中央處理機。由於半導體集成技術的發展,70年代已能將中央處理機全部集成在十幾平方毫米的硅片上,又稱之為中央處理器, 也稱為微處理器。 [1] 
中文名稱
中央處理機
英文名稱
central processor
定  義
用於集中控制,通常包括一個或多個處理機,一個或多個存儲器,可能還有轉換設備的單元。
應用學科
通信科技(一級學科),交換選路(二級學科)
中文名
中央處理機
外文名
Central processing unit
應用學科
通信科技-交換選路
英文縮寫
CPU

中央處理機產品功能

(1)進行算術邏輯運算
(2)可接收和發送數據
(3)可暫存少量數據
(4)提供控制信號
(5)對指令解碼 [2] 

中央處理機產品組成

(1)算數邏輯部件ALU
(2)控制邏輯
(3)寄存器組 [2] 

中央處理機結構格式

中央處理機執行系統需要的算術和邏輯操作並對系統總線實施統一的管理。
1.兩種程序狀態
中央處理機在兩種不同的狀態下工作。這兩種狀態是核心態和用户態。只有核心態程序對系統有完全的控制權。用户態不允許執行某些指令,不允許直接與系統中的外圍設備打交道*。這樣的硬件特性適用於多道程序環境下實施完善的保護。
中央處理機使用6個通用寄存器,兩個堆棧指示器和一個程序計數器。R7用作機器的程序計數器(PC),存放下一條要執行的指令地址。此外它可以用於編址,但不能作為累加器使用。R6通常作為“處理機堆棧指示器”,保存最近進人堆棧的數據地址。在186計算機中有兩個處理機堆棧指示器:“核心態堆棧指示器”和“用户態堆棧指示器”。它們由相應程序狀態的程序使用。當發生外中斷或內中斷時,處理機原來的狀態保留在由服務程序的程序態所規定的處理機堆棧中。其餘的6個寄存器是真正的通用寄存器。
3.處理機狀態字(pSW)777776
處理機狀態字寄存器存放處理機的現時狀態。它包括:現時處理機優先級,現行程序態和原先程序態,表徵最近一條指令結果特徵的條件碼,一個程序調整的跟蹤位。
現行程序態(14、15位)是指正在利用處理機運行的程序是核心態或用户態。原先態(12、13位)是指最近一次外中斷或內中斷之前的程序態是核心態或用户態。
兩種程序態為多道程序系統提供了保護環境,因為它為用户提供了兩個處理機堆棧和兩組存管寄存器。除了核心態程序之外,其它態的程序禁止執行“停機”指令。非核心態程序企圖執行“停機”指令,使處理機發生“非法停機”內中斷,內中斷向量地址4。此外,非核心態的“復位”或“置優先級”指令,不被執行,作為“空操作”指令對待。只有核心態程序可以執行所有的指令。它可以把用户程序分配到存貯空間的任何位置,從而直接地保護關鍵區域(包括設備寄存器和處理機狀態字)在用户操作環境下不被破壞。
在處理機狀態字的5~7位,保存着現在在處理機中運行的程序的優先級,它起着外中斷請求屏蔽的作用。三位代碼表示了處理機8個可能的優先級。當處理機的優先級是7時,所有的外中斷請求都不能被響應。處理機只響應比其優先級高的外中斷請求。處理機優先級可通過執行“置優先級”指令動態地改變。這條指令允許核心態程序,在不改變處理機狀態字其餘部分的情況下,改變處理機的優先級。
4.向量區的保護
在186機中,從。~377號單元為系統向量區,在這裏存放的信息極為重要,不允許破壞,由於系統堆棧通常設置在系統向量區之上,而且它是向低地址擴展的,所以進棧操作有可能破壞向量區。為防止進棧操作破壞系匆句量區,在186機內,設有堆棧溢出檢測功能,當進棧地址小於(400)8時引起“堆棧溢出”內中斷。
5.中斷系統
介紹了中央處理機內程序可訪的主要資源的基礎上,以中斷系統為題目來説明系統各部分相互作用的約定。
(1)直傳請求和直傳
在186機中,直傳請求只是請求單總線控制權,在獲得總線控制權後,總線上的丙個設備之間直接傳送數據,無需中央處理機為干預。但因為在單總線使用上會與中央處理禮發生衝突,所以必須規定兩者的優先次序。在180系列中,直傳請求的優先級高於處理機。在186機中更是重點保證直傳請求能獲得最快的響應。基本上做到現行總線週期一結束就予以響應。所以直傳請求的等待時間不大於代個存貯週期。直傳請求設備一旦獲得控制權以後,可按與之協同工作的存貯器等效週期時間相同的速度進行高速傳輸。
(2)外設硬件中斷請求
186計算機設置了四根外中斷請求線,供單總線上的外設為中斷的目的請求總線控制權。外中斷請求在中央處理機完成一條指令時,按預定的硬件優先級予以響應,在所有請求中優先級最高的設備取得總線控制權。通過外中斷請求線取得總線控制權的設備原則上可以進行兩種可能的操作:(l)啓動總線數據傳輸(2)發中斷命令及中斷向量地址,使處理機執行它所要求的中斷服務程序。或者在進行第一種操作之後再進行第二次操作。實際上在180系列中的大多數設備通過外中斷請求獲得控制權的設備只進行第二種操作。
(3)內中斷和緊急內中斷
中央處理機和存貯系統發生的錯誤和某些指令的執行,使處理機中斷現行程序轉而執行相應的中斷處理程序。這個過程與響應外中斷請求的過程相類似,由於中斷源是在中央處理機內部,所以稱為內中斷。根據內中斷源的性質,內甲斷分為內中斷和緊急內中斷兩類。凡是檢測到一次內中斷請求時,本條指令尚能執行完畢,然後再轉入中斷處理的稱為一般內中斷;凡是內中斷的原因使本條指令不能進行下去,必須中止引起內中斷的操作,立即轉人中斷處理的,稱為緊急內中斷。
(4)中斷的申請及優先級結構
內中斷及緊急內中斷源直接向處理機申請中斷並提供中斷向量地址。內中斷不受處理機優先級的屏蔽,即可視為優先於所有處理機程序。外部設備請求中斷表現為請求總線控制權的形式。對總線控制權處理取決於設備在單總線優先級結構中的位置。
(5)中斷的利用
通過外中斷請求取得總線控制權的設備可以通過中斷中央處理機的現行程序,使處理機的全部功能為設備服務,利用整個指令系統操;縱數據和狀態寄存器。每個可以中斷處理機現行程序的設備在主存中有一對單元保存它的“中斷向量”。其中第一個字存放它的服務程序的起始地址。第2個字是處理程序所使用的處理機狀態字,通過正確地使用處理機狀態字,可以轉變處理機的程序態,改變所用的堆棧指示器,修改處理機的優先級。
(6)外中斷步驟
在186機中下述中斷處理步驟是由硬件自動完成的:
①如果中斷優先級系統許可,處理機批准在所有申請中斷的設備中,優先級最高的設備取得總線控制權。
②設備取得總線控制權,向處理機發出“中斷”命令,和它的服務程序的向量地址。向量地址和服務程序都是在核心態虛擬空間。中斷向量的第一個字是服務程序的首地址,中斷向量的第二個字(它的地址等於中斷向量地址+2)是該服務程序所用的處理機狀態字。
③處理機把現行處理機狀態字和程序計數器存人處理機內的暫存寄存器。
④處理機從核心態虛擬空間取出新的程序計數器和狀態寄存器(中斷向量)。然後把老的程序狀態和程序計數器壓入由新的程序狀態字15、14位所規定的堆棧。並且把老程序狀態字的現行程序狀態置人狀態字寄存器的13、12位。然後啓動服務程序。
這些操作,從處理機接受中斷命令,至開始執行服務程序的第一條指令,所花的時間約為12微秒。這個時間是以整個過程中未發生直接傳送為前提的。
中斷服務程序結束時,通過執行“中斷返回”或“推遲跟蹤中斷返回”指令返回被中斷的程序。執行上述命令的結果是從現行程序態堆棧中彈出兩個字裝人程序計數器和狀態字寄存器。
(7)內中斷步驟
內中斷步驟與外中斷基本相同,每個內中斷源有自己的中斷向量。所不同的是因為中斷源在處理機內部,所以不必請求總線控制權,就可發送中斷向量。
(8)系統對同時發生的內中斷,外中斷統一按如下優先次序服務:
①在處理“指令內中斷”、“跟蹤內中斷”、“堆棧溢出內中斷”或“總線錯誤內中斷”時又出現總線錯誤,處理機只能立即停機。
②在處理“指令內中斷”、“總線錯誤內中斷”或“跟蹤內中斷”的過程中出現“堆棧溢出”,處理過程被完成。然後處理堆棧溢出。在處理堆棧溢出時,在中斷隱指令中仍有兩次壓堆棧的操作會引起堆棧進一步溢出,在中央處理機內已採取措施避免因此而引起死循環。 [3] 
參考資料