中央處理器——計算機組成原理


中央處理器

5.1 CPU的功能和組成

1.CPU的功能

控制程序按設定的方式執行的計算機部件成為中央處理器,簡稱CPU

具有一下四方面的基本功能:

a.指令控制 程序的順序控制,稱為指令控制。

b.操作控制 一條指令的功能往往是由若干個操作信號的組合實現的,CPU管理並產生由內存取出的每條指令的操作信.號,把各種信號送往相應的部件,從而控制這些部件按照指令的要求進行動作

c.時間控制 對各種操作實施時間上的定時

d.數據加工 對數據進行算術運算和邏輯運算處理(由ALU完成,算術邏輯單元)

2.CPU的基本組成

早期的CPU由運算器和控制器兩大部分組成。后來CPU的基本部分變成運算器、cache、控制器三大部分

控制器 由程序計數器(PC)、指令寄存器(IR)、指令譯碼器、時序產生器 和 操作控制器(OC) 組成,主要功能有:

(1)從指令cache中取出一條指令,並指出下一條指令在指令cache中的位置

(2)對指令進行譯碼和測試,並產生相應的操作控制信號

(3)指揮並控制CPU、數據cache和輸入/輸出設備之間數據流動的方向

運算器 由算術邏輯單元(ALU)、通用寄存器、數據緩沖寄存器(DR)和狀態條件寄存器(PSW)組成。運算器接受控制器的命令而進行動作,是執行部件。主要有兩個功能:

(1)執行所有的算術運算

(2)執行所有的邏輯運算

3.CPU中的主要寄存器

CPU中至少有六類寄存器:指令寄存器(IR)、程序計數器(PC)、數據地址寄存器(AR)、緩沖寄存器(DR)、通用寄存器、狀態字寄存器(PSW)

(1)DR 暫時存放CPU與外界傳送的數據,可以是指令字或者數據字,作用是 1)作為ALU運算結果和通用寄存器之間信息傳送時間上的緩沖 2)補償CPU和內存、外圍設備之間在操作速度上的差別

(2)IR 用來保存當前正在執行的一條指令。當執行一條指令時,先把它從指令cache存儲器(指存)中讀出,然后再傳送至IR 。指令划分為操作碼和地址碼字段;一個叫指令譯碼器 的部件可以譯碼,然后向操作控制器發出具體操作的特定信號。IR 中的操作碼字段的輸出就是指令譯碼器的輸入

(3)PC 兩種情況:順序執行--> pc+1->pc ; 轉移執行-->JMP 指令

(4)AR 主要用於解決主存/外設和CPU之間的速度差異。使地址信息可以保持到主存/外設的讀寫操作完成為止

(5)通用寄存器 當ALU執行運算時,為ALU提供一個工作區。例如,執行一次加法運算,選擇兩個操作數相加(假設存放在通用寄存器R0,R1),放到其中一個寄存器中(如R1)

(6)PSW 保存由ALU運算或測試結果的各種條件代碼。如運算結果進位標志(C)、運算結果溢出標志(V)等等

4.操作控制器與時序產生器

寄存器之間傳送信息的通路,稱為數據通路 。操作控制器的部件需要完成的任務就是,在各寄存器之間建立數據通路。根據指令譯碼器傳過來的指令操作碼和時序信號,產生各種操作控制信號,然后正確的選擇數據通路,將有關數據打入到一個寄存器,從而完成取指令和執行指令的控制。

5.2 指令周期

1.指令周期基本概念 取出一條指令並執行這條指令總共需要的時間。指令周期通常由若干個CPU周期(又稱機器周期或者時鍾周期)數來表示。取指階段需要一個CPU周期時間

2.MOV指令的指令周期,MOV R0,R1 RR型指令,需要兩個CPU周期,取指周期需要一個,執行周期需要一個。

取指周期中CPU完成三件事:從指存中取出指令;對PC加1;將指令操作碼輸出到指令譯碼器進行譯碼或測試,以便進一步確定進行什么操作。

取指周期:

(1)PC-->AR

(2)M-->DR

(3)DR-->IR

(4)PC + 1--> PC

(5)指令寄存器中的操作碼(OP)傳入指令譯碼器譯碼

(6)CPU識別出MOV指令,取指周期結束

