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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

10、作”是指功能部件級(jí)的動(dòng)作,它是可以再分解的。 “操作”可進(jìn)一步分解為一組微操作序列。“微操作”是指指令序列中最基本的、不可再分割的動(dòng)作。 若將每一條指令的執(zhí)行過(guò)程都分解為一組操作序列,并將這些操作按指令執(zhí)行的周期分類(lèi)歸并就可得到指令的操作流程。將指令的操作流程以流程圖的形式描述,就得到指令操作流程圖,簡(jiǎn)稱指令流程圖。6.3 時(shí)序與控制6.3.1 控制器的基本控制方式(1)同步控制方式 所謂同步控制方式,就是系統(tǒng)有一個(gè)統(tǒng)一的時(shí)鐘,所有的控制信號(hào)均來(lái)自這個(gè)統(tǒng)一的時(shí)鐘信號(hào)。 根據(jù)指令周期、CPU周期和節(jié)拍周期的長(zhǎng)度固定與否,同步控制方式又可分為以下幾種。 定長(zhǎng)指令周期 即所有的指令執(zhí)行時(shí)間都相等。若

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

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

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

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

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

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

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

18、令。微程序控制器框圖如圖63所示。 微程序控制器的核心是控制存儲(chǔ)器CM,用它存放各指令對(duì)應(yīng)的微程序,CM可用只讀存儲(chǔ)器ROM構(gòu)成。若采用可擦除可編程只讀存儲(chǔ)路EPROM作CM,則有利于微程序的修改和動(dòng)態(tài)微程序設(shè)計(jì)。控制存儲(chǔ)器CM的一行表示存放的一條微指令,列線輸出微指令代碼。行列交叉處有黑點(diǎn)者表示該位信息為“1”,行列交叉處無(wú)黑點(diǎn)者表示該位信息為“0”。微指令寄存器存放從CM中讀出的微指令,它包含兩大部分:微操作控制字段(微命令字段)和順序控制字段(微地址字段)。微命令字段可直接按位或通過(guò)譯碼提供微命令。順序控制字段用于控制產(chǎn)生下一條微指令地址或由微指令地址形成電路按有關(guān)條件形成。(2)微程序

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

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

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

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

23、令中,往往只需部分微命令,因此只有部分位置置1,造成有效的空間不能充分利用。(2)字段直接編譯法(編碼控制的水平微指令)相斥性微命令和相容性微命令 同一微周期中不能同時(shí)出現(xiàn)的微命令稱為相斥性微命令;在同一微周期中可以同時(shí)出現(xiàn)的微命令稱為相容性微命令。 分段直接編譯法 將微指令的微命令字段分成若干小字段,把相斥性微命令組合在同一字段中,而把相容性微命令組合在不同的字段中,每個(gè)字段獨(dú)立編碼,每種編碼代表一個(gè)微命令且各字段編碼含義單獨(dú)定義,與其他字段無(wú)關(guān),這就稱為分段直接編譯法。分段的原則A互斥性的微命令分在同一段內(nèi),兼容性的微命令分在不同段內(nèi)。B與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。C每個(gè)小段中包含的信息位不能太

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

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

26、息傳送通路,因此微指令的并行操作能力低,效率低。水平型微指令執(zhí)行一條指令的時(shí)間短,垂直型微指令執(zhí)行時(shí)間長(zhǎng)。因?yàn)樗叫臀⒅噶畹牟⑿胁僮髂芰?qiáng),因此與垂直型微指令相比,可以用較少的微指令數(shù)來(lái)實(shí)現(xiàn)一條指令的功能,從而縮短了指令的執(zhí)行時(shí)間。而且當(dāng)執(zhí)行一條微指令時(shí),水平型微指令的微命令一般直接控制對(duì)象,而垂直型微指令要經(jīng)過(guò)譯碼,會(huì)影響速度。 由水平型微指令解釋指令的微程序,有微指令字較長(zhǎng)而微程序短的特點(diǎn)。垂直型微指令則相反,微指令字比較短而微程序長(zhǎng)。 水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對(duì)來(lái)說(shuō),比較容易掌握。 水平型微指令與機(jī)器指令差別很大,一般需要對(duì)機(jī)器的結(jié)構(gòu)、數(shù)據(jù)通路、時(shí)序系統(tǒng)

