軟考筆記(9)--計算機組成原理3--處理器

一、CPU的整體結構

CPU是由控制器和運算器兩大部分組成,控制器是整個系統的指揮中心,在控制器的控制之下,運算器、存儲器和輸入輸出設備等部件構成了一個整體。

1.1、CPU的功能

計算機的工作過程就是計算機中程序的執行過程,首先將程序和原始數據預先通過輸入設備送到主存儲器中存儲起來,執行時計算機按順序逐條取出指令、分析指令、執行指令並自動轉入下條指令。計算機一條一條地執行指令,實現預先設計的程序控制,直到程序規定的任務完成。

1、程序控制

程序是指令的有序集合,指令的相互順序不能任意交換,必須嚴格按照程序規定的順序執行,CPU程序控制的任務就是保證程序是按一定順序的執行程序。

2、操作控制

一條指令的功能往往由若干個操作信號的組合實現,所以CPU管理併產生每條指令的操作信號,把操作信號送往相應部件,從而控制這些部件按指令的要求進行操作。

3、時間控制

時間控制是對各種操作實施時間上進行控制,一方面是各種指令的操作信號均受到時間的嚴格控制,另一方面是一條指令的整個執行過程也受到時間的嚴格控制。

4、數據加工

數據加工是對數據進行算術運算、邏輯運算或進行數據傳遞處理,數據加工主要由運算器完成。

 

控制器的基本功能是負責指令的讀出、識別和解釋,並指揮協調各功能部件執行指令。

控制器的邏輯結構主要有三種組織方法:硬佈線控制邏輯法(組合邏輯法)、可編程邏輯陣列法(PLA法)、微程序控制邏輯法

1.2、CPU的組成

1、指令部件

程序計數器(PC)

程序計數器用來指出在內存中存放指令的單元地址,標識當前指令在主存儲器中的單元地址。程序執行之前將程序的首地址存入PC,當執行指令時,CPU能自動修改PC的內容。

由於程序大部是順序執行且指令是順序存放的,所以將PC中的內存送到主存的地址寄存器(MAR)去讀取指令後,PC的內容會自動遞增,爲取下一條指令做好準備。

指令寄存器(IR)

指令寄存器存放當前指令的代碼,在執行任何一條指令時,根據當前PC的指向,先將指令從內存中取到內存數據寄存器中,然後再傳到指令寄存器。

指令譯碼器(ID)

指令譯碼器對來自指令寄存器對操作碼部分OC進行譯碼,也叫做操作碼譯碼器,用來產生操作性質的控制電位,並將其送到微操作控制線路上,在時序部件定時信號作用下,產生具體的控制操作信號。

程序狀態寄存器(PSW)

程序狀態字用來表示當前運算的狀態及程序的工作方式,存放這些狀態字的寄存器稱爲程序狀態寄存器(PSW),不同機器的PSW包含的內容各不相同。

地址形成部件

地址形成部件是根據尋址方式不同,用來形成操作數有效地址的功能部件,控制器中有專門的地址形成邏輯,通過運算器來計算有效地址。

地址寄存器(AR)

地址寄存器用來保存CPU當前所訪問的內存單元的地址,由於在CPU和內存之間存在操作速度的差異,所以必須使用地址寄存器來保存內存的地址信息,直到內存存取操作完成爲止。

累計寄存器(AC)

累加寄存器通常簡稱累加器,當運算器ALU執行算術運算或邏輯運算時,它爲ALU提供一個工作區,用來暫存一個操作數或運算結果,當運算器中只有一個累加器時稱爲單累加器結構,否則稱爲多累加器結構。

數據緩衝寄存器(DR)

數據緩衝寄存器主要作爲CPU和主存、外設之間信息傳輸的中轉站,用以補償CPU和主存、外設之間操作速度上的差異,另外在單累加器結構中,緩衝寄存器也可以兼作操作數寄存器使用。

2、時序部件

時序部件用來產生各種部件所需的定時控制信號的部件,時序信號一般由工作週期、工作節拍及工作時標脈衝三級時序信號構成

3、微操作控制邏輯

微操作是計算機中最基本操作,微操作控制邏輯用來產生機器所需的全部微操作信號。作用是把操作碼譯碼輸出的控制電位、時序信號以及各種控制條件進行組合,按一定順序產生併發出一系列微操作控制信號,以完成指令規定的全部操作。

