chp5-3_硬布線和微程序控制器1_第1頁
chp5-3_硬布線和微程序控制器1_第2頁
chp5-3_硬布線和微程序控制器1_第3頁
chp5-3_硬布線和微程序控制器1_第4頁
chp5-3_硬布線和微程序控制器1_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第五章 中央處理器返回2第五章 中央處理器5.1CPU功能和組成5.2指令周期5.3時序產(chǎn)生器5.4微程序控制器及其設(shè)計5.5硬布線控制器及其設(shè)計5.6傳統(tǒng)CPU5.7流水CPU5.8RISC的CPU5.9多媒體CPU35.6 硬布線控制器硬布線控制器1、實現(xiàn)方法l通過邏輯電路直接連線而產(chǎn)生的,又稱為組合邏輯控制方式2、設(shè)計目標(biāo)l使用最少元件(復(fù)雜的樹形網(wǎng)絡(luò))l速度最高45.6 硬布線控制器硬布線控制器3、邏輯原理 (1)邏輯原理圖lC為微操作控制信號Im為譯碼器輸出,Mi為節(jié)拍電位,Tk為節(jié)拍脈沖,Bj為狀態(tài)條件lC由組合電路實現(xiàn),速度快,但難以修改。(2)指令的執(zhí)行流程l微程序控制器時序

2、信號簡單。只需要若干節(jié)拍脈沖信號即可。l組合邏輯控制器除了節(jié)拍脈沖信號外,還需要節(jié)拍電位信號。),(jkimBTMIfC返回55.6 硬布線控制器硬布線控制器(3)微操作控制信號產(chǎn)生l在硬聯(lián)線控制器中,某一微操作控制信號由布爾代數(shù)表達式描述的輸出函數(shù)產(chǎn)生。l設(shè)計微操作控制信號的方法和過程是,根據(jù)所有機器指令流程圖,尋找出產(chǎn)生同一個微操作信號的所有條件,并與適當(dāng)?shù)墓?jié)拍電位和節(jié)拍脈沖組合,從而寫出其布爾代數(shù)表達式并進行簡化,然后用門電路或可編程器件來實現(xiàn)。 65.6 硬布線控制器硬布線控制器4、設(shè)計步驟(1)畫出指令流程圖 (2)列出微操作時間表l將指令流程圖中的微操作合理地安排到各個機器周期的相

3、應(yīng)節(jié)拍和脈沖中去;l微操作時間表形象地表明:什么時間、根據(jù)什么條件發(fā)出哪些微操作信號。75.6 硬布線控制器硬布線控制器(3)進行微操作信號的綜合l當(dāng)列出所有指令的微操作時間表之后,需要對它們進行綜合分析,把凡是要執(zhí)行某一微操作的所有條件(哪條指令、哪個機器周期、哪個節(jié)拍和脈沖等)都考慮在內(nèi),加以分類組合,列出各微操作產(chǎn)生的邏輯表達式,然后加以簡化,使邏輯表達式更為合理。(4)實現(xiàn)電路 l根據(jù)整理并化簡的邏輯表達式組,可以用一系列組合邏輯電路加以實現(xiàn),加根據(jù)邏輯表達式畫出邏輯電路圖,用邏輯門電路的組合來實現(xiàn)之,也可以直接根據(jù)邏輯表達式,用PLA或其他邏輯電路實現(xiàn)。8 例3根據(jù)圖5.29,寫出以

4、下操作控制信號RD(I)、RD(D)、WE(D)、LDPC、LDIR、LDAR、LDDR、PC+1、LDR2的邏輯表達式。其中每個操作控制信號的含義是:lRD(I)指存讀命令lRD(D)數(shù)存讀命令lWE(D)數(shù)存寫命令lLDPC打入程序計數(shù)器lLDIR打入指令寄存器lLDAR打入數(shù)存地址寄存器lLDDR打入數(shù)據(jù)緩沖寄存器lPC+1程序計數(shù)器加1lLDR2打入R2寄存器9數(shù)據(jù)通路圖數(shù)據(jù)通路圖RD/WRLDDRLDIRLDPCLDARPC+110 圖5.29 硬布線控制器的指令周期流程圖RD(I),LDIR,PC+1, LDPC LDDR,LDR0LDARRD(D)LDDR,LDR1LDDR,LD