27、以及微命令很精通才能設(shè)計(jì)。3微程序的順序控制(1)微程序入口地址的形成由于每條機(jī)器指令都需要取指操作,所以將取指操作編制成一段公用微程序,通常安排在控制存儲(chǔ)器的0號(hào)或1號(hào)單元開(kāi)始的一段CM空間。每一條機(jī)器指令對(duì)應(yīng)著一段微程序,其入口就是初始微地址。首先由“取指令”微程序取出一條機(jī)器指令到IR中,然后根據(jù)機(jī)器指令操作碼轉(zhuǎn)換成該指令對(duì)應(yīng)的微程序入口地址。這是一種多分支(或多路轉(zhuǎn)移)的情況,常用以下方式形成入口地址:如操作碼為P,則入口地址為P或P。(2)后繼微地址的形成 在轉(zhuǎn)移到一條機(jī)器指令對(duì)應(yīng)的微程序入口地址后,則開(kāi)始執(zhí)行微程序,這時(shí)每條微指令執(zhí)行完畢時(shí),需根據(jù)其中的順序控制字段的要求形成后繼微

28、指令地址。計(jì)數(shù)器方式 這種方式與用程序計(jì)數(shù)器產(chǎn)生機(jī)器指令地址的方式相類(lèi)似。在順序執(zhí)行微指令時(shí),后續(xù)微指令地址由現(xiàn)行微指令加上一個(gè)增量來(lái)產(chǎn)生:在非順序執(zhí)行微指令時(shí),由轉(zhuǎn)移微指令實(shí)行轉(zhuǎn)移,轉(zhuǎn)移微指令的控制字段分成兩部分:條件選擇字段與轉(zhuǎn)移地址字段。由這兩個(gè)字段結(jié)合,當(dāng)轉(zhuǎn)移條件滿足時(shí),將轉(zhuǎn)移地址字段作為下一個(gè)微地址:若轉(zhuǎn)移條件不滿足,則直接從微程序計(jì)數(shù)器中取得下一條指令。用計(jì)數(shù)器法產(chǎn)生微地址的缺點(diǎn)是微程序中會(huì)出現(xiàn)大量的轉(zhuǎn)移微指令,它們約占整個(gè)微指令數(shù)的25,導(dǎo)致執(zhí)行時(shí)間大大增加:另外,在編制微程序中,岡微指令的地址受到限制,因而不方便;要區(qū)分微命令微指令和轉(zhuǎn)移微指令使得微程序控制電路復(fù)雜化。下址字段

29、法(也稱為斷定方式) 下址字段法與計(jì)數(shù)器法不同,它不采用uPC,而是在微指令格式中,設(shè)置一個(gè)下址字段,用于指明下一條要執(zhí)行的微指令地址。當(dāng)一條微指令被取出時(shí),下一條微指令的地址已獲得。它相當(dāng)于每條微指令都具有轉(zhuǎn)移微指令的功能。采用這種方法就不必設(shè)置專門(mén)的轉(zhuǎn)移微指令,但增加了微指令字的長(zhǎng)度。增量方式與斷定方式的結(jié)合 在這種控制方式中微指令寄存器有計(jì)數(shù)的功能,但在微指令中仍設(shè)置一個(gè)順序控制字段,它分成兩部分:條件選擇字段與轉(zhuǎn)移地址字段。由這兩個(gè)字段結(jié)合,當(dāng)轉(zhuǎn)移條件滿足時(shí),將轉(zhuǎn)移地址字段作為下一個(gè)微地址:若無(wú)轉(zhuǎn)移要求,則直接從微程序計(jì)數(shù)器中取得下一條指令。4微指令執(zhí)行方式串行執(zhí)行方式:串行執(zhí)行方式,

