第5章中央處理器_第1頁
第5章中央處理器_第2頁
第5章中央處理器_第3頁
第5章中央處理器_第4頁
第5章中央處理器_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本章主要討論:運算器控制器數(shù)據(jù)通路結(jié)構(gòu)指令的執(zhí)行過程CPU組成CPU工作原理第五章中央處理器5.1組合邏輯控制器原理5.1.1控制器組成微命令發(fā)生器微命令序列I/O狀態(tài)控制臺信息運行狀態(tài)譯碼…...PS

時序IR地址形成PCOPD尋來自M送M或ALU+1送M微命令發(fā)生器微命令序列I/O狀態(tài)控制臺信息運行狀態(tài)譯碼…...PS

時序IR地址形成PCOPD尋來自M送M或ALU+1送M微命令發(fā)生器1.微命令發(fā)生器功能:產(chǎn)生全機所需的各種微命令控制最基本的操作(微操作)的命令電位型脈沖型微命令發(fā)生器微命令序列I/O狀態(tài)控制臺信息運行狀態(tài)譯碼…...PS

時序IR地址形成PCOPD尋來自M送M或ALU+1送M2.指令計數(shù)器PC功能:指示指令在M中的位置。PC+1順序執(zhí)行:PC先+1,再用轉(zhuǎn)移地址修改PC微命令發(fā)生器PC轉(zhuǎn)移執(zhí)行:3.指令寄存器IR功能:存放現(xiàn)行指令。從存儲器取出的當(dāng)前要執(zhí)行的指令決定操作性質(zhì)操作碼字段操作數(shù)地址轉(zhuǎn)移地址PC微命令發(fā)生器微命令序列I/O狀態(tài)控制臺信息運行狀態(tài)譯碼…...PS

時序IR地址形成OPD尋來自M送M或ALU+1送M微命令發(fā)生器PCIR地址碼字段譯碼器微命令發(fā)生器地址形成部件尋D4.程序狀態(tài)寄存器PS功能:指示程序運行方式,反映程序運行結(jié)果。運算型指令執(zhí)行后,要根據(jù)運算的結(jié)果來設(shè)置狀態(tài)標(biāo)志,狀態(tài)標(biāo)志就反映了程序的運行結(jié)果。PC微命令發(fā)生器微命令序列I/O狀態(tài)控制臺信息運行狀態(tài)譯碼…...PSW

時序IR地址形成OPD尋來自M送M或ALU+1送M微命令發(fā)生器PCIRPS5.時序線路功能:控制操作時間和操作時刻。PC微命令發(fā)生器微命令序列I/O狀態(tài)控制臺信息運行狀態(tài)譯碼…...PSW

時序IR地址形成OPD尋來自M送M或ALU+1送M微命令發(fā)生器PCIRPS

時序計算機的操作都是和時間有關(guān)系的,在哪一段時間做什么操作,或者在哪一個時刻完成什么操作,都是有嚴格的時間限制的。1.取指令:把指令從存儲器取出來送到IR中PCPC微命令發(fā)生器微命令序列I/O狀態(tài)控制臺信息運行狀態(tài)譯碼…...PSW

時序IR地址形成OPD尋來自M送M或ALU+1送M微命令發(fā)生器PCIRPS

時序5.1.2控制器工作過程地址M指令I(lǐng)R、譯碼(OP、尋址方式)PC+1PC2.取數(shù)PC微命令發(fā)生器微命令序列I/O狀態(tài)控制臺信息運行狀態(tài)譯碼…...PSW

時序IR地址形成OPD尋來自M送M或ALU+1送M微命令發(fā)生器PCIRPS

時序按尋址方式,或從寄存器取數(shù),或從存儲器取數(shù)。3.執(zhí)行按操作碼對數(shù)據(jù)進行運算處理。1.組合邏輯控制器的時序劃分5.1.3時序控制方式即時序信號與操作的關(guān)系?!?/p>

采用三級時序系統(tǒng):指令周期工作周期1工作周期2工作周期n……時鐘周期1時鐘周期2時鐘周期m….….工作脈沖1工作脈沖2工作脈沖k…..……….(節(jié)拍1)(節(jié)拍2)(節(jié)拍m)●

時序關(guān)系:工作周期1工作周期2工作周期3時鐘T1工作脈沖P時鐘T2指令周期控制不同階段操作時間控制分步操作時間對微操作定時取指執(zhí)行取數(shù)取出指令修改PC打入IR打入PC時鐘周期用來控制一步操作,在一個工作周期中要安排若干步?,F(xiàn)在假設(shè)安排兩步,需要有兩個時鐘周期T1和T2,兩者相差一個相位。兩個時鐘周期組成一個工作周期。本例中,一個指令周期包括3個工作周期,每個工作周期用來完成一個階段的操作。比如工作周期1用來控制取指這段時間,工作周期2用來控制取數(shù)這個階段,工作周期3用來控制執(zhí)行這段時間。所以一條指令通過這3個階段,取指、取數(shù)和執(zhí)行就完成了。一個工作周期中又包含兩個時鐘,包含兩步操作,用兩個時鐘來控制每一步的操作時間。比如在取指階段中分為兩步,第一步是把指令取出來送到指令寄存器中;第二步就是修改PC,讓PC+1然后結(jié)果再送PC。取數(shù)和執(zhí)行也分成兩步。在每一步操作中要通過工作脈沖對微操作進行定時,在每一個時鐘結(jié)束的時候都設(shè)置了一個工作脈沖。比如在取指階段,第一步把指令從存儲器取出來送到指令寄存器就需要定時,用脈沖前沿來定時把取出的指令送入指令寄存器,打入IR;第二步在結(jié)束的時候設(shè)置一個工作脈沖,用脈沖前沿把已經(jīng)修改后的PC內(nèi)容打入到PC里面。2.時序控制方式(1)同步控制各項操作受統(tǒng)一時序控制。①定義:②特點:有明顯時序時間劃分,③優(yōu)缺點:時序關(guān)系簡單,時序劃分規(guī)整,控制不復(fù)雜;時間安排不合理。④應(yīng)用場合:用于CPU內(nèi)部、設(shè)備內(nèi)部、系統(tǒng)總線操作