5、R2LDARWE(D)LDPC(R1)DR(DR) R0IRARCache(D) DR(DR) R1(R1)+(R2) DR(DR) R2 (R2) Cache(D) Cache(I) IR(PC)+1 PC11進行微操作信號的綜合進行微操作信號的綜合圖5.29中五條指令的微操作控制信號舉例。RD(I) =M1 RD(D) =M3LADWE(D)=M3T3STO PC+1=M1LDPC =M1T4+M2T4JMPLDIR=M1T4 LDAR=M2T4(LAD+STO)LDDR=M2T3(MOV+ADD) +M3T3LADLDR2=M2T4ADDRD(I),LDIR,PC+1, LDPC LDD

6、R,LDR0LDARRD(D)LDDR,LDR1LDARWE(D)LDPCLDDR,LDR2125.4 微程序控制器微程序控制器l發(fā)展l微程序的概念和原理是由英國劍橋大學(xué)的MVWilkes教授于1951年在曼徹斯特大學(xué)計算機會議上首先提出來的,當(dāng)時還沒有合適的存放微程序的控制存儲器的元件。l到1964年,IBM公司在IBM 360系列機上成功地采用了微程序設(shè)計技術(shù)。l20世紀(jì)70年代以來,由于VLSI技術(shù)的發(fā)展,推動了微程序設(shè)計技術(shù)的發(fā)展和應(yīng)用。l目前,從大型機到小型機、微型機都普遍采用了微程序設(shè)計技術(shù)。135.4 微程序控制器微程序控制器l基本思想:仿照解題的方法,把操作控制信號編制成微指令

7、,存放到控制存儲器里,運行時,從控存中取出微指令,產(chǎn)生指令運行所需的操作控制信號。從上述可以看出,微程序設(shè)計技術(shù)是用軟件方法來設(shè)計硬件的技術(shù)。145.4 微程序控制器微程序控制器5.4.1微程序控制原理微程序控制原理 5.4.2微程序設(shè)計技術(shù)15l基本思想l將微操作序列代碼化,存放于控制存儲器中l(wèi)執(zhí)行指令時,依次讀取微指令,產(chǎn)生控制信號指令代碼運行狀態(tài)控制存儲器CM微指令存儲器IR微命令序列5.4 微程序控制器微程序控制器核心!核心!16l基本概念和術(shù)語l微程序與微程序設(shè)計l微指令與微周期l微指令:若干微命令的組合,存放在一個控制存儲器單元中l(wèi)微周期:讀取一條微指令并執(zhí)行所需的時間l微命令與微

8、操作l微命令:構(gòu)成控制信號序列的最小單位l微操作:由微命令控制實現(xiàn)的最基本操作l工作程序與微程序、主存儲器與控制存儲器5.4 微程序控制器微程序控制器175.4.1微程序控制原理 l微命令:控制部件向執(zhí)行部件發(fā)出的各種控制命令叫作微命令,它是構(gòu)成控制序列的最小單位。l例如:打開或關(guān)閉某個控制門的電位信號、某個寄存器的打入脈沖等。l微命令是控制計算機各部件完成某個基本微操作的命令。l微操作:是微命令的操作過程。l微命令和微操作是一一對應(yīng)的。l微命令是微操作的控制信號,微操作是微命令的操作過程。l微操作是執(zhí)行部件中最基本的操作。185.4.1微程序控制原理 由于數(shù)據(jù)通路的結(jié)構(gòu)關(guān)系,微操作可分為相容

9、的和互斥的兩種:l互斥的微操作,是指不能同時或不能在同一個節(jié)拍內(nèi)并行執(zhí)行的微操作??梢跃幋al相容的微操作,是指能夠同時或在同一個節(jié)拍內(nèi)并行執(zhí)行的微操作。必須各占一位1.舉例:見下圖19205.4.1微程序控制原理3、微指令:把在同一CPU周期內(nèi)并行執(zhí)行的微操作控制信息,存儲在控制存儲器里,稱為一條微指令(Microinstruction)。l它是微命令的組合,微指令存儲在控制存儲器的一個單元中l(wèi)一條微指令通常至少包含兩大部分信息:l操作控制字段,又稱微操作碼字段,用以產(chǎn)生某一步操作所需的各個微操作控制信號。某位為1,表明發(fā)微指令微指令發(fā)出的控制信號都是節(jié)拍電位信號,持續(xù)時間為一個CPU周期微命