30、又稱順序執(zhí)行方式。它是指取微指令、執(zhí)行微指令完全按順序進(jìn)行,即只有在上一條微指令執(zhí)行完后,才能取下一條微指令。串行執(zhí)行方式微指令執(zhí)行速度慢,但微程序控制器結(jié)構(gòu)簡(jiǎn)單。并行執(zhí)行方式:并行執(zhí)行方式,又稱重疊執(zhí)行方式,在這種方式中,取微指令與執(zhí)行微指令是重疊進(jìn)行的。在一條微指令取出并開(kāi)始執(zhí)行時(shí),同時(shí)去取下一條微指令。由于一個(gè)微周期內(nèi)執(zhí)行微操作的時(shí)間與取下一條微指令的時(shí)間是重疊的,因此,大大縮短了微指令的執(zhí)行周期,加快了微指令序列的執(zhí)行速度。需要指出的是這些優(yōu)點(diǎn)是用控制的復(fù)雜性換來(lái)的,即為了解決由重疊引起的各種問(wèn)題,使微程序控制器的結(jié)構(gòu)復(fù)雜化。 5微程序控制器的設(shè)計(jì)根據(jù)CPU的結(jié)構(gòu)圖寫(xiě)出每條指令的操作流

31、程圖并分解成微操作序列;用混合控制法對(duì)微命令進(jìn)行編碼;選擇合適的控制和時(shí)序;選用微程序的順序控制方法為微指令安排微地址;畫(huà)出微程序控制器組成框圖。 習(xí)題及參考答案1微命令和微操作、微指令和機(jī)器指令、程序和微程序、主存儲(chǔ)器和控制存儲(chǔ)器這幾個(gè)概念有何區(qū)別?解:微命令控制完成微操作的命令。 微操作由微命令控制實(shí)現(xiàn)的最基本操作。 微指令若干個(gè)微命令的組合,以編碼形式存放在控制存儲(chǔ)器的一個(gè)單元中,控制實(shí)現(xiàn)一步操作。 機(jī)器指令是完成一個(gè)特定功能的命令。 程序一系列指令的有序集合。 微程序一系列微指令的有序集合。 主存儲(chǔ)器用來(lái)存放程序員機(jī)器指令為單位所編制的程序。由于解決不同問(wèn)題的程序中所包含的機(jī)器指令、數(shù)

32、據(jù)及機(jī)器指令條數(shù)可能有所不同,所以主存單元內(nèi)容是可以更新的,因此主存儲(chǔ)器是可讀可寫(xiě)的隨機(jī)訪問(wèn)存儲(chǔ)器。主存儲(chǔ)器在CPU外部。 控制存儲(chǔ)器用來(lái)存放機(jī)器設(shè)計(jì)者以微指令為基本單位編制的微程序。由于機(jī)器的指令系統(tǒng)是固定的,所以實(shí)現(xiàn)指令系統(tǒng)的微程序也是固定的,并且在CPU執(zhí)行機(jī)器指令時(shí),控制存儲(chǔ)器只能被讀出,不能寫(xiě)入,故控制存儲(chǔ)器用只讀存儲(chǔ)器來(lái)實(shí)現(xiàn)??刂拼鎯?chǔ)器在CPU內(nèi)部。2(1)畫(huà)出微程序控制器框圖; (2)簡(jiǎn)述其工作原理。解: (1)微程序控制器框圖如下圖所示,(2)微程序控制器將一條指令解釋成控制存儲(chǔ)器中的一段微程序,通過(guò)執(zhí)行微程序完成該指令要求的操作。微程序控制器的工作原理如下:控制器復(fù)位后將取指

33、微指令的地址送CMAR,根據(jù)CMAR中的微地址,讀取取微指令,將指令取到IR??刂破鞲鶕?jù)IR中的指令操作碼形成該指令的微程序入口地址送CMAR,根據(jù)CMAR中的微地址,讀取控制存儲(chǔ)器,將微指令送入IR。微指令的控制字段經(jīng)譯碼器產(chǎn)生一組微命令,送到有關(guān)部件,控制完成一組微操作。同時(shí),由微地址轉(zhuǎn)移邏輯和微指令的下址字段共同給出下一條微指令的地址,再桉CMAR中的微地址取微指令、執(zhí)行微指令直到這條指令的全部微程序執(zhí)行完畢為止,然后又自動(dòng)地轉(zhuǎn)入取指令微程序,開(kāi)始下一條指令的執(zhí)行。不斷重復(fù)上述全過(guò)程,直到程序執(zhí)行完畢為止。3什么是指令周期、機(jī)器周期(CPU周期)和T周期?指令的解釋有哪3種控制方式?答:

34、指令周期是完成一條指令所需的時(shí)間,包括取指令、分析指令和執(zhí)行指令所需的全部時(shí)間。指令周期劃分為幾個(gè)不同的階段,每個(gè)階段所需的時(shí)間,稱為機(jī)器周期,又稱為CPU工作周期或基本周期。時(shí)鐘周期是時(shí)鐘頻率的倒數(shù),也可稱為節(jié)拍脈沖或T周期,是處理操作的最基本單位。一個(gè)指令周期由若干個(gè)機(jī)器周期組成,每個(gè)機(jī)器周期又由若干個(gè)時(shí)鐘周期組成。指令的解釋有組合邏輯控制方式、PLA控制方式和微程序控制方式3種。4 簡(jiǎn)述組合邏輯控制器和微程序控制的特點(diǎn)及應(yīng)用場(chǎng)合。答:(1)組合邏輯的特點(diǎn): 組合邏輯的優(yōu)點(diǎn)是: 由于控制器的速度取決于電路延遲,所以速度較快。組合邏輯的主要缺點(diǎn)是: 由于將控制部件看成專門(mén)產(chǎn)生固定時(shí)序控制信號(hào)

35、的邏輯電路,所以把用最少元件和取得最高速度作為設(shè)計(jì)目標(biāo)。一旦設(shè)計(jì)完成,不可能通過(guò)其他的修改添加新功能。組合邏輯應(yīng)用于精簡(jiǎn)指令系統(tǒng)的計(jì)算機(jī)中。(2)微程序控制的特點(diǎn):微程序控制的主要優(yōu)點(diǎn)是: 同組合邏輯控制器相比,微程序控制具有規(guī)整性、靈活性、可維護(hù)性等一系列優(yōu)點(diǎn)。微程序控制的主要缺點(diǎn)是: 由于微程序控制器采用了存儲(chǔ)程序原理,所以每條指令都要從控存中取一次,所以影響了速度。微程序控制應(yīng)用于復(fù)雜指令系統(tǒng)的計(jì)算機(jī)中。從當(dāng)前的發(fā)展趨勢(shì)看,在通用CPU中,由于設(shè)計(jì)上的困難和差錯(cuò),單純采用硬連線方式并不好控制,所以硬連線很少使用。同時(shí)單純使用微程序控制器會(huì)受到時(shí)間頻率越來(lái)越高的 影響,無(wú)法取得更好的綜合性

36、能,所以也很少使用?,F(xiàn)代通用CPU一般采用微程序控制和硬連線的結(jié)合方式構(gòu)成。5試述控制器的基本功能及實(shí)現(xiàn)每一功能必須具備的相應(yīng)設(shè)置的條件。答:控制器是全機(jī)的指揮中心,其基本功能就是執(zhí)行指令。指令的執(zhí)行包括以下過(guò)程:(1)取指令:根據(jù)指令計(jì)數(shù)器PC提供的地址從主存儲(chǔ)器中讀取現(xiàn)行指令,送到主存數(shù)據(jù)緩沖器MDR中,然后再送往CPU內(nèi)的指令寄存器IR中。同時(shí)改變指令計(jì)數(shù)器的內(nèi)容,使之指向下一條指令地址或緊跟現(xiàn)行指令的立即數(shù)或地址碼。所以實(shí)現(xiàn)取指令的功能需設(shè)置指令計(jì)數(shù)器P和指令寄存器IR,存儲(chǔ)器地址寄存器MAR和存儲(chǔ)器數(shù)據(jù)緩沖器MDR。(2)分析指令:如果采用組合邏輯控制器,則通過(guò)譯碼電路譯出IR中指令

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論