控制邏輯易于集中,便于管理。

(各掛接部件速度相近,傳送時間確定,傳送距離較近)。時鐘周期時間固定,

各步操作的銜接、各部件之間的數(shù)據(jù)傳送受嚴格同步定時控制。各項操作受統(tǒng)一時序控制。由CPU或其他設(shè)備提供(2)異步控制各項操作按不同需要安排時間,不受統(tǒng)一時序控制。按需安排時間①定義:②特點:無統(tǒng)一時鐘周期劃分,例.異步傳送操作●

主設(shè)備:申請并掌握總線權(quán)的設(shè)備。各操作間的銜接和各部件之間的信息交換采用異步應(yīng)答方式??偩€主從●

從設(shè)備:響應(yīng)主設(shè)備請求的設(shè)備。從設(shè)備不掌握總線權(quán)。發(fā)/接接/發(fā)答:不對。主設(shè)備和從設(shè)備之間的數(shù)據(jù)交換不是單向的,而是雙向的。主設(shè)備既可以是發(fā)送部件,也可以是接收部件,即可以發(fā)送數(shù)據(jù),也可以接收數(shù)據(jù);同樣從設(shè)備也是如此。所以,區(qū)別主/從設(shè)備并不是看它是發(fā)送還是接收部件,而是看由哪一個設(shè)備啟動了這次總線傳送,是否獲得總線權(quán)。問題:主設(shè)備僅僅是發(fā)送設(shè)備,從設(shè)備僅僅是接收設(shè)備,這樣說對不對?主設(shè)備獲得總線控制權(quán)●

操作流程:主設(shè)備詢問從設(shè)備主設(shè)備發(fā)送/接收數(shù)據(jù)主設(shè)備釋放總線控制權(quán)從設(shè)備準(zhǔn)備好?YN主設(shè)備輸出端與總線連接主設(shè)備輸出端與總線斷開時間安排緊湊、合理;控制復(fù)雜。③優(yōu)缺點:④應(yīng)用場合:用于異步總線操作(各掛接部件速度差異大,傳送時間不確定,傳送距離較遠)。(3)聯(lián)合控制方式是介于同步和異步之間的一種折中。對于大多數(shù)需要節(jié)拍數(shù)相近的指令,用相同的節(jié)拍數(shù)來完成,即采用同步控制;而對于少數(shù)需要節(jié)拍數(shù)多或節(jié)拍數(shù)不固定的指令,給予必要的延長,即采用異步控制。1.組合邏輯控制方式5.1.4組合邏輯控制方式的優(yōu)缺點及應(yīng)用綜合化簡產(chǎn)生微命令的條件(包括產(chǎn)生這個微命令的指令信息、狀態(tài)信息以及時間信息),形成邏輯式,用組合邏輯電路實現(xiàn);執(zhí)行指令時,由組合邏輯電路(微命令發(fā)生器)在相應(yīng)時間發(fā)出所需微命令,控制有關(guān)操作?!?/p>

產(chǎn)生微命令的速度較快。2.優(yōu)缺點●

設(shè)計不規(guī)整,設(shè)計效率較低;因為微命令是由組合邏輯電路來產(chǎn)生的,只要有關(guān)條件穩(wěn)定提供在組合邏輯電路的輸入端,最后就會獲得相應(yīng)的微命令,那么微命令很快產(chǎn)生之后就把它送到相應(yīng)部件去控制有關(guān)操作。所以,采用組合邏輯控制方式的計算機它的工作速度是比較快的。設(shè)計過程是把產(chǎn)生微命令的條件進行綜合化簡,那么不同的微命令產(chǎn)生的條件不同,最后獲得的邏輯式也可能不同,所以實現(xiàn)的邏輯電路是不規(guī)整的。不規(guī)整導(dǎo)致不容易實現(xiàn)設(shè)計的自動化,所以設(shè)計的效率比較低。2.優(yōu)缺點●

