版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第 6 章 控制系統(tǒng)與CPU2022/7/201本章學(xué)習(xí)內(nèi)容控制器的功能與組成控制方式與時(shí)序系統(tǒng)CPU的總體結(jié)構(gòu)組合邏輯控制器設(shè)計(jì)微程序控制器設(shè)計(jì)流水線處理技術(shù)2022/7/2026.1 控制器的基本概念控制器和運(yùn)算器一起組成中央處理器,即CPU??刂破魇怯?jì)算機(jī)的指揮和控制中心,由它把計(jì)算機(jī)的運(yùn)算器、存儲(chǔ)器、I/O設(shè)備等聯(lián)系成一個(gè)有機(jī)的系統(tǒng),并根據(jù)各部件具體要求,適時(shí)地發(fā)出各種控制命令,控制計(jì)算機(jī)各部件自動(dòng)、協(xié)調(diào)地進(jìn)行工作。控制器的功能是根據(jù)事先編好并存放在存儲(chǔ)器中的解題程序,控制各部件有條不紊地、自動(dòng)協(xié)調(diào)地進(jìn)行工作。2022/7/203計(jì)算機(jī)運(yùn)行程序的基本過(guò)程:1.取指令:根據(jù)指令地址(由P
2、C提供),從存儲(chǔ)器中取出所要執(zhí)行的指令。2.分析指令: 對(duì)取出的指令進(jìn)行譯碼分析。確定指令應(yīng)完成的操 作,產(chǎn)生相應(yīng)操作的控制電位去參與形成該指令功 能所需要的全部控制命令(微操作控制信號(hào))。 根據(jù)尋址方式的分析和指令功能要求,形成操作數(shù)的 有效地址,并按此地址取出操作數(shù)據(jù)(運(yùn)算型指令) 或形成轉(zhuǎn)移地址(轉(zhuǎn)移類(lèi)指令)以實(shí)現(xiàn)程序轉(zhuǎn)移。6.1.1 指令執(zhí)行的基本步驟 2022/7/2043.執(zhí)行指令:根據(jù)指令分析所產(chǎn)生的操作控制信號(hào)和形成的有效地址,按一定的算法形成指令操作控制序列,控制有關(guān)部件完成指令規(guī)定的功能。一條指令執(zhí)行結(jié)束,若沒(méi)有異常情況和特殊請(qǐng)求,則按程序順序,再去取出并執(zhí)行下一條指令???/p>
3、制器的主要功能就是按取指令、分析指令、執(zhí)行指令這樣的步驟進(jìn)行周而復(fù)始的控制過(guò)程,直到完成程序所規(guī)定的任務(wù)并停機(jī)為止。2022/7/205ADD A, R7的執(zhí)行過(guò)程2022/7/2066.1.2 控制器的基本功能1控制指令的正確執(zhí)行包括指令流出的控制,分析指令和執(zhí)行指令的控制,指令流向的控制。 指令流出控制(對(duì)取指令的控制) 取指令時(shí)需進(jìn)行的操作(PC)MAR,Read ;給出指令地址,并向MEM發(fā) 出讀命令(MDR)IR ;讀出的指令經(jīng)MDR存放到指 令寄存器IR中(PC)增量PC ;為取下一條指令作準(zhǔn)備2022/7/207 分析指令和執(zhí)行指令的控制IR中的指令經(jīng)指令譯碼器(ID)譯碼分析,
4、確定操作性質(zhì),判明尋址方式并形成操作數(shù)的有效地址。控制器根據(jù)分析的結(jié)果和形成的有效地址產(chǎn)生相應(yīng)的操作控制信號(hào)序列,控制有關(guān)的部件完成指令所規(guī)定的操作功能。例:設(shè)某指令的IR15IR120000時(shí)為MOV指令,則 MOV 的控制信號(hào)為:2022/7/208 指令流向的控制指令流向控制即下條指令地址的形成控制。 按指令序列順序執(zhí)行時(shí),通過(guò)PC自動(dòng)增量形成下條指 令的地址。 當(dāng)需要改變指令流向時(shí),需改變程序計(jì)數(shù)器PC中的內(nèi) 容。 轉(zhuǎn)移指令的執(zhí)行:把形成的轉(zhuǎn)向地址送入PC; 轉(zhuǎn)子指令的執(zhí)行:把子程序入口地址送入PC; 中斷處理:將中斷服務(wù)程序入口地址送入PC。 為了正確返回,轉(zhuǎn)子和中斷還需保留PC被改
5、變之前的 內(nèi)容(即返回地址)。2022/7/2092.控制程序和數(shù)據(jù)的輸入及結(jié)果的輸出為完成某項(xiàng)任務(wù)而編制的程序及所需數(shù)據(jù),必須通過(guò)某些輸入設(shè)備預(yù)先存放在存儲(chǔ)器中,運(yùn)算結(jié)果要用輸出設(shè)備輸出。所以必須由控制器統(tǒng)一指揮,完成程序和數(shù)據(jù)的輸入及結(jié)果的輸出。3異常情況和特殊請(qǐng)求的處理機(jī)器在運(yùn)行程序過(guò)程中,往往可能會(huì)遇到一些異常情況(如電源掉電、運(yùn)算溢出等)或某些特殊請(qǐng)求(如打印機(jī)請(qǐng)求傳送打印字符等)。這些異常和請(qǐng)求往往是事先無(wú)法預(yù)測(cè)的,控制器必須具有檢測(cè)和處理這些異常情況和特殊請(qǐng)求的功能。2022/7/2010宏觀上每條指令的執(zhí)行過(guò)程均是取指、譯碼、執(zhí)行,但每條指令有不同的操作序列,需要在不同時(shí)間產(chǎn)生
6、不同的控制序列,并有嚴(yán)格的時(shí)序要求。控制器必須根據(jù)不同指令產(chǎn)生不同的控制序列??刂破鞯闹饕蝿?wù) 根據(jù)不同的指令、不同的狀態(tài)條件,在不同的時(shí)間,產(chǎn)生不同的控制信號(hào),控制計(jì)算機(jī)的各部件自動(dòng)、協(xié)調(diào)地進(jìn)行工作。2022/7/2011指令執(zhí)行的一般流程2022/7/2012 6.1.3 控制器的組成2022/7/2013指令部件的主要功能是完成取指令和分析指令。 程序計(jì)數(shù)器 PC (指令計(jì)數(shù)器、指令地址寄存器)程序計(jì)數(shù)器用于保證程序按規(guī)定的序列正確運(yùn)行,并提供將要執(zhí)行指令的指令地址。由于PC可以指向主存中任一單元的地址,因此它的位數(shù)應(yīng)能表示主存的最大容量并與主存地址寄存器MAR的位數(shù)相同。在CPU中可以
7、單獨(dú)設(shè)置程序計(jì)數(shù)器,也可以指定通用寄存器中的某一個(gè)作為PC使用。程序順序執(zhí)行時(shí)的PC增量可以通過(guò)PC本身的計(jì)數(shù)邏輯實(shí)現(xiàn),也可以由運(yùn)算器的ALU實(shí)現(xiàn)。不同機(jī)器,實(shí)現(xiàn)方法可有所不同。 1指令部件2022/7/2014(2) 指令寄存器 IR:用于存放當(dāng)前正在執(zhí)行的指令。當(dāng)指令從主存取出后,經(jīng)MDR傳送到指令寄存器中,以便實(shí)現(xiàn)對(duì)一條指令執(zhí)行的全部過(guò)程的控制。 (3) 指令譯碼器 ID:是指令分析部件。對(duì)指令寄存器中的指令操作碼進(jìn)行譯碼分析,產(chǎn)生相應(yīng)操作的控制電位,提供給微操作控制信號(hào)形成部件。對(duì)尋址方式字段進(jìn)行譯碼分析,以控制操作數(shù)有效地址的形成。(4) 地址形成部件:根據(jù)尋址方式,形成有效地址。在
8、一些微、小型機(jī)中,為簡(jiǎn)化硬件邏輯,通常不設(shè)置專門(mén)的地址形成部件,而是借用運(yùn)算器實(shí)現(xiàn)有效地址的計(jì)算。2022/7/20152時(shí)序控制部件時(shí)序控制部件:用于產(chǎn)生一系列時(shí)序信號(hào),為各個(gè)微操作定時(shí),以保證各個(gè)微操作的執(zhí)行順序。從宏觀(即程序控制)上看,計(jì)算機(jī)的解題過(guò)程實(shí)質(zhì)上是指令序列即一條條指令的執(zhí)行過(guò)程。從微觀(即指令控制)上看,計(jì)算機(jī)的解題過(guò)程是微操作序列即一個(gè)個(gè)(或一組組)微操作的執(zhí)行過(guò)程。微操作:機(jī)器最簡(jiǎn)單的基本操作一條指令的執(zhí)行過(guò)程可以分解為若干微操作。這些微操作有著嚴(yán)格的時(shí)間順序要求,不可隨意顛倒。2022/7/2016(1)脈沖源:用于產(chǎn)生一定頻率的主時(shí)鐘脈沖。一般采用石英晶體振蕩器作為
9、脈沖源。計(jì)算機(jī)電源一接通,脈沖源立即按規(guī)定頻率給出時(shí)鐘脈沖。 (2)啟停電路:控制整個(gè)機(jī)器工作的啟動(dòng)與停止。實(shí)際上是保證可靠地送出或封鎖主時(shí)鐘脈沖,控制時(shí)序信號(hào)的發(fā)生與停止。(3)時(shí)序信號(hào)發(fā)生器:用于產(chǎn)生機(jī)器所需的各種時(shí)序信號(hào),以便控制有關(guān)部件在不同的時(shí)間完成不同的微操作。不同的機(jī)器,有著不同的時(shí)序信號(hào)。在同步控制的機(jī)器中,一般包括周期、節(jié)拍、脈沖等三級(jí)時(shí)序信號(hào)。2022/7/2017微操作控制信號(hào)形成部件:根據(jù)指令部件提供的操作控制電位、時(shí)序部件所提供的各種時(shí)序信號(hào)以及有關(guān)的狀態(tài)條件,產(chǎn)生機(jī)器所需要的各種微操作控制信號(hào)。不同的指令,完成不同的功能,需要不同的微操作控制信號(hào)序列。每條指令都有自
10、己對(duì)應(yīng)的微操作序列??刂破鞅仨毟鶕?jù)不同的指令,在不同的時(shí)間,產(chǎn)生并發(fā)出不同的微操作控制信號(hào),控制有關(guān)部件協(xié)調(diào)工作,完成指令所規(guī)定的任務(wù)。4中斷控制邏輯(中斷機(jī)構(gòu))用于實(shí)現(xiàn)異常情況和特殊請(qǐng)求的處理。3微操作控制信號(hào)形成部件2022/7/2018程序狀態(tài)寄存器:用于存放程序的工作狀態(tài)(如管態(tài)、目態(tài)等)和指令執(zhí)行的結(jié)果特征(如結(jié)果為零、結(jié)果溢出等),把它所存放的內(nèi)容稱為程序狀態(tài)字(PSW)。 例:8086 CPU中的PSW的格式5程序狀態(tài)寄存器 PSR2022/7/2019 控制臺(tái)用于實(shí)現(xiàn)人與機(jī)器之間的通信聯(lián)系,如啟動(dòng)或停止機(jī)器的運(yùn)行、監(jiān)視程序運(yùn)行過(guò)程、對(duì)程序進(jìn)行必要的修改或干預(yù)等。早期有硬件控制臺(tái)
11、,用于設(shè)置地址和指令。現(xiàn)在,在大型機(jī)中有軟件控制臺(tái)。通過(guò)控制臺(tái)命令,控制機(jī)器的啟停,干預(yù)機(jī)器的工作。6控制臺(tái)2022/7/2020控制器的組成方式主要是指微操作控制信號(hào)形成部件采用何種組成方式產(chǎn)生微操作控制信號(hào)??刂破鞯慕M成方式主要是指微操作控制信號(hào)形成部件的組成方式。根據(jù)產(chǎn)生微操作控制信號(hào)的方式不同,控制器可分為組合邏輯型、存儲(chǔ)邏輯型、組合邏輯與存儲(chǔ)邏輯結(jié)合型三種,它們的根本區(qū)別在于微操作信號(hào)發(fā)生器的實(shí)現(xiàn)方法不同,而控制器中的其他部分基本上是大同小異的。6.1.4 控制器的組成方式2022/7/20211組合邏輯型組合邏輯控制器是根據(jù)控制要求和狀態(tài),采用組合邏輯技術(shù)來(lái)實(shí)現(xiàn)的。其微操作信號(hào)發(fā)生
12、器是由門(mén)電路組成的復(fù)雜樹(shù)形網(wǎng)絡(luò)構(gòu)成的。組合邏輯控制器也稱為硬聯(lián)邏輯或硬布線邏輯。組合邏輯控制器的設(shè)計(jì)目標(biāo):使用最少器件數(shù)和取得最高操作速度。優(yōu)點(diǎn):速度快缺點(diǎn):微操作信號(hào)發(fā)生器結(jié)構(gòu)不規(guī)整,設(shè)計(jì)、調(diào)試、維修較困難,難以實(shí)現(xiàn)設(shè)計(jì)自動(dòng)化。一旦控制部件構(gòu)成之后,要想增加新的控制功能是不可能的。2022/7/20222存儲(chǔ)邏輯型存儲(chǔ)邏輯型控制器稱為微程序控制器。它是采用存儲(chǔ)邏輯來(lái)實(shí)現(xiàn)的。存儲(chǔ)邏輯型控制器的實(shí)現(xiàn)方法: 把微操作信號(hào)代碼化,使每條機(jī)器指令轉(zhuǎn)化成為一段微程序存入控制存儲(chǔ)器中。執(zhí)行指令時(shí),讀出控存中的微指令,由微指令產(chǎn)生微操作控制信號(hào)。優(yōu)點(diǎn):設(shè)計(jì)規(guī)整,調(diào)試、維修以及更改、擴(kuò)充指令方便的優(yōu)點(diǎn),易于實(shí)
13、現(xiàn)自動(dòng)化設(shè)計(jì),已成為當(dāng)前控制器的主流。缺點(diǎn):由于它增加了一級(jí)控制存儲(chǔ)器,所以指令的執(zhí)行速度比組合邏輯控制器慢。2022/7/20233組合邏輯和存儲(chǔ)邏輯結(jié)合型組合邏輯和存儲(chǔ)邏輯結(jié)合型控制器稱為PLA控制器,它是吸收前兩種的設(shè)計(jì)思想來(lái)實(shí)現(xiàn)的。PLA控制器實(shí)際上也是一種組合邏輯控制器,但它的輸出程序可編的,某一微操作控制信號(hào)由PLA的某一輸出函數(shù)產(chǎn)生。PLA控制器是組合邏輯技術(shù)和存儲(chǔ)邏輯技術(shù)結(jié)合的產(chǎn)物,它克服了兩者的缺點(diǎn),是一種較有前途的方法。 2022/7/2024以上幾種控制器的設(shè)計(jì)方法是不同的,但產(chǎn)生的微操作命令的功能是相同的,并且各個(gè)控制條件基本上也是一致的,都是由時(shí)序電路、操作碼譯碼信號(hào)
14、,以及被控部件的反饋信息有機(jī)配合而成的。從功能上看,這幾種控制器只是微操作信號(hào)發(fā)生器的結(jié)構(gòu)和原理不同,而外部的輸入條件和輸出結(jié)果幾乎完全相同。2022/7/2025微操作信號(hào)發(fā)生器2022/7/2026 6.2 控制器的控制方式與時(shí)序系統(tǒng) 計(jì)算機(jī)執(zhí)行指令的過(guò)程實(shí)際上是執(zhí)行一系列的微操作的過(guò)程。每一條指令都對(duì)應(yīng)著一個(gè)微操作序列,這些微操作中有些可以同時(shí)執(zhí)行,有些則必須按嚴(yán)格的時(shí)間關(guān)系執(zhí)行??刂破鞯目刂品绞叫杞鉀Q的問(wèn)題是: 如何在時(shí)間上對(duì)各種微操作信號(hào)加以控制。6.2.1 控制方式 常用的控制方式有同步控制、異步控制和聯(lián)合控制。2022/7/20271同步控制方式 同步控制方式:任何指令的運(yùn)行或指
15、令中各個(gè)微操作的執(zhí)行,均由確定的具有統(tǒng)一基準(zhǔn)時(shí)標(biāo)的時(shí)序信號(hào)所控制。 即所有的操作均由統(tǒng)一的時(shí)鐘控制,在標(biāo)準(zhǔn)的時(shí)間內(nèi)完成。在同步控制方式下,每個(gè)時(shí)序信號(hào)的結(jié)束就意味著安排完成的工作已經(jīng)完成,隨即開(kāi)始執(zhí)行后續(xù)的微操作或自動(dòng)轉(zhuǎn)向下條指令的運(yùn)行。2022/7/2028 典型的同步控制方式是:以微操作序列最長(zhǎng)的指令和執(zhí)行時(shí)間最長(zhǎng)的微操作為標(biāo)準(zhǔn),把一條指令執(zhí)行過(guò)程劃分為若干個(gè)相對(duì)獨(dú)立的階段(稱為周期)或若干個(gè)時(shí)間區(qū)間(稱為節(jié)拍),采用完全統(tǒng)一的周期(或節(jié)拍)控制各條指令的執(zhí)行。優(yōu)點(diǎn):時(shí)序關(guān)系簡(jiǎn)單,控制方便缺點(diǎn):浪費(fèi)時(shí)間。因?yàn)閷?duì)比較簡(jiǎn)單的指令,將有很多節(jié)拍是不用的,處于等待。所以,在實(shí)際應(yīng)用中都不采用這種典
16、型的同步控制方式,而是采用某些折衷的方案。2022/7/2029(1)采用中央控制與局部控制相結(jié)合的方法中央控制:統(tǒng)一節(jié)拍的控制 根據(jù)大多數(shù)指令的微操作序列的情況,設(shè)置一個(gè)統(tǒng)一的節(jié)拍數(shù),使之大多數(shù)指令均能在統(tǒng)一的節(jié)拍內(nèi)完成。局部控制:在延長(zhǎng)節(jié)拍內(nèi)的控制 對(duì)于少數(shù)在統(tǒng)一節(jié)拍內(nèi)不能完成的指令,采用延長(zhǎng)節(jié)拍或增加節(jié)拍數(shù),使之在延長(zhǎng)節(jié)拍內(nèi)完成,執(zhí)行完畢再返回中央控制。2022/7/2030例:設(shè)某計(jì)算機(jī)的指令通常用8個(gè)節(jié)拍完成,即有8個(gè)中央節(jié)拍 W0W7,當(dāng)某指令在8個(gè)節(jié)拍中不能完成時(shí),就插入若干局部節(jié)拍 W6*,經(jīng)過(guò)若干局部節(jié)拍 W6*后,再返回中央節(jié)拍 W7。2022/7/2031(2) 采用不同
17、的機(jī)器周期和延長(zhǎng)節(jié)拍的方法把一條指令執(zhí)行過(guò)程劃分為若干機(jī)器周期,如取指、取數(shù)、執(zhí)行等周期。根據(jù)所執(zhí)行指令的不同需要,選取不同的機(jī)器周期數(shù)。在節(jié)拍安排上,每個(gè)周期劃分為固定的節(jié)拍,每個(gè)節(jié)拍都可根據(jù)需要延長(zhǎng)一個(gè)節(jié)拍。這種方法可以解決執(zhí)行不同的指令所需時(shí)間不統(tǒng)一問(wèn)題。在Intel 8088 的指令執(zhí)行過(guò)程中有讀寫(xiě)周期、內(nèi)部周期等,其中讀寫(xiě)周期為4個(gè)節(jié)拍,但可以延長(zhǎng)若干個(gè)節(jié)拍。2022/7/2032(3) 采用分散節(jié)拍的方法 分散節(jié)拍:運(yùn)行不同指令時(shí),需要多少節(jié)拍,時(shí)序部件就發(fā)生多少節(jié)拍。這種方法可完全避免節(jié)拍輪空,是提高指令運(yùn)行速度的有效方法,但這種方法使時(shí)序部件復(fù)雜化。同時(shí)還不能解決節(jié)拍內(nèi)那些簡(jiǎn)單
18、的微操作因等待所浪費(fèi)的時(shí)間。2022/7/2033 2異步控制方式 異步控制方式:沒(méi)有統(tǒng)一的同步信號(hào),采用問(wèn)答方式進(jìn)行時(shí)序協(xié)調(diào),將前一操作的回答信號(hào)作為下一操作的啟動(dòng)信號(hào)。異步控制方式不僅要區(qū)分不同指令對(duì)應(yīng)的微操作序列的長(zhǎng)短,而且要區(qū)分其中每個(gè)微操作的繁簡(jiǎn),每條指令、每個(gè)微操作需要多少時(shí)間就占用多少時(shí)間。這種方式不再有統(tǒng)的周期、節(jié)拍,各個(gè)操作之間采用應(yīng)答方式銜接,前一操作完成后給出回答信號(hào),啟動(dòng)下一個(gè)操作。2022/7/20343聯(lián)合控制方式 聯(lián)合控制方式:將同步控制和異步控制相結(jié)合。聯(lián)合控制方式通常的設(shè)計(jì)思想:在功能部件內(nèi)部采用同步方式或以同步方式為主的控制方式;在功能部件之間采用異步方式。
19、例如,對(duì)可以統(tǒng)一的微操作采用同步控制,對(duì)難以統(tǒng)一的微操作采用異步控制。實(shí)際上現(xiàn)代計(jì)算機(jī)中幾乎沒(méi)有完全采用同步或完全采用異步的控制方式,大多數(shù)都采用聯(lián)合控制方式。2022/7/20356.2.2 時(shí)序系統(tǒng) 時(shí)序系統(tǒng)是控制器的心臟,由它為指令的執(zhí)行提供各種定時(shí)信號(hào)。通常,設(shè)計(jì)時(shí)序系統(tǒng)主要是針對(duì)同步控制方式的。1指令周期與機(jī)器周期 指令周期:從取指令、分析指令到執(zhí)行完一條指令所需的全部時(shí)間。 由于各種指令的操作功能不同,繁簡(jiǎn)程度不同,因此各種指令的指令周期也不盡相同。機(jī)器周期(CPU周期):指令周期中的某一工作階段所需的時(shí)間。在指令執(zhí)行過(guò)程中,各機(jī)器周期相對(duì)獨(dú)立。 一條指令的指令周期由若干個(gè)機(jī)器周期
20、所組成,每個(gè)機(jī)器周期完成一個(gè)基本操作。所以機(jī)器周期也稱為基本周期。2022/7/2036一般機(jī)器的CPU周期有取指周期、取數(shù)周期、執(zhí)行周期,中斷周期等。每個(gè)機(jī)器周期設(shè)置一個(gè)周期狀態(tài)觸發(fā)器與之對(duì)應(yīng),機(jī)器運(yùn)行于哪個(gè)周期,與其對(duì)應(yīng)的周期狀態(tài)觸發(fā)器被置為“1”。顯然,機(jī)器運(yùn)行的任何時(shí)刻都只能建立一個(gè)周期狀態(tài),因此同一時(shí)刻只能有一個(gè)周期狀態(tài)觸發(fā)器被置為“1”。不同工作周期所占的時(shí)間可以不等。由于CPU內(nèi)部操作速度快,而CPU訪存所花時(shí)間較長(zhǎng),所以許多計(jì)算機(jī)系統(tǒng)往往以主存周期為基礎(chǔ)來(lái)規(guī)定CPU周期,以便二者工作協(xié)調(diào)配合。2022/7/2037 節(jié)拍:把一個(gè)機(jī)器周期等分成若干個(gè)時(shí)間區(qū)間,每一時(shí)間區(qū)間稱為一個(gè)
21、節(jié)拍。一個(gè)節(jié)拍對(duì)應(yīng)一個(gè)電位信號(hào),控制一個(gè)或幾個(gè)微操作的執(zhí)行。在一個(gè)機(jī)器周期內(nèi),要完成若干個(gè)微操作,這些微操作不但需要占用一定的時(shí)間,而且有一定的先后次序。因此,在同步控制方式中,基本的控制方法就是把一個(gè)機(jī)器周期等分成若干個(gè)節(jié)拍,每一個(gè)節(jié)拍完成一步基本操作,如一次傳送、一次加減運(yùn)算等。一個(gè)節(jié)拍電位信號(hào)的寬度取決于CPU完成一個(gè)基本操作的時(shí)間。 2節(jié)拍2022/7/2038 節(jié)拍提供了一項(xiàng)基本操作所需的時(shí)間分段,但有的操作(如打入寄存器),還需嚴(yán)格的定時(shí)脈沖,以確定在哪一時(shí)刻打入。節(jié)拍的切換,也需要嚴(yán)格的同步定時(shí)。所以在一個(gè)節(jié)拍內(nèi),有時(shí)還需要設(shè)置一個(gè)或幾個(gè)工作脈沖,用于寄存器的復(fù)位和接收數(shù)據(jù)等。
22、脈沖:一個(gè)節(jié)拍內(nèi)設(shè)置的一個(gè)或幾個(gè)工作脈沖。3. 脈沖(定時(shí)脈沖)2022/7/2039常見(jiàn)的設(shè)計(jì)是在每個(gè)節(jié)拍的末尾發(fā)一次工作脈沖,脈沖前沿可用來(lái)打入運(yùn)算結(jié)果(或傳送),脈沖后沿則實(shí)現(xiàn)周期的切換。也有的計(jì)算機(jī),在一個(gè)節(jié)拍中先后發(fā)出幾個(gè)工作脈沖,有的脈沖位于節(jié)拍前端,可用作清除脈沖;有的脈沖位于中部,用作控制外圍設(shè)備的輸入/輸出脈沖;有的脈沖位于尾部,前沿用作CPU內(nèi)部的打入,后沿實(shí)現(xiàn)周期切換。2022/7/2040周期、節(jié)拍、脈沖構(gòu)成了三級(jí)時(shí)序系統(tǒng),它們之間關(guān)系如下圖所示。圖中包括兩個(gè)機(jī)器周期M1、M2,每個(gè)周期包含四個(gè)節(jié)拍W0W3,每個(gè)節(jié)拍內(nèi)有一個(gè)脈沖P。2022/7/2041微型機(jī)中常用的時(shí)
23、序系統(tǒng)與上述三級(jí)時(shí)序系統(tǒng)有所不同,稱之為時(shí)鐘周期時(shí)序系統(tǒng)。下圖所示的是一典型指令的基本時(shí)序,一個(gè)指令周期包含三個(gè)機(jī)器周期:取指周期、存儲(chǔ)器讀周期和存儲(chǔ)器寫(xiě)周期,三個(gè)周期中分別包含4個(gè)、3個(gè)、3個(gè)時(shí)鐘周期。2022/7/20426.3 CPU的總體結(jié)構(gòu) CPU即中央處理器,它包含運(yùn)算器和控制器兩個(gè)部分。其功能為: 程序控制:標(biāo)準(zhǔn)程序按所要求的次序正確執(zhí)行。 操作控制:管理何產(chǎn)生每條指令所需的操作信號(hào),送往有關(guān)部件,控制完成指令規(guī)定的操作。 時(shí)序控制:對(duì)各種操作實(shí)施時(shí)間上的定時(shí),使計(jì)算機(jī)有條不紊地工作。 數(shù)據(jù)加工:對(duì)數(shù)據(jù)進(jìn)行算邏運(yùn)算處理。2022/7/2043 6.3.1 寄存器的設(shè)置不同計(jì)算機(jī)的
24、CPU結(jié)構(gòu)存在差別,但在CPU中一般都設(shè)置下列寄存器:(1)指令寄存器 IR(2)程序計(jì)數(shù)器 PC(3)累加寄存器 AC(4)程序狀態(tài)寄存器 PSR(5)地址寄存器 MAR(6)數(shù)據(jù)緩沖寄存器 MDR(或MBR)其中、是用戶可用的,、是用戶不可用的。CPU中還常設(shè)置一些程序不能直接訪問(wèn),用于暫存操作數(shù)據(jù)或中間結(jié)果的寄存器,稱為暫存器。2022/7/2044 通用寄存器:一組程序可訪問(wèn)的、具有多種功能的寄存器。在指令系統(tǒng)中,為通用寄存器分配了編號(hào)(寄存器地址),可以編程指定使用其中的某個(gè)寄存器。通用寄存器自身的邏輯往往很簡(jiǎn)單并且比較統(tǒng)一,甚至是快速的小規(guī)模存儲(chǔ)器的一些單元,但通過(guò)編程與運(yùn)算器配合
25、,可指定其實(shí)現(xiàn)多種功能,如提供操作數(shù)、保存中間結(jié)果(即作累加器用),或用作地址指針、基址寄存器、變址寄存器、計(jì)數(shù)器等。2022/7/20456.3.2 數(shù)據(jù)通路結(jié)構(gòu)及指令流程分析數(shù)據(jù)通路:信息傳送的基本路徑。 CPU內(nèi)部的數(shù)據(jù)通路通常是指運(yùn)算器與寄存器之間的信息傳輸通道。(總線)數(shù)據(jù)通路結(jié)構(gòu)直接影響著CPU內(nèi)各種信息的傳送路徑。數(shù)據(jù)通路不同,指令執(zhí)行過(guò)程的微操作序列的安排也不同,它將直接影響到微操作信號(hào)形成部件的設(shè)計(jì)。2022/7/2046 1總線結(jié)構(gòu) 單總線結(jié)構(gòu) CPU內(nèi)部采用單總線IBUS將寄存器和算術(shù)邏輯運(yùn)算部件連接起來(lái)。CPU、主存、I/O設(shè)備也通過(guò)一組單總線(系統(tǒng)總線)連接起來(lái)。 在
26、單總線結(jié)構(gòu)中,CPU內(nèi)部的任何兩個(gè)部件間的數(shù)據(jù)傳送都必須經(jīng)過(guò)單總線IBUS,因此單總線結(jié)構(gòu)的控制比較簡(jiǎn)單,但傳送速度受到限制。在一些微、小型機(jī)中常采用這種結(jié)構(gòu)。2022/7/2047單總線結(jié)構(gòu)的CPU2022/7/2048 雙總線結(jié)構(gòu)CPU內(nèi)部采用兩條總線(B總線和F總線),將寄存器和算術(shù)邏輯運(yùn)算部件連接起來(lái)。各寄存器可通過(guò)控制門(mén),建立寄存器與總線之間的聯(lián)系。CPU通過(guò)地址總線ABUS和數(shù)據(jù)總線DBUS與主存、I/O設(shè)備連接。2022/7/2049雙總線結(jié)構(gòu)的CPU2022/7/20502. 指令流程分析 指令流程:指令的操作過(guò)程。 對(duì)指令流程的影響因素:指令功能、尋址方式、數(shù)據(jù)通路、ALU的
27、功能、指令執(zhí)行的基本步驟等。 指令功能功能不同,操作數(shù)的數(shù)量不同,指令流程不同。 尋址方式不同,尋找操作數(shù)的過(guò)程不同。 數(shù)據(jù)通路不同,傳送數(shù)據(jù)時(shí)的控制過(guò)程不同。 ALU的功能不同,指令的執(zhí)行步驟不同。 不同的指令,執(zhí)行時(shí)的基本步驟不同。如訪存指令,需要訪問(wèn)存儲(chǔ)器;RR型指令不需要訪存。2022/7/2051 例:分析單總線結(jié)構(gòu)的CPU中,指令 ADD (R1),R0的指令流程。設(shè)前一操作數(shù)地址為源,后一操作數(shù)地址為目的。 解:指令功能: (R1) ( R0)R012022/7/2052指令流程如下:(1) (PC)MAR,Read,PCY ;送指令地址,讀主存(2) M MDR IR,(Y)+
28、1 Z ;取指令到IR,PC+1暫存于Z(3) (Z) PC ; PC1PC(4) (R1)MAR,Read ;送源操作數(shù)地址(5) MMDRY ;取出源操作數(shù)到Y(jié)中(6) (Y)(R0)Z ;執(zhí)行加法運(yùn)算,結(jié)果暫存Z(7) (Z)R0 ;加法結(jié)果送回目標(biāo)寄存器2022/7/2053例:分析單總線結(jié)構(gòu)CPU中,轉(zhuǎn)移指令 JC D 的指令流程。解:指令功能:IF C1 THEN (PC)DPC 指令流程如下:(1)(PC)MAR,Read,(PC)1Z ;送指令地址讀主存(2) (Z)PC ;PC1PC(3) MMDRIR ;取指令到IR (4) IF C1 (PC)Y ;送當(dāng)前指令地址(5)
29、YIR(D部分)Z ;計(jì)算轉(zhuǎn)移地址(6)(Z)PC ;下條指令實(shí)現(xiàn)轉(zhuǎn)移操作碼D2022/7/2054根據(jù)指令流程還需要作進(jìn)一步的控制信息分析例:分析單總線結(jié)構(gòu)的CPU中指令A(yù)DD X(R1),(R2)+ 的指令流程和控制信號(hào)序列。設(shè):指令格式為兩字節(jié)指令,第二字節(jié)為變址值X。源操作數(shù)采用變址尋址,目的操作數(shù)采用自增型變址尋址。指令功能:(X+(R1)+(R2)(R2), (R2)+1R2解:指令流程和微控制信號(hào)序列如下表所示操作碼X2022/7/2055IDIRPCR0R1MARMDRTEMPYZIRoutIRinPCoutPCinR0outR0inR1outR1inMARinMARoutMD
30、RinTEMPoutTEMPinYin0YZoutADDSUB1CinZin主存ReadWrite2022/7/2056指令流程控制信號(hào)流程操作功能(1) (PC)MAR,Read, (PC)1Z PCout,MARin,Read,0Y,1Cin,ADD,Zin 讀指令操作碼(2) (Z)PC Zout,PCinPC1PC(3) (MMDR) (MDR)IRMDRout,IRin(4) (PC)MAR,Read, (PC)1Z PCout,MARin,Read,0Y,1Cin,ADD,Zin(5) (Z)PC Zout,PCin讀X,寫(xiě)入暫存器Y(6) (MDR)YMDRout,YinPC1P
31、C(7) (Y)+(R1)Z R1out,ADD,Zin計(jì)算源操作數(shù)變址值(8) (Z)MAR,ReadZout,MARin,Read讀源操作數(shù)2022/7/2057(9) 空白等待讀存儲(chǔ)器(10) (MDR)TEMPMDRout,TEMPin源操作數(shù)送臨時(shí)寄存器(11) (R2)MAR,Raad, (R2)+1ZR2out,MARin,Raed,0Y,1Cin,ADD,Zin讀目的操作數(shù),R2自增送Z(12) (Z)R2Zout,R2in(R2)+1R2(13) MDRYMDRout,Yin目的操作數(shù)送Y(14) (Y)+(TEMP) ZTEMPout,ADD,Zin兩操作數(shù)相加(15) (
32、Z)MDR,WriteZout,MDRin,Write按現(xiàn)行地址寫(xiě)回結(jié)果(16) 空白空一個(gè)節(jié)拍,等待穩(wěn)定寫(xiě)入2022/7/2058例:分析雙總線結(jié)構(gòu)的CPU中,指令 ADD X(R1),(R2)+ 的指令流程和控制信號(hào)。設(shè)ALU的功能有: FAB(ADD),F(xiàn)AB(SUB), FA1(INC),F(xiàn)A1(DEC),F(xiàn)A可通過(guò)總線連接器G將總線B的信息直接傳到F總線。其控制信號(hào)為Gon。2022/7/2059IDIRPCR0R1MARMDRTEMPYGIRBPCBR0BR1BFMARMARBTEMPBFYADDSUBA主存ReadWriteR7R7BABUSDBUSINCDECBGonFTEMP
33、FMDRFR7FR!FR0FPCFIRFB2022/7/2060指令流程控制信號(hào)流程操作功能(1) (PC)MAR,Read, (PC)Y PCB,Gon,F(xiàn)MAR,Read,F(xiàn)Y讀指令操作碼(2) (Y)1PC INC,F(xiàn)PCPC1PC(3) (MDR)IRMDRB,Gon,F(xiàn)IR(4) (PC)MAR,Read, (PC)YPCB,Gon,F(xiàn)MAR,Read,F(xiàn)Y(5) (Y)1PC INC,F(xiàn)PC讀X,寫(xiě)入暫存器Y(6) (MDR)YMDRB,Gon,F(xiàn)Y(7) (Y)+(R1)MARR1B,ADD,F(xiàn)MAR,Read計(jì)算源操作數(shù)變址值,讀源操作數(shù)(8) 空白等待讀存儲(chǔ)器(9) (MDR
34、)TEMPMDRB,Gon,F(xiàn)TEMP源操作數(shù)送臨時(shí)寄存器2022/7/2061(10) (R2)MAR, Raad,(R2)YR2B,Gon,F(xiàn)MAR,Read,F(xiàn)Y讀目的操作數(shù),R2自增送Z(11) (Y)1R2INC,F(xiàn)R2(R2)+1R2(12) MDRYMDRB,Gon,F(xiàn)Y目的操作數(shù)送Y(13) (Y)+(TEMP)MDR (MDR)MEM,WriteTEMPB ,ADD,F(xiàn)MDR Write兩操作數(shù)相加,按現(xiàn)行地址寫(xiě)回結(jié)果(14) 空白空一個(gè)節(jié)拍,等待穩(wěn)定寫(xiě)入如果沒(méi)有總線連接器G,則ALU需要增加功能:FB可以將Gon信號(hào)改為FB。2022/7/2062例:在雙總線結(jié)構(gòu)的機(jī)器中,
35、分析轉(zhuǎn)子指令:JSR X的執(zhí)行過(guò)程。設(shè)機(jī)器中沒(méi)有總線連接器,ALU的功能為: FAB,F(xiàn)AB, FA1,F(xiàn)A1, FA,F(xiàn)B分析:JSR為雙字節(jié)指令,X為子程序入口地址,在第二字節(jié)。轉(zhuǎn)子指令的功能:將斷點(diǎn)地址保存到堆棧中,將X送入PC,實(shí)現(xiàn)程序轉(zhuǎn)移。JSRX2022/7/2063IDIRPCR0R1MARMDRTEMPYIRBPCBR0BR1BFMARMARBTEMPBFYADDSUBA主存ReadWriteR7R7BABUSDBUSINCDECBFTEMPFMDRFR7FR!FR0FPCFIRFB2022/7/2064指令流程控制信號(hào)流程操作功能(1) (PC)MAR,Read, (PC)Y
36、 PCB,F(xiàn)B,F(xiàn)MAR,Read,F(xiàn)Y讀指令操作碼(2) (Y)1PC FA1,F(xiàn)PCPC1PC(3) (MDR)IRMDRB,F(xiàn)B,F(xiàn)IR(4) (PC)MAR,Read, (PC)YPCB,F(xiàn)B ,F(xiàn)MAR,Read,F(xiàn)Y讀X,寫(xiě)入暫存器(5) (Y)1PC FA1,F(xiàn)PCTEMP(6) (MDR)TEMPMDRB,F(xiàn)B,F(xiàn)TEMPPC1PC(7) (SP)YSPB,F(xiàn)B,F(xiàn)Y(8) (Y)1SP FA1,F(xiàn)SP,F(xiàn)MARSP1SP(9) (PC)MEM,WritePCB,F(xiàn)B,F(xiàn)MDR,write斷點(diǎn)壓入堆棧(10)TEMPPCTEMPB,F(xiàn)B,F(xiàn)PCXPC,實(shí)現(xiàn)轉(zhuǎn)移2022/7/20
37、65上題中,如果ALU的功能增加為 FAB,F(xiàn)AB, FA1,F(xiàn)A1, FB1,F(xiàn)B1, FA,F(xiàn)B 則控制序列可以進(jìn)一步簡(jiǎn)化。即指令執(zhí)行過(guò)程與指令功能、尋址方式、數(shù)據(jù)通路、ALU功能等緊密相關(guān)。2022/7/2066指令流程控制信號(hào)流程操作功能(1) (PC)MAR,read,PCB,F(xiàn)B,F(xiàn)MAR,Read讀指令操作碼(2) (PC)1PC PCB,F(xiàn)B1,F(xiàn)PCPC1PC(3) (MDR)IRMDRB,F(xiàn)B,F(xiàn)IR(4) (PC)MAR,Read, (PC)YPCB,F(xiàn)B ,F(xiàn)MAR,Read,F(xiàn)Y讀X,寫(xiě)入暫存器Y(5) (PC)1PC PCB,F(xiàn)B1, FPC(6) (MDR)YMD
38、RB,F(xiàn)B,F(xiàn)YPC1PC(7) (SP)1SPSPB,F(xiàn)B1,F(xiàn)SP,F(xiàn)MARSP1SP(8) (PC)MEM,WritePCB,F(xiàn)B,F(xiàn)MDR,Write斷點(diǎn)壓入堆棧(9)YPCFA,F(xiàn)PCXPC,實(shí)現(xiàn)轉(zhuǎn)移2022/7/20676.4 模型機(jī)的總體結(jié)構(gòu)以模型機(jī)為例,進(jìn)一步了解控制器的控制原理和設(shè)計(jì)方法,建立計(jì)算機(jī)的整機(jī)結(jié)構(gòu)。2022/7/20682022/7/20696.4.1 模型機(jī)的數(shù)據(jù)通路1.字長(zhǎng):16位2.總線結(jié)構(gòu): 內(nèi)部總線:雙總線結(jié)構(gòu) BUS1:輸入總線, BUS2:輸出總線 :輸出控制門(mén)信號(hào),如MDRBUS1 CP:輸入控制信號(hào),如CPY 系統(tǒng)總線: 地址總線:ABUS,數(shù)據(jù)
39、總線:DBUS I/O與主存共享總線,用 MREQ 控制訪存;用IOREQ 控制訪問(wèn)I/O R/W=1,讀, R/W=0,寫(xiě)2022/7/20703. 寄存器 (大多數(shù)采用D觸發(fā)器)程序可用寄存器內(nèi)部寄存器編號(hào)寄存器名寄存器名000R0MAR001R1MDR010R2IR011R3TEMP100SPY111PC2022/7/20714. ALU 由SN74181構(gòu)成,在控制信號(hào)S3S0及M、C0的控制 下,可完成16種邏輯運(yùn)算和16種算術(shù)運(yùn)算。 M0:算術(shù)運(yùn)算 M1:邏輯運(yùn)算 2022/7/2072說(shuō)明:在算術(shù)運(yùn)算中, 當(dāng) M=0,C0=1時(shí), 0110 A-B=A+B+1 1111A+120
40、22/7/20735. 狀態(tài)標(biāo)志用于記錄運(yùn)算結(jié)果特征,可作為轉(zhuǎn)移判斷條件Cc:進(jìn)位標(biāo)志,打入脈沖:CPCcCz:為零標(biāo)志,打入脈沖:CPCz6.移位器:采用斜送方式實(shí)現(xiàn)移位傳遞,直送方式實(shí)現(xiàn)直接傳遞。移位控制信號(hào)DM直送SL左移一位SR右移一位EX字節(jié)交換1FnAn1SLAn1AnDMSR2022/7/20747.模型機(jī)的編址主存按字編址,容量64K字,字長(zhǎng)16位,16位地址可尋址64K。2022/7/20756.4.2 模型機(jī)的指令系統(tǒng)1.指令格式與指令類(lèi)型 雙操作數(shù)指令包括:MOV、ADD、SUB、AND、OR、EOR15 0OP尋址方式RS尋址方式RD4位3位3位3位3位源地址ES目的地
41、址ED2022/7/2076包括:INC、COM、ROL、ROR15 0OP000備用尋址方式RD4位指令特征3位3位3位目的地址ED 單操作數(shù)指令2022/7/2077轉(zhuǎn)移指令采用相對(duì)尋址:轉(zhuǎn)移地址(PC)DD采用補(bǔ)碼,進(jìn)行運(yùn)算時(shí),需進(jìn)行符號(hào)擴(kuò)展包括:JP(無(wú)條件轉(zhuǎn)移)、JC(C1轉(zhuǎn)移)、JZ (Z1轉(zhuǎn)移) 、JSR(轉(zhuǎn)子)轉(zhuǎn)子指令操作:(SP)-1SP,PC(SP),(PC)+DPC150OP位移量 D4位12位 轉(zhuǎn)移指令2022/7/2078 返回與停機(jī)指令返回與停機(jī)指令均為零地址指令RTS 返回指令的功能是:從子程序返回主程序返回地址PC,即(SP)PC,(SP)1SPHALT 停機(jī)指
42、令的功能是:0RUN,將時(shí)鐘信號(hào)截?cái)?。OP000未用000未用特征特征2022/7/20792022/7/20802.尋址方式方式編碼表示方式有效地址寄存器尋址000Rn無(wú)需訪存寄存器間址001Rn或(Rn)E(Rn)自增型寄存器間址010(Rn)E(Rn),然后(Rn)1Rn自減型寄存器間址011(Rn)E(Rn)1,并且(Rn)1Rn變址尋址100X(Rn)EX(Rn)除自減型寄存器間址不能使用PC外,其余尋址方式可以使用所有可編程寄存器。2022/7/2081自增型寄存器間址中若RnSP,則(SP)為堆棧中的彈出數(shù)據(jù)操作。若RnPC,則為立即尋址,立即數(shù)保存在該指令的下一單元中。注意:如
43、果目的操作數(shù)采用立即尋址,則有可能使指令數(shù)據(jù)不安全。自減型寄存器間址中若RnSP,則(SP) 為堆棧中的壓入數(shù)據(jù)操作。K操作碼K1n2022/7/2082變址尋址指令為雙字,取指后需兩次訪存才能得到操作數(shù)。取指令操作碼后 (PC)MAR,Read ;送X的地址,讀X (PC)1PC ;PC增量 MMDRY ;取X值到Y(jié) (Y)(Rn)MAR ,Read ;形成有效地址,讀操作數(shù)變址尋址中,若RnPC,則為相對(duì)尋址。K操作碼K1X2022/7/20836.4.3 模型機(jī)的時(shí)序系統(tǒng)模型機(jī)采用同步控制方式、三級(jí)時(shí)序邏輯系統(tǒng),即利用周期、節(jié)拍、脈沖構(gòu)成控制時(shí)序。1. 機(jī)器周期每個(gè)機(jī)器周期內(nèi)可以完成一次
44、主存的讀/寫(xiě)操作。模型機(jī)設(shè)置六種機(jī)器周期2022/7/2084取指周期 FT:完成取指、分析、(PC)1PC取源周期 ST:執(zhí)行雙操作數(shù)指令時(shí),完成源操作數(shù)的尋址,取源操作數(shù)。(寄存器尋址時(shí)不用)取目的周期 DT:完成目的操作數(shù)的尋址,取目的操作數(shù)。 (寄存器尋址時(shí)不用)執(zhí)行周期 ET:完成指令操作,并保存結(jié)果。中斷周期 IT:處理中斷請(qǐng)求DMA周期 DMAT:實(shí)現(xiàn)DMA傳送。本章暫不討論2022/7/2085CPU中任何時(shí)候都只能有一個(gè)周期存在,可以用六個(gè)狀態(tài)標(biāo)志表示CPU當(dāng)前進(jìn)入了哪一個(gè)周期。可用六個(gè)觸發(fā)器表示六種不同的周期狀態(tài)。TEND P為各觸發(fā)器的打入脈沖,表示在每個(gè)機(jī)器周期的最后一
45、個(gè)時(shí)鐘脈沖時(shí),發(fā)出打入脈沖。2022/7/20862.節(jié)拍節(jié)拍用于在一個(gè)周期中產(chǎn)生不同的微操作信號(hào)。每個(gè)周期中設(shè)置四個(gè)節(jié)拍T0、T1、T2、T3。為節(jié)省節(jié)拍,在取目的周期 DT 和執(zhí)行周期 ET中安排兩種節(jié)拍,即根據(jù)微操作的需要,可選擇兩個(gè)節(jié)拍,也可選擇四個(gè)節(jié)拍。每個(gè)節(jié)拍內(nèi)設(shè)置一個(gè)脈沖,用于寄存器接收代碼,如CPIR、CPPC等均為脈沖信號(hào)。寄存器接收數(shù)據(jù)使用脈沖的前沿。脈沖的后沿用于周期、節(jié)拍的轉(zhuǎn)換。2022/7/20873. 脈沖模型機(jī)在每個(gè)節(jié)拍內(nèi)設(shè)置一個(gè)脈沖,其作用是: 用于寄存器接收代碼。如各寄存器的CP脈沖。 用于周期、節(jié)拍的轉(zhuǎn)換。通常利用脈沖的前沿接收數(shù) 據(jù),用脈沖的后沿進(jìn)行周期、
46、節(jié)拍的轉(zhuǎn)換。2022/7/20882022/7/2089PCBUS1CPPCBUSiBUS1BUS2PCiDCPCPMARBUSiMARiDCPALUA移位器DMiS3S0M例:(PC)MAR所需信號(hào) PCBUS1=1 S3S2S1S0M=11111 DM=1 CPMAR是電位信號(hào),需在一個(gè)節(jié)拍內(nèi)有效;是脈沖信號(hào),其前沿將數(shù)據(jù)打入,后沿變換節(jié)拍。節(jié)拍脈沖2022/7/20906.5 組合邏輯控制器的設(shè)計(jì)用組合邏輯方法設(shè)計(jì)控制器的微操作控制信號(hào)形成部件,需要根據(jù)每條指令的要求,讓節(jié)拍電位和脈沖有步驟地去控制機(jī)器的有關(guān)部件,一步一步地依次執(zhí)行指令所規(guī)定的微操作序列,從而在一個(gè)指令周期內(nèi)完成一條指令
47、所規(guī)定的全部操作功能。2022/7/20916.5.1 組合邏輯控制器的設(shè)計(jì)步驟 在設(shè)計(jì)控制器之前,需由計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)人員設(shè)計(jì)好機(jī)器的指令系統(tǒng)、數(shù)據(jù)表示、時(shí)序系統(tǒng),在此基礎(chǔ)上,才能進(jìn)行控制器的硬件線路設(shè)計(jì)。 組合邏輯控制器設(shè)計(jì)的設(shè)計(jì)步驟: 1.分析指令的執(zhí)行步驟,繪制指令操作流程圖 分析指令操作流程的目的是確定指令執(zhí)行的具體步驟,決定各步所需的控制命令。2022/7/2092 指令操作流程圖:根據(jù)機(jī)器指令的結(jié)構(gòu)格式、數(shù)據(jù)表示方式及各種運(yùn)算的算法,把每條指令的執(zhí)行過(guò)程分解成若干功能部件能實(shí)現(xiàn)的基本微操作,并以圖的形式排列成有先后次序、相互銜接配合的流程。 指令流程圖可以比較形象、直觀地表明一
48、條指令的執(zhí)行步驟和基本過(guò)程。2022/7/2093 繪制指令流程圖的兩種思路。 以指令為線索,按指令類(lèi)型分別繪制各條指令的流程。 這種方法對(duì)一條指令的全過(guò)程有清晰的線索,易于理解。 以周期為線索,按機(jī)器周期擬定各類(lèi)指令在本周期內(nèi)的操作流程,再以操作時(shí)間表形式列出各個(gè)節(jié)拍內(nèi)所需的控制信號(hào)及它們的條件。 這種方法便于微操作控制信號(hào)的綜合、化簡(jiǎn),容易取得優(yōu)化結(jié)果。 為理解控制器設(shè)計(jì)方法,模型機(jī)設(shè)計(jì)基本采用了后一種方法。2022/7/2094 指令操作時(shí)間表:把指令流程圖中的各個(gè)微操作具體落實(shí)到各個(gè)機(jī)器周期的相應(yīng)節(jié)拍和脈沖中去,并以微操作控制信號(hào)的形式編排成一張表。指令操作時(shí)間表用于形象地表明控制器應(yīng)
49、該在什么時(shí)間,根據(jù)什么條件發(fā)出哪些微操作控制信號(hào)。指令操作時(shí)間表是指令流程圖的進(jìn)一步具體化。2. 編排指令操作時(shí)間表3. 進(jìn)行微操作綜合對(duì)操作時(shí)間表中各個(gè)微操作控制信號(hào)分別按其條件進(jìn)行歸納、綜合,列出其綜合的邏輯表達(dá)式,并進(jìn)行適當(dāng)?shù)恼{(diào)整、化簡(jiǎn),得到比較合理的邏輯表達(dá)式。2022/7/20954.設(shè)計(jì)微操作控制信號(hào)形成部件 根據(jù)各個(gè)微操作控制信號(hào)的邏輯表達(dá)式,用硬件邏輯電路加以實(shí)現(xiàn)。 實(shí)現(xiàn)方法: 根據(jù)邏輯表達(dá)式畫(huà)出邏輯電路圖,用組合邏輯網(wǎng)絡(luò)實(shí)現(xiàn) 直接根據(jù)邏輯表達(dá)式用PLD器件如PLA、PAL、GAL等實(shí)現(xiàn)。2022/7/20966.5.2 模型機(jī)的指令流程圖及操作時(shí)間表1取指周期(FT)操作流程
50、圖因?yàn)槿魏沃噶疃急仨氝M(jìn)入取指周期,所以取指操作也稱為取指公操作。對(duì)于涉及訪存的周期通常需要有4個(gè)節(jié)拍,其中3個(gè)節(jié)拍用于訪存取數(shù),1個(gè)節(jié)拍用于操作和判斷。各節(jié)拍的操作為:T0:將訪存地址送入MART1:發(fā)訪存請(qǐng)求信號(hào)和讀信號(hào),從主存讀出信息送入MDRT2:將讀出信息從MDR傳送到有關(guān)寄存器。T3:進(jìn)行相關(guān)操作和判斷2022/7/2097在取指周期內(nèi),各節(jié)拍的操作為:FT0:指令地址MARFT1:讀指令MDR,PC1PCFT2:將MDR中的現(xiàn)行指令傳送到IR,并由ID進(jìn)行譯碼。FT3:根據(jù)指令譯碼結(jié)果進(jìn)行判斷,以確定下面應(yīng)進(jìn)入哪 個(gè)機(jī)器周期。2022/7/20982022/7/2099在FT3節(jié)拍
51、中,首先判斷所取指令是否為轉(zhuǎn)移類(lèi)指令。模型機(jī)中共定義了4條轉(zhuǎn)移指令:指令操作碼IR15IR14IR13IR12JP1010JC1011JZ1100JSR1101直接進(jìn)入執(zhí)行周期ETJUMPIR15(IR14IR13)2022/7/20100如果源(SR)和目的(DR)操作數(shù)均采用寄存器尋址,也可以直接進(jìn)入執(zhí)行周期ET;否則,如果為雙操作數(shù)指令需進(jìn)入取源周期ST;如果為單操作數(shù)指令需進(jìn)入取目的周期DT。指令有源操作數(shù)SR時(shí):IR11IR10IR9表示尋址方式指令有目的操作數(shù)DR時(shí):IR5IR4IR3表示尋址方式令SR IR11IR10IR9 DR IR5IR4IR32022/7/20101SRD
52、R操作數(shù)尋址情況00源和目的均不是寄存器尋址01源不是寄存器尋址,目的是寄存器尋址10源是寄存器尋址,目的不是寄存器尋址11源和目的均是寄存器尋址進(jìn)入ST進(jìn)入DT進(jìn)入ET2022/7/20102各節(jié)拍中的控制信號(hào)節(jié)拍控制電位信號(hào)控制脈沖信號(hào)FT0PCBUS1,S3S2S1S0M,DMCPMARPFT1MREQ,R/W1,PCBUS1,S3S2S1S0M,C01,DMCPPCPFT2MDRBUS1,S3S2S1S0M,DMCPIRPFT31STJUMPSR1DTJUMPSRDR1ETJUMPSRDRCPFTPCPSTPCPDTPCPETPTENDPP表示時(shí)鐘脈沖的前沿(上升沿)起作用。P表示時(shí)鐘
53、脈沖的后沿(下降沿)起作用。2022/7/201032取源周期(ST)的操作流程圖雙操作數(shù)指令的源尋址方式為非寄存器尋址時(shí),需進(jìn)入取源周期,完成源操作數(shù)尋址并取源操作數(shù)。取出的源操作數(shù)暫存在暫存器TEMP中。不同尋址方式有效地址形成方法不同,因此操作流程也不同。2022/7/201042022/7/20105源操作數(shù)尋址方式的判斷條件:寄存器間接尋址:(RS) IR11IR10IR9自增型寄存器間接尋址:(RS) IR11IR10IR9自減型寄存器間接尋址:(RS) IR11IR10IR9變址尋址:XS IR11IR10IR92022/7/20106取源時(shí)間表2022/7/201072022/
54、7/201082022/7/201093. 取目的周期(DT)的操作流程圖當(dāng)雙操作數(shù)指令和單操作數(shù)指令的目的尋址方式為非寄存器尋址時(shí),進(jìn)入取目的周期完成目的操作數(shù)地址的尋址并讀取目的操作數(shù)。由于目的操作數(shù)在執(zhí)行周期才送入ALU的A輸入端運(yùn)算,所以取出的目的操作數(shù)暫不傳送,而保留在MDR中,因此對(duì)于非變址尋址的尋址方式只安排兩個(gè)節(jié)拍即可完成操作。 MOV指令的目的尋址為非寄存器尋址時(shí),也需進(jìn)入目的周期,但因MOV指令只需傳送目的地址而不需取目標(biāo)操作數(shù),因而操作比較簡(jiǎn)單。2022/7/20110非MOV指令2022/7/20111MOV指令2022/7/20112取目的時(shí)間表2022/7/2011
55、32022/7/201142022/7/201154. 執(zhí)行周期(ET)的操作流程圖由于不同指令具有不同的操作功能,不同的尋址方式,操作數(shù)有不同的來(lái)源,因此不同指令在執(zhí)行周期的操作流程也各不相同,需要按不同的指令繪制執(zhí)行周期的操作流程圖。對(duì)于多數(shù)指令,執(zhí)行周期的操作均可在兩拍內(nèi)完成,所以多數(shù)指令的執(zhí)行周期內(nèi)只設(shè)兩個(gè)節(jié)拍。但對(duì)于JSR、RTS以及雙操作數(shù)指令的目的尋址為非寄存器尋址(即DR0)時(shí),因?yàn)樾枰L存,所以在執(zhí)行周期內(nèi)設(shè)四個(gè)節(jié)拍來(lái)完成。在模型機(jī)的節(jié)拍發(fā)生器中,通過(guò)控制觸發(fā)器C2的T輸入端,可以選擇執(zhí)行周期的節(jié)拍數(shù)。2022/7/20116模型機(jī)嚴(yán)格按照周期、節(jié)拍工作,根據(jù)各指令所需的周期
56、數(shù)和各周期所需的節(jié)拍數(shù),可以計(jì)算每條指令所需的節(jié)拍數(shù)。例:計(jì)算指令 ADD R0,R1所需的周期和節(jié)拍數(shù)。解: R0,R1采用寄存器尋址,需要取指和執(zhí)行兩個(gè)周期。 FT周期需4個(gè)節(jié)拍,ET周期需2個(gè)節(jié)拍 共需6個(gè)節(jié)拍2022/7/20117例:計(jì)算指令 ADD X1(R0),X2(R1)所需的周期和節(jié)拍數(shù)。解:周期取指取源(變址,重復(fù))取目的(變址,重復(fù))執(zhí)行(源、目的變址)共6個(gè)周期節(jié)拍44,44,24共22個(gè)節(jié)拍2022/7/20118CPU控制流程(一條指令的控制流程)2022/7/201196.5.3 微操作控制信號(hào)綜合指令操作時(shí)間表根據(jù)指令流程、時(shí)序系統(tǒng)和數(shù)據(jù)通路結(jié)構(gòu),列出了實(shí)現(xiàn)整個(gè)
57、指令系統(tǒng)的全部操作控制信號(hào)。將同一種控制信號(hào)在不同時(shí)間下產(chǎn)生的條件進(jìn)行歸納、綜合、化簡(jiǎn)后,就可寫(xiě)出該控制信號(hào)的綜合邏輯表達(dá)式。邏輯表達(dá)式中包括下列因素: 微操作控制信號(hào)F(周期、節(jié)拍、脈沖、指令、狀態(tài)條件)2022/7/20120例:讀信號(hào)(R/W)的邏輯表達(dá)式例:脈沖信號(hào)CPTEMP的邏輯表達(dá)式例:脈沖信號(hào)PCBUS1的邏輯表達(dá)式2022/7/20121可用一個(gè)觸發(fā)器產(chǎn)生重復(fù)周期信號(hào)Repeat Reset信號(hào)使Repeat0。 進(jìn)入ST或DT后,若需要重復(fù)周期,就使CPRepeat有效,Repeat1。QQRepeatCPDRResetCPRepeat2022/7/20122在重復(fù)周期還需
58、要CP脈沖,使Repeat翻轉(zhuǎn)為 0。CPRepeat的邏輯表達(dá)式2022/7/20123設(shè)計(jì)控制信號(hào)形成電路將邏輯表達(dá)式經(jīng)邏輯綜合、化簡(jiǎn)得到各個(gè)微操作控制信號(hào)的比較合理的表達(dá)式后,即可設(shè)計(jì)實(shí)現(xiàn)電路。1. 用組合邏輯電路實(shí)現(xiàn)將各微操作控制信號(hào)用組合邏輯電路實(shí)現(xiàn),就構(gòu)成了組合邏輯控制器的微操作控制信號(hào)形成部件。在實(shí)際設(shè)計(jì)過(guò)程中,用硬件實(shí)現(xiàn)邏輯電路圖時(shí),有時(shí)受邏輯門(mén)的扇入系數(shù)限制,需要修改邏輯表達(dá)式,此時(shí)就可能要增加邏輯電路。如果信號(hào)所經(jīng)過(guò)的級(jí)數(shù)也增加的話,還將增加延遲時(shí)間。另外在實(shí)現(xiàn)時(shí)還有負(fù)載問(wèn)題。2022/7/20124例:讀信號(hào)(R/W)的邏輯電路圖2022/7/201252 用PLA器件實(shí)
59、現(xiàn)可編程邏輯陣列PLA電路是由與陣列和或陣列組成,電路的輸出為輸入項(xiàng)的與或式。經(jīng)微操作綜合而得到的微操作控制信號(hào)的邏輯表達(dá)式基本上都是與或表達(dá)式,因而可很方便地用PLA電路實(shí)現(xiàn)。例:用PLA器件實(shí)現(xiàn)下列邏輯函數(shù)2022/7/201262022/7/20127當(dāng)用PLA器件實(shí)現(xiàn)模型機(jī)控制信號(hào)邏輯時(shí),則將指令碼、機(jī)器周期、節(jié)拍、脈沖及某狀態(tài)條件作為PLA器件的與陣列輸入信號(hào),按微操作信號(hào)綜合所得的邏輯表達(dá)式分別對(duì)與陣列、或陣列進(jìn)行編程,即可由或陣列輸出各個(gè)控制信號(hào)。2022/7/201282022/7/201296.6 微程序控制器設(shè)計(jì)6.6.1 微程序控制器的基本概念組合邏輯控制器的缺點(diǎn) 繁瑣、
60、雜亂,缺乏規(guī)律性,設(shè)計(jì)效率低,不利于檢查 調(diào)試。 不易修改和擴(kuò)充,缺乏靈活性。因?yàn)樵O(shè)計(jì)結(jié)果用印刷電路板(硬連邏輯)固定下來(lái)以后,就很難再修改與擴(kuò)充。因此,我們可將微命令編成代碼,存入ROM中,需要時(shí)取出.2022/7/20130例:模型機(jī)中指令 ADD R1,R2的指令執(zhí)行過(guò)程及控制信號(hào)。(PC)MAR讀主存(PC)1PC(MDR)IR1ETFT0FT1FT2FT3PCBUS1,S3S2S1S0M,DM,CPMARMRQ,R/W=1,PCBUS1,S3S2S1S0M,C0,DM,CPPCMDRBUS1,S3S2S1S0M,DM,CPIR1ET,CPET(R1)YET0ET1R0BUS1,S3S
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026 年初中英語(yǔ)《情景交際》專項(xiàng)練習(xí)與答案 (100 題)
- 2026年深圳中考語(yǔ)文培優(yōu)補(bǔ)差綜合試卷(附答案可下載)
- 2026年深圳中考英語(yǔ)二模仿真模擬試卷(附答案可下載)
- 2026年深圳中考物理考綱解讀精練試卷(附答案可下載)
- 廣東省江門(mén)市新會(huì)區(qū)2026年九年級(jí)上學(xué)期期末物理試題附答案
- 2026年大學(xué)大二(建筑學(xué))建筑方案設(shè)計(jì)基礎(chǔ)測(cè)試題及答案
- 2026年深圳中考數(shù)學(xué)數(shù)據(jù)的分析專項(xiàng)試卷(附答案可下載)
- 2026年深圳中考生物進(jìn)階提分綜合試卷(附答案可下載)
- 創(chuàng)文辦人員培訓(xùn)課件
- 2026年廣州中考語(yǔ)文失分點(diǎn)攻克試卷(附答案可下載)
- 2025年保安員(初級(jí))考試模擬100題及答案(一)
- 湖北省新八校協(xié)作體2025-2026學(xué)年度上學(xué)期高三10月月考 英語(yǔ)試卷(含答案詳解)
- 酒駕滿分考試題庫(kù)及答案2025
- 金礦開(kāi)采提升項(xiàng)目可行性研究報(bào)告
- 華潤(rùn)燃?xì)獍踩嘤?xùn)
- 包鋼集團(tuán)歷年筆試題庫(kù)及答案
- 2025版實(shí)驗(yàn)動(dòng)物中心動(dòng)物實(shí)驗(yàn)動(dòng)物飼養(yǎng)合同
- GB/T 30104.104-2025數(shù)字可尋址照明接口第104部分:一般要求無(wú)線和其他有線系統(tǒng)組件
- 三年級(jí)上冊(cè)數(shù)學(xué)第三單元題型專項(xiàng)訓(xùn)練-判斷題(解題策略專項(xiàng)秀場(chǎng))人教版(含答案)
- 2.3河流與湖泊我國(guó)第一大河長(zhǎng)江課件-八年級(jí)地理上學(xué)期人教版
- 人工耳蝸術(shù)后護(hù)理指南
評(píng)論
0/150
提交評(píng)論