控制單元設(shè)計_第1頁
控制單元設(shè)計_第2頁
控制單元設(shè)計_第3頁
控制單元設(shè)計_第4頁
控制單元設(shè)計_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

控制單元設(shè)計第一頁,共一百零八頁,編輯于2023年,星期日10.1硬布線控制器(組合邏輯控制器)組合邏輯線路指令譯碼器節(jié)拍電位/脈沖發(fā)生器微操作控制信號指令寄存器IR結(jié)果反饋信息M1MiT1TkI1ImC1CnB1Bj啟動/停止時鐘/復(fù)位第二頁,共一百零八頁,編輯于2023年,星期日10.1.1硬布線控制器基本原理微操作控制信號的函數(shù)表達(dá)式:

C=?(Im·Mi·Tk·Bj)

例:讀主存信號C3------

(RD)取指令在M1被激活或LDAADDANDM3

C3=M1+M3(LDA+ADD+AND)C3=T2M1+T1M3(LDA+ADD+AND)第三頁,共一百零八頁,編輯于2023年,星期日硬布線控制器基本原理微操作控制信號的函數(shù)表達(dá)式:

??···=immjkinIBTMC)(第四頁,共一百零八頁,編輯于2023年,星期日10.1.2設(shè)計過程列出所有機(jī)器指令的流程圖;找出產(chǎn)生同一微操作控制信號的條件;寫出各微操作控制信號的布爾表達(dá)式;化簡各表達(dá)式;利用電路或門陣列實現(xiàn)。第五頁,共一百零八頁,編輯于2023年,星期日微命令與微操作…打開或者關(guān)閉控制門的控制信號為微命令微命令是控制信號最小,最基本的單位微命令帶來的執(zhí)行部件的動作稱為微操作互斥性微命令相容性微命令第六頁,共一百零八頁,編輯于2023年,星期日圖中相斥性的微操作有:(+、–、M)(4、6、8)(5、7、9)圖中相容性的微操作有:1、2、3(4、6、8)與(5、7、9)兩組中各取一個任意組合ALUCy操作數(shù)X操作數(shù)Y左路開關(guān)選擇R1R2R3DR123468579-M+第七頁,共一百零八頁,編輯于2023年,星期日分析下列CPU中的互斥性控制信號(從數(shù)據(jù)通路和邏輯上考慮)DR→BUSLDIR第八頁,共一百零八頁,編輯于2023年,星期日

2.微操作的節(jié)拍安排采用

同步控制方式CPU內(nèi)部結(jié)構(gòu)采用非總線方式一個

機(jī)器周期

內(nèi)有

3

個節(jié)拍(時鐘周期)C2控制信號

MDRPC

MARIRACCU時鐘ALU………C1C5C9C0C10C3C7C4C6C12C11C8標(biāo)志控制信號第九頁,共一百零八頁,編輯于2023年,星期日

(1).安排微操作時序的原則原則一微操作的先后順序不得隨意更改原則二被控對象不同的微操作盡量安排在一個節(jié)拍內(nèi)完成原則三占用時間較短的微操作盡量安排在一個節(jié)拍內(nèi)完成并允許有先后順序第十頁,共一百零八頁,編輯于2023年,星期日(2).取指周期微操作的節(jié)拍安排PCMARM(MAR)MDRMDRIR(PC)+1PC原則二原則二原則三(3).間址周期微操作的節(jié)拍安排M(MAR)MDRMDRAd(IR)T0T1T2T0T1T21ROP(IR)IDAd(IR)MAR1R第十一頁,共一百零八頁,編輯于2023年,星期日(4).執(zhí)行周期微操作的節(jié)拍安排①CLA②COM

③SHRT0T1T2T0T1T2T0T1T2AC0AC0L(AC)R(AC)0ACACAC第十二頁,共一百零八頁,編輯于2023年,星期日④CSL⑤STP⑥ADDX⑦STAXR(AC)L(AC)AC0ACnT0T1T20GT0T1T2T0T1T2T0T1T2Ad(IR)MARM(MAR)MDR(AC)+(MDR)ACAd(IR)MARACMDRMDRM(MAR)1R1W第十三頁,共一百零八頁,編輯于2023年,星期日⑧LDAX⑨JMPX⑩BANXT0T1T2Ad(IR)MARM(MAR)MDRMDRACT0T1T2T0T1T2Ad(IR)PC1RA0?Ad(IR)+A0?

PCPC第十四頁,共一百零八頁,編輯于2023年,星期日(5).中斷周期微操作的節(jié)拍安排T0T1T20MARPCMDRMDRM(MAR)硬件關(guān)中斷向量地址PC中斷隱指令完成1W第十五頁,共一百零八頁,編輯于2023年,星期日3、組合邏輯設(shè)計步驟(1).列出操作時間表T2T1T0FE取指JMPLDASATADDCOMCLA微操作命令信號狀態(tài)條件節(jié)拍工作周期標(biāo)記PCMAR1RM(MAR)MDR(PC)+1PCMDRIROP(IR)ID1IND1EXII間址特征第十六頁,共一百零八頁,編輯于2023年,星期日

組合邏輯設(shè)計步驟列出操作時間表T2T1T0

IND間址JMPLDASATADDCOMCLA微操作命令信號狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND間址周期標(biāo)志第十七頁,共一百零八頁,編輯于2023年,星期日T2T1T0EX執(zhí)行JMPLDASATADDCOMCLA微操作命令信號狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRACMDR(AC)+(MDR)ACMDRM(MAR)MDRAC0AC組合邏輯設(shè)計步驟列出操作時間表1W第十八頁,共一百零八頁,編輯于2023年,星期日組合邏輯設(shè)計步驟列出操作時間表T2T1T0FE取指JMPLDASATADDCOMCLA微操作命令信號狀態(tài)條件節(jié)拍工作周期標(biāo)記PCMAR1RM(MAR)MDR(PC)+1PCMDRIROP(IR)ID1IND1EXII1111111111111111111111111111111111111111111111第十九頁,共一百零八頁,編輯于2023年,星期日組合邏輯設(shè)計步驟列出操作時間表T2

IND間址T1T0JMPLDASATADDCOMCLA微操作命令信號狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND11111111111111111111第二十頁,共一百零八頁,編輯于2023年,星期日組合邏輯設(shè)計步驟列出操作時間表T2T1T0EX執(zhí)行JMPLDASATADDCOMCLA微操作命令信號狀態(tài)條件節(jié)拍工作周期標(biāo)記Ad(IR)MAR1RM(MAR)MDRACMDR(AC)+(MDR)ACMDRM(MAR)MDRAC0AC1W1111111111111第二十一頁,共一百零八頁,編輯于2023年,星期日(2).寫出微操作命令的最簡表達(dá)式=FE·T1+IND·T1(ADD+STA+LDA+JMP+BAN)+EX·T1(ADD+LDA)M(MAR)MDR=T1{FE+

IND(ADD+STA+LDA+JMP+BAN)+EX(ADD+LDA)}第二十二頁,共一百零八頁,編輯于2023年,星期日(3).畫出邏輯圖特點

思路清晰簡單明了

龐雜調(diào)試?yán)щy修改困難

