計算機(jī)組成原理第6章 中央處理器_第1頁
計算機(jī)組成原理第6章 中央處理器_第2頁
計算機(jī)組成原理第6章 中央處理器_第3頁
計算機(jī)組成原理第6章 中央處理器_第4頁
計算機(jī)組成原理第6章 中央處理器_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第六章 中央處理器6.1 中央處理器的功能和組成6.1.1 中央處理器的功能 中央處理器簡稱CPU,它具有如下4方面的功能: (1)程序的順序控制。 (2)操作控制 產(chǎn)生取出并執(zhí)行指令的微操作信號,并把各種操作信號送往相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動作。 (3)時間控制 對各種操作實施時間上的控制。 (4)數(shù)據(jù)加工 對數(shù)據(jù)進(jìn)行算術(shù)運算和邏輯運算處理。6.1.2 中央處理器的組成 中央處理器由控制器、運算器和總線組成。(1)控制器 控制器是全機(jī)的指揮中心,其基本功能就是執(zhí)行指令。 控制器由程序計數(shù)器PC、指令寄存器m、地址寄存器(AR)、數(shù)據(jù)寄存器(DR)、指令譯碼器、時序系統(tǒng)和微

2、操作信號發(fā)生器組成。 程序計數(shù)器PC 用以指出下條指令在主存中的存放地址,CPU根據(jù)PC的內(nèi)容去主存取得指令。因程序中指令是順序執(zhí)行的,所以PC有自增功能。 指令寄存器(m):用來保存當(dāng)前正在執(zhí)行的一條指令的代碼。 地址寄存器(AR):用來存放當(dāng)前CPU訪問內(nèi)存單元的地址。 數(shù)據(jù)寄存器(DR):用來暫存由內(nèi)存儲器中讀出或?qū)懭雰?nèi)存的指令或數(shù)據(jù)。 指令譯碼器:分別對操作碼字段、尋址方式字段、地址碼字段進(jìn)行譯碼,向控制器提供操作的特定信號。 時序部件:用來產(chǎn)生各種時序信號,時序信號可分為CPU周期信號、節(jié)拍周期信號和節(jié)拍脈沖信號,它們都是由統(tǒng)一時鐘CLOCK分頻得到的。微操作形成部件:根據(jù)IR的內(nèi)容

3、(指令)、PSW的內(nèi)容(狀態(tài)信息)以及時序線路3方面的內(nèi)容,產(chǎn)生控制整個計算機(jī)系統(tǒng)所需的各種控制信號。其結(jié)構(gòu)有組合邏輯型和存儲邏輯型兩種。中斷系統(tǒng)操作控制臺(2)運算器 運算器由算術(shù)邏輯單元(ALU)、通用寄存器、程序狀態(tài)字寄存器、數(shù)據(jù)暫存器、移位器等組成。它接收從控制器送來的命令并執(zhí)行響應(yīng)的動作,負(fù)責(zé)對數(shù)據(jù)的加工和處理。各組成部件的作用是: 算術(shù)邏輯單元(ALU):用以進(jìn)行雙操作數(shù)的算術(shù)邏輯運算。 通用寄存器組:用來存放操作數(shù)(包括源操作數(shù)、目的操作數(shù)及中間結(jié)果)和各種地址信息等。 暫存器: 用來暫存從主存儲器讀出的數(shù)據(jù),這個數(shù)據(jù)是不能存放在通用寄存器中的,否則會破壞其原有的內(nèi)容。 程序狀態(tài)

4、字寄存器(PSw):保留由算術(shù)邏輯運算指令或測試指令的結(jié)果建立的各種狀態(tài)信息。 移位器:在ALU輸出端設(shè)暫存器用來存放運算結(jié)果,它具有對運算結(jié)果進(jìn)行移位運算的功能。(3)總線與數(shù)據(jù)通路結(jié)構(gòu) 內(nèi)部總線 CPU內(nèi)部連接各寄存器的總線。 系統(tǒng)總線 系統(tǒng)總線是CPU與主存儲器MM、外部設(shè)備接口相聯(lián)的總線,它包括地址總線、數(shù)據(jù)總線和控制總線。 CPU向地址總線提供訪問主存單元或IO接口的地址。 CPU向數(shù)據(jù)總線發(fā)送或接收數(shù)據(jù),以完成與主存單元或IO接口之間的數(shù)據(jù)傳送;主存M和IO設(shè)備之間也可以通過數(shù)據(jù)總線傳送數(shù)據(jù)。 CPU通過控制總線向主存或IO設(shè)備發(fā)出有關(guān)控制信號,或接收控制信號;IO設(shè)備也可以向控制