不易修改、擴展指令系統(tǒng)功能。3.應(yīng)用場合用于高速計算機,或小規(guī)模計算機。組合邏輯控制器的核心電路—邏輯門電路,要用硬聯(lián)線連接起來,所以稱這種邏輯電路為硬聯(lián)電路。所以,修改起來非常麻煩,原因就是硬聯(lián)邏輯限制了指令功能的擴展。例1.若某機主頻為200MHz,每個指令周期平均為2.5個機器周期,每個機器周期平均包括2個主頻周期。問:(1)該機平均指令執(zhí)行速度為多少MIPS?(2)若主頻不變,但每條指令平均包括5個機器周期,每個機器周期又包含4個主頻周期,平均指令執(zhí)行速度又為多少MIPS?(3)由此可得出什么結(jié)論?例2.假設(shè)某機平均執(zhí)行一條指令需要兩次訪問主存,平均需要3個機器周期,每個機器周期平均包含4個節(jié)拍,若機器主頻為240MHz。(1)若主頻為“0等待”(即不需要插入等待時間),執(zhí)行一條指令的平均時間為多少?(2)若每次訪問主存需要插入2個等待周期,執(zhí)行一條指令的平均時間又為多少?5.2

微程序控制方式5.2.1微程序控制的基本思想

1.若干微命令編制成一條微指令,控制實現(xiàn)一步操作;2.若干微指令組成一段微程序,解釋執(zhí)行一條機器指令;3.微程序事先存放在控制存儲器中,執(zhí)行機器指令時再取出。4.對于整個指令系統(tǒng),需要編制出一套完整的微程序,事先存入控制存儲器中,執(zhí)行機器指令的過程就是執(zhí)行對應(yīng)的微程序的過程。1.若干微命令編制成一條微指令,控制實現(xiàn)一步操作;2.若干微指令組成一段微程序,解釋執(zhí)行一條機器指令;4.對于整個指令系統(tǒng),需要編制出一套完整的微程序,事先存入控制存儲器中,執(zhí)行機器指令的過程就是執(zhí)行對應(yīng)的微程序的過程。具體做法:(1)采用“存儲邏輯”的設(shè)計思想。將控制器所需的微命令,以代碼的形式編成微指令,存入一個由ROM構(gòu)成的控制存儲器中。執(zhí)行機器指令時,從該存儲器中取出微指令,產(chǎn)生執(zhí)行指令所需的微操作命令序列。(2)采用“程序設(shè)計”的技術(shù)。將各種機器指令的操作分解為若干個微操作序列,每條微指令實現(xiàn)一步微操作。若干條微指令組成一小段微程序,用來解釋執(zhí)行一條機器指令。微程序控制就是用“程序設(shè)計”的思想來代替組合邏輯控制方式中“硬聯(lián)邏輯”的思想。

1.主要部件(1)控制存儲器CM(控存)功能:微地址形成電路IRPSPC微地址寄存器

μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR存放微程序。就是我們前面說的存儲邏輯。5.2.2組成原理控存中要存放整個系統(tǒng)中所有的微程序段,這些微程序并不一定要連續(xù)存放,但是每一段微程序的一條一條微指令是連續(xù)存放的,占一個區(qū)間。所以每個微程序都有一個它存放區(qū)間的起始地址,這個起始地址稱為微程序的入口地址。因此要找到微程序段,首先就需要獲得微程序的入口,只要找到微程序的入口,就可以從入口開始把一條條微指令取出來解釋執(zhí)行。(1)控制存儲器CM(控存)CM屬于CPU,不屬于主存儲器。因為CM是要產(chǎn)生微命令的,相當(dāng)于組合邏輯控制器中的微命令發(fā)生器。(2)微指令寄存器μIR功能:微地址形成電路IRPSPC微地址寄存器

μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR存放現(xiàn)行微指令。微命令字段:提供一步操作所需的微命令。微地址字段:指明后續(xù)微地址的形成方式。提供微地址的給定部分。(微操作控制字段)(順序控制字段)微程序、微指令都是放在控存中的,當(dāng)執(zhí)行到某一步的時候,再把微指令從控存取出來,取出來以后放到寄存器存放起來。(3)微地址形成電路功能:微地址形成電路IRPSPC微地址寄存器

μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR提供兩類微地址。微程序入口地址:由機器指令操作碼形成。后續(xù)微地址:由微地址字段、現(xiàn)行微地址、運行狀態(tài)(PSW)等形成。根據(jù)機器指令要找到相應(yīng)的微程序段,也就是說一段微程序應(yīng)該和一條機器指令是對應(yīng)的,所以機器指令不同微程序入口地址也不同。微地址寄存器(μAR):用來存放準(zhǔn)備要訪問控制存儲器的微地址,根據(jù)微地址寄存器的內(nèi)容就可以找到馬上要取出執(zhí)行的微指令。微程序控制器它要控制一條指令的執(zhí)行。取出機器指后,根據(jù)機器指令找到相應(yīng)的微程序段,然后從控制存儲器中取出這段微程序的各條微指令,通過執(zhí)行這些微指令來完成這條機器指令的功能。2.工作過程首先要把這條機器指令取出來。因為機器指令是放在主存中的,因此第一個工作要把這條機器指令從主存取出來,那么這個工作也是通過執(zhí)行微指令來實現(xiàn)的。2.工作過程(1)取機器指令CM取指微指令μIR微命令字段譯碼器微命令主存機器指令I(lǐng)R微地址形成電路IRPSPC微地址寄存器

μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR取指微指令控制存儲器取指微指令微命令字段微地址字段譯碼器微命令序列控制存儲器微命令字段微地址字段譯碼器微命令序列取指微指令:取機器指令的微指令。公用的,放在控存的某一個固定單元。(2)轉(zhuǎn)微程序入口IR操作碼微地址形成電路入口μAR微命令字段CM首條微指令(3)執(zhí)行首條微指令μIRμIR譯碼器微地址形成電路IRPSPC微地址寄存器

μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR取指微指令控制存儲器取指微指令微命令字段微地址字段譯碼器微命令序列IR控制存儲器微命令字段微地址字段譯碼器微命令序列微地址形成電路IR微地址寄存器微地址形成電路控制存儲器微地址寄存器微命令字段微地址字段控制存儲器微命令字段微地址字段微命令操作部件(4)取后續(xù)微指令微地址字段現(xiàn)行微地址運行狀態(tài)微地址形成電路后續(xù)微地址μARCM后續(xù)微指令μIR微地址形成電路IRPSWPC微地址寄存器

μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR微命令字段微地址字段PSW微地址寄存器微地址形成電路微命令字段微地址字段PS微地址寄存器微地址寄存器微地址形成電路微地址寄存器(5)執(zhí)行后續(xù)微指令同(3)微地址形成電路IRPSWPC微地址寄存器

μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR微命令字段微地址字段PSW微地址寄存器微地址形成電路微命令字段微地址字段PS微地址寄存器微地址寄存器微地址形成電路微地址寄存器(6)返回微程序執(zhí)行完,返回CM(存放取指微指令的固定單元)。機器指令的讀取與執(zhí)行:

一條機器指令的讀取與執(zhí)行就是其對應(yīng)的一段微程序的讀取與執(zhí)行,可以分為4步:(1)從CM中讀取“取指微指令”并執(zhí)行,該微指令的執(zhí)行就完成從主存取出一條機器指令(公操作)。(2)由取出的機器指令的操作碼,經(jīng)“微地址形成電路”,產(chǎn)生該指令對應(yīng)的微程序的入口地址。(3)由該入口地址,逐條取出微指令執(zhí)行,產(chǎn)生該機器指令的執(zhí)行所需要的微操作命令序列。(4)該段微程序執(zhí)行結(jié)束,又回到“取指微指令”,開始下一條機器指令的取指與執(zhí)行。5.2.3微指令的格式1.微操作控制字段用于提供本條微指令所需要的各種微命令。產(chǎn)生微命令控制微操作。①.直接控制編碼法微命令按位給出,每一位代表一個微命令,直接對應(yīng)一個微操作,不需要進行譯碼。②.字段直接編碼法將微指令劃分成若干字段,每個字段獨立定義其編碼,與其它字段無關(guān),各字段通過譯碼電路產(chǎn)生微命令。③.字段間接編碼法一個字段的含義不僅決定于本字段的編碼,還兼由其它字段參與解釋。微操作控制字段順序控制字段①直接控制法例.某微指令不需譯碼,產(chǎn)生微命令的速度快;信息的表示效率低。C0RW111C0=0進位初值為01進位初值為1R=0不讀1讀0不寫1寫W=微指令中通常只有個別位采用直接控制法。舉例說明隨著命令的增多占據(jù)微指令的空間就比較多。所以,這種直接控制法它表示的命令很少,表示效率低。為了提高信息表示效率就應(yīng)該采用編碼的方法。②字段直接編碼法

微命令由字段編碼直接給出。各字段都可以獨立地定義本字段的微命令,而和其他字段無關(guān)。這種方法縮短了微指令字,因此得到了廣泛的應(yīng)用。③字段間接編碼法例.C=CA設(shè)置解釋位或解釋字段解釋位1A為某類命令0A為常數(shù)

以上介紹了幾種在微程序編制中常用的一些微指令的編碼方法。它的基本思想是:要使微指令編碼比較簡單,但是還要能夠表示豐富的含義。5.2.3微指令的格式2.順序控制字段(微地址字段)①.微程序入口地址的形成一級功能轉(zhuǎn)移二級功能轉(zhuǎn)移通過PLA電路實現(xiàn)功能轉(zhuǎn)移②.后續(xù)微地址的形成增量方式斷定方式增量方式與斷定方式的結(jié)合指令操作碼1.微程序入口地址的形成

微程序入口功能轉(zhuǎn)移(1)一級功能轉(zhuǎn)移各操作碼的位置、位數(shù)固定,一次轉(zhuǎn)換成功。

入口地址=頁號,操作碼5.2.3微指令的格式執(zhí)行機器指令要找到它對應(yīng)的微程序段,首先要獲得這段微程序的入口地址,而入口地址是由這條機器指令的操作碼轉(zhuǎn)換而成的。這種轉(zhuǎn)換我們稱為功能轉(zhuǎn)移。只轉(zhuǎn)換一次就可以由機器指令操作碼獲得微程序的入口地址。

拼裝方法:把微程序的入口地址放在同一個頁面區(qū)間,就可以把頁面的頁號作為入口地址的高位部分,而把機器指令的操作碼作為入口地址的低位部分,這樣兩個部分拼裝起來就可以得到一個完整的入口地址。例.機器指令10F(8位)入口地址=000FHCM機器指令210(8位)入口地址=0010H000F0010無條件轉(zhuǎn)微地址1微地址1微程序1無條件轉(zhuǎn)微地址2微地址2微程序2