速度快&&&11&&&&&≥FEINDEXLDAADDJMPBANSTAT1M(MAR)MDR(RISC)&&第二十三頁,共一百零八頁,編輯于2023年,星期日4、硬布線控制器特點組成的網(wǎng)絡(luò)復(fù)雜;無規(guī)則;設(shè)計和調(diào)試?yán)щy;不可改變指令系統(tǒng)和指令功能適用于VLSI速度快第二十四頁,共一百零八頁,編輯于2023年,星期日1.假設(shè)CPU在中斷周期用堆棧保存程序斷點,且進(jìn)棧時棧指針減一,出棧時棧指針加一。試寫出中斷返回指令(中斷服務(wù)程序的最后一條指令),在取指階段和執(zhí)行階段所需的全部微操作命令及節(jié)拍安排。答:組合邏輯設(shè)計的微操作命令:取指:

T0:PC→MART1:M[MAR]→MDR,PC+1→PCT2:MDR→IR,OP[IR]→微操作形成部件

執(zhí)行:T0:SP→MART1:M[MAR]→MDRT2:MDR→PC,SP+1→SP

課堂練習(xí)與思考:第二十五頁,共一百零八頁,編輯于2023年,星期日2.寫出組合邏輯控制器完成STAX(X為主存地址)指令發(fā)出的全部微操作命令及節(jié)拍安排;

T0PC->MAR1->RT1M(MAR)->MDR(PC)+1->PCT2MDR->IROP(IR)->ID

T0Ad(IR)->MAR1->WT1ACC->MDR

T2MDR->M(MAR)

課堂練習(xí)與思考:第二十六頁,共一百零八頁,編輯于2023年,星期日3.?dāng)?shù)M在A寄存器中,數(shù)N在內(nèi)存某單元內(nèi),請寫出實現(xiàn)F=2M-N,并將結(jié)果保存在A寄存器的微操作序列,并加以注解(設(shè)加法器ADDER的兩個輸入來自A、B寄存器)。

答案:實現(xiàn)該功能的微操作序列如下:(1)P0:A←2A;2M送A寄存器(2)P1:B←MBR;取N送B寄存器(3)P2:ADDER←非B,CIN←1;非N+1送加法器P3:ADDER←A,ADD;2M送加法器(4)P4:A←ADDER;2M–N送A寄存器課堂練習(xí)與思考:第二十七頁,共一百零八頁,編輯于2023年,星期日CU采用組合邏輯設(shè)計,因微操作控制信號全部由硬件產(chǎn)生,所以速度快,可用于構(gòu)成高速的RISC機(jī)和巨型機(jī)。它的缺點:(1)邏輯實現(xiàn)復(fù)雜(2)不易擴(kuò)展和修改。采用微程序設(shè)計方法可克服上述缺點。它是利用程序設(shè)計及存儲邏輯的概念,稱為微程序設(shè)計技術(shù)。它解決了設(shè)計的規(guī)整性問題,它將不規(guī)則的微操作命令變成了有規(guī)律的微程序,使控制單元的設(shè)計更科學(xué)合理。存儲邏輯又解決了可修改問題,簡化了控制器的設(shè)計任務(wù),即不易出錯成本又較低;缺點是操作速度比較低。10.2微程序設(shè)計第二十八頁,共一百零八頁,編輯于2023年,星期日10.2.1微程序設(shè)計思想的產(chǎn)生1951英國劍橋大學(xué)教授Wilkes完成一條機(jī)器指令微操作命令1微操作命令2微操作命令

n……微指令110100000微指令n微程序00010010存儲邏輯一條機(jī)器指令對應(yīng)一個微程序……存入

ROM第二十九頁,共一百零八頁,編輯于2023年,星期日1、微程序控制概念一條指令的處理包含許多微操作序列這些操作可以歸結(jié)為信息傳遞、運算將這些操作所需要的控制信號以多條微指令表示執(zhí)行一條微指令就給出一組微操作控制信號執(zhí)行一條指令也就是執(zhí)行一段由多條微指令組成的微程序10.2.1微程序控制的基本原理第三十頁,共一百零八頁,編輯于2023年,星期日程序微指令微程序第三十一頁,共一百零八頁,編輯于2023年,星期日微程序控制器——基本概念程序機(jī)器指令1機(jī)器指令2機(jī)器指令i機(jī)器指令n……..………微指令2微指令1微指令i微指令n……..……..微程序第三十二頁,共一百零八頁,編輯于2023年,星期日

2、微指令基本格式1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

LDLA

LDR1

LDPC

BUS

IR(A)

WE¢