10、令信號還要引入時間控制l順序控制字段,又稱微地址碼字段,用以控制產(chǎn)生下一條要執(zhí)行的微指令地址。215.4.1微程序控制原理l微指令基本格式測試“操作碼字段”測試“進位標(biāo)志Cy”225.4.1微程序控制原理4、微程序l一系列微指令的有序集合就是微程序。l一段微程序?qū)?yīng)一條機器指令。l下面舉一個十進制加法指令為實例235.4.1微程序控制原理l以十進制加法指令流程l數(shù)據(jù)通路圖l操作流程圖R2-R3245.4.1微程序控制原理l四條微指令如下000 000 000 000 111111000000000取指令操作信號P1判別010 100 100 100 000000010011010存結(jié)果LDR2

11、R1-XR2 - Y+-R325十進制加法指令的微程序十進制加法指令的微程序010 001 001 100 000000100001001存結(jié)果LDR2R2 - XR3 - Y+P2判別Cy=0:0001Cy=1:0000010 001 001 001 000000000000001存結(jié)果LDR2R2 - XR3 - Y-轉(zhuǎn)到取指令的公操作-265.4.1微程序控制原理l控制存儲器(CM)。l這是微程序控制器的核心部件,用來存放微程序。其性能(包括容量、速度、可靠性等)與計算機的性能密切相關(guān)。5、微程序控制器原理275.4.1微程序控制原理l微指令寄存器(IR)l用來存放從CM取出的正在執(zhí)行的

12、微指令,它的位數(shù)同微指令字長相等。l微地址形成部件l用來產(chǎn)生初始微地址和后繼微地址,以保證微指令的連續(xù)執(zhí)行。l微地址寄存器(MAR) l它接受微地址形成部件送來的微地址,為下一步從CM中讀取微指令作準(zhǔn)備。28l微程序控制器的工作過程l取指令周期l轉(zhuǎn)微程序入口l執(zhí)行首條微指令CM取指微指令I(lǐng)R微命令字段譯碼器微命令機器指令I(lǐng)R主存IR操作碼微地址形成電路入口ARIRCMIR微命令字段譯碼器微命令操作部件5.4.1微程序控制原理29l微程序控制器的工作過程l取后續(xù)微指令l執(zhí)行后續(xù)微指令:同3l返回:微程序執(zhí)行完,返回CM微地址字段微地址形成電路后續(xù)微地址ARIRCM后續(xù)微指令現(xiàn)行微地址運行狀態(tài)5.

13、4.1微程序控制原理305.4.1微程序控制原理6、CPU周期和微指令周期的關(guān)系31機器指令與機器指令與微指令的關(guān)系微指令的關(guān)系狀態(tài)信息32 例 設(shè)某計算機運算器框圖如圖所示,其中ALU為16位的加法器(高電平工作),SA,SB為16位暫存器。4個通用寄存器由D觸發(fā)器組成,Q端輸出,其讀、寫控制功能見下表。 寫控制讀控制選擇WA1WA0W選擇RA1RA0R不寫入*0不讀出*0R3111R3111R2011R2011R1101R1101R0001R00013334 機器采用串行微程序控制方式,其微指令周期見上頁圖(b)。其中讀ROM是從控存中讀出一條微指令時間,為1s;ALU工作是加法器做加法運

14、算,為500ns;m1是讀寄存器時間,為500ns;m2是寫寄存器的工作脈沖寬度,為100ns。 微指令字長12位,微指令格式如下:RA0RA1:讀R0-R3的選擇控制 WA0WA1:寫R0-R3的選擇控制R:寄存器讀命令 W:寄存器寫命令 LDSA:打入SA的控制信號 LDSB:打入SB的控制信號 SB-ALU:傳送SB的控制信號 SB-ALU:傳送SB的控制信號,并使加法器最低位加1. Reset:清暫存器SB為零的信號 :一段微程序結(jié)束,轉(zhuǎn)入取機器指令的控制信號RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset35要求:用二進制代碼寫出如下指令的微程序:(1)