5、總線發(fā)出控制信號。6.2 指令的執(zhí)行過程6.2.1 指令執(zhí)行的周期(1)取指周期 取指周期要解決兩個問題:一是CPU到哪個存儲單元去取指令,二是如何形成后繼指令地址。 指令地址由PC給出,取出指令后PC內(nèi)容遞增;當(dāng)出現(xiàn)轉(zhuǎn)移情況時,指令地址在執(zhí)行周期被修改。(2)取操作數(shù)周期 取操作數(shù)周期要解決的問題是,計算操作數(shù)地址并取出操作數(shù)。 操作數(shù)有效地址的形成由尋址方式確定。尋址方式不同,有效地址獲得的方式、過程不同,提供操作數(shù)的途徑也不同。因此,取操作數(shù)周期所進(jìn)行的操作對不同的尋址方式是不相同的。(3)執(zhí)行周期 執(zhí)行周期的主要任務(wù)是完成由指令操作碼規(guī)定的動作,包括傳送結(jié)果及記錄狀態(tài)信息。操作結(jié)果送到

6、什么地方由尋址方式確定:狀態(tài)信息,主要是條件碼,記錄在PSW中。若程序出現(xiàn)轉(zhuǎn)移時,則在執(zhí)行周期內(nèi)還要決定轉(zhuǎn)移地址。因此,執(zhí)行周期的操作對不同指令也不相同。(4)指令周期 將一條指令從取出到執(zhí)行完成所需要的時間稱為指令周期。(5)指令周期與機(jī)器周期和時鐘周期的關(guān)系 指令周期是完成一條指令所需的時間,包括取指令、分析指令和執(zhí)行指令所需的全部時間。指令周期劃分為幾個不同的階段,每個階段所需的時間,稱為機(jī)器周期,又稱為CPU工作周期或基本周期,通常等于取指時間(或訪存時間)。時鐘周期是時鐘頻率的倒數(shù),也可稱為節(jié)拍脈沖或T周期,是處理操作的最基本單位。 一個指令周期由若干個機(jī)器周期組成,每個機(jī)器周期又由

7、若干個時鐘周期組成。 一個機(jī)器周期內(nèi)包含的時鐘周期個數(shù)決定于該機(jī)器周期內(nèi)完成的動作所需的時間。一個指令周期包含的機(jī)器周期個數(shù)亦與指令所要求的動作有關(guān),如單操作數(shù)指令,只需要一個取操作數(shù)周期,而雙操作數(shù)指令需要兩個取操作數(shù)周期。6.2.2 指令的執(zhí)行(1)指令的執(zhí)行過程 取指令 根據(jù)指令計數(shù)器PC提供的地址從主存儲器中讀取現(xiàn)行指令,送到主存數(shù)據(jù)緩沖器MDR中,然后再送往CPU內(nèi)的指令寄存器IR中。同時改變指令計數(shù)器的內(nèi)容,使之指向下一條指令地址或緊跟現(xiàn)行指令的立即數(shù)或地址碼。 取操作數(shù) 如果是無操作數(shù)指令則可直接進(jìn)入下一個過程;如果需要操作數(shù)則根據(jù)尋址方式計算地址,然后到存儲器中去取操作數(shù)。如果

8、是雙操作數(shù)指令則需兩個取數(shù)周期。 執(zhí)行操作 根據(jù)操作碼完成相應(yīng)的操作并根據(jù)目的操作數(shù)的尋址方式存結(jié)果。(2)指令之間的銜接方式 指令之間的銜接方式有:串行的順序執(zhí)行方式、并行的重疊處理方式和流水執(zhí)行方式。 串行的順序執(zhí)行方式是指在一條指令執(zhí)行完畢后才開始取下條指令。這種方式控制簡單,但在時間上不能充分利用部件。 為了提高設(shè)備利用率和運算速度,可以讓指令重疊執(zhí)行,即在對現(xiàn)行指令執(zhí)行運算操作時提前從主存取出下條指令,而不必等當(dāng)前指令全部執(zhí)行完,但如果程序需要轉(zhuǎn)移,預(yù)取下條指令就要失敗。不過由于大多數(shù)情況下程序流程是順序執(zhí)行的,下條指令地址并不依賴本次執(zhí)行結(jié)果,所以預(yù)取指令還是能有效地提高執(zhí)行速度。

9、 流水執(zhí)行方式是重疊方式的引申,它仍然基于并行重疊處理的原理,但重疊的程度進(jìn)一步提高。它將一條指令的執(zhí)行過程分解為多個子過程,每個子過程由一個獨立的功能部件完成,它們構(gòu)成一條流水線,實現(xiàn)指令的流水處理。 計算機(jī)的運算速度首先與主頻有關(guān),主頻越高運算速度越快;其次是字長,字長越長,單位時間內(nèi)完成的數(shù)據(jù)運算就越多,運算速度就越快;最后是計算機(jī)的體系結(jié)構(gòu),體系結(jié)構(gòu)合理,同樣器件的整機(jī)速度就快,比如存儲器采用分級結(jié)構(gòu),處理機(jī)采用流水線結(jié)構(gòu)或多機(jī)結(jié)構(gòu),都是為了提高計算機(jī)整機(jī)的運算速度和效率而做的體系結(jié)構(gòu)方面的改進(jìn)。6.2.3 指令執(zhí)行的操作流程與微操作序列 每條指令的執(zhí)行過程可以分解為一組操作序列。“操

