版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第6章控制系統(tǒng)與CPU
2/5/20231?2011第7版本章學習內(nèi)容控制器的功能與組成控制方式與時序系統(tǒng)CPU的總體結(jié)構(gòu)組合邏輯控制器設(shè)計微程序控制器設(shè)計2/5/202326.1控制器概述
控制器和運算器一起組成中央處理器,即CPU(CentralProcessUnit)??刂破鞯墓δ芨鶕?jù)事先編好并存放在存儲器中的解題程序,控制各部件有條不紊地、自動協(xié)調(diào)地進行工作。2/5/20233控制器是計算機的指揮和控制中心,由它把計算機的運算器、存儲器、I/O設(shè)備等聯(lián)系成一個有機的系統(tǒng),并根據(jù)各部件具體要求,適時地發(fā)出各種控制命令,控制計算機各部件自動、協(xié)調(diào)地進行工作。2/5/20234計算機運行程序的基本過程:1.取指令根據(jù)指令地址(由PC提供),從存儲器中取出所要執(zhí)行的指令6.1.1指令執(zhí)行的基本步驟
2/5/202352.分析指令①對取出的指令進行譯碼分析。確定指令應(yīng)完成的操作,產(chǎn)生相應(yīng)操作的控制電位,參與形成該指令功能所需要的全部控制命令(微操作控制信號)。②根據(jù)尋址方式的分析和指令功能要求,形成操作數(shù)的有效地址,并按此地址取出操作數(shù)據(jù)(運算型指令)或形成轉(zhuǎn)移地址(轉(zhuǎn)移類指令),以實現(xiàn)程序轉(zhuǎn)移。2/5/202363.執(zhí)行指令:根據(jù)指令分析所產(chǎn)生的操作控制信號和形成的有效地址,按一定的算法形成指令操作控制序列,控制有關(guān)部件完成指令規(guī)定的功能。一條指令執(zhí)行結(jié)束,若沒有異常情況和特殊請求,則按程序順序,再去取出并執(zhí)行下一條指令。2/5/20237控制器的任務(wù)按取指令、分析指令、執(zhí)行指令這樣的步驟進行周而復始的控制過程,直到完成程序所規(guī)定的任務(wù)并停機為止。2/5/20238指令ADDA,R7的執(zhí)行過程
2/5/20239程序的執(zhí)行過程設(shè)有程序:MOVAL,07HADDAL,0AHMOV[20H],AL(1)指令長度均為2字節(jié),其中第一字節(jié)為操作碼部分,第二字節(jié)為形式地址部分。(2)程序存放在以00H開始的區(qū)域內(nèi)。2/5/202310程序執(zhí)行過程演示2/5/2023116.1.2控制器的基本功能1.控制指令的正確執(zhí)行包括指令流出的控制,分析指令和執(zhí)行指令的控制,指令流向的控制。⑴指令流出控制(對取指令的控制)取指令時需進行的操作(PC)→MAR,Read;給出指令地址,并向MEM發(fā)
出讀命令(MDR)→IR;讀出的指令經(jīng)MDR存放到指
令寄存器IR中(PC)增量→PC;為取下一條指令作準備2/5/202312⑵分析指令和執(zhí)行指令的控制IR中的指令經(jīng)指令譯碼器(ID)譯碼分析,確定操作性質(zhì),判明尋址方式并形成操作數(shù)的有效地址??刂破鞲鶕?jù)分析的結(jié)果和形成的有效地址產(chǎn)生相應(yīng)的操作控制信號序列,控制有關(guān)的部件完成指令所規(guī)定的操作功能。例:設(shè)某指令的IR15~IR12=0000時為MOV指令,則MOV的控制信號為:2/5/202313⑶指令流向的控制指令流向控制即下條指令地址的形成控制。①按指令序列順序執(zhí)行時,通過PC自動增量形成下條指令的地址。②當需要改變指令流向時,需改變程序計數(shù)器PC中的內(nèi)容。轉(zhuǎn)移指令的執(zhí)行:把形成的轉(zhuǎn)向地址送入PC;轉(zhuǎn)子指令的執(zhí)行:把子程序入口地址送入PC;中斷處理:將中斷服務(wù)程序入口地址送入PC。為了正確返回,轉(zhuǎn)子和中斷還需保留PC被改變之前的內(nèi)容(即返回地址)。2/5/2023142.控制程序和數(shù)據(jù)的輸入及結(jié)果的輸出為完成某項任務(wù)而編制的程序及所需數(shù)據(jù),必須通過某些輸入設(shè)備預先存放在存儲器中,運算結(jié)果要用輸出設(shè)備輸出。所以必須由控制器統(tǒng)一指揮,完成程序和數(shù)據(jù)的輸入及結(jié)果的輸出。3.異常情況和特殊請求的處理機器在運行程序過程中,往往可能會遇到一些異常情況(如電源掉電、運算溢出等)或某些特殊請求(如打印機請求傳送打印字符等)。這些異常和請求往往是事先無法預測的,控制器必須具有檢測和處理這些異常情況和特殊請求的功能。2/5/202315宏觀上每條指令的執(zhí)行過程均是取指、譯碼、執(zhí)行,但每條指令有不同的操作序列,需要在不同時間產(chǎn)生不同的控制序列,并有嚴格的時序要求。控制器必須根據(jù)不同指令產(chǎn)生不同的控制序列??刂破髟诠ぷ鲿r,需要根據(jù)不同的指令、不同的狀態(tài)條件,在不同的時間,產(chǎn)生不同的控制信號,控制計算機的各部件自動、協(xié)調(diào)地進行工作。2/5/202316指令執(zhí)行的一般流程2/5/2023176.1.3控制器的組成2/5/202318指令部件的主要功能是完成取指令和分析指令。⑴程序計數(shù)器PC(指令計數(shù)器、指令地址寄存器)PC用于保證程序按規(guī)定的序列正確運行,并提供將要執(zhí)行指令的地址。由于PC可以指向主存中任一單元的地址,因此它的位數(shù)應(yīng)能表示主存的最大容量并與主存地址寄存器MAR的位數(shù)相同。1.指令部件2/5/202319在CPU中可以單獨設(shè)置程序計數(shù)器,也可以指定通用寄存器中的某一個作為PC使用。程序順序執(zhí)行時的PC增量可以通過PC本身的計數(shù)邏輯實現(xiàn),也可以由運算器的ALU實現(xiàn)。不同機器,實現(xiàn)方法可有所不同。2/5/202320(2)指令寄存器IR指令寄存器用于存放當前正在執(zhí)行的指令。當指令從主存取出后,經(jīng)MDR傳送到指令寄存器中,以便實現(xiàn)對一條指令執(zhí)行的全部過程的控制。2/5/202321(3)指令譯碼器ID指令譯碼器是指令分析部件,對指令寄存器中的指令操作碼進行譯碼分析,產(chǎn)生相應(yīng)操作的控制電位,提供給微操作控制信號形成部件。對尋址方式字段進行譯碼分析,以控制操作數(shù)有效地址的形成。(4)地址形成部件根據(jù)機器所規(guī)定的各種尋址方式,形成操作數(shù)有效地址。在一些微、小型機中,為簡化硬件邏輯,通常不設(shè)置專門的地址形成部件,而是借用運算器實現(xiàn)有效地址的計算。2/5/2023222.時序控制部件時序控制部件:用于產(chǎn)生一系列時序信號,為各個微操作定時,以保證各個微操作的執(zhí)行順序。從宏觀(即程序控制)上看,計算機的解題過程實質(zhì)上是指令序列即一條條指令的執(zhí)行過程。從微觀(即指令控制)上看,計算機的解題過程是微操作序列即一個個(或一組組)微操作的執(zhí)行過程。微操作:機器最簡單的基本操作一條指令的執(zhí)行過程可以分解為若干微操作。這些微操作有著嚴格的時間順序要求,不可隨意顛倒。2/5/202323(1)脈沖源脈沖源用于產(chǎn)生一定頻率的主時鐘脈沖。一般采用石英晶體振蕩器作為脈沖源。計算機電源一接通,脈沖源立即按規(guī)定頻率給出時鐘脈沖。(2)啟停電路啟停電路用于控制整個機器工作的啟動與停止。實際上是保證可靠地送出或封鎖主時鐘脈沖,控制時序信號的發(fā)生與停止。2/5/202324(3)時序信號發(fā)生器時序信號發(fā)生器用于產(chǎn)生機器所需的各種時序信號,以便控制有關(guān)部件在不同的時間完成不同的微操作。不同的機器,有著不同的時序信號。在同步控制的機器中,一般包括周期、節(jié)拍、脈沖等三級時序信號。2/5/202325微操作控制信號形成部件:根據(jù)指令部件提供的操作控制電位、時序部件所提供的各種時序信號以及有關(guān)的狀態(tài)條件,產(chǎn)生機器所需要的各種微操作控制信號。不同的指令,完成不同的功能,需要不同的微操作控制信號序列。每條指令都有自己對應(yīng)的微操作序列??刂破鞅仨毟鶕?jù)不同的指令,在不同的時間,產(chǎn)生并發(fā)出不同的微操作控制信號,控制有關(guān)部件協(xié)調(diào)工作,完成指令所規(guī)定的任務(wù)。3.微操作控制信號形成部件2/5/2023264.中斷控制邏輯(中斷機構(gòu))用于實現(xiàn)異常情況和特殊請求的處理。2/5/202327程序狀態(tài)寄存器:用于存放程序的工作狀態(tài)(如管態(tài)、目態(tài)等)和指令執(zhí)行的結(jié)果特征(如結(jié)果為零、結(jié)果溢出等),把它所存放的內(nèi)容稱為程序狀態(tài)字(PSW)。PSW表明了系統(tǒng)的基本狀態(tài),是控制程序執(zhí)行的重要依據(jù)。不同的機器,PSW的格式及內(nèi)容不完全相同。5.程序狀態(tài)寄存器PSR2/5/202328例:8086CPU中的PSW的格式CF:進位PF:奇偶AF:半進位ZF:結(jié)果為0SF:符號TF:單步(陷阱)IF:中斷允許DF:地址增/減量OF:溢出1514131211109876543210OFDFIFTFSFZFAFPFCF2/5/202329
控制臺用于實現(xiàn)人與機器之間的通信聯(lián)系,如啟動或停止機器的運行、監(jiān)視程序運行過程、對程序進行必要的修改或干預等。早期有硬件控制臺,用于設(shè)置地址和指令?,F(xiàn)在,在大型機中有軟件控制臺。通過控制臺命令,控制機器的啟停,干預機器的工作。6.控制臺2/5/202330控制器的組成方式主要是指微操作控制信號形成部件采用何種組成方式產(chǎn)生微操作控制信號。根據(jù)產(chǎn)生微操作控制信號的方式不同,控制器可分為組合邏輯型、存儲邏輯型、組合邏輯與存儲邏輯結(jié)合型三種,它們的根本區(qū)別在于微操作信號發(fā)生器的實現(xiàn)方法不同,而控制器中的其他部分基本上是大同小異的。6.1.4控制器的組成方式2/5/2023311.組合邏輯型組合邏輯控制器也稱為硬聯(lián)邏輯或硬布線邏輯。組合邏輯控制器是根據(jù)控制要求和狀態(tài),采用組合邏輯技術(shù)來實現(xiàn)的。其微操作信號發(fā)生器是由門電路組成的復雜樹形網(wǎng)絡(luò)構(gòu)成的。組合邏輯控制器的設(shè)計目標:使用最少器件數(shù)和取得最高操作速度。優(yōu)點:速度快。巨型機和RISC機為了追求高速度采用組合邏輯控制器。
缺點:微操作信號發(fā)生器結(jié)構(gòu)不規(guī)整,設(shè)計、調(diào)試、維修較困難,難以實現(xiàn)設(shè)計自動化。一旦控制部件構(gòu)成之后,要想增加新的控制功能是不可能的。2/5/2023322.存儲邏輯型存儲邏輯型控制器稱為微程序控制器。它是采用存儲邏輯來實現(xiàn)的。存儲邏輯型控制器的實現(xiàn)方法:把微操作信號代碼化,使每條機器指令轉(zhuǎn)化成為一段微程序存入控制存儲器中。執(zhí)行指令時,讀出控存中的微指令,由微指令產(chǎn)生微操作控制信號。優(yōu)點:設(shè)計規(guī)整,調(diào)試、維修便利,更改、擴充指令方便,易于實現(xiàn)自動化設(shè)計。缺點:由于增加了一級控制存儲器,所以指令的執(zhí)行速度比組合邏輯控制器慢。2/5/2023333.組合邏輯和存儲邏輯結(jié)合型組合邏輯和存儲邏輯結(jié)合型控制器稱為PLA控制器。PLA控制器是吸收前兩種的設(shè)計思想來實現(xiàn)的。PLA控制器實際上也是一種組合邏輯控制器,但它的輸出程序可編的,某一微操作控制信號由PLA的某一輸出函數(shù)產(chǎn)生。PLA控制器是組合邏輯技術(shù)和存儲邏輯技術(shù)結(jié)合的產(chǎn)物,它克服了兩者的缺點,是一種較有前途的方法。2/5/202334以上幾種控制器的設(shè)計方法是不同的,但產(chǎn)生的微操作命令的功能是相同的,并且各個控制條件基本上也是一致的,都是由時序電路、操作碼譯碼信號,以及被控部件的反饋信息有機配合而成的。從功能上看,這幾種控制器只是微操作信號發(fā)生器的結(jié)構(gòu)和原理不同,而外部的輸入條件和輸出結(jié)果幾乎完全相同。2/5/202335微操作信號發(fā)生器2/5/202336
6.2控制器的控制方式與時序系統(tǒng)計算機執(zhí)行指令的過程實際上是執(zhí)行一系列的微操作的過程。每一條指令都對應(yīng)著一個微操作序列,這些微操作中有些可以同時執(zhí)行,有些則必須按嚴格的時間關(guān)系執(zhí)行??刂破鞯目刂品绞叫杞鉀Q的問題:如何在時間上對各種微操作信號加以控制。2/5/2023376.2.1控制方式常用的控制方式有同步控制、異步控制和聯(lián)合控制。1.同步控制方式任何指令的運行或指令中各個微操作的執(zhí)行,均由確定的具有統(tǒng)一基準時標的時序信號所控制。即所有的操作均由統(tǒng)一的時鐘控制,在標準的時間內(nèi)完成。在同步控制方式下,每個時序信號的結(jié)束就意味著安排完成的工作已經(jīng)完成,隨即開始執(zhí)行后續(xù)的微操作或自動轉(zhuǎn)向下條指令的運行。2/5/202338典型的同步控制方式:以微操作序列最長的指令和執(zhí)行時間最長的微操作為標準,把一條指令執(zhí)行過程劃分為若干個相對獨立的階段(稱為周期)或若干個時間區(qū)間(稱為節(jié)拍),采用完全統(tǒng)一的周期(或節(jié)拍)控制各條指令的執(zhí)行。優(yōu)點:時序關(guān)系簡單,控制方便缺點:浪費時間。因為對比較簡單的指令,將有很多節(jié)拍是不用的,處于等待。所以,在實際應(yīng)用中都不采用這種典型的同步控制方式,而是采用某些折衷的方案。2/5/202339(1)采用中央控制與局部控制相結(jié)合的方法中央控制:統(tǒng)一節(jié)拍的控制根據(jù)大多數(shù)指令的微操作序列的情況,設(shè)置一個統(tǒng)一的節(jié)拍數(shù),使之大多數(shù)指令均能在統(tǒng)一的節(jié)拍內(nèi)完成。局部控制:在延長節(jié)拍內(nèi)的控制對于少數(shù)在統(tǒng)一節(jié)拍內(nèi)不能完成的指令,采用延長節(jié)拍或增加節(jié)拍數(shù),使之在延長節(jié)拍內(nèi)完成,執(zhí)行完畢再返回中央控制。2/5/202340例:設(shè)某計算機的指令通常用8個節(jié)拍完成,即有8個中央節(jié)拍W7~W0,當某指令在8個節(jié)拍中不能完成時,就插入若干局部節(jié)拍W6*,經(jīng)過若干局部節(jié)拍W6*后,再返回中央節(jié)拍W7。2/5/202341(2)采用不同的機器周期和延長節(jié)拍的方法把一條指令執(zhí)行過程劃分為若干機器周期,如取指、取數(shù)、執(zhí)行等周期。根據(jù)所執(zhí)行指令的不同需要,選取不同的機器周期數(shù)。在節(jié)拍安排上,每個周期劃分為固定的節(jié)拍,每個節(jié)拍都可根據(jù)需要延長一個節(jié)拍。這種方法可以解決執(zhí)行不同的指令所需時間不統(tǒng)一問題。在Intel8088的指令執(zhí)行過程中有讀寫周期、內(nèi)部周期等,其中讀寫周期為4個節(jié)拍,但可以延長若干個節(jié)拍。2/5/202342(3)采用分散節(jié)拍的方法分散節(jié)拍:運行不同指令時,需要多少節(jié)拍,時序部件就發(fā)生多少節(jié)拍。這種方法可完全避免節(jié)拍輪空,是提高指令運行速度的有效方法,但這種方法使時序部件復雜化。同時還不能解決節(jié)拍內(nèi)那些簡單的微操作因等待所浪費的時間。2/5/2023432.異步控制方式?jīng)]有統(tǒng)一的同步信號,采用問答方式進行時序協(xié)調(diào),將前一操作的回答信號作為下一操作的啟動信號。異步控制方式不僅要區(qū)分不同指令對應(yīng)的微操作序列的長短,而且要區(qū)分其中每個微操作的繁簡,每條指令、每個微操作需要多少時間就占用多少時間。這種方式不再有統(tǒng)—的周期、節(jié)拍,各個操作之間采用應(yīng)答方式銜接,前一操作完成后給出回答信號,啟動下一個操作。2/5/202344數(shù)據(jù)間隔可變發(fā)送準備好數(shù)據(jù)已接受這種方式可根據(jù)每條指令的操作的實際需要而分配時間,所以沒有時間上的浪費,效率高。但設(shè)計復雜且費設(shè)備。2/5/2023453.聯(lián)合控制方式聯(lián)合控制是將同步控制和異步控制相結(jié)合。聯(lián)合控制方式的設(shè)計思想:在功能部件內(nèi)部采用同步方式或以同步方式為主的控制方式;在功能部件之間采用異步方式。通常對可以統(tǒng)一的微操作采用同步控制,對難以統(tǒng)一的微操作采用異步控制。2/5/202346例如,在微、小型機中,CPU內(nèi)部基本時序采用同步控制方式,當CPU通過總線與主存或其它外設(shè)交換數(shù)據(jù)時,轉(zhuǎn)入異步控制。當CPU訪問外設(shè)時,只需給出起始信號,主存或外部設(shè)備即按自己的時序信號去安排操作,一旦操作結(jié)束,則向CPU發(fā)結(jié)束信號,以便CPU再安排它的后繼工作。2/5/202347同步與異步時序的銜接關(guān)系當CPU要訪主存時,在發(fā)讀信號READ同時發(fā)“等待”信號,等待信號使時序由同步轉(zhuǎn)入異步操作并凍結(jié)同步時序,使節(jié)拍間的相位關(guān)系不再發(fā)生變化,直到存儲器按自己速度操作結(jié)束,并向CPU發(fā)回答信號MOC才解除對同步時序的凍結(jié),機器回到同步時序按原時序關(guān)系繼續(xù)運行。2/5/2023482/5/202349實際上現(xiàn)代計算機中幾乎沒有完全采用同步或完全采用異步的控制方式,大多數(shù)都采用聯(lián)合控制方式。2/5/2023506.2.2時序系統(tǒng)時序系統(tǒng)是控制器的心臟,由它為指令的執(zhí)行提供各種定時信號。通常,設(shè)計時序系統(tǒng)主要是針對同步控制方式的。1.指令周期與機器周期指令周期:從取指令、分析指令到執(zhí)行完一條指令所需的全部時間。由于各種指令的操作功能不同,繁簡程度不同,因此各種指令的指令周期也不盡相同。2/5/202351機器周期(CPU周期):指令周期中的某一工作階段所需的時間。在指令執(zhí)行過程中,各機器周期相對獨立。一條指令的指令周期由若干個機器周期所組成,每個機器周期完成一個基本操作。所以機器周期也稱為基本周期。一般機器的CPU周期有取指周期、取數(shù)周期、執(zhí)行周期,中斷周期等。2/5/202352每個機器周期設(shè)置一個周期狀態(tài)觸發(fā)器與之對應(yīng),機器運行于哪個周期,與其對應(yīng)的周期狀態(tài)觸發(fā)器被置為“1”。顯然,機器運行的任何時刻都只能建立一個周期狀態(tài),因此同一時刻只能有一個周期狀態(tài)觸發(fā)器被置為“1”。不同工作周期所占的時間可以不等。由于CPU內(nèi)部操作速度快,而CPU訪存所花時間較長,所以許多計算機系統(tǒng)往往以主存周期為基礎(chǔ)來規(guī)定CPU周期,以便二者工作協(xié)調(diào)配合。2/5/202353把一個機器周期等分成若干個時間區(qū)間,每一時間區(qū)間稱為一個節(jié)拍。一個節(jié)拍對應(yīng)一個電位信號,控制一個或幾個微操作的執(zhí)行。在一個機器周期內(nèi),要完成若干個微操作,這些微操作不但需要占用一定的時間,而且有一定的先后次序。因此,在同步控制方式中,基本的控制方法就是把一個機器周期等分成若干個節(jié)拍,每一個節(jié)拍完成一步基本操作,如一次傳送、一次加減運算等。一個節(jié)拍電位信號的寬度取決于CPU完成一個基本操作的時間。2.節(jié)拍2/5/202354
節(jié)拍提供了一項基本操作所需的時間分段,但有的操作如打入寄存器,還需嚴格的定時脈沖,以確定在哪一時刻打入。節(jié)拍的切換,也需要嚴格的同步定時。所以在一個節(jié)拍內(nèi),有時還需要設(shè)置一個或幾個工作脈沖,用于寄存器的復位和接收數(shù)據(jù)等。脈沖:一個節(jié)拍內(nèi)設(shè)置的一個或幾個工作脈沖。3.脈沖(定時脈沖)2/5/202355常見的設(shè)計是在每個節(jié)拍的末尾發(fā)一次工作脈沖,脈沖前沿可用來打入運算結(jié)果(或傳送),脈沖后沿則實現(xiàn)周期的切換。也有的計算機,在一個節(jié)拍中先后發(fā)出幾個工作脈沖,有的脈沖位于節(jié)拍前端,可用作清除脈沖;有的脈沖位于中部,用作控制外圍設(shè)備的輸入/輸出脈沖;有的脈沖位于尾部,前沿用作CPU內(nèi)部的打入,后沿實現(xiàn)周期切換。2/5/202356周期、節(jié)拍、脈沖構(gòu)成了三級時序系統(tǒng),它們之間關(guān)系如下圖所示。圖中包括兩個機器周期M1、M2,每個周期包含四個節(jié)拍W0~W3,每個節(jié)拍內(nèi)有一個脈沖P。2/5/202357微型機中常用的時序系統(tǒng)與上述三級時序系統(tǒng)有所不同,稱之為時鐘周期時序系統(tǒng)。下圖所示的是一典型指令的基本時序,一個指令周期包含三個機器周期:取指周期、存儲器讀周期和存儲器寫周期,三個周期中分別包含4個、3個、3個時鐘周期。2/5/2023586.3CPU的總體結(jié)構(gòu)CPU即中央處理器,它包含運算器和控制器兩個部分。其功能為:⑴程序控制:控制程序按所要求的次序正確執(zhí)行。⑵操作控制:管理何時產(chǎn)生每條指令所需的操作信號,送往有關(guān)部件,控制完成指令規(guī)定的操作。⑶時序控制:對各種操作實施時間上的定時,使計算機有條不紊地工作。⑷數(shù)據(jù)加工:對數(shù)據(jù)進行算術(shù)邏輯運算處理。2/5/202359CPU結(jié)構(gòu)模型示意圖2/5/202360
6.3.1寄存器的設(shè)置不同計算機的CPU結(jié)構(gòu)存在差別,但在CPU中一般都設(shè)置下列寄存器:(1)指令寄存器IR(2)程序計數(shù)器PC(3)累加寄存器AC(4)程序狀態(tài)寄存器PSR(5)地址寄存器MAR(6)數(shù)據(jù)緩沖寄存器MDR(或MBR)(7)堆棧指針SP2/5/202361其中⑵、⑶、⑷、(7)是用戶可用的,⑴、⑸、⑹是用戶不可用的。CPU中還常設(shè)置一些程序不能直接訪問、用于暫存操作數(shù)據(jù)或中間結(jié)果的寄存器,稱為暫存器。2/5/202362通用寄存器通用寄存器:一組程序可訪問的、具有多種功能的寄存器。在指令系統(tǒng)中,為通用寄存器分配了編號(寄存器地址),可以編程指定使用其中的某個寄存器。通用寄存器自身的邏輯往往很簡單并且比較統(tǒng)一,甚至是快速的小規(guī)模存儲器的一些單元,但通過編程與運算器配合,可指定其實現(xiàn)多種功能,如提供操作數(shù)、保存中間結(jié)果(即作累加器用),或用作地址指針、基址寄存器、變址寄存器、計數(shù)器等。2/5/2023636.3.2數(shù)據(jù)通路結(jié)構(gòu)及指令流程分析數(shù)據(jù)通路:信息傳送的基本路徑。CPU內(nèi)部的數(shù)據(jù)通路通常是指運算器與寄存器之間的信息傳輸通道。數(shù)據(jù)通路結(jié)構(gòu)直接影響著CPU內(nèi)各種信息的傳送路徑。數(shù)據(jù)通路不同,指令執(zhí)行過程的微操作序列的安排也不同,它將直接影響到微操作信號形成部件的設(shè)計。2/5/202364
1.單總線結(jié)構(gòu)CPU內(nèi)部采用單總線IBUS將寄存器和算術(shù)邏輯運算部件連接起來。CPU、主存、I/O設(shè)備也通過一組單總線(系統(tǒng)總線)連接起來。在單總線結(jié)構(gòu)中,CPU內(nèi)部的任何兩個部件間的數(shù)據(jù)傳送都必須經(jīng)過單總線IBUS,因此單總線結(jié)構(gòu)的控制比較簡單,但傳送速度受到限制。在一些微、小型機中常采用這種結(jié)構(gòu)。2/5/202365單總線結(jié)構(gòu)的CPU2/5/2023662.
雙總線結(jié)構(gòu)CPU內(nèi)部通過B總線(接收總線)和F總線(發(fā)送總線),將寄存器和算術(shù)邏輯運算部件連接起來。各寄存器可通過控制門,建立寄存器與總線之間的聯(lián)系。CPU通過地址總線ABUS和數(shù)據(jù)總線DBUS與主存、I/O設(shè)備連接。2/5/202367雙總線結(jié)構(gòu)的CPU2/5/2023683.指令流程分析指令流程:指令的操作過程。對指令流程的影響因素:指令功能、尋址方式、數(shù)據(jù)通路、ALU的功能、指令執(zhí)行的基本步驟等。2/5/202369①指令功能功能不同,操作數(shù)的數(shù)量不同,指令流程不同。②尋址方式不同,尋找操作數(shù)的過程不同。③數(shù)據(jù)通路不同,傳送數(shù)據(jù)時的控制過程不同。④ALU的功能不同,指令的執(zhí)行步驟不同。⑤不同的指令,執(zhí)行時的基本步驟不同。如訪存指令,需要訪問存儲器;R—R型指令不需要訪存。2/5/202370例6.1分析單總線結(jié)構(gòu)的CPU中,指令
ADD(R1),R0
的指令流程。設(shè)第一操作數(shù)源操作數(shù),第二操作數(shù)目的操作數(shù)。指令功能:((R1))+(R0)→R0運算器功能:F=A+B,F=A-B,F=A+1,F=A-12/5/202371單總線結(jié)構(gòu)的CPU2/5/202372指令流程如下:(1)(PC)→MAR,Read,(PC)+1→Z
;送指令地址,讀主存(2)(Z)→PC;PC+1→PC(3)M→MDR→IR;取指令到IR(4)(R1)→MAR,Read;送源操作數(shù)地址(5)M→MDR→Y;取出源操作數(shù)到Y(jié)中(6)(Y)+(R0)→Z;執(zhí)行加法運算,結(jié)果暫存Z(7)(Z)→R0;加法結(jié)果送回目標寄存器2/5/202373例:分析單總線結(jié)構(gòu)的CPU中,轉(zhuǎn)移指令JCD的指令流程。解:指令功能:IFC=1THEN(PC)+D→PC指令流程如下:(1)(PC)→MAR,Read,(PC)+1→Z
;送指令地址,讀主存(2)(Z)→PC;PC+1→PC(3)M→MDR→IR;取指令到IR(4)IFC=1(PC)→Y;送當前指令地址(5)(Y)+IR(D部分)→Z;計算轉(zhuǎn)移地址(6)(Z)→PC
;下條指令實現(xiàn)轉(zhuǎn)移操作碼D2/5/202374根據(jù)指令流程還需要作進一步的控制信息分析例:分析單總線結(jié)構(gòu)的CPU中指令ADDX(R1),(R2)+
的指令流程和控制信號序列。指令格式為兩字節(jié)指令,第二字節(jié)為變址值X。源操作數(shù)采用變址尋址,目的操作數(shù)采用自增型變址尋址。指令功能:(X+(R1))+((R2))→(R2),(R2)+1→R2指令碼X控制信息分析2/5/202375IDIRPCR0R1MARMDRTEMPYZIRoutIRinPCoutPCinR0outR0inR1outR1inMARinMARoutMDRinTEMPoutTEMPinYin0→YZoutADDSUB1→CinZin主存ReadWrite…AB2/5/202376指令流程控制信號流程操作功能(1)(PC)→MAR,Read,
(PC)+1→ZPCout,MARin,Read,0→Y,1→Cin,ADD,Zin讀指令操作碼(2)(Z)→PCZout,PCinPC+1→PC(3)(M→MDR)(MDR)→IRMDRout,IRin(4)(PC)→MAR,Read,(PC)+1→ZPCout,MARin,Read,0→Y,1→Cin,ADD,Zin讀變址值X,寫入暫存器YPC+1→PC(5)(Z)→PCZout,PCin(6)(MDR)→YMDRout,Yin(7)(Y)+(R1)→ZR1out,ADD,Zin計算源操作數(shù)變址值(8)(Z)→MAR,ReadZout,MARin,Read讀源操作數(shù)2/5/202377(9)(MDR)→TEMPMDRout,TEMPin源操作數(shù)送臨時寄存器(10)(R2)→MAR,Raad,(R2)+1→ZR2out,MARin,Raed,0→Y,1→Cin,ADD,Zin讀目的操作數(shù),R2自增送Z(11)(Z)→R2Zout,R2in(R2)+1→R2(12)MDR→YMDRout,Yin目的操作數(shù)送Y(13)(Y)+(TEMP)→ZTEMPout,ADD,Zin兩操作數(shù)相加(14)(Z)→MDR,WriteZout,MDRin,Write按現(xiàn)行地址寫回結(jié)果2/5/202378例6.2分析雙總線結(jié)構(gòu)的CPU中,執(zhí)行加法指令:ADD(R1),R0的操作流程和控制信號序列。
ALU的功能有:F=A+B(ADD),F=A-B(SUB),
F=A+1(INC),F(xiàn)=A-1(DEC),指令功能:(R0)+((R1))→R0
分析:在執(zhí)行本條加法指令時,從取指令到產(chǎn)生結(jié)果,共需訪問存儲器2次,第1次讀取指令,第2次讀取源操作數(shù)。2/5/202379雙總線結(jié)構(gòu)的CPU2/5/202380操作流程和控制信號序列
2/5/202381例6.3分析雙總線結(jié)構(gòu)的CPU中,指令
SUBX(R1),(R2)+的指令流程和控制信號序列。ALU的功能有:F=A+B(ADD),F=A-B(SUB),
F=A+1(INC),F(xiàn)=A-1(DEC)指令格式為兩字節(jié)指令,第二字節(jié)為變址值X。源操作數(shù)的有效地址:E1=X+(R1)目的操作數(shù)的有效地址:E2=(R2),(R2)+1→R2。指令功能:(E2)-(E1)→E2可通過總線連接器G將總線B的信息直接傳到F總線。其控制信號為Gon。指令碼X2/5/2023822/5/202383(1)~(3)為取指令階段,(4)~(6)是取變址值X的流程,(7)~(8)計算形式地址,取出源操作數(shù)(9)~(11)為取目的數(shù)階段(12)~(13)進入指令的執(zhí)行階段。整個指令流程執(zhí)行結(jié)束后,共訪問存儲器5次。如果雙總線結(jié)構(gòu)的CPU中沒有總線連接器G,則ALU需要增加功能:F=B在控制信號流程中,可以將Gon信號改為F=B。2/5/202384作業(yè)P3046.5(3)2/5/202385例:在雙總線結(jié)構(gòu)的機器中,分析轉(zhuǎn)子指令:JSRX的執(zhí)行過程。設(shè)機器中沒有總線連接器,ALU的功能為:F=A+B,F(xiàn)=A-B,F(xiàn)=A+1,F(xiàn)=A-1,
F=A,F(xiàn)=BJSR為雙字節(jié)指令,X為子程序入口地址,在第二字節(jié)。轉(zhuǎn)子指令的功能:將斷點地址保存到堆棧中,將X送入PC,實現(xiàn)程序轉(zhuǎn)移。JSRX2/5/202386指令流程控制信號流程操作功能(1)(PC)→MAR,Read,(PC)→YPC→B,F(xiàn)=B,F(xiàn)→MAR,Read,F(xiàn)→Y讀指令操作碼(2)(Y)+1→PCF=A+1,F(xiàn)→PCPC+1→PC(3)(MDR)→IRMDR→B,F(xiàn)=B,F(xiàn)→IR(4)(PC)→MAR,Read,(PC)→YPC→B,F(xiàn)=B,F(xiàn)→MAR,Read,F(xiàn)→Y讀X,寫入暫存器(5)(Y)+1→PCF=A+1,F(xiàn)→PCTEMP(6)(MDR)→TEMPMDR→B,F(xiàn)=B,F(xiàn)→TEMPPC+1→PC(7)(SP)→YSP→B,F(xiàn)=B,F(xiàn)→Y(8)(Y)-1→SPMARF=A-1,F(xiàn)→SP,F(xiàn)→MARSP-1→SP(9)(PC)→MDR,WritePC→B,F(xiàn)=B,F(xiàn)→MDR,Write斷點壓入堆棧(10)(TEMP)→PCTEMP→B,F(xiàn)=B,F(xiàn)→PCX→PC,實現(xiàn)轉(zhuǎn)移2/5/202387上題中,如果ALU的功能增加為F=A+B,F(xiàn)=A-B,
F=A+1,F(xiàn)=A-1,
F=B+1,F(xiàn)=B-1,
F=A,F(xiàn)=B沒有暫存器TEMP指令執(zhí)行過程與指令功能、尋址方式、數(shù)據(jù)通路、ALU功能等緊密相關(guān)。2/5/202388指令流程控制信號流程操作功能(1)(PC)→MAR,Read,PC→B,F(xiàn)=B,F(xiàn)→MAR,Read讀指令操作碼(2)(PC)+1→PCPC→B,F(xiàn)=B+1,F(xiàn)→PC(PC)+1→PC(3)(MDR)→IRMDR→B,F(xiàn)=B,F(xiàn)→IR(4)(PC)→MAR,Read,PC→B,F(xiàn)=B,F(xiàn)→MAR,Read讀X,寫入暫存器Y(5)(PC)+1→PCPC→B,F(xiàn)=B+1,F(xiàn)→PC(6)(MDR)→YMDR→B,F(xiàn)=B,F(xiàn)→Y(PC)+1→PC(7)(SP)-1→SPMARSP→B,F(xiàn)=B-1,F(xiàn)→SP,F(xiàn)→MAR(SP)-1→SP(8)(PC)→MDR,WritePC→B,F(xiàn)=B,F(xiàn)→MDR,Write斷點壓入堆棧(9)Y→PCF=A,F(xiàn)→PCX→PC,實現(xiàn)轉(zhuǎn)移2/5/202389作業(yè)在雙總線結(jié)構(gòu)的機器中,寫出轉(zhuǎn)子返回指令RET的操作序列及控制信號序列。設(shè)機器中沒有總線連接器,ALU的功能為:F=A+B,F(xiàn)=A-B,F(xiàn)=A+1,F(xiàn)=A-1,
F=A,F(xiàn)=B返回地址保存在堆棧中。堆棧為自底向上生長。2/5/202390某計算機的運算器為三總線(B1、B2、B3)結(jié)構(gòu),B1和B3通過控制信號G連通。算術(shù)邏輯部件ALU具有ADD、SUB、AND、OR、XOR等5種運算功能,其中SUB運算時ALU輸入端為B1-B2模式,移位器SH可進行直送(DM)、左移一位(SL)、右移一位(SR)3種操作。通用寄存器R0、R1、R2都有輸入輸出控制信號,用于控制寄存器的接收與發(fā)送。2/5/202391試分別寫出實現(xiàn)下列功能所需的操作序列。(1)4(R0)+(R1)→R1(2)[(R2)-(R1)]/2→R1(7)0→R0解:(1)①R0→B2,
R0→B1,ADD,SL,Gon②R1
→B2,ADD,DM,B3
→R1(2)R2→B1
R1→B2SUB
SRB3→
R1(3)R0→B1
R0→B2XORDMB3→
R02/5/2023926.4模型機的總體結(jié)構(gòu)以模型機為例,進一步了解控制器的控制原理和設(shè)計方法,建立計算機的整機結(jié)構(gòu)。2/5/2023932/5/2023946.4.1模型機的數(shù)據(jù)通路1.字長:16位2.總線結(jié)構(gòu):①內(nèi)部總線:雙總線結(jié)構(gòu)BUS1:輸入總線,BUS2:輸出總線○:輸出控制門信號,如MDR→BUS1CP:輸入控制信號,如CPY②系統(tǒng)總線:地址總線:ABUS,數(shù)據(jù)總線:DBUSI/O與主存共享總線,用MREQ控制訪存;用IOREQ控制訪問I/O,R/W=1,讀,R/W=0,寫2/5/2023953.寄存器程序可用寄存器內(nèi)部寄存器編號寄存器名寄存器名000R0MAR001R1MDR010R2IR011R3TEMP100SPY111PC2/5/2023964.ALU的功能由SN74181構(gòu)成,在控制信號S3~S0及M、C0的控制下,可完成16種邏輯運算和16種算術(shù)運算。M=0:算術(shù)運算M=1:邏輯運算2/5/2023975.狀態(tài)標志用于記錄運算結(jié)果特征,可作為轉(zhuǎn)移判斷條件Cc:進位標志,打入脈沖:CPCcCz:為零標志,打入脈沖:CPCz6.移位器采用斜送方式實現(xiàn)移位傳遞,直送方式實現(xiàn)直接傳遞。移位控制信號DM直送SL左移一位SR右移一位EX字節(jié)交換≥1FnAn+1SLAn-1AnDMSR2/5/2023987.模型機的編址主存按字編址,容量64K字,字長16位,
16位地址可尋址64K。2/5/2023996.4.2模型機的指令系統(tǒng)1.指令格式⑴雙操作數(shù)指令包括:MOV、ADD、SUB、AND、OR、EOR150OP尋址方式RS尋址方式RD4位3位3位3位3位源地址ES目的地址ED2/5/2023100包括:INC、COM、ROL、ROR150OP000備用尋址方式RD4位指令特征3位3位3位目的地址ED⑵單操作數(shù)指令2/5/2023101轉(zhuǎn)移指令采用相對尋址:轉(zhuǎn)移地址=(PC)+DD采用補碼,進行運算時,需進行符號擴展包括:JMP(無條件轉(zhuǎn)移)、JC(C=1轉(zhuǎn)移)、JZ(Z=1轉(zhuǎn)移)、JSR(轉(zhuǎn)子)轉(zhuǎn)子指令JSR的操作:(SP)-1→SP、MAR,(PC)→MDR,Write((MDR)→存儲器)(PC)+D→PC150OP位移量D4位12位⑶轉(zhuǎn)移指令保存返回地址2/5/2023102⑷返回與停機指令返回與停機指令均為零地址指令OP000未用000未用特征特征2/5/2023103子程序RTS返回指令的功能是:從子程序返回主程序返回指令RTS的操作:
(SP)→MAR,ReadM→MDR→PC(SP)+l→SPHALT停機指令的功能是:0→RUN,將時鐘信號截斷。返回地址送PC2/5/20231042.指令系統(tǒng)為了簡單起見,模型機的指令系統(tǒng)中只有16條指令,包括了傳送指令、算邏指令、轉(zhuǎn)移指令、轉(zhuǎn)子與返回指令和停機指令等五類指令。2/5/20231052/5/20231063.尋址方式方式編碼表示方式有效地址寄存器尋址000Rn無需訪存寄存器間址001@Rn或(Rn)E=(Rn)自增型寄存器間址010(Rn)+E=(Rn),然后(Rn)+1→Rn自減型寄存器間址011-(Rn)E=(Rn)-1,并且(Rn)-1→Rn變址尋址100X(Rn)E=X+(Rn)除自減型寄存器間址不能使用PC外,其余尋址方式均可以使用所有可編程寄存器。2/5/2023107在自增型寄存器間址中若Rn=SP,則(SP)+為堆棧中的彈出數(shù)據(jù)操作。若Rn=PC,則為立即尋址,立即數(shù)保存在該指令的下一單元中。注意:如果目的操作數(shù)采用立即尋址,則有可能使指令數(shù)據(jù)不安全。自減型寄存器間址中若Rn=SP,則-(SP)
為堆棧中的壓入數(shù)據(jù)操作。K操作碼K+1X2/5/2023108變址尋址的指令為雙字,取指后需兩次訪存才能得到操作數(shù)。取指令操作碼后(PC)→MAR,Read;送X的地址,讀X(PC)+1→PC;PC增量M→MDR→Y;取X值到Y(jié)(Y)+(Rn)→MAR,Read;形成有效地址,讀操作數(shù)變址尋址中,若Rn=PC,則為相對尋址。K操作碼K+1X2/5/20231096.4.3模型機的時序系統(tǒng)模型機采用同步控制方式、三級時序邏輯系統(tǒng),即利用周期、節(jié)拍、脈沖構(gòu)成控制時序。1.模型機的機器周期
每個機器周期內(nèi)可以完成一次主存的讀/寫操作。模型機設(shè)置六種機器周期取指周期FT:完成取指、分析、(PC)+1→PC取源周期ST:執(zhí)行雙操作數(shù)指令時,完成源操
作數(shù)的尋址,取源操作數(shù)。
(寄存器尋址時不用)2/5/2023110取目的周期DT:完成目的操作數(shù)的尋址,取
目的操作數(shù)。執(zhí)行周期ET:完成指令操作,并保存結(jié)果。中斷周期IT:處理中斷請求DMA周期DMAT:實現(xiàn)DMA傳送。本章暫不討論2/5/2023111CPU中任何時候都只能有一個周期存在,可以用六個狀態(tài)標志表示CPU當前進入了哪一個周期??捎昧鶄€觸發(fā)器表示六種不同的周期狀態(tài)。TEND?P為各觸發(fā)器的打入脈沖,表示在每個機器周期的最后一個時鐘脈沖時,發(fā)出打入脈沖。2/5/20231122.模型機的節(jié)拍與時序
節(jié)拍用于在一個周期中產(chǎn)生不同的微操作信號。每個周期中設(shè)置四個節(jié)拍T0、T1、T2、T3。為節(jié)省節(jié)拍,在取目的周期DT和執(zhí)行周期ET中安排兩種節(jié)拍產(chǎn)生方式。根據(jù)微操作的需要,可選擇兩個節(jié)拍,也可選擇四個節(jié)拍。2/5/2023113節(jié)拍由節(jié)拍發(fā)生器產(chǎn)生,用兩位T型觸發(fā)器C1、C2構(gòu)成模4計數(shù)器,經(jīng)譯碼產(chǎn)生四個節(jié)拍電位T0、T1、T2、T3。觸發(fā)器C1的T端固定接高電位,每來一個脈沖計一次數(shù)。觸發(fā)器C2的T端受或門的輸出控制。2/5/20231142/5/2023115通過分析指令流程可知:當現(xiàn)行指令的目標尋址為非變址尋址時,在DT中不進入T2拍,只需T0、T1兩個節(jié)拍。單操作數(shù)指令、MOV指令、雙操作數(shù)指令的目標尋址為寄存器尋址(DR=1)以及轉(zhuǎn)移類指令、停機指令在執(zhí)行周期ET中只需兩個節(jié)拍,不需進入T2。上述情況應(yīng)封鎖C2計數(shù)。上圖中觸發(fā)器C1的T端固定接高電位,每來一個脈沖計一次數(shù)。觸發(fā)器C2的T端受或門的輸出控制,或門用于控制發(fā)出的節(jié)拍數(shù)。2/5/20231163.脈沖模型機在每個節(jié)拍內(nèi)設(shè)置一個工作脈沖。如CPIR、CPPC等均為脈沖信號。脈沖的作用:⑴用于寄存器接收代碼。如各寄存器的CP脈沖。⑵用于周期、節(jié)拍的轉(zhuǎn)換。脈沖的前沿用于寄存器接收數(shù)據(jù)。脈沖的后沿用于周期、節(jié)拍的轉(zhuǎn)換。2/5/2023117模型機的三級時序關(guān)系
2/5/2023118PC→BUS1CPPCBUSiBUS1BUS2PCiDCPCPMARBUSiMARiDCPALUA移位器DMiS3~S0M例:(PC)→MAR所需信號①PC→BUS1=1②S3S2S1S0M=11111③DM=1④CPMAR①②③是電位信號,需在一個節(jié)拍內(nèi)有效;
④是脈沖信號,其前沿將數(shù)據(jù)打入,后沿變換節(jié)拍。節(jié)拍脈沖2/5/20231192/5/20231206.5組合邏輯控制器的設(shè)計用組合邏輯方法設(shè)計控制器的微操作控制信號形成部件,需要根據(jù)每條指令的要求,讓節(jié)拍電位和脈沖有步驟地去控制機器的有關(guān)部件,一步一步地依次執(zhí)行指令所規(guī)定的微操作序列,從而在一個指令周期內(nèi)完成一條指令所規(guī)定的全部操作功能。2/5/20231216.5.1組合邏輯控制器的設(shè)計步驟在設(shè)計控制器之前,需由計算機系統(tǒng)結(jié)構(gòu)設(shè)計人員設(shè)計好機器的指令系統(tǒng)、數(shù)據(jù)表示、時序系統(tǒng),在此基礎(chǔ)上,才能進行控制器的硬件線路設(shè)計。組合邏輯控制器設(shè)計的設(shè)計步驟:1.分析指令的執(zhí)行步驟,繪制指令操作流程圖分析指令操作流程的目的是確定指令執(zhí)行的具體步驟,決定各步所需的控制命令。2/5/2023122指令操作流程圖:根據(jù)機器指令的結(jié)構(gòu)格式、數(shù)據(jù)表示方式及各種運算的算法,把每條指令的執(zhí)行過程分解成若干功能部件能實現(xiàn)的基本微操作,并以圖的形式排列成有先后次序、相互銜接配合的流程。指令流程圖可以比較形象、直觀地表明一條指令的執(zhí)行步驟和基本過程。2/5/2023123繪制指令流程圖的兩種思路。①
以指令為線索,按指令類型分別繪制各條指令的流程。這種方法對一條指令的全過程有清晰的線索,易于理解。②
以周期為線索,按機器周期擬定各類指令在本周期內(nèi)的操作流程,再以操作時間表形式列出各個節(jié)拍內(nèi)所需的控制信號及它們的條件。這種方法便于微操作控制信號的綜合、化簡,容易取得優(yōu)化結(jié)果。為理解控制器設(shè)計方法,模型機設(shè)計基本采用了后一種方法。2/5/2023124指令操作時間表:把指令流程圖中的各個微操作具體落實到各個機器周期的相應(yīng)節(jié)拍和脈沖中去,并以微操作控制信號的形式編排成一張表。指令操作時間表用于形象地表明控制器應(yīng)該在什么時間,根據(jù)什么條件發(fā)出哪些微操作控制信號。指令操作時間表是指令流程圖的進一步具體化。2.編排指令操作時間表3.進行微操作綜合對操作時間表中各個微操作控制信號分別按其條件進行歸納、綜合,列出其綜合的邏輯表達式,并進行適當?shù)恼{(diào)整、化簡,得到比較合理的邏輯表達式。2/5/20231254.設(shè)計微操作控制信號形成部件根據(jù)各個微操作控制信號的邏輯表達式,用硬件邏輯電路加以實現(xiàn)。實現(xiàn)方法:①根據(jù)邏輯表達式畫出邏輯電路圖,用組合邏輯網(wǎng)絡(luò)實現(xiàn)②直接根據(jù)邏輯表達式用PLD器件如PLA、PAL、GAL等實現(xiàn)。2/5/20231266.5.2模型機的設(shè)計1.指令流程圖和指令操作時間順序涉及訪存的周期通常需要有4個節(jié)拍,其中3個節(jié)拍用于訪存取數(shù),1個節(jié)拍用于操作和判斷。各節(jié)拍的操作為:T0:將訪存地址送入MART1:發(fā)訪存請求信號和讀信號,從主存讀出信息
送入MDRT2:將讀出信息從MDR傳送到有關(guān)寄存器。T3:進行相關(guān)操作和判斷2/5/2023127因為任何指令都必須進入取指周期,所以取指操作也稱為取指公操作。在取指周期內(nèi),各節(jié)拍的操作為:FT0:指令地址→MARFT1:讀指令→MDR,PC+1→PCFT2:將MDR中的現(xiàn)行指令傳送到IR,并由ID進行
譯碼。FT3:根據(jù)指令譯碼結(jié)果進行判斷,以確定下面應(yīng)
進入哪個機器周期。1)取指周期(FT)操作流程圖2/5/2023128取指公操作流程
指令系統(tǒng)指令格式尋址方式2/5/2023129在FT3節(jié)拍中,首先判斷所取指令是否為轉(zhuǎn)移類指令。模型機中共定義了4條轉(zhuǎn)移指令:指令操作碼IR15IR14IR13IR12JP1010JC1011JZ1100JSR1101直接進入執(zhí)行周期ETJUMP=JP_op+JC_op+JZ_op+JSR_op=IR15(IR14⊕IR13)2/5/2023130如果源(SR)和目的(DR)操作數(shù)均采用寄存器尋址,也可以直接進入執(zhí)行周期ET;否則,如果為雙操作數(shù)指令需進入取源周期ST;如果為單操作數(shù)指令需進入取目的周期DT。指令有源操作數(shù)SR時:IR11IR10IR9表示尋址方式指令有目的操作數(shù)DR時:IR5IR4IR3表示尋址方式令SR=IR11IR10IR9DR=IR5IR4IR3SR·DR操作數(shù)尋址情況00源和目的均不是寄存器尋址01源不是寄存器尋址,目的是寄存器尋址10源是寄存器尋址,目的不是寄存器尋址11源和目的均是寄存器尋址進入ST進入DT進入ET2/5/2023131取指操作時間表節(jié)拍控制電位信號控制脈沖信號FT0PC→BUS1,S3S2S1S0M,DMCPMAR[P]FT1MREQ,R/W=1,PC→BUS1,S3S2S1S0M,C0=1,DMCPPC[P]FT2MDR→BUS1,S3S2S1S0M,DMCPIR[P]FT31→ST[JUMP·SR]1→DT[JUMP·SR·DR]1→ET[JUMP+SR·DR]CPFT[P]CPST[P]CPDT[P]CPET[P]TEND·PP表示時鐘脈沖的前沿(上升沿)起作用。P表示時鐘脈沖的后沿(下降沿)起作用。運算器功能結(jié)構(gòu)圖取指流程2/5/20231322)取源周期(ST)的操作流程圖雙操作數(shù)指令的源尋址方式為非寄存器尋址時,需進入取源周期,完成源操作數(shù)尋址并取源操作數(shù)。取出的源操作數(shù)暫存在暫存器TEMP中。不同尋址方式有效地址形成方法不同,因此操作流程也不同。由于變址尋址是到主存取出變址值,形成有效地址后再取數(shù),需訪問兩次主存。因此,當源尋址為變址尋址時,取源周期需重復一次。在取源周期ST的T3建立Repeat信號和1→ST信號,可重復進入ST。在重復的ST的T3,將Repeat信號清除,即可進入下一個周期。2/5/20231332/5/2023134⑴源操作數(shù)采用寄存器間接尋址:ST0:寄存器中的地址信息→MARST1:讀主存數(shù)據(jù)→MDRST2:(MDR)→TEMPST3:根據(jù)是否需要讀目的操作數(shù),判斷應(yīng)進入
執(zhí)行周期還是取目的周期。2/5/2023135⑵源操作數(shù)采用變址尋址:由于變址尋址需到主存取出變址值,再形成有效地址,所以需兩次訪問主存,即需重復執(zhí)行一次取源周期。①第一取源周期:讀變址值→Y,并在T3時,建立Repeat信號和1→ST信號,使之重復進入ST。②重復取源周期:計算有效地址,讀入數(shù)據(jù)→TEMP,并在重復ST的T3時,將Repeat信號清除,以便進入下一個周期。2/5/2023136源操作數(shù)尋址方式的判斷條件:寄存器間接尋址:(RS)=IR11IR10IR9自增型寄存器間接尋址:(RS)+=IR11IR10IR9自減型寄存器間接尋址:-(RS)=IR11IR10IR9變址尋址:XS=IR11IR10IR92/5/2023137取源操作時間表ST02/5/2023138取源操作時間表ST12/5/2023139取源操作時間表ST2、ST32/5/20231403)取目的周期(DT)的操作流程圖當雙操作數(shù)指令和單操作數(shù)指令的目的尋址方式為非寄存器尋址時,進入取目的周期完成目的操作數(shù)地址的尋址并讀取目的操作數(shù)。由于目的操作數(shù)在執(zhí)行周期才送入ALU的A輸入端運算,所以取出的目的操作數(shù)暫不傳送,而保留在MDR中,因此對于非變址尋址的尋址方式只安排兩個節(jié)拍即可完成操作。MOV指令的目的尋址為非寄存器尋址時,也需進入目的周期,但因MOV指令只需傳送目的地址而不需取目標操作數(shù),因而操作比較簡單。2/5/2023141非MOV指令的DT周期2/5/2023142MOV指令的DT周期2/5/2023143取目的操作時間表DT02/5/2023144取目的操作時間表DT12/5/2023145取目的操作時間表DT2、DT32/5/20231464)執(zhí)行周期(ET)的操作流程圖由于不同指令具有不同的操作功能,不同的尋址方式,操作數(shù)有不同的來源,因此不同指令在執(zhí)行周期的操作流程也各不相同,需要按不同的指令繪制執(zhí)行周期的操作流程圖。對于多數(shù)指令,執(zhí)行周期的操作均可在兩拍內(nèi)完成,所以多數(shù)指令的執(zhí)行周期內(nèi)只設(shè)兩個節(jié)拍。但對于JSR、RTS以及雙操作數(shù)指令的目的尋址為非寄存器尋址(即DR=0)時,因為需要訪存,所以在執(zhí)行周期內(nèi)設(shè)四個節(jié)拍來完成。在模型機的節(jié)拍發(fā)生器中,通過控制觸發(fā)器C2的T輸入端,可以選擇執(zhí)行周期的節(jié)拍數(shù)。2/5/2023147⑴傳送指令的執(zhí)行周期流程圖傳送指令在執(zhí)行周期中的功能是:將源操作數(shù)送入目的寄存器或存儲單元。傳送操作均可在兩個節(jié)拍內(nèi)完成。①SR、DR=11或01,目的操作數(shù)為寄存器,不用訪存。執(zhí)行:(RS)→RD,或(TEMP)→RD。②SR、DR=10或00,目的操作數(shù)為存儲器單元,需要訪存。執(zhí)行:(RS)→MDR,或(TEMP)→MDR,寫主存。2/5/20231482/5/2023149執(zhí)行周期的結(jié)束,意味著一條指令的執(zhí)行完畢。在一條指令執(zhí)行結(jié)束時,機器需自動檢測有沒有意外情況(如電源失效)和特殊請求(如中斷請求)發(fā)生。若有,需進入相應(yīng)周期進行處理;若沒有,則機器又進入取指周期讀取下條指令。流程圖中的END框即表示一條指令執(zhí)行結(jié)束,進行結(jié)束后的檢測。檢測操作均在執(zhí)行周期的最后一個節(jié)拍內(nèi)完成。2/5/20231502/5/2023151⑵雙操作數(shù)指令的執(zhí)行周期流程圖雙操作數(shù)指令的執(zhí)行周期的功能是:將源操作數(shù)與目的操作數(shù)進行指定的操作后送入目的寄存器或存儲單元。①SR、DR=11或01,目的操作數(shù)為寄存器,不用訪存。執(zhí)行:(RS)或(TEMP)→Y,(RD)OP(Y)→RD??稍趦蓚€節(jié)拍內(nèi)完成。②SR、DR=10或00,目的操作數(shù)為存儲器單元,需要訪存。執(zhí)行:(RS)或(TEMP)→Y,(MDR)OP(Y)→MDR,寫主存。需要在四個節(jié)拍內(nèi)完成。2/5/20231522/5/2023153⑶單操作數(shù)指令的執(zhí)行周期流程圖單操作數(shù)指令的執(zhí)行周期的功能是:將目的操作數(shù)進行指定的操作后送入目的寄存器或存儲單元。操作均可在兩個節(jié)拍內(nèi)完成。①DR=1,目的操作數(shù)為寄存器,不用訪存。執(zhí)行:(RD)OP→RD。②DR=0,目的操作數(shù)為存儲器單元,需要訪存。執(zhí)行:(MDR)OP→MDR,寫主存。2/5/20231542/5/2023155⑷轉(zhuǎn)移指令的執(zhí)行周期流程圖模型機的轉(zhuǎn)移指令均采用相對尋址。非轉(zhuǎn)子指令的執(zhí)行周期的功能是:將PC中的內(nèi)容與指令中給出的位移量相加得到轉(zhuǎn)移目的地址送入PC,實現(xiàn)轉(zhuǎn)移。操作均可在兩個節(jié)拍內(nèi)完成。JP:PC→Y,(Y)+IR(D)→PCJC、JZ:先判斷CC或CZ,若為1,滿足轉(zhuǎn)移條件,則執(zhí)行(Y)+IR(D)→PC,否則指令執(zhí)行結(jié)束。2/5/20231562/5/2023157⑸轉(zhuǎn)子和返回指令的執(zhí)行周期流程圖轉(zhuǎn)子(JSR)和返回(RTS)指令在執(zhí)行周期中不僅要改變PC的內(nèi)容,而且需要進行斷點保護或恢復斷點的工作。需要在四個節(jié)拍內(nèi)完成。JSR:(SP)-1→SP和MAR,PC→MDR和Y,寫主存,(Y)+IR(D)→PCRTS:(SP)→MAR,(SP)+1→SP,讀主存,(MDR)→PC2/5/20231582/5/2023159⑹停機指令的執(zhí)行周期流程圖停機指令(HALT)的執(zhí)行周期的功能是使機器暫停執(zhí)行。執(zhí)行:0→RUN2/5/2023160模型機嚴格按照周期、節(jié)拍工作,根據(jù)各指令所需的周期數(shù)和各周期所需的節(jié)拍數(shù),可以計算每條指令所需的節(jié)拍數(shù)。例:計算指令ADDR0,R1所需的周期和節(jié)拍數(shù)。解:∵R0,R1采用寄存器尋址,∴需要取指和執(zhí)行兩個周期?!逨T周期需4個節(jié)拍,ET周期需2個節(jié)拍∴共需6個節(jié)拍取指流程執(zhí)行周期2/5/2023161例:計算指令ADDX1(R0),X2(R1)所需的周期和節(jié)拍數(shù)。解:周期取指取源(變址,重復)取目的(變址,重復)執(zhí)行(雙操作數(shù),需寫主存)共6個周期節(jié)拍44,44,24共22個節(jié)拍取指流程執(zhí)行周期取源流程取目周期流程2/5/2023162例:模型機中程序的執(zhí)行過程。其中內(nèi)存單元地址和內(nèi)容均用十六進制表示。寄存器:R0:0200H,PC:0080H主存:地址內(nèi)容對應(yīng)指令地址內(nèi)容對應(yīng)指令0080H0202HMOV(R0),R20086H03FFH0081H14A7HADD(R2)+,X(PC)0087HFC00H0082H0004H0004H0088H……0083H6012HINC(R2)+0084HC0A8HJZFA8H002DH0081HMOVR2,R10085HF000HHALT0200H0086H2/5/2023163啟動機器(PC)→MAR讀主存(PC)+1→PC(MDR)→IR1→ST(R0)→MAR讀主存FT0FT1FT2FT3ST0ST10080H→MAR0081H→PC0202H→MDR0202H→IR,MOV(R0),R2進入取源周期0200H→MAR0086H→MDR(MDR)→TEMPST20086H→TEMP1→ETST3目的是寄存器尋址進入執(zhí)行周期2/5/2023164(TEMP)→R2ET0ET10086H→R2取下一條指令1→FT(PC)→MAR讀主存(PC)+1→PC(MDR)→IR1→STFT0FT1FT2FT30081H→MAR0082H→PC14A7H→MDR14A7H→IR,ADD(R2)+,X(PC)進入取源周期(R2)→MAR讀主存(R2)+1→R2ST0ST10086H→MAR0087H→R203FFH→MDR2/5/2023165(MDR)→TEMPST203FFH→TEMP1→DTST3目的是變址尋址進入取目的周期(PC)→MAR讀主存(PC)+1→PCDT0DT10082H→MAR(MDR)→YDT20004H→Y1→DT1→RepeatDT3變址尋址,再次進入取目的周期0083H→PC0004H→MDR(Y)+(PC)→MAR讀主存1→ET0→RepeatDT0DT10087H→MARFC00H→MDR進入執(zhí)行周期2/5/2023166(TEMP)→YET0ET103FFH→YFC00H+03FFH=FFFFH→MDR(MDR)+(Y)→MDRET3取下一條指令1→FT寫主存ET2FFFFH→內(nèi)存0087H單元(PC)→MAR讀主存(PC)+1→PC(MDR)→IR1→DTFT0FT1FT2FT30083H→MAR0084H→PC6012H→MDR14A7H→IR,INC(R2)+進入取目的周期2/5/2023167(R2)→MAR讀主存(R2)+1→R21→ETDT0DT10087H→MAR0088H→R2FFFFH→MDR進入執(zhí)行周期(MDR)+1→MDRET0ET1FFFFH+1=0→MDR,1→Z0→內(nèi)存0087H單元取下一條指令寫主存1→FT(PC)→MAR讀主存(PC)+1→PC(MDR)→IRFT0FT1FT20084H→MAR0085H→PCC0A8H→MDRC0A8H→IR,JZ0A8H2/5/2023168(PC)→YET0ET10085H→Y0085H+0A8H=0085H+FFA8H
=
002DH→PC取下一條指令(Y)+IR(D)→PC1→FT…1→ETFT3進入執(zhí)行周期2/5/20231693.微操作控制信號綜合指令操作時間表根據(jù)指令流程、時序系統(tǒng)和數(shù)據(jù)通路結(jié)構(gòu),列出了實現(xiàn)整個指令系統(tǒng)的全部操作控制信號。將同一種控制信號在不同時間下產(chǎn)生的條件進行歸納、綜合、化簡后,就可寫出該控制信號的綜合邏輯表達式。邏輯表達式中包括下列因素:微操作控制信號=F(周期、節(jié)拍、脈沖、指令、狀態(tài)條件)2/5/2023170例:讀信號(R/W)的邏輯表達式例:脈沖信號CPTEMP的邏輯表達式例:脈沖信號PC→BUS1的邏輯表達式2/5/2023171可用一個觸發(fā)器產(chǎn)生重復周期信號RepeatReset信號使Repeat=0。進入ST或DT后,若需要重復周期,就使CPRepeat有效,Repeat=1。QQRepeatCPDRResetCPRepeat2/5/2023172在重復周期還需要CP脈沖,使Repeat翻轉(zhuǎn)為0。CPRepeat的邏輯表達式Repeat信號與其他信號的時間關(guān)系2/5/20231734.控制信號形成電路將邏輯表達式經(jīng)邏輯綜合、化簡得到各個微操作控制信號的比較合理的表達式后,即可設(shè)計實現(xiàn)電路。1)用組合邏輯電路實現(xiàn)將各微操作控制信號用組合邏輯電路實現(xiàn),就構(gòu)成了組合邏輯控制器的微操作控制信號形成部件。在實際設(shè)計過程中,用硬件實現(xiàn)邏輯電路圖時,有時受邏輯門的扇入系數(shù)限制,需要修改邏輯表達式,此時就可能要增加邏輯電路。如果信號所經(jīng)過的級數(shù)也增加的話,還將增加延遲時間。另外在實現(xiàn)時還有負載問題。2/5/2023174例:讀信號(R/W)的邏輯電路圖2/5/20231752)用PLA器件實現(xiàn)可編程邏輯陣列PLA電路是由與陣列和或陣列組成,電路的輸出為輸入項的與或式。經(jīng)微操作綜合而得到的微操作控制信號的邏輯表達式基本上都是與或表達式,因而可很方便地用PLA電路實現(xiàn)。2/5/2023176例:用PLA器件實現(xiàn)下列邏輯函數(shù)2/5/2023177當用PLA器件實現(xiàn)模型機控制信號邏輯時,則將指令碼、機器周期、節(jié)拍、脈沖及某狀態(tài)條件作為PLA器件的與陣列輸入信號,按微操作信號綜合所得的邏輯表達式分別對與陣列、或陣列進行編程,即可由或陣列輸出各個控制信號。2/5/20231782/5/20231796.6微程序控制器原理6.6.1微程序控制器概述組合邏輯控制器的缺點①繁瑣、雜亂,缺乏規(guī)律性,設(shè)計效率低,不利于檢查調(diào)試。②不易修改和擴充,缺乏靈活性。因為設(shè)計結(jié)果用印刷電路板(硬連邏輯)固定下來以后,就很難再修改與擴充。2/5/2023180微程序設(shè)計思想微程序控制的基本概念每一條指令都對應(yīng)著自己的微操作序列,每一條指令的執(zhí)行過程,都可以劃分為若干基本的微操作。把各條指令的微操作序列,以二進制編碼字(稱為微指令)的形式編制成程序(稱為微程序),并存放在一個存儲器(稱為控制存儲器)中。執(zhí)行指令時,通過讀取并執(zhí)行相應(yīng)的微程序?qū)崿F(xiàn)一條指令的功能,微程序設(shè)計的實質(zhì)用程序設(shè)計的思想方法來組織操作控制邏輯,用規(guī)整的存儲邏輯代替繁雜的組合邏輯。2/5/2023181例:模型機中指令ADDR1,R0的指令執(zhí)行過程及控制信號。(PC)→MAR讀主存(PC)+1→PC(MDR)→IR1→ETFT0FT1FT2FT3PC→BUS1,S3S2S1S0M,DM,CPMARMREQ,R/W=1,PC→BUS1,S3S2S1S0M,C0,DM,CPPCMDR→BUS1,S3S2S1S0M,DM,CPIR1→ET,CPET(R1)→YET0ET1R0→BUS1,S3S2S1S0M,DM,CPR0,CPCC,CPCZR1→BUS1,S3S2S1S0M,DM,CPY(R0)+(Y)→R0END2/5/2023182可以利用二進制編碼描述操作系列。3位5位1位2位2位3位1位2位BUSinS3S2S1S0MC0SBUS1outBUS2outR/WIO/MBUSin功能000無001RS→BUS1010RD→BUS1011TEMP→BUS1100SP→BUS1101MDR→BUS1110IR(D)→BUS1111PC→BUS1S3S2S1S0M按74181的規(guī)定C0功能0C0=01C0=1S功能00DM01SL10SR11EXBUS1out功能00無01CPIR10CPMAR11CPCZ、CPCC2/5/2023183BUS2out功能000無001CPRS010CPRD011CPY100CPSP101CPMDR110CPTEMP111CPPCR/W功能0寫1讀IO/M功能00無01MREQ=1訪存10MREQ=0訪I/O2/5/2023184微操作:PC→BUS1,S3S2S1S0M,DM,CPMAR對應(yīng)的控制信號編碼為:1111111100010000×00微操作:MREQ,R/W=1,PC→BUS1,S3S2S1S0M,C0,DM,CPPC對應(yīng)的控制信號編碼為:1111111010000111101微操作:MDR→BUS1,S3S2S1S0M,DM,CPIR對應(yīng)的控制信號編碼為:1011111100001000×002/5/2023185將指令要執(zhí)行的控制信號用二進制編碼字編碼后依次存入控制存儲器。執(zhí)行指令時,順序讀出編碼字,產(chǎn)生控制命令,即可控制有關(guān)部件完成規(guī)定的操作。這種控制思想稱為微程序控制。微程序設(shè)計將軟件設(shè)計技術(shù)應(yīng)用到硬件設(shè)計中,其特點是:應(yīng)用靈活,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度電氣設(shè)備安裝與維修合同
- 總經(jīng)理聘請合同模板
- 房地產(chǎn)代理合同范文:委托與代理
- 代理合同:房地產(chǎn)估價委托協(xié)議書
- 廣告業(yè)務(wù)經(jīng)營權(quán)轉(zhuǎn)讓合同
- 產(chǎn)品責任保險合同專業(yè)版解析
- 自動化機器租賃協(xié)議
- 2024裝修工程轉(zhuǎn)包合同范本
- 年度長期合作協(xié)議范例
- 全面購銷合同模板珍藏
- 君子自強不息課件
- 2022人教版高二英語新教材選擇性必修全四冊課文原文及翻譯(英漢對照)
- WDZANYJY23低壓電力電纜技術(shù)規(guī)格書
- 抗高血壓藥物基因檢測課件
- 醫(yī)院管理醫(yī)院應(yīng)急調(diào)配機制
- (公開課)文言文斷句-完整版課件
- 小學生性教育調(diào)查問卷
- 醫(yī)院感染管理質(zhì)量持續(xù)改進反饋表
- 旅游行政管理第二章旅游行政管理體制課件
- 學生崗位實習家長(或法定監(jiān)護人)知情同意書
- 衛(wèi)生院關(guān)于召開基本公共衛(wèi)生服務(wù)項目培訓會的通知
評論
0/150
提交評論