P2

L

R0

LDLB

LDR0

PC+1

LDIR

RD¢

LDAR

LDDR

P1

順序控制

L

R1

L

R2

bus

L

L

bus

bus

BUS

BUS

bus

BUS

ALU

BUS

PC

BUS

DR

DR(D)

BUS

控制字段(微命令字段)

(下地址字段)第三十三頁,共一百零八頁,編輯于2023年,星期日微指令格式…

操作控制字段操作控制字段直接給出多種微操作的控制信號順序控制字段用于控制微程序的執(zhí)行順序包括判斷邏輯字段和直接地址字段

直接地址字段存放下一條微指令的地址判斷邏輯非零,則按約定好的規(guī)則,根據(jù)狀態(tài)修正直接地址字段,從而得到下一條微指令的地址

第三十四頁,共一百零八頁,編輯于2023年,星期日控制字段測試字段下址字段

微指令周期取微指令周期

取指令周期?控制存儲器與主存差異?第三十五頁,共一百零八頁,編輯于2023年,星期日10.2.2微程序控制單元及工作原理1.機(jī)器指令對應(yīng)的微程序M+1MM+2P+1KK+2PP+2K+1…取指周期微程序?qū)?yīng)LDA操作的微程序?qū)?yīng)STA操作的微程序間址周期微程序中斷周期微程序第三十六頁,共一百零八頁,編輯于2023年,星期日2、微程序控制器組成原理框圖控制存儲器地址譯碼微地址寄存器OP地址轉(zhuǎn)移邏輯P字段控制字段微命令信號微命令寄存器指令寄存器IR狀態(tài)條件AR

IR

第三十七頁,共一百零八頁,編輯于2023年,星期日3、取指令微程序取指令取指令的微指令(簡稱取指微指令)地址送μAR,并自動啟動控制存儲器進(jìn)行讀操作,將讀出的微指令送IR,執(zhí)行微指令,讀取指令到IR第三十八頁,共一百零八頁,編輯于2023年,星期日4、執(zhí)行指令微程序執(zhí)行指令:根據(jù)IR中指令的功能,產(chǎn)生該指令微程序入口地址,微程序入口地址送入AR,讀CS,讀出的微指令送IR、(下址字段送AR),控制字段的微命令控制完成一組微操作同時由微地址產(chǎn)生邏輯或微指令下址字段形成下條微指令地址,按取微指令,執(zhí)行微指令過程重復(fù)執(zhí)行完微程序?qū)崿F(xiàn)指令的功能第三十九頁,共一百零八頁,編輯于2023年,星期日5、執(zhí)行指令微程序…

采用微程序控制的計算機(jī)的工作過程是執(zhí)行微指令序列的過程。微指令控制了取指令操作,多條微指令實現(xiàn)了指令的功能。而微指令中的微命令使執(zhí)行部件完成微操作,計算機(jī)的工作過程是執(zhí)行程序的過程,微觀看,是執(zhí)行指令的過程,再微觀一點看,是執(zhí)行部件進(jìn)行微操作的過程第四十頁,共一百零八頁,編輯于2023年,星期日

6、微程序存放示意圖下址字段地址…

1000XXXX0111XXXX0110XXXX0101XXXX0100XXXX0011XXXX0010XXXX0001XXXX0000操作控制字段…

HALT64STA(R1),R0

63JO7562ADDR0,(81)61LADR0,(80)60控制存儲器CS取指微指令加法微程序取數(shù)微程序存數(shù)微程序轉(zhuǎn)移微程序0000000001100000000000110010主存儲

第四十一頁,共一百零八頁,編輯于2023年,星期日十進(jìn)制加法(例)BCD碼4bit表示十進(jìn)制0123456789作加法時必須校驗8+6=148+2=103+6=95+2=78+6+6=20高位進(jìn)位

8+2+6=16>15高位進(jìn)位

3+6+6=15<=15不產(chǎn)生進(jìn)位

5+2+6=13<=15不產(chǎn)生進(jìn)位

第四十二頁,共一百零八頁,編輯于2023年,星期日PC→AR→RAM→DBUS→DR→IRPC+1P1R1+R2→R2R2+R3→R2R2-R3→R2P2Cy=1

Cy=0

R3=6

第四十三頁,共一百零八頁,編輯于2023年,星期日第一條微指令PC→AR→ABUS→DBUS→DR→IRPC+1LDARRDLDDRLDIRPC+1000000000000111111234567891011121314151617101819000020212223RDLDDRLDIRLDARPC+1P1直接地址第四十四頁,共一百零八頁,編輯于2023年,星期日第二條微指令R1→XR2→YX+YX+Y→R2R1→X

R2→Y

+LDR2010100100100000001234567891011121314151617001819100120212223LDR2R1→X+直接地址R2→Y第四十五頁,共一百零八頁,編輯于2023年,星期日010001001100000001234567891011121314151617011819000020212223LDR2R2→XR3→Y+P2直接地址R2→XR3→YX+YX+Y→R2R2→XR3→Y+LDR2第三條微指令第四十六頁,共一百零八頁,編輯于2023年,星期日010001001001000001234567891011121314151617001819000020212223LDR2R2→XR3→Y-P1P2直接地址R2→XR3→YX-YX-Y→R2R2→XR3→Y-LDR2第四條微指令第四十七頁,共一百零八頁,編輯于2023年,星期日機(jī)器指令與微指令的關(guān)系機(jī)器指令對應(yīng)一個微程序,這個微程序由若干微指令組成,一個微指令又包含多個微操作機(jī)器指令與內(nèi)存儲器有關(guān),微指令與控制存儲器有關(guān)每一個CPU周期對應(yīng)一條微指令第四十八頁,共一百零八頁,編輯于2023年,星期日10.2.2微指令設(shè)計有利于縮短微指令字長度有利于減少控制存儲器容量有利于提高微程序執(zhí)行速度有利于對微指令進(jìn)行修改有利于提高微程序設(shè)計的靈活性第四十九頁,共一百零八頁,編輯于2023年,星期日1、微命令編碼直接表示法編碼表示法混合表示法第五十頁,共一百零八頁,編輯于2023年,星期日⑴直接表示方法微指令中每一位代表一個微命令簡單直觀,便于輸出控制,字長太長,控制存儲器容量大