10、作”是指功能部件級的動作,它是可以再分解的。 “操作”可進(jìn)一步分解為一組微操作序列?!拔⒉僮鳌笔侵钢噶钚蛄兄凶罨镜?、不可再分割的動作。 若將每一條指令的執(zhí)行過程都分解為一組操作序列,并將這些操作按指令執(zhí)行的周期分類歸并就可得到指令的操作流程。將指令的操作流程以流程圖的形式描述,就得到指令操作流程圖,簡稱指令流程圖。6.3 時序與控制6.3.1 控制器的基本控制方式(1)同步控制方式 所謂同步控制方式,就是系統(tǒng)有一個統(tǒng)一的時鐘,所有的控制信號均來自這個統(tǒng)一的時鐘信號。 根據(jù)指令周期、CPU周期和節(jié)拍周期的長度固定與否,同步控制方式又可分為以下幾種。 定長指令周期 即所有的指令執(zhí)行時間都相等。若

11、指令的繁簡差異很大,規(guī)定統(tǒng)一的指令周期,無疑會造成太多的時間浪費,因此,定長指令周期的方式很少被采用。 定長CPU周期 這種方式中各CPU周期都相等,一般都等于內(nèi)存的存取周期。而指令周期不固定,等于整數(shù)個CPU周期。 變長CPU周期、定長節(jié)拍周期 這種方式的指令周期長度不固定,而且CPU周期也不固定,含有的節(jié)拍數(shù)根據(jù)需要而定,與內(nèi)存存取周期和總線周期沒有什么固定關(guān)系。這種方式根據(jù)指令的具體要求和執(zhí)行步驟,確定安排哪幾個CPU周期,以及每個CPU周期中安排多少個節(jié)拍周期和節(jié)拍脈沖,不會造成時間浪費,但時序系統(tǒng)的控制比較復(fù)雜,要根據(jù)不同情況確定每個CPU周期的節(jié)拍數(shù)。 CPU內(nèi)部操作均采用同步控制

12、,其原因是同一芯片的材料相同,工作速度相同,片內(nèi)傳輸線短,又有共同的脈沖源,采用同步控制是理所當(dāng)然的。(2)異步控制方式 異步控制方式中沒有統(tǒng)一的時鐘信號,各部件按自身固有的速度工作,通過應(yīng)答方式進(jìn)行聯(lián)絡(luò),常見的應(yīng)答信號有準(zhǔn)備好Ready或等待WAIT等,異步控制相對于同步要復(fù)雜。CPU內(nèi)部的操作采用同步方式,CPU與內(nèi)存和FO設(shè)備的操作采用異步方式,這就帶來一個同步方式與異步方式如何過渡、如何銜接的問題。也就是說,當(dāng)內(nèi)存或IO設(shè)備的Ready信號到達(dá)CPU時,不可能恰好為CPU脈沖源的整周期或節(jié)拍的整周期,解決辦法也是一種折衷方案,即聯(lián)合控制方式。(3)聯(lián)合控制方式 聯(lián)合控制方式是介于同步、

13、異步之間的一種折衷。在聯(lián)合控制方式中,CPU并不是在任何時刻立即對來自內(nèi)存和IO接口的應(yīng)答信號作出反應(yīng),而是在一個節(jié)拍周期的結(jié)束(下一個節(jié)拍周期的開始),也就是說,當(dāng)CPU進(jìn)行內(nèi)存的讀寫操作或進(jìn)行IO設(shè)備的數(shù)據(jù)傳送時,按同步方式插入一個節(jié)拍周期或幾個節(jié)拍周期,直到內(nèi)存或IO設(shè)備的應(yīng)答信號到達(dá)為止。聯(lián)合控制方式是CPU進(jìn)行內(nèi)存的讀寫操作和IO數(shù)據(jù)傳送操作通常采用的方式,較好地解決了同步與異步的銜接問題。6.3.2時序產(chǎn)生器 由于執(zhí)行指令的各步操作是有先后次序的,并且許多控制信號的長短也有嚴(yán)格的時間限制,這就需要引入時序信號對它們進(jìn)行定時控制。(1)組合邏輯控制器的時序 采用同步控制方式的組合邏輯