4、中斷控制邏輯

中斷控制邏輯用來控制中斷處理的硬件邏輯,響應各種部件或設備發出的錯誤中斷請求,控制器響應中斷請求並進行處理。

CPU的各個寄存器之間傳輸信息的通路稱爲數據通路,主要由操作控制器完成。操作控制器的功能就是根據指令操作碼和時序信號,產生各種操作控制信號,以便正確建立數據通路,完成取指令和執行指令的控制。

二、指令的執行

計算機能夠自動工作是因爲CPU能從存放程序的內存中取出一條一條指令並執行,CPU是不斷的取出指令、解析指令並執行指令,是一個不斷循環的過程。

指令週期:CPU完成一個取出指令、解析指令並最終執行指令的過程稱爲一個指令週期

CPU週期:也叫機器週期,指令週期中涉及取指令、解析指令和執行指令,每一個步驟就是一個CPU週期,不過由於解析指令和執行指令很快,而從內存中讀取指令比較慢,所以一個CPU週期通常就是一個從內存取指令的時長。

時鐘週期:也叫做主頻或節拍脈衝,是CPU處理操作的基本單位,一個時鐘週期就是一個脈衝邏輯0狀態與邏輯1狀態來回切換一次的時間,基本上上納秒級別。

一個指令週期至少包含兩個及以上的CPU週期,一個CPU週期包含了多個時鐘週期

 

CPU執行指令的過程如下:

1、讀取指令

讀取指令階段是將現行指令從主存中取到指令寄存器IR的過程,步驟如下:

1.1、將PC中的內存發送到存儲器的地址存儲器MAR,並對存儲器發出控制讀命令;

1.2、利用指令尚未讀出的時間,控制器將PC的內存遞增,爲取下一條指令做好準備;

1.3、在存儲器中進行讀操作,將MAR所指定的地址單元的內存讀出,送到數據寄存器MDR中,併發出MFC信號通知控制器,表示存儲器的讀操作功能已完成;

1.4、把存放在MDR中的指令代碼送到指令寄存器IR中,隨後指令譯碼器對操作碼字段OC進行譯碼

2、解析指令

取出指令後立即進行分析階段,指令譯碼器識別和區分不同的指令類型及各種獲取操作數的方法,得到指令類型和操作數

3、執行指令

根據指令類型具體實現指令的功能,需要有各種控制信號在不同時刻來執行各個最基本的控制操作,單靠一個是不可能完成指令所要求的功能,需要將多個各種控制編排成有序的序列。

三、控制器的邏輯結構

3.1、微程序控制器

微程序控制器是用程序設計的思想方法來組織操作控制邏輯。將微操作控制信號按一定規則進行信息編碼,形成控制字。一條機器指令的執行過程就是對若干控制字進行程序設計,一條指令對應一道程序,此程序存放在專門存儲器中,存放微程序的存儲器稱爲控制存儲器(CM),簡稱爲控存。

微程序控制方式中,一條機器指令的執行過程就是其微程序的執行過程,類似於一般程序的執行,控制器中需要增設一個微指令計數器。

3.2、硬佈線控制器

硬佈線控制器是早期設計計算機的方法,把控制部件看作是產生專門固定時序控制信號的邏輯電路,此邏輯電路以使用最少元件和取得最高操作速度作爲設計目的。一旦控制部件構成後,除非重新設計和物理上對它重新連線,否則想要增加新的控制功能是無法實現的。

當執行不同的機器指令後,通過激活一系列不相同的控制信號來實現對指令的解釋。

3.3、門陣列(PLA)控制器

PLA控制器又稱爲可編程邏輯陣列,實際上是由一個與陣列和一個或陣列組成,具有與、或、非的邏輯控制都可以由PLA結構實現。PLA實現微操作信號時,把操作碼、時序信號和狀態條件作爲PLA的輸入,按一定的與、或關係編排後,其輸出便是微操作控制信號。

PLA控制器也是一種組合邏輯控制器,但是與常規的硬線組合控制器不同的是它是可編程的,不需要把一系列門電路和觸發器狀態靠硬連線來實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章