.1234567891011121314151617181920212223操作控制順序控制LDR1LDR2LDR3R1→XR3→YR2→XR2→YDR→XR1→Y+M-RDLDDRLDIRLDARPC+1P1P2直接地址第五十一頁,共一百零八頁,編輯于2023年,星期日⑵編碼表示方法字段直接譯碼法字長短,控制存儲器容量小,增加了譯碼電路

.1234567891011121314151617181920212223操作控制順序控制直接地址譯碼.譯碼.譯碼.微命令P1P2Pn第五十二頁,共一百零八頁,編輯于2023年,星期日3、微地址形成方法計數(shù)器法

PC

下地址字段法第五十三頁,共一百零八頁,編輯于2023年,星期日微程序控制器——設(shè)計技術(shù)⑴計數(shù)器方式:設(shè)置一個微程序計數(shù)器μ

PC,在順序執(zhí)行微指令時,后繼微指令地址由現(xiàn)行微地址加上一個增量來實現(xiàn)。遇到轉(zhuǎn)移時,由微指令給出轉(zhuǎn)移微地址。第五十四頁,共一百零八頁,編輯于2023年,星期日微程序控制器——設(shè)計技術(shù)用計數(shù)器方式實現(xiàn)的微程序控制單元結(jié)構(gòu)μOP轉(zhuǎn)移部分控制存儲器μPC

指令寄存器入口地址及轉(zhuǎn)移地址產(chǎn)生器條件碼

狀態(tài)標(biāo)志

第五十五頁,共一百零八頁,編輯于2023年,星期日微程序地址字段格式的設(shè)計第一種方式:將微指令的地址字段(順序控制字段)分成兩部分:轉(zhuǎn)移控制字段BCF和轉(zhuǎn)移地址字段BAF。

μOPBAFBCF

其中轉(zhuǎn)移地址字段給出轉(zhuǎn)移用部分微地址,轉(zhuǎn)移控制字段用于規(guī)定后繼微地址是順序執(zhí)行還是非順序執(zhí)行。第五十六頁,共一百零八頁,編輯于2023年,星期日微程序控制器——設(shè)計技術(shù)返回地址寄存器μOPBAFBCF控制存儲器μPC譯碼器轉(zhuǎn)移控制網(wǎng)絡(luò)1∧&○1置初值返回地址BAF指令OP+1+1條件滿足外部條件BCF=101第五十七頁,共一百零八頁,編輯于2023年,星期日微程序控制器——設(shè)計技術(shù)BCF=000,順序執(zhí)行微指令,后繼微地址為μPC+1。BCF=001,機(jī)器指令操作碼產(chǎn)生后繼微地址的微命令,后繼微地址由OP變換后產(chǎn)生。BCF=010,無條件轉(zhuǎn)移微指令,將BAF送μPC。BCF=011,條件轉(zhuǎn)移微指令,后繼微指令地址由轉(zhuǎn)移條件的測試結(jié)果確定。BCF=100,測試循環(huán)微指令,后繼微地址由測試循環(huán)條件確定。BCF=101,轉(zhuǎn)微子程序微命令,后繼微地址即微子程序入口微地址由μPC與BAF字段組合形成。BCF=110,返回微命令。第五十八頁,共一百零八頁,編輯于2023年,星期日微程序地址字段格式的設(shè)計第二種方式:在微指令格式中,將微操作控制字段和轉(zhuǎn)移地址字段重疊使用。如果順序執(zhí)行微指令,該微指令只有微操作控制字段和轉(zhuǎn)移控制字段,沒有轉(zhuǎn)移地址字段,下一條微指令地址由μPC+1來確定;如果是轉(zhuǎn)移微指令,因為該位置不執(zhí)行任何微操作,只是改變微程序的流程,所以可以用微操作控制字段給出下一條要執(zhí)行的微指令地址,并把微地址放在μPC中。第五十九頁,共一百零八頁,編輯于2023年,星期日微程序控制器——設(shè)計技術(shù)計數(shù)器方式的優(yōu)點是微指令字較短,便于編寫微程序,后繼微地址產(chǎn)生機(jī)構(gòu)比較簡單;缺點是執(zhí)行速度低,原因是計數(shù)器方式不易直接實現(xiàn)對應(yīng)于各個測試條件的多路轉(zhuǎn)移,而微程序的主要特點是存在大量的分支。第六十頁,共一百零八頁,編輯于2023年,星期日微程序控制器——設(shè)計技術(shù)⑵斷定方式(下址字段法)所謂斷定方式是指后繼微指令地址可由設(shè)計者指定或由設(shè)計者指定的測試判斷字段控制生產(chǎn)。在這種方式中,當(dāng)微程序不產(chǎn)生分支時,后繼微指令地址直接由微指令的順序控制字段給出;當(dāng)微程序出現(xiàn)分支時,按順序控制字段給出的測試判別字段和狀態(tài)條件來形成后繼微地址。這種方式因為要在微指令格式中設(shè)置一個字段用來指明下一條要執(zhí)行的微指令地址,所以也稱為下址字段法。第六十一頁,共一百零八頁,編輯于2023年,星期日微程序控制器——設(shè)計技術(shù)用斷定方式實現(xiàn)的微程序控制單元結(jié)構(gòu)指令寄存器IRPLA微地址修改邏輯+控制存儲器μAR下址μIR測試條件碼狀態(tài)標(biāo)志第六十二頁,共一百零八頁,編輯于2023年,星期日微程序控制器——設(shè)計技術(shù)μOP測試判別下址2400下址01按地址轉(zhuǎn)移10按Z轉(zhuǎn)移11空如:采用斷定方式的微指令格式如下:第六十三頁,共一百零八頁,編輯于2023年,星期日微地址微命令測試下址0000A0000010001B0000100010C0101000011E1010100100D0000110101H0010000110L0010010111P0010011000I0010111001M0011101010F0011001011J0011011100G0000001101K0000001110N0011111111O000000第六十四頁,共一百零八頁,編輯于2023年,星期日4、微指令格式水平型微指令(一次能并行多個微操作的指令)