14、控制器的時序如圖61所示。(2)微程序控制器的時序系統(tǒng) 一個機(jī)器指令周期包括一系列微周期,每個微周期給出固定的同步脈沖,這就是微程序控制器的時序,它比組合邏輯控制器的時序要簡單,如圖62所示。(3) 啟停邏輯計算機(jī)上電后會立即產(chǎn)生一定頻率的主時鐘,這并不意味著計算機(jī)已經(jīng)開始工作。只有通過啟停邏輯部件將機(jī)器啟動起來,時序部件才開始產(chǎn)生節(jié)拍信息(節(jié)拍電位和節(jié)拍脈沖),以控制全機(jī)開始工作。兩種常用的控制啟停的方案如圖69所示。采用圖6- 9(a)方案時,機(jī)器上電后只產(chǎn)生主時鐘,節(jié)拍信號發(fā)生器不工作,待啟??刂七壿嬘行C(jī)器啟動后,節(jié)拍信號發(fā)生器才開始工作,順序產(chǎn)生機(jī)器操作所需的節(jié)拍電位信號(T1Tn

15、)。采用圖6-9(b)方案時,機(jī)器上電后立即產(chǎn)生主時鐘甲和節(jié)拍電位信號(TlTn),但是它們并不能控制機(jī)器開始工作,待啟??刂七壿嬘行Ш?,才能產(chǎn)生控制機(jī)器操作的節(jié)拍信號(T1Tn)。6.4 微操作控制部件6.4.1 組合邏輯控制器 組合邏輯控制器的核心部件就是微操作產(chǎn)生部件。微操作產(chǎn)生部件,是采用組合邏輯設(shè)計思想,以布爾代數(shù)為主要工具設(shè)計而成的。它的輸入信號來自指令譯碼器的輸出、時序發(fā)生器的時序信號及程序運行的結(jié)果特征及狀態(tài)。它的輸出是一組帶有時間標(biāo)志的微操作控制信號。每個微操作控制信號是指令、時序、結(jié)果特征及狀態(tài)等的邏輯函數(shù),可表示為: 微操作周期·節(jié)拍·脈沖·

16、指令碼·其他條件 組合邏輯控制器的設(shè)計步驟: 根據(jù)CPU的結(jié)構(gòu)圖寫出每條指令的操作流程圖并分解成微操作序列: 選擇合適的控制方式和控制時序: 對微操作流程圖安排時序,排出微操作時間表: 根據(jù)操作時間表寫出微操作的表達(dá)式; 根據(jù)微操作的表達(dá)式畫出組合邏輯電路。 組合邏輯控制器的核心部分比較繁瑣、零亂,設(shè)計·效率較低,設(shè)計過程十分麻煩,其結(jié)構(gòu)也十分復(fù)雜,特別是當(dāng)指令系統(tǒng)比較龐大、操作碼多、尋址方式多時,其復(fù)雜程度會成倍增加,另外檢查調(diào)試也比較困難,而且設(shè)計結(jié)果用印制電路板(硬連邏輯)固定下來以后,就很難再修改與擴(kuò)展。 但組合邏輯控制器的最大優(yōu)點是微操作控制信號產(chǎn)生的速度很快,只

17、需兩級門(一級與、一級或)的延時就可產(chǎn)生。對于指令系統(tǒng)比較簡單的精簡指令系統(tǒng)計算機(jī)RISC,采用組合邏輯控制器是比較合適的,可以提高指令執(zhí)行的速度,由于指令系統(tǒng)簡單,邏輯組成也不至于太復(fù)雜。6.4.2 微程序控制器1微程序控制概念(1)微程序控制方式的基本思想 將機(jī)器指令分解為基本的微命令序列,用二進(jìn)制代碼表示這些微命令,并編成微指令,多條微指令再形成微程序。每種機(jī)器指令對應(yīng)一段微程序,在制造CPU時固化在CPU中的一個控制存儲器(CM)中。執(zhí)行一條機(jī)器指令時,CPU依次從CM中取微指令,從而產(chǎn)生微命令。 一條微指令包含的微命令,控制實現(xiàn)一個節(jié)拍的操作;若干條微指令組成的一小段微程序解釋執(zhí)行一

18、條機(jī)器指令;CM中的微程序能解釋執(zhí)行整個指令系統(tǒng)的所有機(jī)器指令。微程序控制器框圖如圖63所示。 微程序控制器的核心是控制存儲器CM,用它存放各指令對應(yīng)的微程序,CM可用只讀存儲器ROM構(gòu)成。若采用可擦除可編程只讀存儲路EPROM作CM,則有利于微程序的修改和動態(tài)微程序設(shè)計??刂拼鎯ζ鰿M的一行表示存放的一條微指令,列線輸出微指令代碼。行列交叉處有黑點者表示該位信息為“1”,行列交叉處無黑點者表示該位信息為“0”。微指令寄存器存放從CM中讀出的微指令,它包含兩大部分:微操作控制字段(微命令字段)和順序控制字段(微地址字段)。微命令字段可直接按位或通過譯碼提供微命令。順序控制字段用于控制產(chǎn)生下一條