15、“ADD R0,R1”指令,即(R0)+(R1)R1(2)“SUB R2,R3”指令,即(R3)-(R2)R3(3)“MOV R2,R3”指令,即(R2)(R3)36先畫出三條指令的微指令的微程先畫出三條指令的微指令的微程序流程圖,如下圖所示。序流程圖,如下圖所示。 l其中未考慮“取指周期”和順序控制問題,也即微程序僅考慮“執(zhí)行周期”,微指令序列的順序用數(shù)字標(biāo)號標(biāo)在每條微指令的右上角。每一框表示一條微指令。l根據(jù)給定的微指令周期時間關(guān)系,完成ADD,SUB指令的執(zhí)行動作需要3條微指令,MOV指令只需2條微指令。用二進制代碼寫出的三條指令的微程序列于下表中,其中*表示代碼隨意設(shè)置(0或1均可)。

16、 R2SA 0SB37 指令 微程序代碼 ADD 00*10100000 01*10010000 *0101001001 SUB 11*10100000 10*10010000 *1101000101 MOV 10*10100010 *1101001001RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUResetR2SA 0SB385.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)一、設(shè)計微指令應(yīng)當(dāng)追求的目標(biāo)l有利于縮短微指令的長度l有利于縮小CM的容量l有利于提高微程序的執(zhí)行速度l有利于對微指令的修改l有利于提高微程序設(shè)計的靈活性395.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)1、微命

17、令的編碼方法編碼有三種方法:直接表示法編碼有三種方法:直接表示法/編碼表示法編碼表示法/混合表示法混合表示法l直接表示法:操作控制字段中的各位分別可以直接控制計算機,不需要進行譯碼。40l直接表示法舉例,操作控制字段的每一個獨立的二進制位代表一個微命令,該位為“1”表示這個微命令有效,為“0”表示這個微命令無效。5.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)后繼微地址判斷條件uA0uA1uA2uA3uA4uA5P0P1P2P3INTSINTCLDIRLDPCM4PC_ADDPC_INCLDIARLDAR1AR1_INCM3LDERIAR_BUS#SW_BUS#RS_BUS#ALU_BUSLRWCEL

18、#WRDLDDR1M1S0S1S2111213141516171819202122232425262728293031323334 微指令格式舉例(TEC_5實驗平臺格式)35TJ41直接表示法特點:l這種方法結(jié)構(gòu)簡單,并行性強,操作速度快,但是微指令字太長,若微命令的總數(shù)為N個,則微指令字的操作控制字段就要有N位。l另外,在N個微命令中,有許多是互斥的,不允許并行操作,將它們安排在一條微指令中是毫無意義的,只會使信息的利用率下降。l最短編碼法:所有微命令統(tǒng)一編碼5.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)422、編碼表示法:將操作控制字段分為若干個小段,每段內(nèi)采用最短編碼法(互斥微命令),段與段

19、之間采用直接控制法(兼容微命令)。5.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)編碼表示法特點:可以避免互斥,使指令字大大縮短,但增加了譯碼電路,使微程序的執(zhí)行速度減慢435.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)3、混合編碼法:將前兩種結(jié)合在一起,兼顧兩者特點。一個字段的某些編碼不能獨立地定義某些微命令,而需要與其他字段的編碼來聯(lián)合定義l設(shè)置解釋位或解釋字段l分類編譯l常數(shù)源字段E的設(shè)置C =解釋位1 A為某類命令0 A為常數(shù)CA微操作控制字段E順序控制字段445.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)l編碼注意幾點:字段編碼法中操作控制字段并非是任意的,必須要遵循如下的原則:把互斥性的微命令分在同一

20、段內(nèi),兼容性的微命令分在不同段內(nèi)。應(yīng)與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。每個小段中包含的信息位不能太多,否則將增加譯碼線路的復(fù)雜性和譯碼時間。一般每個小段還要留出一個狀態(tài),表示本字段不發(fā)出任何微命令。因此當(dāng)某字段的長度為三位時,最多只能表示七個互斥的微命令,通常用000表示不操作。下面舉例說明45123456789順序控制4、5:00 無操作01 R1X10 R2 X11 DR X 6、7:00 無操作01 R3Y10 R2 Y11 R1Y 8、9:00 無操作01 10 11 M 混和表示法1、2、3位為直接表示法4、5 6、7 8、9位為編碼表示法465.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)二、微指令地