控制字段判別測試字段下地址字段000原寄存器目的寄存器其他001左輸入源編址右輸入源編址ALU010寄存器編址存儲器編址讀寫其他011測試條件垂直型微指令寄存器數(shù)據(jù)傳送型運算控制型訪問主存型條件轉(zhuǎn)移型第六十五頁,共一百零八頁,編輯于2023年,星期日微程序控制器——設(shè)計技術(shù)⑴水平型微指令:一次能定義并執(zhí)行多個并行操作微命令的微指令,叫做水平型微指令?;咎卣鳎何⒅噶钭州^長一條微指令能控制數(shù)據(jù)通路中多個功能部件并行操作。微命令的編碼簡單,盡可能使微命令與控制門之間具有直接對應(yīng)關(guān)系。格式如下:控制字段判別測試字段下地址字段第六十六頁,共一百零八頁,編輯于2023年,星期日微程序控制器——設(shè)計技術(shù)⑵垂直型微指令:在微指令中設(shè)置微操作碼字段,采用為操作碼編譯法,由操作碼規(guī)定為微指令的功能,在一條微指令中只有一、兩個微操作命令稱為垂直型微指令?;咎卣鳎何⒅噶钭侄?。微指令的并行操作能力有限,一條微指令只能控制數(shù)據(jù)通路中的一、兩個信息傳送。微指令編碼比較復(fù)雜,全部微命令組成一個微操作碼字段,經(jīng)過完全譯碼,微指令的各個二進(jìn)制位與數(shù)據(jù)通路的各個控制點之間完全不存在直接對應(yīng)關(guān)系。第六十七頁,共一百零八頁,編輯于2023年,星期日5、水平型與垂直型微指令比較水平型微指令并行操作能力強(qiáng),效率高,靈活性強(qiáng)水平型微指令執(zhí)行一條指令的時間短由水平型微指令指令的微程序,有微指令字較長,微程序短,垂直型號字長短,微程序長。水平型不便于用戶掌握,垂直型與指令相似,易于掌握。第六十八頁,共一百零八頁,編輯于2023年,星期日微程序控制器特點設(shè)計規(guī)整,設(shè)計效率高易于修改、擴(kuò)展指令系統(tǒng)功能;結(jié)構(gòu)規(guī)整、簡潔,可靠性高;速度慢訪存頻繁執(zhí)行效率不高用于速度要求不高、功能較復(fù)雜的機(jī)器中。特別適用于系列機(jī)

第六十九頁,共一百零八頁,編輯于2023年,星期日硬布線與微程序控制器比較硬布線控制器執(zhí)行速度快微程序控制器每條微指令都需要從控制存儲器中讀取一次,大大影響了速度,硬布線控制取決于電路延遲。硬布線控制器設(shè)計復(fù)雜,代價昂貴微程序控制器設(shè)計簡單,便于維護(hù)修改

第七十頁,共一百零八頁,編輯于2023年,星期日(例)某機(jī)有8條微指令I(lǐng)1-I8,每條微指令所包含的微命令控制信號如下表所示。

a-j分別對應(yīng)10種不同性質(zhì)的微命令信號。假設(shè)一條微指令的控制字段為8位,請安排微指令的控制字段格式。

第七十一頁,共一百零八頁,編輯于2023年,星期日解:分析表格,(e,f,h)和(b,i,j)對于任何一條微指令,都是相斥性微操作,即不可能在同一個CPU周期中同時發(fā)生這些操作,因此可分別組成兩個小組或兩個字段,然后進(jìn)行譯碼產(chǎn)生這六個微命令信號。剩下的a,c,d,g四個微命令信號可進(jìn)行直接控制,其整個微指令控制字段組成如下:

第七十二頁,共一百零八頁,編輯于2023年,星期日10.3微程序控制器單元設(shè)計舉例設(shè)計一個微程序控制器,主要用微程序設(shè)計的方法來設(shè)計其微操作序列形成部件。一般可歸納為下列四個步驟:①擬定各條機(jī)器指令的操作流程圖,寫出其微操作序列;②根據(jù)全機(jī)的微操作序列選用微指令的編碼設(shè)計方案;③根據(jù)各條機(jī)器指令的功能編制出相應(yīng)的微程序;④把已編好調(diào)試好的微程序?qū)懭胍粋€可高速讀出的只讀存儲器中。我們還是以前模型機(jī)的千條指令為例,來說明微程序控制器的設(shè)計過程。1.列出各條機(jī)器指令的微操作序列根據(jù)指令流程,列出各條機(jī)器指令的微操作序列如下:(1)清除累加器指令CLA的微操作序列(PC)→AR:指令地址送地址寄存器。(PC)→BUS,BUS→MAR(AR)→ABUS,RD:指令地址送地址總線,并發(fā)讀命令。

第七十三頁,共一百零八頁,編輯于2023年,星期日