19、微指令地址或由微指令地址形成電路按有關(guān)條件形成。(2)微程序的執(zhí)行過程由于已將機(jī)器所有指令對應(yīng)的微程序放在CM中,其一條機(jī)器指令對應(yīng)的一段微程序執(zhí)行過程可描述如下:根據(jù)微地址寄存器的內(nèi)容,從CM的0號(或l號)單元中讀出一條“取指令”微指令,送到微指令寄存器。這是一條公用微指令,該微指令的微命令字段產(chǎn)生有關(guān)控制信號,完成從存儲器中取出機(jī)器指令送往指令寄存器IR,并修改程序計數(shù)器PC的內(nèi)容。 IR中機(jī)器指令的操作碼通過微地址形成電路形成這條指令對應(yīng)的微程序入口地址,送入微地址寄存器中。根據(jù)微地址寄存器中的微地址從CM中取出對應(yīng)微程序的一條微指令,其微命令字段產(chǎn)生一組微命令控制有關(guān)操作:由順序控制

20、字段形成下一條微指令地址,送入微地址寄存器。重復(fù)步驟直到該機(jī)器指令的微程序執(zhí)行完。執(zhí)行完一條機(jī)器指令的微程序后,返回到CM的0號(或1號)微地址單元,重復(fù)步驟,讀取“取指令”微指令,以便取下一條機(jī)器指令。由此可見,在采用微程序控制的機(jī)器中,一條機(jī)器指令是由對應(yīng)的一段微程序解釋執(zhí)行的。這表明在這種機(jī)器中存在兩個層次:一個是程序員所看到的傳統(tǒng)機(jī)器級,即機(jī)器指令、工作程序、主存儲器;另一個更低的層次是設(shè)計者看到的微程序控制級,即微指令、微程序和控制存儲器。(3)基本概念和術(shù)語 微命令與微操作微命令控制完成微操作的命令。例如:打開或關(guān)閉某個控制門的電位信號,某個寄存器的打入脈沖等。微命令由控制器通過控

21、制線向有關(guān)的部件發(fā)出。微操作由微命令控制實現(xiàn)的最基本操作。注意:在組合邏輯控制器中也存在微命令、微操作這兩個概念,它們并非只是微程序控制方式的專用概念。微指令與微周期 微指令若干個微命令的組合,以編碼形式存放在控制存儲器的一個單元中,控制實現(xiàn)一步操作。 微周期通常指從控制存儲器中讀取一條微指令并執(zhí)行相應(yīng)的微操作所需的時間。與指令周期的時序控制相類似,一個微周期內(nèi)的每個微命令由同步脈沖定時。一個微周期究竟應(yīng)包含多少個同步脈沖視需要而定。若一個微周期的全部微命令用一個同步脈沖定時,則這種微周期稱為單周期,該同步脈沖又稱單相同步脈沖;若一個微周期內(nèi)用個以上的同步脈沖定時全部微命令,則稱多周期,同步脈

22、沖又稱多相同步脈沖。機(jī)器語言程序與微程序,主存儲器與控制存儲器主存儲器用于存放程序和數(shù)據(jù),在CPU外部,用RAM來實現(xiàn)??刂拼鎯ζ饔糜诖娣盼⒊绦?,在CPU內(nèi)部,用ROM來實現(xiàn)。一系列指令的有序集合稱為機(jī)器語言程序。一系列微指令的有序集合稱為微程序,一條指令的功能由一段微程序來實現(xiàn)。2微指令編碼方法(1)直接控制編碼(不譯碼法/直接控制的水平微指令):直接控制編碼是指微指令的微命令字段中每一位都代表一個微命令。設(shè)計微指令時,選用或不選用某個微命令,只要將表示該微命令的對應(yīng)位設(shè)置成1或0就可以了。因此,微命令的產(chǎn)生不需譯碼。這種編碼的優(yōu)點是簡單、直觀,執(zhí)行速度快,操作并行性最好;其缺點是微指令字長

23、過長,使控制存儲器單元的位數(shù)過多。而且,在給定的任何一個微指令中,往往只需部分微命令,因此只有部分位置置1,造成有效的空間不能充分利用。(2)字段直接編譯法(編碼控制的水平微指令)相斥性微命令和相容性微命令 同一微周期中不能同時出現(xiàn)的微命令稱為相斥性微命令;在同一微周期中可以同時出現(xiàn)的微命令稱為相容性微命令。 分段直接編譯法 將微指令的微命令字段分成若干小字段,把相斥性微命令組合在同一字段中,而把相容性微命令組合在不同的字段中,每個字段獨立編碼,每種編碼代表一個微命令且各字段編碼含義單獨定義,與其他字段無關(guān),這就稱為分段直接編譯法。分段的原則A互斥性的微命令分在同一段內(nèi),兼容性的微命令分在不同