功能轉(zhuǎn)移

功能轉(zhuǎn)移0頁當(dāng)我們獲得機器指令1的微程序段的第一條微指令之后還要轉(zhuǎn)到后續(xù)的微程序段去,因此000F這個單元里放的微指令應(yīng)該是一條轉(zhuǎn)移微指令。也就是說,當(dāng)執(zhí)行這條微指令之后就要無條件轉(zhuǎn)到微地址1上去,在這個區(qū)間里放的程序段各條微指令用來具體完成機器指令1的有關(guān)操作。之所以要轉(zhuǎn)移是因為機器指令的操作碼是連續(xù)的,既然用機器指令的操作碼來作為入口地址的低位部分,那么指令系統(tǒng)所有的微程序段的入口地址都是連續(xù)的,那么這些入口地址對應(yīng)的起始地址必定都是無條件轉(zhuǎn)移微指令。約定:把入口地址集中放在控存的0號頁面(2)二級功能轉(zhuǎn)移各類指令操作碼的位置、位數(shù)不固定,需兩次轉(zhuǎn)換。

分類轉(zhuǎn):指令類型標(biāo)志區(qū)分指令類型功能轉(zhuǎn):指令操作碼區(qū)分操作類型分類轉(zhuǎn):在一個指令系統(tǒng)中,在同類操作中指令操作碼位置、位數(shù)都是相同的。

功能轉(zhuǎn):在同類指令中再轉(zhuǎn)到相應(yīng)不同操作(3)用可編程邏輯陣列PLA實現(xiàn)功能轉(zhuǎn)移入口地址1PLAIR入口地址22.后續(xù)微地址的形成

(1)增量方式以順序執(zhí)行為主,輔以各種常規(guī)轉(zhuǎn)移方式。把轉(zhuǎn)移有關(guān)的條件統(tǒng)統(tǒng)都送到一個可編碼譯碼的邏輯器件,叫做可編程邏輯陣列,從這個邏輯的輸出端就可以獲得相應(yīng)的入口地址,這樣入口地址形成就比較方便。順序:現(xiàn)行微地址+1。跳步:現(xiàn)行微地址+2。無條件轉(zhuǎn)移:現(xiàn)行微指令給出轉(zhuǎn)移微地址。CMAA+1A+2BB條件轉(zhuǎn)移:現(xiàn)行微指令給出轉(zhuǎn)移微地址和轉(zhuǎn)移條件。B轉(zhuǎn)移條件CC(條件滿足)(條件不滿足)轉(zhuǎn)微子程序:現(xiàn)行微指令給出微子程序入口。轉(zhuǎn)移條件CDD微子程序返回微主程序:現(xiàn)行微指令給出寄存器號。A+1RR增量方式優(yōu)點:后續(xù)微地址形成簡單。缺點:只能實現(xiàn)微程序的兩類分支轉(zhuǎn)移,不能靈活的實現(xiàn)微程序的多路分支轉(zhuǎn)移。微指令給定后續(xù)微地址高位部分(2)斷定方式由直接給定和測試斷定相結(jié)合形成微地址。

給定部分斷定條件指明后續(xù)微地址低位部分的形成方式,不是低位微地址本身

例.微指令

D(給定)

A(條件)2位位數(shù)可變微地址10位,約定:A=0110微地址低4位為操作碼,D給定高位;微地址低3位為機器指令目的尋址方式微地址低3位為機器指令源尋址方式6711編碼,D給定高位;編碼,D給定高位。716路分支8路分支8路分支在現(xiàn)行微指令執(zhí)行結(jié)束以后,它可以在多個后續(xù)微地址之間進行選擇,而不是兩個微地址,也就是說它的后續(xù)微地址是可以變化的。為了既使它能靈活的選擇,又能減少選擇的范圍,往往使后續(xù)微地址分成兩個部分,一個部分是給定的(不能變化),另一部分(少數(shù)幾位)可以變化。5.2.4微程序控制方式優(yōu)缺點及應(yīng)用1.優(yōu)點

(1)設(shè)計規(guī)整,設(shè)計效率高;(2)易于修改、擴展指令系統(tǒng)功能;(3)結(jié)構(gòu)規(guī)整、簡潔,可靠性高;(4)性價比高。2.缺點

(1)速度慢訪存頻繁轉(zhuǎn)移較多(2)執(zhí)行效率不高3.應(yīng)用范圍

用于速度要求不高、功能較復(fù)雜的機器中。特別適用于系列機,因為系列機涉及到指令系統(tǒng)的不斷擴展,可以通過改寫微程序很容易實現(xiàn)。未充分發(fā)揮數(shù)據(jù)通路本身具有的并行能力。本來微程序包含命令較多,使數(shù)據(jù)通路并行程度能夠得到很好體現(xiàn)。但為了簡化微程序編制,就使一條微指令包含的命令不是很多。5.3.1.寄存器設(shè)置

1.通用寄存器計算機為了減少訪問存儲器的次數(shù),提高運算速度,在CPU內(nèi)部設(shè)置大量的通用寄存器,少則幾個,多達上百個。5.3CPU的總體結(jié)構(gòu)