執行周期:

(1)OC送出控制信號到通用寄存器,選擇R1(10)作為源寄存器,選擇R0作目標寄存器

(2)OC送出控制信號到ALU,指定ALU做傳送操作

(3)OC送出控制信號,打開ALU輸出三態門,將ALU輸出送到數據總線DBUS上,注意:任何時候DBUS上只能有一個數據

(4)OC送出控制信號,將DR中的數據10打入到目標寄存器R0,R0的內容由00變成10

3.LAD指令的指令周期,LAD R1,6 RS型指令。先從指令寄存器(IR)取指,然后從數據存儲器6號單元取出數據裝入通用寄存器R1。由於一次訪問指存,一次訪問數存,需要3個CPU周期

取指周期:同上

執行周期:

(1)OC發出控制命令打開IR輸出三態門,將指令中的直接地址碼6放到數據總線DBUS

(2)OC發出操作命令,將地址碼6裝入數存地址寄存器AR

(3)OC發出讀命令,將數存6號單元中的數100讀入DBUS

(4)OC發出命令,將DBUS上的數據100裝入DR

(5)OC發出命令,將DR中的數據100裝入R1,LAD指令執行周期結束

4.ADD指令的指令周期,ADD R1,R2 RR型指令,取指訪問、執行周期,一共需要兩個CPU周期

取指周期:同上

執行周期:

(1)OC送出控制命令到通用寄存器,選擇R1做源寄存器,R2做目標寄存器

(2)OC送出控制命令到ALU,指定ALU做R1和R2的加法操作

(3)OC送出控制命令,打開ALU輸出三態門,運算結果放到DBUS上

(4)OC送出控制命令,將DBUS上數據打入DR;ALU產生的進位信號保存到PSW中

(5)OC送出控制命令,將DR裝入R2,至此ADD指令執行周期結束

5.STO指令的指令周期,STO R2,(R3) RS型指令,先訪問指存取出STO指令,然后按(R3)=30地址訪問數存(訪問30號地址單元),將(R2)=120寫入到30號地址單元。一次訪問指存,一次訪問數存,所以需要3個CPU周期

取指周期:同上

執行周期:

(1)OC送出操作命令到通用寄存器,選擇(R3)=30做數據存儲器的地址單元

(2)OC送出操作命令,打開通用寄存器輸出三態門,將30放到DBUS上

(3)OC發出操作命令,將地址30打入AR,並進行數存地址譯碼,地址30是從DBUS上得到(這里就是訪問數存)

(4)OC發出操作命令到通用寄存器,選擇(R2)=120,作為數存的寫入數據

(5)OC發出操作命令,打開通用寄存器輸出三態門,將數據120放到DBUS上

(6)OC發出操作命令,將數據120寫入數存30號單元。STO指令執行周期結束

6.JMP指令的指令周期,JMP 101 JMP是一條無條件轉移指令,用來改變程序的執行順序。指令周期為2個CPU周期,取指是一個CPU周期,執行周期是一個CPU周期

取指周期:同上

執行周期:

(1)OC發出操作控制指令,打開IR輸出三態門,將IR中的地址碼101發送到DBUS上

(2)OC發出操作控制指令,將DBUS上的地址碼101打入到程序計數器PC中。JMP指令執行周期結束

7.用方框圖語言表示指令周期

一個方框表示一個CPU周期,方框中內容表示數據通路的操作或者某種控制操作。一個菱形通常表示某種判別或者測試,不單獨占用一個CPU周期

5.4微程序控制器

利用軟件方法設計硬件的一門技術。

把操作控制信號,編成所謂的“微指令”,存放到一個只讀存儲器里。機器運行時,一條條讀出這些微指令,從而產生全機所需要的各種操作控制信號,是相應部件執行所規定的操作

1.微命令和微操作

一台數字計算機基本可以划分為兩部分——控制部件和執行部件。

控制部件,向執行部件發出控制信息;

執行部件,向控制部件返回狀態信息。

控制部件和執行部件的一種聯系,就是通過控制線。控制部件通過控制線向執行部件發出各種控制命令,通常這種控制命令就稱作微命令;執行部件接收微命令后進行的操作,叫做微操做。