24、段內(nèi)。B與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。C每個小段中包含的信息位不能太多,否則將增加譯碼線路的復(fù)雜性和譯碼時間。D一般每個小段還要留出一個狀態(tài),表示本字段不發(fā)出任何現(xiàn)行命令,因此當(dāng)某字段的長度為3位時,最多只能表示7個互斥的微命令,通常用000表示不操作。(3)分段間接編譯法:分段間接編譯法是在直接編譯法基礎(chǔ)上,進(jìn)一步縮短微指令字長的一種編碼方法。在這種編譯法中,一個字段的含義不僅決定于本字段編碼,還兼由其他字段來解釋,以便使用較少的信息位表示更多的微命令。(4)混合控制法 直接控制法與譯碼控制法的混合使用。以上4種指令格式我們稱之為水平型微指令。(5)垂直型微指令微指令中設(shè)置微操作碼字段,采用微操作碼

25、編譯法,由微操作碼規(guī)定微指令的功能,稱之為垂直型微指令。垂直型微指令的結(jié)構(gòu)類似于機(jī)器指令的結(jié)構(gòu)。它有操作碼,在一條微指令中只有12個微操作命令,每條微指令的功能簡單,因此,實現(xiàn)一條機(jī)器指令的微程序要比水平型微指令編寫的微程序長得多。它是采用較長的微程序結(jié)構(gòu)去換取較短的微指令結(jié)構(gòu)。(6)水平型微指令與垂直型微指令的比較 水平型微指令并行操作能力強(qiáng),效率高,靈活性強(qiáng),垂直型微指令則較差。 在一條水平型微指令中,設(shè)置有控制信息傳送通路(門)以及進(jìn)行所有操作的微命令,因此在進(jìn)行微程序設(shè)計時,可以同時定義比較多的并行操作的微命令,來控制盡可能多的并行信息傳送,從而使水平型微指令具有效率高及靈活性強(qiáng)的優(yōu)點

26、。 在一條垂直型微指令中,一般只能完成一個操作,控制一兩個信息傳送通路,因此微指令的并行操作能力低,效率低。水平型微指令執(zhí)行一條指令的時間短,垂直型微指令執(zhí)行時間長。因為水平型微指令的并行操作能力強(qiáng),因此與垂直型微指令相比,可以用較少的微指令數(shù)來實現(xiàn)一條指令的功能,從而縮短了指令的執(zhí)行時間。而且當(dāng)執(zhí)行一條微指令時,水平型微指令的微命令一般直接控制對象,而垂直型微指令要經(jīng)過譯碼,會影響速度。 由水平型微指令解釋指令的微程序,有微指令字較長而微程序短的特點。垂直型微指令則相反,微指令字比較短而微程序長。 水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。 水平型微指令

27、與機(jī)器指令差別很大,一般需要對機(jī)器的結(jié)構(gòu)、數(shù)據(jù)通路、時序系統(tǒng)以及微命令很精通才能設(shè)計。3微程序的順序控制(1)微程序入口地址的形成由于每條機(jī)器指令都需要取指操作,所以將取指操作編制成一段公用微程序,通常安排在控制存儲器的0號或1號單元開始的一段CM空間。每一條機(jī)器指令對應(yīng)著一段微程序,其入口就是初始微地址。首先由“取指令”微程序取出一條機(jī)器指令到IR中,然后根據(jù)機(jī)器指令操作碼轉(zhuǎn)換成該指令對應(yīng)的微程序入口地址。這是一種多分支(或多路轉(zhuǎn)移)的情況,常用以下方式形成入口地址:如操作碼為P,則入口地址為××P或P××。(2)后繼微地址的形成 在轉(zhuǎn)移到一條機(jī)器指令

28、對應(yīng)的微程序入口地址后,則開始執(zhí)行微程序,這時每條微指令執(zhí)行完畢時,需根據(jù)其中的順序控制字段的要求形成后繼微指令地址。計數(shù)器方式 這種方式與用程序計數(shù)器產(chǎn)生機(jī)器指令地址的方式相類似。在順序執(zhí)行微指令時,后續(xù)微指令地址由現(xiàn)行微指令加上一個增量來產(chǎn)生:在非順序執(zhí)行微指令時,由轉(zhuǎn)移微指令實行轉(zhuǎn)移,轉(zhuǎn)移微指令的控制字段分成兩部分:條件選擇字段與轉(zhuǎn)移地址字段。由這兩個字段結(jié)合,當(dāng)轉(zhuǎn)移條件滿足時,將轉(zhuǎn)移地址字段作為下一個微地址:若轉(zhuǎn)移條件不滿足,則直接從微程序計數(shù)器中取得下一條指令。用計數(shù)器法產(chǎn)生微地址的缺點是微程序中會出現(xiàn)大量的轉(zhuǎn)移微指令,它們約占整個微指令數(shù)的25,導(dǎo)致執(zhí)行時間大大增加:另外,在編制微