2.專用寄存器程序計數(shù)器PC指令寄存器IR:存放現(xiàn)行指令。程序狀態(tài)字寄存器PSW主存地址寄存器MAR:接受來自PC的指令地址,或來自地址形成部件的操作數(shù)地址。主存數(shù)據(jù)寄存器MDR:用來存放來自主存的讀出數(shù)據(jù)或?qū)懭胫鞔娴臄?shù)據(jù)。5.3.2.CPU數(shù)據(jù)通路結(jié)構(gòu)為了使數(shù)據(jù)傳送控制簡單、集中,采用以ALU為中心的總線結(jié)構(gòu)。

1.組成包括四個部分:ALU部件、寄存器組、內(nèi)總線、CPU與系統(tǒng)總線的連接所有數(shù)據(jù)都要送ALU,經(jīng)過算邏部件對這些數(shù)據(jù)進行收集,然后要處理的進行處理,不處理的就直接傳送出去,再把它送到總線上,由總線把算邏部件處理的結(jié)果送到目的地址去。數(shù)據(jù)通路結(jié)構(gòu):主要討論數(shù)據(jù)在CPU內(nèi)部寄存器和算術(shù)邏輯運算部件之間的傳送,以及CPU和外部進行數(shù)據(jù)傳送的一些情況??刂七壿嫞嚎刂破魑⒚畎l(fā)生器控制存儲器R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內(nèi)總線CR3DMARMDRIRPCSPPSWABDB控制邏輯

(1)ALU為內(nèi)部數(shù)據(jù)傳送通路的中心;所有寄存器的內(nèi)容都是通過ALU傳送或者加工處理,然后把它們送到內(nèi)總線上再分配到有關(guān)的地址去。

2.特點(2)寄存器采用分立結(jié)構(gòu);每個寄存器的輸入端和輸出端都是獨立的,互相不干擾。這樣在ALU的輸入端就只需設(shè)置門電路選擇器就可以,不用設(shè)置具有暫存功能的鎖存器。(3)內(nèi)總線采用單向數(shù)據(jù)總線。ALU只能向內(nèi)總線發(fā)送數(shù)據(jù);而掛接在內(nèi)總線上的寄存器都只能從內(nèi)總線接收數(shù)據(jù)。單向數(shù)據(jù)總線就是保證以ALU為數(shù)據(jù)傳送中心。R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內(nèi)總線CR3DMARMDRIRPCSPPSWABDB控制邏輯

(4)CPU內(nèi)部與外部的連接:CPU與系統(tǒng)總線的連接通過MAR、MDR實現(xiàn)。R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內(nèi)總線CR3DMARMDRIRPCSPPSWABDB控制邏輯

3.各類信息傳送途徑M(1)指令信息DBIR(2)地址信息R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內(nèi)總線CR3DMARMDRIRPCSPPSWABDB控制邏輯

1)指令地址2)指令地址加1PC打入AALU移內(nèi)MARPCAALU移內(nèi)PCC0打入R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內(nèi)總線CR3DMARMDRIRPCSPPSWABDB控制邏輯

3)轉(zhuǎn)移地址寄存器尋址:R0打入BALU移內(nèi)PC寄存器間址:R0打入BALU移內(nèi)MARABMDBMDRB移、內(nèi)PCALUR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內(nèi)總線CR3DMARMDRIRPCSPPSWABDB控制邏輯

(3)數(shù)據(jù)信息1)RR:R0打入BALU移內(nèi)R1DBMDBMDRB移、內(nèi)R2ALU2)RM:R0打入BALU內(nèi)MDR3)MR:MR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內(nèi)總線CR3DMARMDRIRPCSPPSWABDB控制邏輯

4)MM:M(源)R0MDRDB內(nèi)I/OALU5)RI/O:打入DBMDR內(nèi)CALU(計算目的地址)DBMCALU內(nèi)MDR(目的)R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內(nèi)總線CR3DMARMDRIRPCSPPSWABDB控制邏輯

DBDBDMA方式:I/O6)I/OR打入I/OMDR內(nèi)R0ALU7)I/OMMR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB內(nèi)總線CR3DMARMDRIRPCSPPSWABDB控制邏輯

規(guī)定部件的字母加下標(biāo)in表示該部件的接收控制信號,即該部件的輸入開門信號;下標(biāo)out表示該部件的輸出開門信號。例如,PCout、Yin兩信號就能完成將PC的內(nèi)容傳送給Y。下面以加法指令A(yù)DD@R0,R1

為例分析指令執(zhí)行過程。(1)取指周期第1步,PCout和MARin有效,完成將PC內(nèi)容經(jīng)內(nèi)部總線送至MAR的操作,即PCMAR,然后通過控制總線向主存儲器發(fā)讀命令;同時利用ALU把PC加1;即

PCout,MARin,Read,Y0C01,Add,Zin

第2步,從發(fā)出讀命令開始,利用等待存儲器功能完成這部分時間進行PC(PC)+1的操作;即Zout,PCin,WMFC(WaitforMFC:等待存儲器功能完成的回答信號)4.指令的執(zhí)行過程分析這條指令完成的功能是把R0的內(nèi)容作為地址送到主存以取得源操作數(shù),與R1的內(nèi)容作為目的操作數(shù)相加,再將結(jié)果送回R1中,即R1((R0))+(R1)。