MAR→ABUS,RDDBUS→MDR,(PC)+1→PC:讀出指令以數(shù)據(jù)總線送數(shù)據(jù)寄存器,程序計數(shù)器加1送PC。(MDR)→IR→ID:讀出指令送指令寄存器并譯碼OP→μAR:操作碼經(jīng)微指令地址形成部件送微地址寄存器。O→AC:“0”送累加器,即清除累加器。(2)加法指令A(yù)DD的微操作序列(PC)→MAR:同前(MAR)→ABUS,RD:同前DBUS→MDR,(PC)+1→PC:同前(DR)→IR→ID:同前OP→μAR:同前IR(ADDR)→MAR:指令中操作數(shù)地址送地址寄存器。這里采用直接地址。(MAR)→ABUS,RD:操作數(shù)地址送地址總線,并發(fā)讀命令。DBUS→MDR:讀出的操作數(shù)送數(shù)據(jù)寄存器。(MDR)→ALU:讀出的操作數(shù)送算/邏部件。(AC)→ALU:累加器中的數(shù)送算/邏部件。

第七十四頁,共一百零八頁,編輯于2023年,星期日ADD:加法命令。HALT(V=1):回溢出位V=1時,停機(jī)。ALU→AC(V=0):當(dāng)溢出位V=0時,運算結(jié)果送累加器。(3)送存累加器指令STA(即將AC中的內(nèi)容按指令中給出的操作數(shù)地址存入存儲器)的微操作序列。(PC)→MAR:同前PC→BUS,BUS→MAR(MAR)→ABUS,RD:DBUS→MDR,(PC)+1→PC(MDR)→IR→IDOP→μARIR(ADDR)→MAR:同前,采用直接地址(MAR)→ABUS:存放操作數(shù)的地址送地址總線。(AC)→MDR:累加器中的結(jié)果送數(shù)據(jù)寄存器。(MDR)→DBUS,WE:結(jié)果送數(shù)據(jù)總線,發(fā)寫命令。(4)無條件轉(zhuǎn)移指令JMP的微操作序列。(PC)→AR:同前PC→BUS,BUS→MAR

第七十五頁,共一百零八頁,編輯于2023年,星期日(MAR)→ABUS,RD:同前DBUS→MDR,(PC)+1→PC:同前(MDR)→IR→ID:同前OP→μAR:同前IR(ADDR)→PC,IR(ADDR)→MAR:指令中操作數(shù)地址(此處是直接轉(zhuǎn)移地址)同時送PC和AR。2.進(jìn)行微指令的編碼設(shè)計(1)直接編碼法上面四條指令共有19個微操作信號,因此,可以采用直接編碼的方法來安排微指令,如下圖10-10所示。直接編碼法微指令的每位代表一個微命令,不要譯碼,故稱為譯法。其優(yōu)點是簡單、直觀、輸出可直接用于控制,又叫直接控制方式。這種方式在任何一個微周期內(nèi),一條微指令可以定義并執(zhí)行多個并行的微命令,故又稱為水平型微指令。但當(dāng)微命令增多時,會導(dǎo)致微指令字加長,使控制存儲器的容量加大。故只適用于微命令數(shù)量不多的機(jī)器。由于本設(shè)計例子微命令較少,選用直接控制法。第七十六頁,共一百零八頁,編輯于2023年,星期日微命令編碼設(shè)計表10—0模型機(jī)微命令編碼4位 4位 2位 2位 3位 4位 3位 2位 2位0:NOP 0:NOP 0:NOP 0:NOP 0:NOP 0:NOP 0:NOP 0:NOP 0:NOP1:AX→IB 1:AXin 1:DR→DB1:AR→AB1:ADD1:SAL 1:INC 1:+2SI1:+2DI2:BX→IB 2:BXin 2:DB→DR2:ARin 2:ADC 2:SAR 2:DEC 2:-2SI 2:-2DI3:CX→IB3:CXin 3:SUB 3:SHR 3:NEG4:DX→IB 4:DXin 4:SUBB4:ROL 4:NOT5:SI→IB 5:SIin 5:AND 5:ROR6:DI→IB 6:DIin 6:OR 6:RCL7:BP→IB 7:BPin 7:XOR 7:RCR8:SP→IB 8:SPin 8:0→T9:S→IB 9:SinA:T→IB A:TinB:PC→IBB:PCinC:PSW→IBC:PSWinD:DR→IBD:DRin E:IRin9:DI8:SI7:S6:T5:ALU4:AR3:DR2:XXin1:XX→1B第七十七頁,共一百零八頁,編輯于2023年,星期日微指令格式第七十八頁,共一百零八頁,編輯于2023年,星期日(2)微地址的設(shè)計①直接下地址這是順序執(zhí)行微指令的最有效的辦法之一,即在微指令中用若干位來作為下址字段,當(dāng)本條微指令被取出執(zhí)行時,它的下址字段將指出下一條要執(zhí)行的微指令的地址。②微指令計數(shù)器增量簡稱增量方式。由于微地址的增量為1,故用一個微程序計數(shù)器μPC來作增量器。這種方式可節(jié)省控制存儲器空間,但其執(zhí)行速度慢,靈活性差,只能實現(xiàn)單分支轉(zhuǎn)移,其多路并行轉(zhuǎn)移的功能差。由于本例微指令占用的控制存儲器的空間不大所以采用直接下地址域的方法。

第七十九頁,共一百零八頁,編輯于2023年,星期日模型機(jī)微指令次地址字段設(shè)計模型機(jī)微程序需占控存單元約為512個字節(jié),故次地址字段NA應(yīng)當(dāng)為9位,微程序空間分配大致如表10-0所示表10—0模型機(jī)微程序地址空間分配微程序功能地址分配(八進(jìn)制)取指令000~003CLA指令執(zhí)行004~005ADD指令執(zhí)行006,011~014STA指令執(zhí)行007,015~016JMP指令執(zhí)行010第八十頁,共一百零八頁,編輯于2023年,星期日3.微程序的編制在解決了后續(xù)微指令地址形成之后,便可進(jìn)行微程序設(shè)計。由于模型機(jī)僅用了4條機(jī)器指令,采用直接尋址時只要19個微命令,共有15條微指令。因此,采用25位字長的直接編碼微指令,其中第0-18位為微操作命令字段,第19-23位為直接下址字段;第24位為測試位,該位為0,表示后繼微地址由下址字段產(chǎn)生。該位為1時,表示程序轉(zhuǎn)移,后繼微地址經(jīng)“狀態(tài)條件”測試后,由微地址形成部件產(chǎn)生,當(dāng)操作碼出現(xiàn)時,機(jī)器指令執(zhí)行段微程序入口地址由操作碼產(chǎn)生。模型機(jī)幾條指令的微程序如下表所示。