21、址的形成l入口地址:每條機器指令對應(yīng)一段微程序,當(dāng)公用的取指微程序從主存中取出機器指令之后,由機器指令的操作碼字段指出各段微程序的入口地址,這是一種多分支(或多路轉(zhuǎn)移)的情況。l后續(xù)微地址的形成方式主要有兩種:計數(shù)器的方式多路轉(zhuǎn)移的方式475.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)1、入口地址形成:如果機器指令操作碼字段的位數(shù)和位置固定,可以直接使操作碼與微程序入口地址的部分位相對應(yīng)。485.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)2、后繼微地址形成方法(1)計數(shù)器的方式l方法:微程序順序執(zhí)行時,其后繼微地址就是現(xiàn)行微地址加上一個增量(通常為1);當(dāng)微程序遇到轉(zhuǎn)移或轉(zhuǎn)子程序時,由微指令的轉(zhuǎn)移地址段來

22、形成轉(zhuǎn)移微地址。在微程序控制器中也有一個微程序計數(shù)器PC,一般情況下都是將微地址寄存器MAR作為PCl特點:優(yōu)點是簡單、易于掌握,編制微程序容易缺點是這種方式不能實現(xiàn)兩路以上的并行微程序轉(zhuǎn)移,因而不利于提高微程序的執(zhí)行速度。495.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)(2)多路轉(zhuǎn)移的方式l根據(jù)條件轉(zhuǎn)移如圖l條件:狀態(tài)條件/測試/微指令中微地址/操作碼50【例例2】微地址寄存器有6位(A5-A0),當(dāng)需要修改其內(nèi)容時,可通過某一位觸發(fā)器的強置端S將其置“1”?,F(xiàn)有三種情況:(1)執(zhí)行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)進行16路分支;(2)執(zhí)行條件轉(zhuǎn)移指令微程序時,按進位標(biāo)

23、志C的狀態(tài)進行2路分支;(3)執(zhí)行控制臺指令微程序時,按IR4,IR5的狀態(tài)進行4路分支。 請按多路轉(zhuǎn)移方法設(shè)計微地址轉(zhuǎn)移邏輯。51 按所給設(shè)計條件,微程序有三種判別測試,分別為P1,P2,P3。 由于修改A5-A0內(nèi)容具有很大靈活性,現(xiàn)分配如下:(1)用P1和IR3-IR0修改A3-A0;(2)用P2和C修改A0;(3)用P3和IR5,IR4修改A5,A4。 另外還要考慮時間因素T4(假設(shè)CPU周期最后一個節(jié)拍脈沖),故轉(zhuǎn)移邏輯表達式如下:A5=P3IR5T4A4=P3IR4T4A3=P1IR3T4A2=P1IR2T4A1=P1IR1T4A0=P1IR0T4+P2CT4 由于從觸發(fā)器強置端修

24、改,故前5個表達式可用“與非”門實現(xiàn),最后一個用“與或非”門實現(xiàn)。 下圖僅畫出了A2、A1、A0觸發(fā)器的微地址轉(zhuǎn)移邏輯圖。52535.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)3、微指令格式分為兩類:水平型微指令和垂直型微指令(1)水平型微指令 l水平型微指令是指一次能定義并能并行執(zhí)行多個微命令的微指令。l格式如下控制字段判別測試字段下地址字段545.4.2 微程序設(shè)計技術(shù)微程序設(shè)計技術(shù)l水平型微指令特點: 優(yōu)點:微指令字較長,速度越快。微指令中的微操作有高度的并行性。微指令譯碼簡單??刂拼鎯ζ鞯目v向容量小,靈活性強。缺點:微指令字比較長,明顯地增加了控制存儲器的橫向容量。水平微指令與機器指令差別很大,一般要熟悉機器結(jié)構(gòu)、數(shù)據(jù)通路、時序

溫馨提示

  • 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

提交評論