第3步,收到MFC信號后,存儲器通過數(shù)據(jù)總線將MAR所指單元內(nèi)容(指令)送至MDR,MDRout和IRin有效,將MDR的內(nèi)容送至IR,即MDRIR,至此,指令送至指令寄存器IR;即MDRout,IRin

(指令送入后立即可對指令進行分析)(2)執(zhí)行周期第4步,R0內(nèi)容送MAR,并發(fā)讀命令;即

R0out,MARin,Read

第5步,把R1的內(nèi)容送Y,且等待MFC。利用等待MFC的時間執(zhí)行Y(R1)的操作;即R1out,Yin,WMFC

第6步,收到MFC信號后,存儲器通過數(shù)據(jù)總線將MAR所指單元的內(nèi)容(操作數(shù))送至MDR,然后將MDR中的數(shù)據(jù)送ALU的B端,執(zhí)行加操作;即MDRout

,Add,Zin

第7步,把結(jié)果(和)送R1;即Zout

,R1in

第8步,End信號表示當(dāng)前指令執(zhí)行完畢。4.指令的執(zhí)行過程分析5.4控制單元的設(shè)計5.4.1組合邏輯設(shè)計5.4.2微程序設(shè)計5.4.1組合邏輯設(shè)計組合邏輯控制器又稱為硬連邏輯控制器,采用組合邏輯技術(shù)實現(xiàn),其控制單元是由門電路組成的復(fù)雜樹形網(wǎng)絡(luò)結(jié)構(gòu),它以使用最少元器件和取得最高操作速度為設(shè)計目標(biāo)。

1.設(shè)計指令系統(tǒng)>>>

2.設(shè)計CPU內(nèi)部數(shù)據(jù)通路>>>

3.微操作節(jié)拍安排>>>

4.列出微操作命令的操作時間表>>>

5.寫出微操作命令的邏輯表達式>>>

6.畫出微操作命令的邏輯圖>>>5.4.1.1模型機的總體結(jié)構(gòu)1.模型機的指令系統(tǒng)模型機尋址方式只包括寄存器尋址和直接尋址兩種。指令格式:包括5條基本指令,分為算術(shù)/邏輯運算指令、存/取指令和控制轉(zhuǎn)移指令三種類型,見下表opRiADD令操作碼編碼LDRiADDRSTRRiADDRADDRiADDRANDRiADDRJZADDR000001010011100取數(shù)存數(shù)加法邏輯與結(jié)果零轉(zhuǎn)移操作功能2.模型機的數(shù)據(jù)通路微操作信號發(fā)生器MARinMDRinZinMDRoutYinZout0→Y1→C0……RIinRIoutIRinIRoutPCinPCoutADDANDREADWRITE指令譯碼器ID模8計數(shù)器LDSTRADDANDJZT0T1T2T3T4T5T6T7IR15IR14IR13啟動停止時鐘復(fù)位零標(biāo)志位5.4.1.1模型機的總體結(jié)構(gòu)控制器重復(fù)執(zhí)行各條指令的微操作序列,這些序列可以用一個包含k步閉合循環(huán)的流程來描述,每次循環(huán)構(gòu)成一個指令周期。5.4.1.1模型機的總體結(jié)構(gòu)3.模型機時序采用三級時序系統(tǒng)一條指令周期包括三個工作周期(機器周期),分別是取指周期、分析周期和執(zhí)行周期。

取指周期:按PC值訪存取指令和修改PC的值。分析周期:形成操作數(shù)有效地址和訪存取操作數(shù)。執(zhí)行周期:執(zhí)行指令操作碼規(guī)定的操作。每個機器周期分為若干個節(jié)拍Ti,每個節(jié)拍末尾設(shè)置一個工作脈沖P。取指周期是公共操作,是每條指令都必須經(jīng)歷的機器周期狀態(tài)。5.4.1.2指令流程分析PC←PC+1IR←MDRMAR←PC、READMAR←ADDRREADY←MDRZ←Y+RiRi←ZMAR←ADDRREADMAR←ADDRMAR←ADDRREADY←MDRZ←Y∧RiRi←ZMDR←RiWRITERi←MDRZ=1?PC←ADDRT0T1T2T3T4T5T6YNLDSTRADDANDJZ1.微操作的節(jié)拍安排

安排微操作節(jié)拍應(yīng)注意以下三點:第一,有些微操作的次序是不容改變的,故安排微操作節(jié)拍時必須注意微操作的先后順序。第二,凡是被控制對象不同的操作,若能在一個節(jié)拍內(nèi)執(zhí)行,應(yīng)盡可能安排在同一個節(jié)拍內(nèi),以節(jié)省時間。第三,如果有些微操作所占的時間不長,應(yīng)該將它們安排在一個節(jié)拍內(nèi)完成,并且允許這些微操作有先后次序。2.舉例說明微操作節(jié)拍安排:以AND(邏輯乘)指令為例(1)取指周期

T0:根據(jù)原則二,T0節(jié)拍可安排兩個微操作:PCMAR,

1R;從發(fā)讀命令開始,經(jīng)過一個節(jié)拍(存儲周期),所取指令已到MDR。5.4.1.2指令流程分析

T1:MDR送指令寄存器IR,同時譯碼器分析指令;若為

AND指令,則譯出AND控制信號,送ALU控制端。