第八十一頁,共一百零八頁,編輯于2023年,星期日第八十二頁,共一百零八頁,編輯于2023年,星期日4.微程序裝入控制存儲器當(dāng)上表所示的微程序編好之后,經(jīng)檢測、調(diào)試無誤后,即可寫入高速讀出的只讀存儲器ROM中,得到所需的微程序控制器。為了使讀者對微程序控制器有較深刻的理解,下圖10-11畫出了模型機(jī)微程序控制器簡框圖。圖中打圓點的地方,表示有微操作命令輸出。即表示該微地址被選中后與信號輸出線上跨接上一個導(dǎo)通的二極管。其工作過程與表所示微程序一一對應(yīng)。第八十三頁,共一百零八頁,編輯于2023年,星期日第八十四頁,共一百零八頁,編輯于2023年,星期日10.4典型CPU--奔騰CPU結(jié)構(gòu)框圖

第八十五頁,共一百零八頁,編輯于2023年,星期日1.奔騰CPU的結(jié)構(gòu)框圖(1)超標(biāo)量流水線

超標(biāo)量流水線是pentium系統(tǒng)結(jié)構(gòu)的核心。它由U和V兩條指令流水線構(gòu)成,每條流水線都有自已的ALU、地址生成電路、與數(shù)據(jù)cache的接口。兩個指令預(yù)取緩沖器,每個都是32字節(jié),負(fù)責(zé)由指令cache或主存取指令并放入其中。(2)指令cache和數(shù)據(jù)cache奔騰CPU則分設(shè)指令cache和數(shù)據(jù)cache,各8KB。指令cache是只讀的,以單端口256位(32B)向指令預(yù)取緩沖器提供超長指令字代碼。數(shù)據(jù)cache是可讀可寫的,雙端口,(3)浮點運算部件奔騰CPU內(nèi)部包含了一個8段的流水浮點運算器。(4)動態(tài)轉(zhuǎn)移預(yù)測技術(shù)執(zhí)行轉(zhuǎn)移指令時為了不使流水線斷流,

第八十六頁,共一百零八頁,編輯于2023年,星期日

2.Pentium的技術(shù)性能Pentium是Intel公司生產(chǎn)的超標(biāo)量流水處理器,CPU內(nèi)部的主要寄存器寬度為32位,故認(rèn)為它是一個32位微處理器。但它通向存儲器的外部數(shù)據(jù)總線寬度為64位,每次總線操作可以同時傳輸8個字節(jié)。

Pentium具有非固定長度的指令格式,9種尋址方式,191條指令,但是在每個時鐘周期又能執(zhí)行兩條指令(超標(biāo)量流水線)。因此它具有CISC和RlSC兩者的特性,不過具有的CISC特性更多一些,因此被看成為一個CISC結(jié)構(gòu)的處理器。以CISC結(jié)構(gòu)實現(xiàn)超標(biāo)量流水線,并有BTB(轉(zhuǎn)移目標(biāo)緩沖器)方式的轉(zhuǎn)移預(yù)測能力,堪稱為當(dāng)代CISC機(jī)器的經(jīng)典之作。

第八十七頁,共一百零八頁,編輯于2023年,星期日主要技術(shù)

1.超標(biāo)量流水線,由U、V兩條指令流水線構(gòu)成;

2.獨立指令Cache和數(shù)據(jù)Cache,采用2路組相聯(lián)結(jié)構(gòu);

3.流水浮點運算部件,采用8段子過程結(jié)構(gòu)。前4段為指令預(yù)?。≒F)、指令譯碼(DI)、地址生成(D2)、取操作數(shù)(EX),在U、V流水線中完成;后4段為執(zhí)行1(X1)、執(zhí)行2(X2)、

結(jié)果寫回寄存器對(WF)、錯誤報告(ER),在浮點運算部件中完成;

4.動態(tài)轉(zhuǎn)移預(yù)測技術(shù)第八十八頁,共一百零八頁,編輯于2023年,星期日PentiumCPU

Pentium是Intel公司生產(chǎn)的超標(biāo)量流水處理器,早期使用5V工作電壓,后期使用3.3V工作電壓。CPU的主頻是片外主總線時鐘頻率(60MHz或66MHz)的倍頻,有120,166,200MHz等多種。

CPU內(nèi)部的主要寄存器寬度為32位,故認(rèn)為它是一個32位微處理器。但它通向存儲器的外部數(shù)總線寬度為64位,每次總線操作可以同時傳輸8個字節(jié)。以主總線(存儲器總線)時鐘頻率66MHz計算,64位數(shù)據(jù)總線可使CPU與主存的數(shù)據(jù)交換速率達(dá)到528MB/s。CPU支持多種類型的總線周期,其中一種稱猝發(fā)模式,在此模式下,可在一個總線周期內(nèi)讀出或與入256位(32字節(jié))的數(shù)據(jù)。第八十九頁,共一百零八頁,編輯于2023年,星期日CPU外部地址總線寬度是36位,但一般使用32位寬,故物理地址空間為4096MB(4GB)。虛擬地址空間為64TB,分頁模式除支持4KB頁面外(與486相同),還支持2MB和4MB頁面。其中2MB頁面的分頁模式必須使用36位地址總線。CPU內(nèi)部分別設(shè)置指令cache和數(shù)據(jù)cache,外部還可接L2cache。CPU采用U,V兩條指令流水線,能在一個時鐘周期內(nèi)發(fā)射兩條簡單的整數(shù)指令,也可發(fā)射一條浮點指令。操作控制器采用硬布線控制和微程序控制相結(jié)合的方式。大多數(shù)簡單指令用硬布線控制實現(xiàn),在一個時鐘周期內(nèi)執(zhí)行完畢。對微程序?qū)崿F(xiàn)的指令,也在2—3個時鐘周期內(nèi)執(zhí)行完畢。第九十頁,共一百零八頁,編輯于2023年,星期日