29、程序中,岡微指令的地址受到限制,因而不方便;要區(qū)分微命令微指令和轉(zhuǎn)移微指令使得微程序控制電路復(fù)雜化。下址字段法(也稱為斷定方式) 下址字段法與計數(shù)器法不同,它不采用uPC,而是在微指令格式中,設(shè)置一個下址字段,用于指明下一條要執(zhí)行的微指令地址。當(dāng)一條微指令被取出時,下一條微指令的地址已獲得。它相當(dāng)于每條微指令都具有轉(zhuǎn)移微指令的功能。采用這種方法就不必設(shè)置專門的轉(zhuǎn)移微指令,但增加了微指令字的長度。增量方式與斷定方式的結(jié)合 在這種控制方式中微指令寄存器有計數(shù)的功能,但在微指令中仍設(shè)置一個順序控制字段,它分成兩部分:條件選擇字段與轉(zhuǎn)移地址字段。由這兩個字段結(jié)合,當(dāng)轉(zhuǎn)移條件滿足時,將轉(zhuǎn)移地址字段作為下

30、一個微地址:若無轉(zhuǎn)移要求,則直接從微程序計數(shù)器中取得下一條指令。4微指令執(zhí)行方式串行執(zhí)行方式:串行執(zhí)行方式,又稱順序執(zhí)行方式。它是指取微指令、執(zhí)行微指令完全按順序進(jìn)行,即只有在上一條微指令執(zhí)行完后,才能取下一條微指令。串行執(zhí)行方式微指令執(zhí)行速度慢,但微程序控制器結(jié)構(gòu)簡單。并行執(zhí)行方式:并行執(zhí)行方式,又稱重疊執(zhí)行方式,在這種方式中,取微指令與執(zhí)行微指令是重疊進(jìn)行的。在一條微指令取出并開始執(zhí)行時,同時去取下一條微指令。由于一個微周期內(nèi)執(zhí)行微操作的時間與取下一條微指令的時間是重疊的,因此,大大縮短了微指令的執(zhí)行周期,加快了微指令序列的執(zhí)行速度。需要指出的是這些優(yōu)點是用控制的復(fù)雜性換來的,即為了解決由

31、重疊引起的各種問題,使微程序控制器的結(jié)構(gòu)復(fù)雜化。 5微程序控制器的設(shè)計根據(jù)CPU的結(jié)構(gòu)圖寫出每條指令的操作流程圖并分解成微操作序列;用混合控制法對微命令進(jìn)行編碼;選擇合適的控制和時序;選用微程序的順序控制方法為微指令安排微地址;畫出微程序控制器組成框圖。 習(xí)題及參考答案1微命令和微操作、微指令和機(jī)器指令、程序和微程序、主存儲器和控制存儲器這幾個概念有何區(qū)別?解:微命令控制完成微操作的命令。 微操作由微命令控制實現(xiàn)的最基本操作。 微指令若干個微命令的組合,以編碼形式存放在控制存儲器的一個單元中,控制實現(xiàn)一步操作。 機(jī)器指令是完成一個特定功能的命令。 程序一系列指令的有序集合。 微程序一系列微指令

32、的有序集合。 主存儲器用來存放程序員機(jī)器指令為單位所編制的程序。由于解決不同問題的程序中所包含的機(jī)器指令、數(shù)據(jù)及機(jī)器指令條數(shù)可能有所不同,所以主存單元內(nèi)容是可以更新的,因此主存儲器是可讀可寫的隨機(jī)訪問存儲器。主存儲器在CPU外部。 控制存儲器用來存放機(jī)器設(shè)計者以微指令為基本單位編制的微程序。由于機(jī)器的指令系統(tǒng)是固定的,所以實現(xiàn)指令系統(tǒng)的微程序也是固定的,并且在CPU執(zhí)行機(jī)器指令時,控制存儲器只能被讀出,不能寫入,故控制存儲器用只讀存儲器來實現(xiàn)??刂拼鎯ζ髟贑PU內(nèi)部。2(1)畫出微程序控制器框圖; (2)簡述其工作原理。解: (1)微程序控制器框圖如下圖所示,(2)微程序控制器將一條指令解釋成

33、控制存儲器中的一段微程序,通過執(zhí)行微程序完成該指令要求的操作。微程序控制器的工作原理如下:控制器復(fù)位后將取指微指令的地址送CMAR,根據(jù)CMAR中的微地址,讀取取微指令,將指令取到IR??刂破鞲鶕?jù)IR中的指令操作碼形成該指令的微程序入口地址送CMAR,根據(jù)CMAR中的微地址,讀取控制存儲器,將微指令送入µIR。微指令的控制字段經(jīng)譯碼器產(chǎn)生一組微命令,送到有關(guān)部件,控制完成一組微操作。同時,由微地址轉(zhuǎn)移邏輯和微指令的下址字段共同給出下一條微指令的地址,再桉CMAR中的微地址取微指令、執(zhí)行微指令直到這條指令的全部微程序執(zhí)行完畢為止,然后又自動地轉(zhuǎn)入取指令微程序,開始下一條指令的執(zhí)行。不斷