T2:利用ALU實現(xiàn)PC(PC)+1,為取后繼指令做準(zhǔn)備。(2)執(zhí)行周期

T3:IR中操作數(shù)地址送MAR,同時向主存發(fā)讀命令。

T4:將MDR中的數(shù)送Y寄存器,即ALU的A端。

T5:將Ri中的操作數(shù)通過內(nèi)部總線送ALU的B端,執(zhí)行邏輯乘,操作結(jié)果送寄存器Z。

T6:結(jié)果從寄存器Z送Ri。

T7:執(zhí)行一條指令所需的節(jié)拍數(shù)已到,即模8計數(shù)器為0,重新執(zhí)行T0,表示開始執(zhí)行下一條指令。5.4.1.2指令流程分析指令微操作序列表指令節(jié)拍微操作控制信號取指令公操作T0T1T2PCout,MARin,Read,Y0,C01,Add,ZinMDRout,IRinZout,PCinLDT3T4ADDRout,MARin,ReadMDRout,RIinSTRT3T4ADDRout,MARinRIout,MDRin,WriteADDT3T4T5T6ADDRout,MARin,ReadMDRout,YinRIout,Add,ZinZout,RIinANDT3T4T5T6ADDRout,MARin,ReadMDRout,YinRIout,And,ZinZout,RIinJZT6Z=1,ADDRout,PCin5.4.1.3微操作信號發(fā)生器的設(shè)計設(shè)計組合邏輯控制部件的主要任務(wù)是用組合邏輯方法設(shè)計微操作信號發(fā)生器。根據(jù)每條指令的時序要求,讓節(jié)拍電位和時鐘脈沖有步驟的控制有關(guān)部件,一步一步地依次執(zhí)行所規(guī)定的微操作,從而在一個指令周期內(nèi)完成一條指令所規(guī)定的全部操作。微操作信號發(fā)生器的設(shè)計方法:1.根據(jù)指令流程圖,編制指令操作時間表和微操作表;2.根據(jù)微操作表進行微操作邏輯綜合;3.畫出產(chǎn)生各個微操作的邏輯線路。5.4.1.3微操作信號發(fā)生器的設(shè)計1.設(shè)計指令微操作時間表節(jié)拍LDSTRADDANDJZMAR←PC、READIR←MDRPC←PC+1MAR←ADDR[JZ]、READ[STR+JZ]T0T1T2T3T4T5T6Ri←MDRMDR←Ri、WRITEY←MDRY←MDRZ←Y+RiZ←Y∧RiRi←ZRi←ZPC←ADDR[Z=1]T0~T2是公操作,是5條指令所共有的;有些微操作如MAR←ADDR是4條指令所共有,也可提到公操作中,但有限制條件T3MAR←ADDR[JZ],即不是JZ指令時,在T3

執(zhí)行MAR←ADDR。2.設(shè)計微操作表微操作T0T1T2T3T4T5T6PCoutALLMARinJZREADSTR+JZJZ[Z=1]ALLALLY←0C0←1ADDZinZoutPCinALLALLALLALLALLALLADDADD+ANDADD+AND5.4.1.3微操作信號發(fā)生器的設(shè)計由于一個微操作信號可以出現(xiàn)在不同指令的不同節(jié)拍之中,大量的微操作信號直接在操作時間表上進行邏輯綜合,容易造成錯誤也不方便檢查。微操作時間表是以微操作為條目,表示在哪個節(jié)拍有哪些指令要求這個微操作,所以采用微操作表方法可以清晰、有條理的進行微操作信號的綜合。2.設(shè)計微操作表MDRoutMDRinIRin微操作T0T1T2T3T4T5T6ADDRoutRIinRIoutYinWRITEANDALLALLJZSTR+JZSTRLDSTRADD+ANDSTRJZ[Z=1]ADD+ANDADD+ANDAND5.4.1.3微操作信號發(fā)生器的設(shè)計3.寫出微操作的邏輯表達式PCout=T0MARin=T0+T3·JZREAD=T0+T3·STR+JZY←0=T0C0←1=T0ADD=T0+T5·ADDZin=T0+T5(ADD+AND)Zout=T2+T6(ADD+AND)PCin=T2+T6·Z·JZMDRout=T1+T4(ADD+AND+LD)MDRin=T4·STRIRin=T1ADDRout=T3·JZ+T6·Z·JZRIin=T4·LD+T6(ADD+AND)RIout=T4·STR+T5(ADD+AND)Yin=T4(ADD+AND)WRITE=T4·STRAND=T5·AND5.4.1.3微操作信號發(fā)生器的設(shè)計微操作時間表中T0~T7是時序計數(shù)器給出的節(jié)拍信號;LD、STR、ADD、AND和JZ是指令譯碼器輸出的控制電位信號。根據(jù)以上邏輯表達式,可以用適當(dāng)?shù)拈T電路來實現(xiàn),就可以得到微操作控制部件的邏輯圖。5.4.2微程序設(shè)計采用存儲邏輯實現(xiàn),即把微操作信號以代碼的形式事先存入控制存儲器。每條機器指令對應(yīng)一段微程序,微程序由若干條微指令組成,微操作信號是由微指令產(chǎn)生的。微命令:構(gòu)成控制信號序列的最小單位稱為微命令,通常指那些直接作用于部件或控制門電路的命令。

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論