Pentium具有非固定長度的指令格式,9種尋址方式,191條指令,但是在每個時鐘周期又能執(zhí)行兩條指令。因此它具有CISC和RlSC兩者的特性,不過具有的CISC特性更多一些,因此被看成為一個CISC結(jié)構(gòu)的處理器。以CISC結(jié)構(gòu)實現(xiàn)超標(biāo)量流水線,并有BTB方式的轉(zhuǎn)移預(yù)測能力。第九十一頁,共一百零八頁,編輯于2023年,星期日1、參見圖5.15的數(shù)據(jù)通路。畫出存數(shù)指令“STAR1,(R2)”的指令周期流程圖,其含義是將寄存器R1的內(nèi)容傳送至(R2)為地址的主存單元中。標(biāo)出個為操作信號序列。課堂練習(xí)與思考:第九十二頁,共一百零八頁,編輯于2023年,星期日PC→ARM→DRDR→IRR2→ARR1→DRDR→M~PC0,G,ARiDR0,G,IRiR20,G,ARiR10,G,DRiR/W=W

R/W=R第九十三頁,共一百零八頁,編輯于2023年,星期日2、參見圖的數(shù)據(jù)通路,畫出取數(shù)指令“LDA(R3),R0”的指令周期流程圖,其含義是將(R3)為地址主存單元的內(nèi)容取至寄存器R0中。標(biāo)出個為操作信號序列。課堂練習(xí)與思考:第九十四頁,共一百零八頁,編輯于2023年,星期日~PC→ARM→DRDR→IRR3→ARM→DRDR→R0PC0,G,ARiDR0,G,IRiR30,G,ARiDR0,G,R0IR/W=R

R/W=R第九十五頁,共一百零八頁,編輯于2023年,星期日第十章控制單元的組成原理小結(jié)1.CU的組合邏輯設(shè)計(1)設(shè)計方法①微操作控制信號的綜合化簡②邏輯實現(xiàn)(2)組合邏輯CU的框圖2.微程序設(shè)計(1)微程序控制原理①基本概念②微程序計算機(jī)的結(jié)構(gòu)和控制

(2)微指令設(shè)計追求的目標(biāo)

(1)有利于縮短微指令字長度;

(2)有利于減小控制存儲器的容量;

(3)有利于提高微程序的執(zhí)行速度;

(4)有利于對微指令的修改;

(5)有利于微程序設(shè)計的靈活性第九十六頁,共一百零八頁,編輯于2023年,星期日3.微程序設(shè)計技術(shù)(1)微指令結(jié)構(gòu)1)微命令編碼

①直接表示法優(yōu)點:簡單、直觀、可直接用語控制速度快。

缺點:微指令字長,增加控存容量。

②編碼表示法優(yōu)點:微指令字短,減小了控存容量。

缺點:需增加譯碼電路,執(zhí)行速度減慢。

③混合表示法綜合考慮

2)微地址形成的方法

①計數(shù)器方式

②多路轉(zhuǎn)移方式(斷定方式)3)微指令的執(zhí)行方式及時序控制

4.微程序控制單元的設(shè)計舉例1)列出各條機(jī)器指令的微操作序列2)進(jìn)行微指令的編碼設(shè)計3)微程序的編制4)微程序裝入控制存儲器

第九十七頁,共一百零八頁,編輯于2023年,星期日本章結(jié)束:本課程結(jié)束!第九十八頁,共一百零八頁,編輯于2023年,星期日第十章測試題一、選擇題:

1.以下敘述中正確描述的句子是:______。

A同一個CPU周期中,可以并行執(zhí)行的微操作叫相容性微操作

B同一個CPU周期中,不可以并行執(zhí)行的微操作叫相容性微操作

C同一個CPU周期中,可以并行執(zhí)行的微操作叫相斥性微操作

D同一個CPU周期中,不可以并行執(zhí)行的微操作叫相斥性微操作2.存放微程序的存儲器稱為______。

A高速緩沖存儲器B控制存儲器

C.虛擬存儲器D主存儲器

3.一般機(jī)器周期的時間是根據(jù)_______來規(guī)定的。

A主存中讀取一個指令字的最短時間

B主存中讀取一個數(shù)據(jù)字的最長時間

C主存中寫入一個數(shù)據(jù)字的平均時間

D主存中讀取一個數(shù)據(jù)字的平均時間

第九十九頁,共一百零八頁,編輯于2023年,星期日二、填空題:

1.微程序設(shè)計技術(shù)是利用.______方法設(shè)計.______的一門技術(shù)。具有規(guī)整性、可維護(hù)性、______等一系列優(yōu)點。

2.硬布線器的設(shè)計方法是:先畫出______流程圖,再利用______寫出綜合邏輯表達(dá)式,然后用______等器件實現(xiàn)。第一百頁,共一百零八頁,編輯于2023年,星期日第十章自測題答案

一、1.A,D2.B3.A

二、1.軟件操作控制靈活性

2.指令周期布爾代數(shù)門電路和觸發(fā)器

第一百零一頁,共一百零八頁,編輯于2023年,星期日1.奔騰CPU的結(jié)構(gòu)框圖(1)超標(biāo)量流水線

超標(biāo)量流水線是pentium系統(tǒng)結(jié)構(gòu)的核心。它由U和V兩條指令流水線構(gòu)成,每條流水線都有自已的A

溫馨提示

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

評論

0/150

提交評論