34、重復(fù)上述全過程,直到程序執(zhí)行完畢為止。3什么是指令周期、機(jī)器周期(CPU周期)和T周期?指令的解釋有哪3種控制方式?答:指令周期是完成一條指令所需的時間,包括取指令、分析指令和執(zhí)行指令所需的全部時間。指令周期劃分為幾個不同的階段,每個階段所需的時間,稱為機(jī)器周期,又稱為CPU工作周期或基本周期。時鐘周期是時鐘頻率的倒數(shù),也可稱為節(jié)拍脈沖或T周期,是處理操作的最基本單位。一個指令周期由若干個機(jī)器周期組成,每個機(jī)器周期又由若干個時鐘周期組成。指令的解釋有組合邏輯控制方式、PLA控制方式和微程序控制方式3種。4 簡述組合邏輯控制器和微程序控制的特點及應(yīng)用場合。答:(1)組合邏輯的特點: 組合邏輯的優(yōu)

35、點是: 由于控制器的速度取決于電路延遲,所以速度較快。組合邏輯的主要缺點是: 由于將控制部件看成專門產(chǎn)生固定時序控制信號的邏輯電路,所以把用最少元件和取得最高速度作為設(shè)計目標(biāo)。一旦設(shè)計完成,不可能通過其他的修改添加新功能。組合邏輯應(yīng)用于精簡指令系統(tǒng)的計算機(jī)中。(2)微程序控制的特點:微程序控制的主要優(yōu)點是: 同組合邏輯控制器相比,微程序控制具有規(guī)整性、靈活性、可維護(hù)性等一系列優(yōu)點。微程序控制的主要缺點是: 由于微程序控制器采用了存儲程序原理,所以每條指令都要從控存中取一次,所以影響了速度。微程序控制應(yīng)用于復(fù)雜指令系統(tǒng)的計算機(jī)中。從當(dāng)前的發(fā)展趨勢看,在通用CPU中,由于設(shè)計上的困難和差錯,單純采

36、用硬連線方式并不好控制,所以硬連線很少使用。同時單純使用微程序控制器會受到時間頻率越來越高的 影響,無法取得更好的綜合性能,所以也很少使用。現(xiàn)代通用CPU一般采用微程序控制和硬連線的結(jié)合方式構(gòu)成。5試述控制器的基本功能及實現(xiàn)每一功能必須具備的相應(yīng)設(shè)置的條件。答:控制器是全機(jī)的指揮中心,其基本功能就是執(zhí)行指令。指令的執(zhí)行包括以下過程:(1)取指令:根據(jù)指令計數(shù)器PC提供的地址從主存儲器中讀取現(xiàn)行指令,送到主存數(shù)據(jù)緩沖器MDR中,然后再送往CPU內(nèi)的指令寄存器IR中。同時改變指令計數(shù)器的內(nèi)容,使之指向下一條指令地址或緊跟現(xiàn)行指令的立即數(shù)或地址碼。所以實現(xiàn)取指令的功能需設(shè)置指令計數(shù)器P和指令寄存器I

37、R,存儲器地址寄存器MAR和存儲器數(shù)據(jù)緩沖器MDR。(2)分析指令:如果采用組合邏輯控制器,則通過譯碼電路譯出IR中指令各字段表示什么操作,并在時序系統(tǒng)的配合下產(chǎn)生該指令對應(yīng)的微操作命令序列;如采用微程序控制器,則可根據(jù)指令的操作碼與標(biāo)志位轉(zhuǎn)向控制存儲器取出對應(yīng)的微程序, 由微指令提供微操作命令序列。所以實現(xiàn)分析指令的功能需設(shè)置譯碼電路、時序系統(tǒng)和微操作命令產(chǎn)生器。(3)執(zhí)行指令: 執(zhí)行指令首先根據(jù)尋址方式取操作數(shù),再根據(jù)操作碼完成相應(yīng)的運算,最后根據(jù)目的操作數(shù)的尋址方式存結(jié)果。 所以執(zhí)行指令需設(shè)置運算部件ALU和一些暫存器。 6試述運算器組成所需的部件及各部件的功能。 運算器由算術(shù)邏輯單元(ALU)、通用寄存器、程序狀態(tài)字寄存器、數(shù)據(jù)暫存器,移位器等組成。它接收從控制器送來的命令并執(zhí)行響應(yīng)的動作,負(fù)責(zé)對數(shù)據(jù)的加工和處理。各組成部件的作用是: (1)算術(shù)邏輯單元(ALU):用以進(jìn)行雙操作數(shù)的算術(shù)邏輯運算。 (2)通用寄存器組:用來存放操作數(shù)(包括源操作數(shù)、目的操作數(shù)及中間結(jié)果)和各種地址信息等。 (3)暫存器:暫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論