另一種聯系是反饋信息,執行部件通過控制線向控制部件反映操作情況,也叫做“狀態測試”。

微操作分為相容性和相斥性;相容性的微操做指可以在同時或同一個CPU周期內並行執行的微操做。例如ALU的+,-就是相斥性操作,ADD R1,R2,獲取R1,R2就是相容性微操做。

2.微指令和微程序

在機器的一個CPU周期內,一組實現一定操作功能的微命令的組合是微指令。

微指令一般由操作控制和順序控制兩部分組成。

(1)操作控制部分用來發出控制信號,每一位都表示一個微指令,位信息為“1”表示發出微指令,“0”表示不發出。

(2)順序控制部分用來決定產生下一條微指令的地址

微程序就是微指令構成的序列,每條機器指令都對應着一段微程序

3.微程序控制器原理

由控制存儲器、微指令寄存器和地址轉移邏輯三大部分組成。微指令寄存器分為微地址寄存器和微命令寄存器

(1)控制存儲器:存放實現全部指令系統的微程序,只讀。要求速度快,讀出周期短

(2)微指令寄存器:微命令寄存器存放控制存儲器讀出的一條微指令信息。微地址寄存器決定下一條微指令的地址

(3)地址轉移邏輯:用於跳躍尋址微指令時,承擔自動完成修改微地址的任務

4.微程序實例

見書 P 159-160

5.CPU周期與微指令周期的關系

串行方式的微程序控制器中,一個微指令周期等於一個CPU周期

6.機器指令與微指令的關系

(1)一條機器指令對應一個微程序,這個微程序是由若干微指令序列組成。

(2)指令與微指令、程序與微程序、地址與微地址一一對應。前者都是與內存儲器有關,后者與控制存儲器有關。

(3)一個CPU周期對應一條微指令

7.微程序設計技術

微指令編碼

對微指令中的操作控制字段采用的表示方法

(1)直接表示法:操作字段中的每一位代表一個微指令。優點是簡單直觀;缺點是微指令字較長,因而使控制存儲器容量較大

(2)編碼表示法:把一組相斥性微指令信號組成一個字段,然后通過字段譯碼器對每一個微指令信號進行譯碼,譯碼輸出作為操作控制信號。優點是,采用較小的二進制信息表示較多的微命令信號,縮短微指令字長度;缺點是減緩微指令執行速度

(3)混合表示法:(1)(2)混合使用

微地址形成方法

微指令執行的順序控制問題,是如何確定下一條微指令的地址問題,一般有兩種產生后繼地址的方法:

(1)計數器方式:同用程序計數器來產生機器指令地址的方法相似

(2)多路轉移方式:一條微指令具有多個轉移分支的能力稱為多路轉移。當微程序不產生分支時,后繼微地址直接由微指令的順序控制字段給出;當微程序出現分支時,有若干后繼微地址可供選擇:即按順序控制字段的“判別測試”標志和“狀態條件”信息來選擇其中一個微地址。

微指令格式

分為水平型微指令和垂直型微指令

(1)水平型微指令:一次能定義並執行多個並行操作微命令的微指令,一般格式:控制字段、判別測試字段、下地址字段

(2)垂直型微指令:微指令中設置微操作碼字段,采用微操作碼編譯法,由微操作碼規定微指令的功能。垂直型微指令的結構類似與機器指令的結構,它有操作碼。書P 164

5.5硬連線控制器

暫略

5.6流水線CPU

暫略

5.7 RISC CPU
基本特點:

(1)使用等長指令,目前典型長度為4B

(2)尋址方式少且簡單,絕不出現存儲器間接尋址方式

(3)只有取數指令、存數指令訪問存儲器。最多出現RS型指令,不會出現SS型指令

(4)指令集中的指令數目一般少於100,指令格式一般少於4種

(5)指令功能簡單,控制器多采用硬布線方式

(6)平均而言,所有指令的執行時間為一個處理時鍾周期

(7)指令格式中,用於指派整數寄存器的個數不少於32個,用於指派浮點數寄存器的個數不少於16個

(8)強調通用寄存器資源的優化使用

(9)支持指令流水並強調指令流水的優化使用

(10)RISC技術的復雜性在於它的編譯程序,因此軟件系統開發時間比CISC機器長


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM