版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第六章第六章 中央處理部件中央處理部件CPUCPU6.1 6.1 計(jì)算機(jī)的硬件系統(tǒng)計(jì)算機(jī)的硬件系統(tǒng)6.2 6.2 控制器的組成控制器的組成6.3 6.3 微程序控制計(jì)算機(jī)的基本工作原理微程序控制計(jì)算機(jī)的基本工作原理6.4 6.4 微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù)6.5 6.5 硬布線(xiàn)控制的計(jì)算機(jī)硬布線(xiàn)控制的計(jì)算機(jī)6.6 6.6 控制器的控制方式控制器的控制方式6.7 6.7 流水線(xiàn)工作原理流水線(xiàn)工作原理6.8 CPU6.8 CPU舉例舉例6.9 6.9 計(jì)算機(jī)的加電及控制過(guò)程計(jì)算機(jī)的加電及控制過(guò)程 本章教學(xué)內(nèi)容本章教學(xué)內(nèi)容本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo)從兩個(gè)方面來(lái)認(rèn)識(shí)從兩個(gè)方面來(lái)認(rèn)識(shí)CPUCPU:CPU
2、CPU的邏輯組成的邏輯組成CPUCPU如何工作如何工作重點(diǎn)重點(diǎn)1.1.控制器的作用控制器的作用. .組成組成. .指令的執(zhí)行過(guò)程指令的執(zhí)行過(guò)程. .2.2.微程序控制器的工作原理微程序控制器的工作原理: :組成組成. .產(chǎn)生控制信號(hào)的方法產(chǎn)生控制信號(hào)的方法. .3.3.微程序控制器的一些基本概念微程序控制器的一些基本概念, ,與機(jī)器指令級(jí)的比較與機(jī)器指令級(jí)的比較. .4.4.微程序的微指令編碼譯碼方法微程序的微指令編碼譯碼方法. .5.5.產(chǎn)生后繼微指令地址的方法產(chǎn)生后繼微指令地址的方法. .6.6.微指令的格式微指令的格式: :水平和垂直型微指令水平和垂直型微指令. .7.7.硬布線(xiàn)控制器的
3、組成硬布線(xiàn)控制器的組成, ,控制信號(hào)的產(chǎn)生方法控制信號(hào)的產(chǎn)生方法, ,時(shí)序的作用和產(chǎn)生方法時(shí)序的作用和產(chǎn)生方法8.8.硬布線(xiàn)控制器的設(shè)計(jì)步驟和方法硬布線(xiàn)控制器的設(shè)計(jì)步驟和方法. .9.9.硬布線(xiàn)控制器與微程序控制器的比較硬布線(xiàn)控制器與微程序控制器的比較. .10.10.控制器的控制方式的含義與種類(lèi)控制器的控制方式的含義與種類(lèi). .11.11.流水線(xiàn)工作原理流水線(xiàn)工作原理. .12.12.流水線(xiàn)的相關(guān)問(wèn)題流水線(xiàn)的相關(guān)問(wèn)題( (數(shù)據(jù)相關(guān)和程序相關(guān)數(shù)據(jù)相關(guān)和程序相關(guān)).).難點(diǎn)難點(diǎn) 對(duì)于指令執(zhí)行過(guò)程的理解、微程序設(shè)計(jì)技術(shù)和控制器的設(shè)計(jì)方對(duì)于指令執(zhí)行過(guò)程的理解、微程序設(shè)計(jì)技術(shù)和控制器的設(shè)計(jì)方法以及法以
4、及CPUCPU的構(gòu)成的構(gòu)成. .計(jì)算機(jī)組成:計(jì)算機(jī)組成:運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五大部件五大部件 微處理器微處理器: :運(yùn)算器運(yùn)算器+ +控制器控制器集成在一個(gè)芯片上,通常稱(chēng)之為中央處理部集成在一個(gè)芯片上,通常稱(chēng)之為中央處理部件件(CPU)(CPU)。 控制器的作用控制器的作用: :協(xié)調(diào)并控制計(jì)算機(jī)的各個(gè)部件執(zhí)行程序的指令序列。協(xié)調(diào)并控制計(jì)算機(jī)的各個(gè)部件執(zhí)行程序的指令序列。 計(jì)算機(jī)的工作過(guò)程計(jì)算機(jī)的工作過(guò)程: 加電加電產(chǎn)生產(chǎn)生resetreset信號(hào)信號(hào)執(zhí)行程序執(zhí)行程序停機(jī)停機(jī)停電。停電。 機(jī)器加電時(shí)機(jī)器加電時(shí): (1 1)可以利用可
5、以利用resetreset信號(hào)將某值信號(hào)將某值( (例如全例如全 “0 0” ”) )置于程序計(jì)數(shù)器置于程序計(jì)數(shù)器PCPC中中,此即為開(kāi)機(jī)后執(zhí)行的第一條指令的地址,也就是固定程序入口地址,此即為開(kāi)機(jī)后執(zhí)行的第一條指令的地址,也就是固定程序入口地址 (2 2)也可以直接在指令寄存器中置入一條無(wú)條件轉(zhuǎn)移指令)也可以直接在指令寄存器中置入一條無(wú)條件轉(zhuǎn)移指令( (轉(zhuǎn)移到固轉(zhuǎn)移到固定程序入口定程序入口) ),然后開(kāi)始執(zhí)行程序。,然后開(kāi)始執(zhí)行程序。 固定程序固定程序: :先對(duì)計(jì)算機(jī)各部件進(jìn)行測(cè)試,然后進(jìn)入操作系統(tǒng)環(huán)境,先對(duì)計(jì)算機(jī)各部件進(jìn)行測(cè)試,然后進(jìn)入操作系統(tǒng)環(huán)境,等候操作員從鍵盤(pán)送入命令,或用鼠標(biāo)器對(duì)顯
6、示屏上的圖標(biāo)進(jìn)行選擇等候操作員從鍵盤(pán)送入命令,或用鼠標(biāo)器對(duì)顯示屏上的圖標(biāo)進(jìn)行選擇。( (一般放在一般放在ROMROM中中) ) 程序執(zhí)行過(guò)程:程序執(zhí)行過(guò)程:計(jì)算機(jī)從計(jì)算機(jī)從程序入口地址開(kāi)始程序入口地址開(kāi)始執(zhí)行該程序的指令序執(zhí)行該程序的指令序列,是不斷地列,是不斷地取指令、分析指令取指令、分析指令和和執(zhí)行指令執(zhí)行指令這樣一個(gè)周而復(fù)始的過(guò)程這樣一個(gè)周而復(fù)始的過(guò)程 實(shí)現(xiàn)原理:當(dāng)前實(shí)現(xiàn)原理:當(dāng)前正在執(zhí)行的指令地址是放在控制器的程序計(jì)數(shù)器正在執(zhí)行的指令地址是放在控制器的程序計(jì)數(shù)器(PC)(PC)中的。中的。6. 1 6. 1 計(jì)算機(jī)的硬件系統(tǒng)計(jì)算機(jī)的硬件系統(tǒng)一一Intel 80386Intel 8038
7、6微機(jī)系統(tǒng)微機(jī)系統(tǒng) 圖圖6 61 1是由是由Intel 80386Intel 80386微處理器等器件組成的微處理器等器件組成的微機(jī)系統(tǒng),微機(jī)系統(tǒng),Intel 80386Intel 80386是是3232位微處理器。位微處理器。Intel 80386 Intel 80386 微機(jī)系統(tǒng)框圖微機(jī)系統(tǒng)框圖是系統(tǒng)中主要的是系統(tǒng)中主要的處理、控制部件處理、控制部件機(jī)器加電時(shí)產(chǎn)生機(jī)器加電時(shí)產(chǎn)生resetreset信號(hào),計(jì)算機(jī)信號(hào),計(jì)算機(jī)各個(gè)部件處于初始狀態(tài)。執(zhí)行的第各個(gè)部件處于初始狀態(tài)。執(zhí)行的第1 1條指令的地址為條指令的地址為0FFFFFFF0H0FFFFFFF0H,為一條,為一條轉(zhuǎn)移指令,轉(zhuǎn)到引導(dǎo)程序
8、入口轉(zhuǎn)移指令,轉(zhuǎn)到引導(dǎo)程序入口。ClkClk是是clk2clk2的二分的二分頻時(shí)鐘信號(hào)頻時(shí)鐘信號(hào)8038680386通過(guò)總線(xiàn)與存儲(chǔ)器和通過(guò)總線(xiàn)與存儲(chǔ)器和I/OI/O設(shè)設(shè)備交換信息。對(duì)總線(xiàn)的使用需要備交換信息。對(duì)總線(xiàn)的使用需要總線(xiàn)控制邏輯來(lái)管理??偩€(xiàn)控制邏輯來(lái)管理??焖僭O(shè)備通過(guò)快速設(shè)備通過(guò)DMADMA方式與主存方式與主存交換信息。交換信息。慢速設(shè)備通過(guò)中斷方式慢速設(shè)備通過(guò)中斷方式與主存交換信息。與主存交換信息。當(dāng)當(dāng)CPUCPU與主存交換信息時(shí),由于速度與主存交換信息時(shí),由于速度不匹配,不匹配,CPUCPU需要等待,需要等待,readyready信號(hào)信號(hào)是由存儲(chǔ)器發(fā)出的,表明是由存儲(chǔ)器發(fā)出的,表明
9、CPUCPU需要的需要的讀寫(xiě)命令已完成。讀寫(xiě)命令已完成。80287/38780287/387協(xié)處理器與協(xié)處理器與8038680386并行工作,擴(kuò)并行工作,擴(kuò)充了充了8038680386的指令系統(tǒng),主要完成浮點(diǎn)運(yùn)的指令系統(tǒng),主要完成浮點(diǎn)運(yùn)算和高精度整數(shù)運(yùn)算,算和高精度整數(shù)運(yùn)算,8038680386自動(dòng)將取得自動(dòng)將取得的協(xié)處理器指令傳給的協(xié)處理器指令傳給8038780387。二二 Intel 80386Intel 80386結(jié)構(gòu)及外部連線(xiàn)結(jié)構(gòu)及外部連線(xiàn)u8038680386包括:包括: 指令部件:指令部件:完成取指及指令譯碼功能;完成取指及指令譯碼功能; 執(zhí)行部件:執(zhí)行部件:包括包括ALUALU、
10、乘法部件、寄存器等;、乘法部件、寄存器等; 存儲(chǔ)管理部件:存儲(chǔ)管理部件:用來(lái)確定存儲(chǔ)器地址。用來(lái)確定存儲(chǔ)器地址。u8038680386微處理器芯片通過(guò)引出端與計(jì)算機(jī)的微處理器芯片通過(guò)引出端與計(jì)算機(jī)的其它部件連接。其它部件連接。各引出端的功能各引出端的功能如下:如下:ADS:地址狀態(tài)信號(hào),表示地址線(xiàn)、總線(xiàn)周期定義信號(hào)已有效,開(kāi)始總線(xiàn)周期進(jìn)行讀寫(xiě)。NA:本次讀/寫(xiě)操作雖未完成,允許送下一周期的地址和讀寫(xiě)信息,使兩次操作重疊。ready:當(dāng)存儲(chǔ)存儲(chǔ)器或器或I/OI/O設(shè)備完設(shè)備完成操作后發(fā)出的成操作后發(fā)出的信號(hào)。信號(hào)。386386接到接到此信號(hào)后,結(jié)束此信號(hào)后,結(jié)束本周期。本周期。BS16:表示被訪(fǎng)
11、問(wèn)的存儲(chǔ)器或I/O設(shè)備的數(shù)據(jù)傳送寬度為16位。PEREQPEREQ:協(xié)處理器:協(xié)處理器請(qǐng)求請(qǐng)求386386在存儲(chǔ)器在存儲(chǔ)器與協(xié)處理器之間與協(xié)處理器之間傳送一個(gè)數(shù)據(jù)。傳送一個(gè)數(shù)據(jù)。BUSYBUSY:協(xié)處理器:協(xié)處理器忙,不能接收另忙,不能接收另一個(gè)指令。一個(gè)指令。ERROR:ERROR:協(xié)處理器協(xié)處理器出現(xiàn)了一個(gè)錯(cuò)誤出現(xiàn)了一個(gè)錯(cuò)誤主設(shè)備:占用總線(xiàn)的設(shè)主設(shè)備:占用總線(xiàn)的設(shè)備。從設(shè)備:與主設(shè)備備。從設(shè)備:與主設(shè)備通信的設(shè)備。通信的設(shè)備。 I/OI/O設(shè)備設(shè)備作主設(shè)備時(shí),發(fā)出作主設(shè)備時(shí),發(fā)出holdhold信號(hào)申請(qǐng)。當(dāng)信號(hào)申請(qǐng)。當(dāng)CPUCPU同意同意總線(xiàn)請(qǐng)求,可以釋放總總線(xiàn)請(qǐng)求,可以釋放總線(xiàn),發(fā)線(xiàn),發(fā)
12、hldahlda。其余引出。其余引出端均呈高阻狀態(tài)。端均呈高阻狀態(tài)。INTRINTR為中斷請(qǐng)求信號(hào)為中斷請(qǐng)求信號(hào),NMI,NMI不可不可屏蔽中斷請(qǐng)求信號(hào)屏蔽中斷請(qǐng)求信號(hào),RESET,RESET為總為總清或復(fù)位信號(hào)清或復(fù)位信號(hào)在在8038680386與存儲(chǔ)器或與存儲(chǔ)器或I IO O設(shè)備之間傳送設(shè)備之間傳送( (讀寫(xiě)讀寫(xiě)) )一個(gè)數(shù)據(jù)的時(shí)間稱(chēng)為總線(xiàn)周期。一個(gè)數(shù)據(jù)的時(shí)間稱(chēng)為總線(xiàn)周期。W WR#R#區(qū)分是寫(xiě)周期區(qū)分是寫(xiě)周期( (當(dāng)當(dāng)W WR#R#為為1 1時(shí)時(shí)) )還是讀周期還是讀周期( (當(dāng)當(dāng)W WR#R#為為0 0時(shí)時(shí)) )DC#表示是數(shù)據(jù)周期還是控制(取指)周期MIO#表示是訪(fǎng)問(wèn)存儲(chǔ)器還是IO設(shè)
13、備LOCK#LOCK#為總線(xiàn)鎖定信號(hào),當(dāng)它為低電位時(shí),為總線(xiàn)鎖定信號(hào),當(dāng)它為低電位時(shí),不允許芯片外部的信號(hào)打斷當(dāng)前總線(xiàn)周期不允許芯片外部的信號(hào)打斷當(dāng)前總線(xiàn)周期的操作,即的操作,即CPUCPU不允許讓出總線(xiàn)控制權(quán)。不允許讓出總線(xiàn)控制權(quán)。6 62 2 控制器的組成控制器的組成一一. . 控制器的功能控制器的功能 計(jì)算機(jī)對(duì)信息進(jìn)行處理計(jì)算機(jī)對(duì)信息進(jìn)行處理( (或計(jì)算或計(jì)算) )是通過(guò)是通過(guò)程序的程序的執(zhí)行執(zhí)行而實(shí)現(xiàn)的,程序是完成某個(gè)確定算法的而實(shí)現(xiàn)的,程序是完成某個(gè)確定算法的指令指令序列序列,要要預(yù)先存放在存儲(chǔ)器預(yù)先存放在存儲(chǔ)器中中??刂破鞯淖饔每刂破鞯淖饔? :控控制程序的執(zhí)行制程序的執(zhí)行,它必須
14、具有以下基本功能:,它必須具有以下基本功能: 1 1取指令取指令 當(dāng)程序已在存儲(chǔ)器中時(shí),首先根據(jù)程序入口取出第一當(dāng)程序已在存儲(chǔ)器中時(shí),首先根據(jù)程序入口取出第一條指令,為此要發(fā)出條指令,為此要發(fā)出指令地址及控制信號(hào)指令地址及控制信號(hào)。然后不斷取。然后不斷取出第出第2 2,3 3,條指令。條指令。 2 2分析指令分析指令 或叫解釋指令、指令譯碼等。是對(duì)當(dāng)前取得的指令進(jìn)行分析,指出它要求作什么操作,并產(chǎn)生相應(yīng)的操作控制命令,如果參與操作的數(shù)據(jù)在存儲(chǔ)器中,還需要形成操作數(shù)地址。 3 3執(zhí)行指令執(zhí)行指令 根據(jù)分析指令時(shí)產(chǎn)生的根據(jù)分析指令時(shí)產(chǎn)生的“操作命令操作命令”和和“操作數(shù)操作數(shù)地址地址”形成相應(yīng)的操
15、作控制信號(hào)序列形成相應(yīng)的操作控制信號(hào)序列,通過(guò)通過(guò)CPUCPU及輸入及輸入輸出設(shè)備的執(zhí)行,實(shí)現(xiàn)每條指令的功能,其中還包括輸出設(shè)備的執(zhí)行,實(shí)現(xiàn)每條指令的功能,其中還包括對(duì)運(yùn)算結(jié)果的處理以及下條指令地址的形成對(duì)運(yùn)算結(jié)果的處理以及下條指令地址的形成。 計(jì)算機(jī)不斷重復(fù)順序執(zhí)行上述三種基本操作:取計(jì)算機(jī)不斷重復(fù)順序執(zhí)行上述三種基本操作:取指、分析、執(zhí)行;再取指、再分析、再執(zhí)行指、分析、執(zhí)行;再取指、再分析、再執(zhí)行,如,如此循環(huán),直到遇到停機(jī)指令或外來(lái)的干預(yù)為止。此循環(huán),直到遇到停機(jī)指令或外來(lái)的干預(yù)為止。部件或設(shè)備發(fā)出:部件或設(shè)備發(fā)出: (1)(1)“中斷請(qǐng)求中斷請(qǐng)求”信號(hào)信號(hào) 待待CPUCPU執(zhí)行完當(dāng)前
16、指令后,響應(yīng)該請(qǐng)求,中止當(dāng)前執(zhí)行執(zhí)行完當(dāng)前指令后,響應(yīng)該請(qǐng)求,中止當(dāng)前執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷程序。當(dāng)處理完畢后,再返回原程序的程序,轉(zhuǎn)去執(zhí)行中斷程序。當(dāng)處理完畢后,再返回原程序繼續(xù)運(yùn)行下去。繼續(xù)運(yùn)行下去。 (2)DMA(2)DMA請(qǐng)求信號(hào)請(qǐng)求信號(hào) 等等CPUCPU完成當(dāng)前機(jī)器周期操作后,暫停工作,讓出總線(xiàn)完成當(dāng)前機(jī)器周期操作后,暫停工作,讓出總線(xiàn)給給I IO O設(shè)備,在完成設(shè)備,在完成I IO O設(shè)備與存儲(chǔ)器之間的傳送數(shù)據(jù)操作設(shè)備與存儲(chǔ)器之間的傳送數(shù)據(jù)操作后,后,CPUCPU從暫時(shí)中止的機(jī)器周期開(kāi)始繼續(xù)執(zhí)行指令。從暫時(shí)中止的機(jī)器周期開(kāi)始繼續(xù)執(zhí)行指令。4 4控制程序和數(shù)據(jù)的輸入與結(jié)果輸出控制程
17、序和數(shù)據(jù)的輸入與結(jié)果輸出根據(jù)程序的安排或人的干預(yù),在適當(dāng)?shù)臅r(shí)候向輸入輸出設(shè)根據(jù)程序的安排或人的干預(yù),在適當(dāng)?shù)臅r(shí)候向輸入輸出設(shè)備發(fā)出一些相應(yīng)的命令來(lái)完成備發(fā)出一些相應(yīng)的命令來(lái)完成I IO O功能,這實(shí)際上也是通過(guò)執(zhí)功能,這實(shí)際上也是通過(guò)執(zhí)行程序來(lái)完成的。行程序來(lái)完成的。5 5對(duì)異常情況和某些請(qǐng)求的處理對(duì)異常情況和某些請(qǐng)求的處理二二. . 控制器的組成控制器的組成1程序計(jì)數(shù)器程序計(jì)數(shù)器(PC)(PC)即指令地址寄存器。在某些計(jì)算機(jī)中用來(lái)存放即指令地址寄存器。在某些計(jì)算機(jī)中用來(lái)存放當(dāng)前正在執(zhí)行的指令地址;而在另一些計(jì)算機(jī)當(dāng)前正在執(zhí)行的指令地址;而在另一些計(jì)算機(jī)中則用來(lái)存放即將要執(zhí)行的下一條指令地址;
18、中則用來(lái)存放即將要執(zhí)行的下一條指令地址;而在有指令預(yù)取功能的計(jì)算機(jī)中,一般還需要而在有指令預(yù)取功能的計(jì)算機(jī)中,一般還需要增加一個(gè)程序計(jì)數(shù)器用來(lái)存放下一條要取出的增加一個(gè)程序計(jì)數(shù)器用來(lái)存放下一條要取出的指令地址。指令地址。2 2指令寄存器(指令寄存器(IRIR)用以存放當(dāng)前正在執(zhí)行的指令,以便在指令執(zhí)用以存放當(dāng)前正在執(zhí)行的指令,以便在指令執(zhí)行過(guò)程中,控制完成一條指令的全部功能。行過(guò)程中,控制完成一條指令的全部功能。3 3指令譯碼器或操作碼譯碼器指令譯碼器或操作碼譯碼器對(duì)指令寄存器中的操作碼進(jìn)行分析解釋?zhuān)a(chǎn)生對(duì)指令寄存器中的操作碼進(jìn)行分析解釋?zhuān)a(chǎn)生相應(yīng)的控制信號(hào)。相應(yīng)的控制信號(hào)。 4 4脈沖源及啟
19、停線(xiàn)路脈沖源及啟停線(xiàn)路脈沖源產(chǎn)生一定頻率的脈沖信號(hào)作為整個(gè)機(jī)器的時(shí)鐘脈沖脈沖源產(chǎn)生一定頻率的脈沖信號(hào)作為整個(gè)機(jī)器的時(shí)鐘脈沖,是機(jī)器周期和工作脈沖的基準(zhǔn)信號(hào),在機(jī)器剛加電時(shí),是機(jī)器周期和工作脈沖的基準(zhǔn)信號(hào),在機(jī)器剛加電時(shí),還應(yīng)產(chǎn)生一個(gè)總清信號(hào)還應(yīng)產(chǎn)生一個(gè)總清信號(hào)(reset)(reset)。啟停線(xiàn)路保證可靠地送出或封鎖時(shí)鐘脈沖,控制時(shí)序信號(hào)啟停線(xiàn)路保證可靠地送出或封鎖時(shí)鐘脈沖,控制時(shí)序信號(hào)的發(fā)生或停止,從而啟動(dòng)機(jī)器工作或使之停機(jī)。的發(fā)生或停止,從而啟動(dòng)機(jī)器工作或使之停機(jī)。5 5時(shí)序控制信號(hào)形成部件時(shí)序控制信號(hào)形成部件當(dāng)機(jī)器啟動(dòng)后,在當(dāng)機(jī)器啟動(dòng)后,在CLKCLK時(shí)鐘作用下,根據(jù)當(dāng)前正在執(zhí)行的指時(shí)鐘
20、作用下,根據(jù)當(dāng)前正在執(zhí)行的指令的需要,產(chǎn)生相應(yīng)的時(shí)序控制信號(hào),并根據(jù)被控功能部令的需要,產(chǎn)生相應(yīng)的時(shí)序控制信號(hào),并根據(jù)被控功能部件的反饋信號(hào)調(diào)整時(shí)序控制信號(hào)。件的反饋信號(hào)調(diào)整時(shí)序控制信號(hào)。 即指令地址寄存器。即指令地址寄存器。存放當(dāng)前正在執(zhí)行存放當(dāng)前正在執(zhí)行的指令地址或下一的指令地址或下一條指令地址。條指令地址。指 令 地 址 形 成指 令 地 址 形 成 : : (PC)+1-PC(PC)+1-PC?;颉;? :轉(zhuǎn)移指令修改其內(nèi)轉(zhuǎn)移指令修改其內(nèi)容容用以存放當(dāng)前正用以存放當(dāng)前正在執(zhí)行的指令在執(zhí)行的指令對(duì)指令寄存器中對(duì)指令寄存器中的操作碼進(jìn)行分的操作碼進(jìn)行分析解釋?zhuān)a(chǎn)生相析解釋?zhuān)a(chǎn)生相應(yīng)的控制信
21、號(hào)。應(yīng)的控制信號(hào)。脈沖源產(chǎn)生一定頻率的脈沖信號(hào)作脈沖源產(chǎn)生一定頻率的脈沖信號(hào)作為整個(gè)機(jī)器的時(shí)鐘脈沖,是機(jī)器周為整個(gè)機(jī)器的時(shí)鐘脈沖,是機(jī)器周期和工作脈沖的期和工作脈沖的 基準(zhǔn)信號(hào)。基準(zhǔn)信號(hào)。根據(jù)當(dāng)前正在執(zhí)行的指令的需根據(jù)當(dāng)前正在執(zhí)行的指令的需要,產(chǎn)生相應(yīng)的時(shí)序控制信號(hào)要,產(chǎn)生相應(yīng)的時(shí)序控制信號(hào)1 1、控制器包括哪幾個(gè)組成部分,各個(gè)部分的功能是什么?、控制器包括哪幾個(gè)組成部分,各個(gè)部分的功能是什么?2 2、控制器需要向哪些邏輯電路發(fā)送控制信號(hào)?各發(fā)送哪些控控制器需要向哪些邏輯電路發(fā)送控制信號(hào)?各發(fā)送哪些控制信號(hào)?制信號(hào)?3 3、為簡(jiǎn)化控制器的工作原理,教材中做了哪幾點(diǎn)假設(shè)?、為簡(jiǎn)化控制器的工作原理
22、,教材中做了哪幾點(diǎn)假設(shè)?1.1.組成控制器的基本電路組成控制器的基本電路計(jì)算機(jī)中采用的電路,基本上分為兩種類(lèi)型。計(jì)算機(jī)中采用的電路,基本上分為兩種類(lèi)型。 一類(lèi)是具有記憶功能的觸一類(lèi)是具有記憶功能的觸發(fā)器以及由它組成的寄存器、發(fā)器以及由它組成的寄存器、計(jì)數(shù)器和存儲(chǔ)單元等。計(jì)數(shù)器和存儲(chǔ)單元等。 一類(lèi)是沒(méi)有記憶功能的門(mén)一類(lèi)是沒(méi)有記憶功能的門(mén)電路及由它組成的加法器、電路及由它組成的加法器、算術(shù)邏輯運(yùn)算單元算術(shù)邏輯運(yùn)算單元( (ALU)ALU)和各和各種邏輯電路等種邏輯電路等。三三. .指令執(zhí)行過(guò)程指令執(zhí)行過(guò)程2 2指令執(zhí)行過(guò)程舉例指令執(zhí)行過(guò)程舉例數(shù)據(jù)通路:數(shù)據(jù)通路:控制器組成控制器組成: :圖圖6.3
23、6.3 運(yùn)算器組成運(yùn)算器組成: :圖6.6 中央處理器組成:中央處理器組成:圖圖6.86.8(1) ) 一條加法指令的執(zhí)行過(guò)程一條加法指令的執(zhí)行過(guò)程: : ( (時(shí)序圖時(shí)序圖) )指令格式指令格式: :操 作 碼rs, rdrs1im m(或 disp)rsrs,rdrd,rsrs1 1為通用寄存器地址;為通用寄存器地址;imm(imm(或或disp)disp)為立即數(shù)為立即數(shù)( (或位移量或位移量) )。加法指令功能:加法指令功能:(rs)+(rs1)+disp- rd(rs)+(rs1)+disp- rd取指令取指令計(jì)算地址取數(shù)取數(shù)運(yùn)算送結(jié)果運(yùn)算送結(jié)果劃分機(jī)器周期劃分機(jī)器周期的原則的原則:
24、 :總線(xiàn)總線(xiàn)不沖突不沖突. .返回指令執(zhí)行返回指令執(zhí)行返回指令執(zhí)行返回指令執(zhí)行假設(shè)運(yùn)算器的框圖如圖6.6所示。運(yùn)算器由8個(gè)通用寄存器GR及一個(gè)算邏運(yùn)算部件ALU組成,并有4個(gè)記憶運(yùn)算結(jié)果狀態(tài)的標(biāo)志觸發(fā)器N,Z,V和C。 N(負(fù)數(shù)): 當(dāng)運(yùn)算結(jié)果為負(fù)數(shù)時(shí),置“1”,否則為“0”。Z(零): 當(dāng)運(yùn)算結(jié)果為零時(shí),Z1,否則Z0。V(溢出): 當(dāng)運(yùn)算結(jié)果溢出時(shí),V1,否則V0。C(進(jìn)位): 當(dāng)加法運(yùn)算產(chǎn)生進(jìn)位信號(hào)或減法運(yùn)算產(chǎn)生借位信號(hào)時(shí),C1,否則C0。返回指令執(zhí)行返回指令執(zhí)行返回指令執(zhí)行返回指令執(zhí)行返回指令執(zhí)行返回指令執(zhí)行取指令取指令: : PCABWR=0,M I O = 1 ;DBIR;PC+1
25、計(jì)算地址計(jì)算地址rslGR,(rsl) ALU,dispALU;“+” ;ALUAR返回指令執(zhí)行返回指令執(zhí)行返回指令執(zhí)行返回指令執(zhí)行取數(shù)取數(shù): : AR ABWR=0MIO=1DB DR返回指令執(zhí)行返回指令執(zhí)行運(yùn)算送結(jié)果運(yùn)算送結(jié)果: : rs GR (rs) ALUDR ALU“+” :rd GRALU rd 置置N,Z,V,C返回指令執(zhí)行返回指令執(zhí)行取指令取指令: : PCABWR=0,M I O = 1 ;DBIR;PC+1計(jì)算地址計(jì)算地址rslGR,(rsl) ALU,dispALU;“+” ;ALUAR取數(shù)取數(shù): : AR ABWR=0MIO=1DB DR運(yùn)算送結(jié)果運(yùn)算送結(jié)果: : r
26、s GR (rs) ALUDR ALU“+” :rd GRALU rd 置置N,Z,V,C(2)(2)條件轉(zhuǎn)移指令的執(zhí)行過(guò)程條件轉(zhuǎn)移指令的執(zhí)行過(guò)程 指令功能:指令功能:根據(jù)根據(jù)N N,Z Z,V V,C C的狀態(tài),決定的狀態(tài),決定是否轉(zhuǎn)換。如轉(zhuǎn)移條件成立,則轉(zhuǎn)移到本條指是否轉(zhuǎn)換。如轉(zhuǎn)移條件成立,則轉(zhuǎn)移到本條指令所指定的地址,否則順序執(zhí)行下一條指令。令所指定的地址,否則順序執(zhí)行下一條指令。 指令執(zhí)行步驟:指令執(zhí)行步驟: 從存儲(chǔ)器取指令,送入指令寄存器,并從存儲(chǔ)器取指令,送入指令寄存器,并進(jìn)行操作碼譯碼。進(jìn)行操作碼譯碼。 程序計(jì)數(shù)器加程序計(jì)數(shù)器加1 1,如不轉(zhuǎn)移,即為下一條要執(zhí),如不轉(zhuǎn)移,即為下一
27、條要執(zhí)行的指令地址。行的指令地址。 本操作對(duì)所有指令都是相同的。本操作對(duì)所有指令都是相同的。 如轉(zhuǎn)移條件成立,根據(jù)指令規(guī)定的尋如轉(zhuǎn)移條件成立,根據(jù)指令規(guī)定的尋址方式計(jì)算有效地址,轉(zhuǎn)移指令經(jīng)常采用相對(duì)址方式計(jì)算有效地址,轉(zhuǎn)移指令經(jīng)常采用相對(duì)尋址方式,此時(shí)尋址方式,此時(shí)轉(zhuǎn)移地址轉(zhuǎn)移地址=PC+disp=PC+disp。此處此處PCPC是是指本條指令的地址,而在上一機(jī)器周期已執(zhí)行指本條指令的地址,而在上一機(jī)器周期已執(zhí)行PC+1PC+1操作,因此計(jì)算時(shí)應(yīng)取原操作,因此計(jì)算時(shí)應(yīng)取原PCPC值,或?qū)\(yùn)算值,或?qū)\(yùn)算進(jìn)行適當(dāng)修正。最后將轉(zhuǎn)移地址送進(jìn)行適當(dāng)修正。最后將轉(zhuǎn)移地址送PCPC??刂菩盘?hào)控制信號(hào): :
28、PC ALUPC ALUdispALUdispALU “+ +” ALUPCALUPC 其他指令的控制信號(hào)也按同樣方法分析,根據(jù)每條指令的功能確定所需的機(jī)器周期數(shù),并得出每個(gè)機(jī)器周期所需要的控制信號(hào),最后將所有的控制信號(hào)進(jìn)行綜合簡(jiǎn)化。 控制器的功能就是按每條指令的要求產(chǎn)每條指令的要求產(chǎn)生所需的控制信號(hào)生所需的控制信號(hào)。因此在設(shè)計(jì)控制器時(shí)要求系統(tǒng)設(shè)計(jì)師提供一個(gè)完整的無(wú)二義性的指令系統(tǒng)說(shuō)明書(shū)。 產(chǎn)生控制信號(hào)一般有產(chǎn)生控制信號(hào)一般有微程序控制微程序控制和和硬布線(xiàn)硬布線(xiàn)控制控制兩種方法。兩種方法。6.3 6.3 微程序控制微程序控制計(jì)算機(jī)的基本工作原理計(jì)算機(jī)的基本工作原理一、基本概念一、基本概念1.1
29、.微操作微操作( (微命令微命令) ) 實(shí)現(xiàn)一條指令的功能按一定次序執(zhí)行一系列基本操作,這實(shí)現(xiàn)一條指令的功能按一定次序執(zhí)行一系列基本操作,這些基本操作稱(chēng)為些基本操作稱(chēng)為。 例如,前面講到的加法指令,分成四步例如,前面講到的加法指令,分成四步( (取指令、計(jì)算地址、取指令、計(jì)算地址、取數(shù)、加法運(yùn)算取數(shù)、加法運(yùn)算) )完成,每一步實(shí)現(xiàn)若干個(gè)微操作。完成,每一步實(shí)現(xiàn)若干個(gè)微操作。2.2.微指令微指令 由同時(shí)發(fā)出的控制信號(hào)所執(zhí)行的一組微操作稱(chēng)為微指令,由同時(shí)發(fā)出的控制信號(hào)所執(zhí)行的一組微操作稱(chēng)為微指令,它含控制命令它含控制命令( (信號(hào)信號(hào)) )與下一條執(zhí)行的微指令地址。與下一條執(zhí)行的微指令地址。 將一
30、條機(jī)器指令分成若干條微指令,按次序執(zhí)行這些微將一條機(jī)器指令分成若干條微指令,按次序執(zhí)行這些微指令,就可以實(shí)現(xiàn)指令的功能。指令,就可以實(shí)現(xiàn)指令的功能。 3.3.微程序微程序 執(zhí)行一條機(jī)器指令所對(duì)應(yīng)的多條微指令構(gòu)成一段微程序。 如:加法指令“add rd/rs,immrs1”所對(duì)應(yīng)的微程序由以下四條微指令組成一段微程序:取指微指令計(jì)算有效地址微指令取數(shù)微指令運(yùn)算微指令(微程序段中各條微指令既可連續(xù)存儲(chǔ)、也可分散存儲(chǔ))4 4、控制存儲(chǔ)器、控制存儲(chǔ)器 存放所有微程序的存儲(chǔ)器。它可以用只讀存儲(chǔ)器實(shí)現(xiàn)存放所有微程序的存儲(chǔ)器。它可以用只讀存儲(chǔ)器實(shí)現(xiàn)。5 5、微指令的格式微指令的格式控制字段控制字段下一條微指
31、令地址字段下一條微指令地址字段6 6、控制存儲(chǔ)器的工作原理、控制存儲(chǔ)器的工作原理依據(jù)從內(nèi)存中讀取的指令的操作碼,找到與該條機(jī)依據(jù)從內(nèi)存中讀取的指令的操作碼,找到與該條機(jī)器指令相對(duì)應(yīng)的一段微程序的入口地址,并按下址字段提器指令相對(duì)應(yīng)的一段微程序的入口地址,并按下址字段提供的微地址逐條從控制存儲(chǔ)器中讀出微指令,由控制字段供的微地址逐條從控制存儲(chǔ)器中讀出微指令,由控制字段提供的微命令控制計(jì)算機(jī)各功能部件工作(接收、輸出、提供的微命令控制計(jì)算機(jī)各功能部件工作(接收、輸出、執(zhí)行算術(shù)或邏輯運(yùn)算)執(zhí)行算術(shù)或邏輯運(yùn)算)。執(zhí)行機(jī)器指令的實(shí)質(zhì)是什么?執(zhí)行機(jī)器指令的實(shí)質(zhì)是什么? 執(zhí)行一段微程序執(zhí)行一段微程序二二.
32、. 實(shí)現(xiàn)微程序控制的基本原理實(shí)現(xiàn)微程序控制的基本原理1 1控制信號(hào)(控制信號(hào)(模型機(jī):模型機(jī):圖圖6.86.8)返回控制信號(hào)返回控制信號(hào) 以執(zhí)行以執(zhí)行一條加法指令一條加法指令為例,它由為例,它由四條微指令四條微指令解解釋執(zhí)行,一條微指令中的所有控制信號(hào)是同時(shí)發(fā)出釋執(zhí)行,一條微指令中的所有控制信號(hào)是同時(shí)發(fā)出的。每條微指令所需的控制信號(hào)如下:的。每條微指令所需的控制信號(hào)如下: (2)(2)計(jì)算地址微指令計(jì)算地址微指令 取兩個(gè)源操作數(shù)取兩個(gè)源操作數(shù)( (計(jì)算地址用計(jì)算地址用) ): rslGR(8)rslGR(8),(rsl) ALU(10)(rsl) ALU(10),dispALU(4)dispA
33、LU(4)。 加法運(yùn)算加法運(yùn)算:“+ +”(13)(13)。 有效地址送地址寄存器:有效地址送地址寄存器:ALUAR(19)ALUAR(19)。(1)(1)取指微指令取指微指令 指令地址送地址總線(xiàn):指令地址送地址總線(xiàn):PCAB(1)PCAB(1) 發(fā)訪(fǎng)存控制命令,發(fā)訪(fǎng)存控制命令,ADS(21)ADS(21),M MIO=1(22)IO=1(22), W WR=0(23)R=0(23)。從存儲(chǔ)器取指令送數(shù)據(jù)總線(xiàn)。從存儲(chǔ)器取指令送數(shù)據(jù)總線(xiàn)。 指令送指令寄存器:指令送指令寄存器:DBIR(5)DBIR(5) 程序計(jì)數(shù)器程序計(jì)數(shù)器+1+1:PC+1(3)PC+1(3) (3)(3)取數(shù)微指令取數(shù)微指令
34、 數(shù)據(jù)地址送地址總線(xiàn):數(shù)據(jù)地址送地址總線(xiàn):ARAB(20)ARAB(20)。 發(fā)訪(fǎng)存控制命令:發(fā)訪(fǎng)存控制命令:ADS(21)ADS(21),M MIO(22)IO(22),W WR(23)R(23)。由存儲(chǔ)器將數(shù)據(jù)送數(shù)據(jù)總線(xiàn)由存儲(chǔ)器將數(shù)據(jù)送數(shù)據(jù)總線(xiàn)DBDB。 數(shù)據(jù)送數(shù)據(jù)寄存器:數(shù)據(jù)送數(shù)據(jù)寄存器:DBDR(6)DBDR(6)(4)(4)加法運(yùn)算和送結(jié)果微指令加法運(yùn)算和送結(jié)果微指令 兩源操作數(shù)送兩源操作數(shù)送ALUALU:rsGR(9)rsGR(9),(rs) ALU(11)(rs) ALU(11);DRALU(12)DRALU(12)。 加法運(yùn)算加法運(yùn)算:“+ +”(13) (13) 送結(jié)果;送結(jié)
35、果;ALUGR(17)2.2.微指令如何產(chǎn)生控制信號(hào)微指令如何產(chǎn)生控制信號(hào)? ? 微指令最簡(jiǎn)單的組成形式: 將每個(gè)控制信號(hào)用一個(gè)控制將每個(gè)控制信號(hào)用一個(gè)控制位來(lái)表示,當(dāng)該位為位來(lái)表示,當(dāng)該位為“1 1”時(shí),時(shí),定義為有控制信號(hào),當(dāng)該位定義為有控制信號(hào),當(dāng)該位為為“0 0”時(shí),沒(méi)有控制信號(hào)。時(shí),沒(méi)有控制信號(hào)。W/R (W/R (寫(xiě):寫(xiě):1 1;讀:;讀:0)0)控制存儲(chǔ)器容量為控制存儲(chǔ)器容量為4K4K字,字,則每條微指令還需要?jiǎng)t每條微指令還需要1212位位來(lái)表示下址。來(lái)表示下址??刂拼鎯?chǔ)器控制存儲(chǔ)器的容量取決于實(shí)現(xiàn)指令系的容量取決于實(shí)現(xiàn)指令系統(tǒng)所需的微程序長(zhǎng)度。統(tǒng)所需的微程序長(zhǎng)度。 圖圖6.96
36、.9為加法指令的四條微指令編碼,每一小為加法指令的四條微指令編碼,每一小格表示一位格表示一位( (二進(jìn)制二進(jìn)制) ),空格表示,空格表示0 0,第,第2424位到第位到第3535位為下址。位為下址。假設(shè)四條微指令的地址如下:假設(shè)四條微指令的地址如下:取指微指令:取指微指令:10001000Q Q計(jì)算有效地址微指令:計(jì)算有效地址微指令:10011001Q Q取數(shù)微指令:取數(shù)微指令:10021002Q Q計(jì)算并存數(shù)微指令:計(jì)算并存數(shù)微指令: 1003 1003Q Q3.微程序也可用微程序也可用流程圖來(lái)表示流程圖來(lái)表示方框:方框:表示微表示微指令指令右下角的右下角的數(shù)字:表數(shù)字:表示下址示下址上方的
37、數(shù)字:微指令上方的數(shù)字:微指令的地址的地址微程序控制器的基本工作原理:微程序控制器的基本工作原理: 當(dāng)指令取入當(dāng)指令取入IRIR中以后,中以后,根據(jù)操作碼進(jìn)行譯碼,根據(jù)操作碼進(jìn)行譯碼,得到相應(yīng)指令的第一得到相應(yīng)指令的第一條微指令的地址。條微指令的地址。指令譯碼部件可用指令譯碼部件可用只讀存儲(chǔ)器組成,只讀存儲(chǔ)器組成,將操作碼作為只讀將操作碼作為只讀存儲(chǔ)器的輸入地址,存儲(chǔ)器的輸入地址,該單元的內(nèi)容即為該單元的內(nèi)容即為相應(yīng)的微指令在控相應(yīng)的微指令在控制存儲(chǔ)器中的地址。制存儲(chǔ)器中的地址。據(jù)根控制存儲(chǔ)器中的據(jù)根控制存儲(chǔ)器中的地址從控制存儲(chǔ)器取地址從控制存儲(chǔ)器取出微指令,并將它存出微指令,并將它存放在微指
38、令寄存器中。放在微指令寄存器中??刂谱侄胃魑坏妮敵隹刂谱侄胃魑坏妮敵鐾ㄟ^(guò)連接線(xiàn)直接與受通過(guò)連接線(xiàn)直接與受控制的門(mén)相連,于是控制的門(mén)相連,于是就提供了在本節(jié)所提就提供了在本節(jié)所提出的控制信號(hào)。出的控制信號(hào)。4 4微程序控制器微程序控制器時(shí)序時(shí)序控制控制信號(hào)信號(hào)形成形成部件部件三、時(shí)序信號(hào)及工作脈沖的形成三、時(shí)序信號(hào)及工作脈沖的形成1 1、請(qǐng)分析、請(qǐng)分析(P(P178178)圖)圖6.126.12中輸出與輸入波形之間的關(guān)系中輸出與輸入波形之間的關(guān)系結(jié)論:結(jié)論:CLKCLK2 2二分頻得到二分頻得到CLKCLKCLKCLK二分頻二分頻 得到得到T T1 1T T1 1反相反相 得到得到T T2 22
39、 2、時(shí)序圖、時(shí)序圖CLKTCLKCP22CLKTCPCLK211CLKCPCLKCP21兩個(gè)工作脈沖的疊加信號(hào)兩個(gè)工作脈沖的疊加信號(hào)T T2 2的末尾產(chǎn)的末尾產(chǎn)生一個(gè)生一個(gè)CPCP,用來(lái)保存計(jì)算用來(lái)保存計(jì)算結(jié)果或接收傳結(jié)果或接收傳送的數(shù)據(jù)及指送的數(shù)據(jù)及指令等。令等。T T1 1的末尾產(chǎn)的末尾產(chǎn)生另一個(gè)工作生另一個(gè)工作脈沖。脈沖。如何形成指令寄存器的輸入所存脈沖如何形成指令寄存器的輸入所存脈沖CP-IRCP-IR?控制位控制位DBDBIRIR為為“1 1”,采,采用與門(mén),可形成用與門(mén),可形成IRIR的打入脈沖的打入脈沖四電路配合中的常見(jiàn)問(wèn)題四電路配合中的常見(jiàn)問(wèn)題1 1、電路延遲引起的波形畸變電
40、路延遲引起的波形畸變 F/FF/F無(wú)無(wú)延遲延遲CLKCLK無(wú)無(wú)畸變畸變F/FF/F有延有延遲遲CLKCLK有有畸變畸變2 2、機(jī)器周期的確定、機(jī)器周期的確定 (1)機(jī)器周期 應(yīng)大于等于一條微指令中執(zhí)行時(shí)間最長(zhǎng)的微操作。 主要考慮存儲(chǔ)器訪(fǎng)問(wèn)時(shí)間和一次運(yùn)算所需的時(shí)間。 (2)機(jī)器周期的延長(zhǎng) 信號(hào)來(lái)自存儲(chǔ)器,在T1為“0”時(shí),封鎖T1的翻轉(zhuǎn)(插入等待脈沖),等待存儲(chǔ)器訪(fǎng)問(wèn)的完成。當(dāng)T2有,且無(wú)信號(hào)時(shí),封鎖CLK2信號(hào)(T的計(jì)數(shù)脈沖)。readyready當(dāng)當(dāng)T T2 2=1=1、ready=0ready=0時(shí),電路圖的輸出是否有變化?時(shí),電路圖的輸出是否有變化?當(dāng)當(dāng)T T2 2=1=1、ready=
41、1ready=1時(shí),請(qǐng)分析下面電路圖的輸出是否有變時(shí),請(qǐng)分析下面電路圖的輸出是否有變化?化?3、時(shí)鐘脈沖時(shí)鐘脈沖CLKCLK和工作脈沖和工作脈沖CPCP的標(biāo)準(zhǔn)性的標(biāo)準(zhǔn)性當(dāng)滿(mǎn)足當(dāng)滿(mǎn)足condcond條件時(shí),才產(chǎn)條件時(shí),才產(chǎn)生生CPCPB B和和CP-CCP-C信號(hào)。信號(hào)。CPCP脈沖不受控制,總是作用在觸脈沖不受控制,總是作用在觸發(fā)器上,但當(dāng)條件不成立時(shí),使發(fā)器上,但當(dāng)條件不成立時(shí),使觸發(fā)器處于保持狀態(tài)觸發(fā)器處于保持狀態(tài), ,而當(dāng)條件而當(dāng)條件成立時(shí),接受新?tīng)顟B(tài)。成立時(shí),接受新?tīng)顟B(tài)。打入脈沖的同時(shí)性:在控制打入脈沖的機(jī)器中,總是盡量將總是盡量將CPCP信信號(hào)送到控制門(mén)的最后一級(jí)號(hào)送到控制門(mén)的最后一
42、級(jí)。以免延遲造成失真和不同步。五、五、微程序控制計(jì)算機(jī)的工作過(guò)程簡(jiǎn)單的總結(jié)微程序控制計(jì)算機(jī)的工作過(guò)程簡(jiǎn)單的總結(jié)1、機(jī)器加電后,首先由reset信號(hào)在PC內(nèi)置入開(kāi)機(jī)后執(zhí)行的第一條指令的地址,同時(shí)在微指令寄存器內(nèi)置入一條“取指”微指令,并將其他一些有關(guān)的狀態(tài)位或寄存器置于初始狀態(tài)。當(dāng)電壓達(dá)到穩(wěn)定值后,自動(dòng)啟動(dòng)機(jī)器工作,產(chǎn)生節(jié)拍電位T1,T2和CP。2、機(jī)器開(kāi)始執(zhí)行程序,不斷地取出指令、分析指令、執(zhí)行指令。程序可以存放在固定存儲(chǔ)器中,也可以利用一小段引導(dǎo)程序(在固存中)將要執(zhí)行的程序和數(shù)據(jù)從外部設(shè)備調(diào)入主存。3、實(shí)現(xiàn)各條指令的微程序是存放在微程序控制器中實(shí)現(xiàn)各條指令的微程序是存放在微程序控制器中的當(dāng)
43、前正在執(zhí)行的微指令從微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和數(shù)據(jù)的傳送,并進(jìn)行相應(yīng)的處理。當(dāng)遇到停機(jī)指令或外來(lái)停機(jī)命令時(shí),應(yīng)該待當(dāng)前這條指令執(zhí)行完再停機(jī)或至少在本機(jī)器周期結(jié)束時(shí)再停機(jī)。6.4 6.4 微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù)在實(shí)際進(jìn)行微程序設(shè)計(jì)時(shí),要考慮下面三個(gè)問(wèn)題:在實(shí)際進(jìn)行微程序設(shè)計(jì)時(shí),要考慮下面三個(gè)問(wèn)題: (1) (1)如何縮短微指令字長(zhǎng);如何縮短微指令字長(zhǎng); (2) (2)如何減少微程序長(zhǎng)度;如何減少微程序長(zhǎng)度; (3) (3)如何提高微程序的執(zhí)行速度。如何提高微程序的執(zhí)行速度。 一、微指令的編碼一、微指令的編碼-控制字段控制字段微指令的編碼
44、,就是對(duì)微指令的控制字段采用的表示方法。微指令的編碼,就是對(duì)微指令的控制字段采用的表示方法。1 1直接控制法直接控制法( (不譯碼法不譯碼法 ) ) 操作控制字段中的每一位代表一個(gè)微命令。操作控制字段中的每一位代表一個(gè)微命令?!? 1”有效,有效,“0 0”無(wú)效。無(wú)效。 優(yōu)點(diǎn):簡(jiǎn)單直觀(guān),輸出直接用于控制優(yōu)點(diǎn):簡(jiǎn)單直觀(guān),輸出直接用于控制 缺點(diǎn):微指令字較長(zhǎng),因而使控制存儲(chǔ)器容量較大。缺點(diǎn):微指令字較長(zhǎng),因而使控制存儲(chǔ)器容量較大。2 2字段直接編譯法(使用較普遍)字段直接編譯法(使用較普遍) 微周期:微周期:是一條微指令所需的執(zhí)行時(shí)間。是一條微指令所需的執(zhí)行時(shí)間。 如果有若干個(gè)如果有若干個(gè)( (一
45、組一組) )微命令,在每次選擇使用它們的微微命令,在每次選擇使用它們的微周期內(nèi),只有一個(gè)微命令起作用,那么這若干個(gè)微命令是周期內(nèi),只有一個(gè)微命令起作用,那么這若干個(gè)微命令是互互斥的斥的。 選擇互斥的微命令入同組分組編碼,用微命令譯碼器譯選擇互斥的微命令入同組分組編碼,用微命令譯碼器譯碼控制。碼控制。 如:如:PC-GPC-G、ALU-GALU-G、R0-GR0-G、R1-GR1-G、R2-GR2-G 例:字段長(zhǎng)度為例:字段長(zhǎng)度為3 3位時(shí),最多只能表示位時(shí),最多只能表示7 7個(gè)互斥的微命令,個(gè)互斥的微命令,通常代碼通常代碼000000表示不發(fā)微命令表示不發(fā)微命令。 字段長(zhǎng)度字段長(zhǎng)度n n與所能
46、表示的微命令數(shù)與所能表示的微命令數(shù)m m的關(guān)系:的關(guān)系:m=2m=2n n-1-1 優(yōu)點(diǎn):縮短了微指令長(zhǎng)度。優(yōu)點(diǎn):縮短了微指令長(zhǎng)度。 代價(jià):在微指令寄存器的輸出端,為該字段增加一個(gè)譯代價(jià):在微指令寄存器的輸出端,為該字段增加一個(gè)譯碼器,該譯碼器的輸出即為原來(lái)的微命令。碼器,該譯碼器的輸出即為原來(lái)的微命令。3 3、字段間接編譯法、字段間接編譯法 如果在字段直接編譯法中,還規(guī)定一個(gè)字段的某些微命如果在字段直接編譯法中,還規(guī)定一個(gè)字段的某些微命令,要兼由另一字段中的某些微命令來(lái)解釋?zhuān)Q(chēng)為令,要兼由另一字段中的某些微命令來(lái)解釋?zhuān)Q(chēng)為字段間字段間接編譯法接編譯法。優(yōu)點(diǎn):進(jìn)一步減少了指令長(zhǎng)度。優(yōu)點(diǎn):進(jìn)一步
47、減少了指令長(zhǎng)度。缺點(diǎn):削弱微指令的并行控制能力。缺點(diǎn):削弱微指令的并行控制能力。A A受受B B控制,控制,B B發(fā)發(fā)b b1 1微命令時(shí),微命令時(shí),字段字段A A發(fā)出發(fā)出a a1,11,1a a7,17,1中的中的一個(gè)微命令。一個(gè)微命令。B B發(fā)發(fā)b b2 2微命令時(shí),微命令時(shí),字段字段A A發(fā)出發(fā)出a a1 1, ,2 2a a7 7, ,2 2中中的一個(gè)微命令。的一個(gè)微命令。4.4.常數(shù)源字段常數(shù)源字段供設(shè)計(jì)者在填寫(xiě)微指令時(shí)作為要使用的常數(shù)供設(shè)計(jì)者在填寫(xiě)微指令時(shí)作為要使用的常數(shù)E E;參與其它控制字段的間接編碼。參與其它控制字段的間接編碼。適用于擴(kuò)充定義零星、不常用的微操作。適用于擴(kuò)充定
48、義零星、不常用的微操作。OCFESCF二、微程序流的控制微程序流的控制基本概念基本概念現(xiàn)行微指令現(xiàn)行微指令 : :當(dāng)前正在執(zhí)行的微指令。當(dāng)前正在執(zhí)行的微指令?,F(xiàn)行微地址現(xiàn)行微地址: :現(xiàn)行微指令所在的控制存儲(chǔ)器單元的地址。現(xiàn)行微指令所在的控制存儲(chǔ)器單元的地址。后繼微指令:后繼微指令:下一條要執(zhí)行的微指令。下一條要執(zhí)行的微指令。后繼微地址:后繼微地址:后繼微指令所在的控制存儲(chǔ)器單元地址。后繼微指令所在的控制存儲(chǔ)器單元地址。微程序控制:微程序控制:當(dāng)前微指令執(zhí)行完畢后,產(chǎn)生后繼微指令當(dāng)前微指令執(zhí)行完畢后,產(chǎn)生后繼微指令的微地址的方法。的微地址的方法。1 1、產(chǎn)生后繼微指令地址的幾種方法、產(chǎn)生后繼微
49、指令地址的幾種方法 (1)(1)以增量方式產(chǎn)生后繼微地址以增量方式產(chǎn)生后繼微地址A A)微程序入口:微程序入口:首條微指令,由專(zhuān)門(mén)硬件電路產(chǎn)生首條微指令,由專(zhuān)門(mén)硬件電路產(chǎn)生B B)順序執(zhí)行:順序執(zhí)行:后繼微地址現(xiàn)行微地址后繼微地址現(xiàn)行微地址1 1C C)轉(zhuǎn)移:轉(zhuǎn)移:后繼微地址現(xiàn)行微地址轉(zhuǎn)移條件譯碼(相對(duì)轉(zhuǎn)移量)后繼微地址現(xiàn)行微地址轉(zhuǎn)移條件譯碼(相對(duì)轉(zhuǎn)移量)D D)由操作碼產(chǎn)生后繼地址由操作碼產(chǎn)生后繼地址優(yōu)點(diǎn):可使微指令的下址字優(yōu)點(diǎn):可使微指令的下址字段很短,僅起選擇作用。段很短,僅起選擇作用。缺點(diǎn):微程序轉(zhuǎn)移很不靈活,缺點(diǎn):微程序轉(zhuǎn)移很不靈活,使得微程序在控存中的物理使得微程序在控存中的物理空
50、間分配相當(dāng)困難??臻g分配相當(dāng)困難。在圖中,在圖中,PCPC兼作控制兼作控制存儲(chǔ)器的地址寄存器,輸入存儲(chǔ)器的地址寄存器,輸入有四個(gè)來(lái)源。下址字段僅有有四個(gè)來(lái)源。下址字段僅有兩位,其功能是選擇三個(gè)輸兩位,其功能是選擇三個(gè)輸入源中的一個(gè)作為入源中的一個(gè)作為PCPC的輸?shù)妮斎耄⒊绦蛉肟谑怯蓪?zhuān)門(mén)入,而微程序入口是由專(zhuān)門(mén)的硬件產(chǎn)生的,不受下址字的硬件產(chǎn)生的,不受下址字段控制。段控制。(2)(2)增量與下址字段結(jié)合產(chǎn)生后繼微地址增量與下址字段結(jié)合產(chǎn)生后繼微地址微指令的下址字段分成兩部分:微指令的下址字段分成兩部分: 轉(zhuǎn)移控制字段轉(zhuǎn)移控制字段BCFBCF和轉(zhuǎn)移地址字段和轉(zhuǎn)移地址字段BAFBAF, BCFB
51、CF控制轉(zhuǎn)移條件,控制轉(zhuǎn)移條件,BAFBAF控制轉(zhuǎn)控制轉(zhuǎn)移的目標(biāo)地址。移的目標(biāo)地址。 當(dāng)條件成立時(shí),微程序要轉(zhuǎn)移,將當(dāng)條件成立時(shí),微程序要轉(zhuǎn)移,將BAFBAF送送PCPC,否則順序執(zhí)行下一條微,否則順序執(zhí)行下一條微指令指令(PC+1)(PC+1)。 執(zhí)行微程序條件轉(zhuǎn)移時(shí),決定轉(zhuǎn)移與否的硬件條件有好幾種。由執(zhí)行微程序條件轉(zhuǎn)移時(shí),決定轉(zhuǎn)移與否的硬件條件有好幾種。由BCFBCF定定義的八個(gè)微命令見(jiàn)表義的八個(gè)微命令見(jiàn)表6 62 2。BCF=0BCF=0,順序執(zhí),順序執(zhí)行微命令,行微命令,PC+IPC+I為后繼微為后繼微地址。地址。BCF=1BCF=1,條件轉(zhuǎn),條件轉(zhuǎn)移微命令,當(dāng)移微命令,當(dāng)運(yùn)算結(jié)果為運(yùn)
52、算結(jié)果為0 0時(shí),時(shí),將將BAFBAF送送PCPC,否則否則PC+lPC+lPCPCBCF=2BCF=2,條件轉(zhuǎn),條件轉(zhuǎn)移微命令,當(dāng)移微命令,當(dāng)運(yùn)算結(jié)果溢出運(yùn)算結(jié)果溢出時(shí),將時(shí),將BAFBAF送送PCPC,否則,否則, , PC+1+PCPC+1+PC。BCF=3BCF=3,無(wú)條件,無(wú)條件轉(zhuǎn)移微命令,轉(zhuǎn)移微命令,將將BAFBAF送送PCPC。BCF=4BCF=4;測(cè)試循環(huán)微命;測(cè)試循環(huán)微命令,假如令,假如CTCT0 0,表,表示需要繼續(xù)執(zhí)行循環(huán)示需要繼續(xù)執(zhí)行循環(huán)微命令,將循環(huán)人口微命令,將循環(huán)人口微地址從微地址從BAFBAF送送PCPC。假如假如CT=0CT=0,表示循環(huán),表示循環(huán)結(jié)束,后繼微
53、地址為結(jié)束,后繼微地址為PC+1PC+1。本條微命令。本條微命令同時(shí)完成同時(shí)完成CTCT一一1 1操作。操作。BCF=5BCF=5,轉(zhuǎn)微子程序微,轉(zhuǎn)微子程序微命令,把微子程序人命令,把微子程序人口地址從口地址從BAFBAF送送PCPC,從而實(shí)現(xiàn)轉(zhuǎn)移。在轉(zhuǎn)從而實(shí)現(xiàn)轉(zhuǎn)移。在轉(zhuǎn)移之前要把該條微指移之前要把該條微指令的下一地址令的下一地址(PC+1)(PC+1)送人返回寄存器送人返回寄存器RRRR之之中。中。BCF=6BCF=6,返回微,返回微命令,把命令,把RRRR中中的返回微地址的返回微地址送人送人PCPC,從,從而實(shí)現(xiàn)從微子而實(shí)現(xiàn)從微子程序返回到原程序返回到原來(lái)的微程序來(lái)的微程序。BCF=7BC
54、F=7,操作碼,操作碼產(chǎn)生后繼微地產(chǎn)生后繼微地址的微命令,址的微命令,這是取指后,這是取指后,按現(xiàn)行指令執(zhí)按現(xiàn)行指令執(zhí)行的第一條微行的第一條微指令。指令。 BAFBAF的長(zhǎng)度有兩種情況:的長(zhǎng)度有兩種情況:與與PCPC的位數(shù)相等;的位數(shù)相等;可以從控制存儲(chǔ)器的可以從控制存儲(chǔ)器的任一單元取微指令。任一單元取微指令。 特點(diǎn)特點(diǎn): :轉(zhuǎn)移靈活,但增加了微指令的長(zhǎng)度轉(zhuǎn)移靈活,但增加了微指令的長(zhǎng)度. .比比PCPC短;短;考慮到轉(zhuǎn)移點(diǎn)在考慮到轉(zhuǎn)移點(diǎn)在PCPC附近,或附近,或者在控制存儲(chǔ)器的某區(qū)域內(nèi),所以由原來(lái)的者在控制存儲(chǔ)器的某區(qū)域內(nèi),所以由原來(lái)的PCPC的若干位與的若干位與BAFBAF組合成轉(zhuǎn)移微地址。
55、組合成轉(zhuǎn)移微地址。 特點(diǎn)特點(diǎn): :轉(zhuǎn)移地址受到限制,但可縮短微指轉(zhuǎn)移地址受到限制,但可縮短微指令長(zhǎng)度。令長(zhǎng)度。 (3)(3)多路轉(zhuǎn)移方式多路轉(zhuǎn)移方式 一一條微指令存在多個(gè)轉(zhuǎn)移分支的情況稱(chēng)為條微指令存在多個(gè)轉(zhuǎn)移分支的情況稱(chēng)為多路轉(zhuǎn)移。多路轉(zhuǎn)移。 后繼微地址的產(chǎn)生條件:運(yùn)算結(jié)果所置的標(biāo)志位后繼微地址的產(chǎn)生條件:運(yùn)算結(jié)果所置的標(biāo)志位N N、Z Z、V V、C C等,計(jì)數(shù)器狀態(tài),通據(jù)通路狀態(tài)等,計(jì)數(shù)器狀態(tài),通據(jù)通路狀態(tài)。 例例1:1:根據(jù)某些硬件狀態(tài)來(lái)決定后繼微地址根據(jù)某些硬件狀態(tài)來(lái)決定后繼微地址。根據(jù)根據(jù)一種狀態(tài)一種狀態(tài)( (非非0 0即即1)1)來(lái)決定微地址可以有兩種情況,即來(lái)決定微地址可以有兩種
56、情況,即兩路轉(zhuǎn)移兩路轉(zhuǎn)移;而根據(jù)而根據(jù)兩種狀態(tài)兩種狀態(tài)來(lái)決定微地址可以有四種情況,來(lái)決定微地址可以有四種情況,即即四路轉(zhuǎn)移四路轉(zhuǎn)移。四路轉(zhuǎn)移涉及微地址的兩位,一般就定在微地址的最后兩四路轉(zhuǎn)移涉及微地址的兩位,一般就定在微地址的最后兩位,也就是說(shuō)當(dāng)執(zhí)行轉(zhuǎn)移微指令時(shí),根據(jù)條件可轉(zhuǎn)移到四個(gè)位,也就是說(shuō)當(dāng)執(zhí)行轉(zhuǎn)移微指令時(shí),根據(jù)條件可轉(zhuǎn)移到四個(gè)微地址中的一個(gè),這四個(gè)微地址的高位部分相等,僅是最低微地址中的一個(gè),這四個(gè)微地址的高位部分相等,僅是最低兩位不同。兩位不同。優(yōu)點(diǎn)優(yōu)點(diǎn): :實(shí)現(xiàn)多路轉(zhuǎn)移可減少微程序的長(zhǎng)度。實(shí)現(xiàn)多路轉(zhuǎn)移可減少微程序的長(zhǎng)度。 (4)(4)微中斷微中斷 微中斷與程序中斷的概念相似,當(dāng)某一
57、條件滿(mǎn)微中斷與程序中斷的概念相似,當(dāng)某一條件滿(mǎn)足時(shí),發(fā)出微中斷請(qǐng)求信號(hào),足時(shí),發(fā)出微中斷請(qǐng)求信號(hào),CPUCPU在完成現(xiàn)行指令在完成現(xiàn)行指令的微程序后響應(yīng)該中斷請(qǐng)求,進(jìn)入微中斷處理程序。的微程序后響應(yīng)該中斷請(qǐng)求,進(jìn)入微中斷處理程序。該微程序的入口地址該微程序的入口地址(硬件產(chǎn)生)(硬件產(chǎn)生)即為剛剛執(zhí)行的即為剛剛執(zhí)行的微程序的后繼微地址。微程序的后繼微地址。 2 2以以AM2900AM2900系列芯片構(gòu)成的微程序系列芯片構(gòu)成的微程序CPUCPU(自學(xué))(自學(xué)) 設(shè)計(jì)人員在進(jìn)行微程序設(shè)計(jì)時(shí),已安排好微中斷處理設(shè)計(jì)人員在進(jìn)行微程序設(shè)計(jì)時(shí),已安排好微中斷處理程序在控制存儲(chǔ)器的位置,因此該微程序段的入口
58、地址是程序在控制存儲(chǔ)器的位置,因此該微程序段的入口地址是已知的。當(dāng)已知的。當(dāng)CPUCPU響應(yīng)微中斷請(qǐng)求時(shí),由微中斷程序的入口地響應(yīng)微中斷請(qǐng)求時(shí),由微中斷程序的入口地址。當(dāng)中斷處理完畢后,再返回到原來(lái)被中斷的程序。這址。當(dāng)中斷處理完畢后,再返回到原來(lái)被中斷的程序。這也是產(chǎn)生后繼微地址的一種情況。也是產(chǎn)生后繼微地址的一種情況。(1 1)CPUCPU結(jié)構(gòu)圖結(jié)構(gòu)圖 (2)MAP (2)MAP的功能是什么?的功能是什么?三、微指令的格式三、微指令的格式 微指令的格式大體上可分成兩類(lèi):微指令的格式大體上可分成兩類(lèi):水平型微指令和垂直型水平型微指令和垂直型微指令。微指令。 1. 1. 水平型微指令水平型微指
59、令 特點(diǎn)特點(diǎn): :在一條微指令中定義并執(zhí)行多個(gè)并行操作微命令。在一條微指令中定義并執(zhí)行多個(gè)并行操作微命令。一般格式為:一般格式為: 控制字段判別測(cè)試字段下地址字段控制字段判別測(cè)試字段下地址字段 在實(shí)際應(yīng)用中,直接控制法、字段編譯法在實(shí)際應(yīng)用中,直接控制法、字段編譯法( (直接、間直接、間接編譯法接編譯法) )經(jīng)常應(yīng)用在同一條水平型微指令中。從速度經(jīng)常應(yīng)用在同一條水平型微指令中。從速度來(lái)看,直接控制法最快,字段編譯法要經(jīng)過(guò)譯碼,所以來(lái)看,直接控制法最快,字段編譯法要經(jīng)過(guò)譯碼,所以會(huì)增加一些延遲時(shí)間。會(huì)增加一些延遲時(shí)間。2. 2. 垂直型微指令垂直型微指令 在微指令中設(shè)置有在微指令中設(shè)置有微操作碼
60、字段微操作碼字段,采用微操,采用微操作碼編譯法,作碼編譯法,由微操作碼規(guī)定微指令的功能由微操作碼規(guī)定微指令的功能,稱(chēng),稱(chēng)為垂直型微指令。為垂直型微指令。微操作碼微操作碼微操作數(shù)微操作數(shù) 特點(diǎn):不強(qiáng)調(diào)實(shí)現(xiàn)微指令的并行控制功能,通常一特點(diǎn):不強(qiáng)調(diào)實(shí)現(xiàn)微指令的并行控制功能,通常一條微指令只要求能控制實(shí)現(xiàn)一二種操作。這種微指令格條微指令只要求能控制實(shí)現(xiàn)一二種操作。這種微指令格式與指令相似;每條指令有一個(gè)操作碼;每條微指令有式與指令相似;每條指令有一個(gè)操作碼;每條微指令有一個(gè)微操作碼一個(gè)微操作碼。微指令的格式微指令的格式:例:指令字長(zhǎng)例:指令字長(zhǎng)1616位,微操作碼位,微操作碼3 3位,有八條微指令如下
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版工程清包合同:工程設(shè)計(jì)變更與施工方案調(diào)整
- 2024某企業(yè)與咨詢(xún)公司之間的管理咨詢(xún)服務(wù)合同
- 2025年度香菇食品產(chǎn)品線(xiàn)擴(kuò)展與市場(chǎng)拓展合同3篇
- 二零二五版智慧交通系統(tǒng)開(kāi)發(fā)與技術(shù)支持協(xié)議2篇
- 二零二五版二手房買(mǎi)賣(mài)合同公證與節(jié)能環(huán)保改造服務(wù)協(xié)議2篇
- 2025年度跨國(guó)企業(yè)集團(tuán)財(cái)務(wù)合并報(bào)表編制合同3篇
- 2024年銷(xiāo)售代理協(xié)議(意向)3篇
- 個(gè)性化活動(dòng)策劃方案協(xié)議2024規(guī)格版A版
- 2024版地暖安裝工程承包合同書(shū)
- 2024版企業(yè)業(yè)務(wù)外包人員協(xié)議模板版B版
- 前列腺增生藥物治療
- 人工智能知識(shí)圖譜(歸納導(dǎo)圖)
- 滴滴補(bǔ)貼方案
- 民宿建筑設(shè)計(jì)方案
- 干部基本信息審核認(rèn)定表
- 2023年11月外交學(xué)院(中國(guó)外交培訓(xùn)學(xué)院)2024年度公開(kāi)招聘24名工作人員筆試歷年高頻考點(diǎn)-難、易錯(cuò)點(diǎn)薈萃附答案帶詳解
- 春節(jié)行車(chē)安全常識(shí)普及
- 電機(jī)維護(hù)保養(yǎng)專(zhuān)題培訓(xùn)課件
- 汽車(chē)租賃行業(yè)利潤(rùn)分析
- 春節(jié)拜年的由來(lái)習(xí)俗來(lái)歷故事
- 2021火災(zāi)高危單位消防安全評(píng)估導(dǎo)則
評(píng)論
0/150
提交評(píng)論