第10章控制單元設(shè)計(jì)_第1頁(yè)
第10章控制單元設(shè)計(jì)_第2頁(yè)
第10章控制單元設(shè)計(jì)_第3頁(yè)
第10章控制單元設(shè)計(jì)_第4頁(yè)
第10章控制單元設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩104頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第十章第十章 控制單元設(shè)計(jì)控制單元設(shè)計(jì)張向東計(jì)算機(jī)科學(xué)與技術(shù)系10.1 硬布線控制器(組合邏輯控制器)組合邏輯線路指令 譯碼 器節(jié)拍電位/脈沖發(fā)生器微操作控制信號(hào)指令寄存器IR結(jié)果反饋信息M1MiT1TkI1ImC1CnB1Bj啟動(dòng)/停止 時(shí)鐘/復(fù)位邏輯網(wǎng)絡(luò)邏輯網(wǎng)絡(luò)N的輸出信號(hào)的輸出信號(hào)就是微就是微操作控制信號(hào),它用來(lái)對(duì)執(zhí)行操作控制信號(hào),它用來(lái)對(duì)執(zhí)行部件進(jìn)行控制。部件進(jìn)行控制。 來(lái)自執(zhí)行部件的來(lái)自執(zhí)行部件的反饋信息反饋信息Bj 來(lái)自指令操作碼來(lái)自指令操作碼(OP)譯碼器的)譯碼器的輸出輸出Im; 來(lái)自時(shí)序產(chǎn)生器的來(lái)自時(shí)序產(chǎn)生器的時(shí)序信號(hào),包括節(jié)時(shí)序信號(hào),包括節(jié)拍電位信號(hào)拍電位信號(hào)M和節(jié)和節(jié)拍脈

2、沖信號(hào)拍脈沖信號(hào)T 10.1.1 硬布線控制器基本原理微操作控制信號(hào)的函數(shù)表達(dá)式: C=C=(I (ImmMMi iTTk kBBj j) ) 例:讀主存信號(hào)C3 - (RD) 取指令在M1被激活 或LDA ADD AND M3 C3=MC3=M1 1+M+M3 3(LDA+ADD+ANDLDA+ADD+AND) C3=TC3=T2 2MM1 1+T+T1 1MM3 3(LDA+ADD+ANDLDA+ADD+AND)硬布線控制器基本原理微操作控制信號(hào)的函數(shù)表達(dá)式: =immjkinIBTMC)(10.1.2 設(shè)計(jì)過(guò)程1、列出所有機(jī)器指令的流程圖;2、確定指令周期的組成3、安排微操作的節(jié)拍,并建

3、立指令系統(tǒng)的微操作清單4、列出指令的微操作序列表5、寫(xiě)出各微操作控制信號(hào)的布爾表達(dá)式; 化簡(jiǎn)各表達(dá)式; 6、利用電路或門(mén)陣列實(shí)現(xiàn)。 1、 實(shí)例機(jī)的指令系統(tǒng)指指 令令 符符功功 能能操作碼操作碼指令類型指令類型匯匯 編編 記記 憶憶 碼碼ADD加法加法0001 1地址指令地址指令A(yù)DD addressADD addressSUBTRACT減法減法0011 1地址指令地址指令SUBTRACT addressSUBTRACT addressSTORE存儲(chǔ)存儲(chǔ)0101 1地址指令地址指令STORE addressSTORE addressLOAD讀出讀出0111 1地址指令地址指令LOAD addre

4、ssLOAD addressBRANCH條件轉(zhuǎn)移條件轉(zhuǎn)移1001 1地址指令地址指令BRANCH addressBRANCH addressCALL轉(zhuǎn)子轉(zhuǎn)子1011 1地址指令地址指令CALL addressCALL addressCLEAR清累加器清累加器1110000地址指令地址指令CLEARCLEARRETURN子程序返回子程序返回1110010地址指令地址指令RETURNRETURNSHIFTR右移右移1111011 1地址指令地址指令SHIFTR counterSHIFTR counterSHIFTL左移左移1111101 1地址指令地址指令SHIFTL counterSHIFTL

5、counter1 1五條指令的實(shí)現(xiàn)五條指令的實(shí)現(xiàn)指令流控制的實(shí)現(xiàn)指令流控制的實(shí)現(xiàn)時(shí)間不確定指令的實(shí)現(xiàn)時(shí)間不確定指令的實(shí)現(xiàn)組合邏輯控制器設(shè)計(jì)與實(shí)現(xiàn) 2、 指令周期的組成指令周期的組成CLKT0T1T2T3時(shí)鐘周期時(shí)鐘周期機(jī)器周期機(jī)器周期機(jī)器周期機(jī)器周期T0T1T2T3T0T1T2T3 3.3.微操作的節(jié)拍安排微操作的節(jié)拍安排采用采用 同步控制方式同步控制方式CPU CPU 內(nèi)部結(jié)構(gòu)采用非總線方式內(nèi)部結(jié)構(gòu)采用非總線方式一個(gè)一個(gè) 機(jī)器周期機(jī)器周期 內(nèi)有內(nèi)有 3 3 個(gè)節(jié)拍(時(shí)鐘周期)個(gè)節(jié)拍(時(shí)鐘周期)控制信號(hào)控制信號(hào)C C2 2 M M D D R RPCPC M M A A R RIRIRACAC

6、CUCU時(shí)鐘時(shí)鐘ALUALUC C1 1C C5 5C C9 9C C0 0C C1010C C3 3C C7 7C C4 4C C6 6C C1212C C1111C C8 8標(biāo)志標(biāo)志控制控制信號(hào)信號(hào) (1). (1). 安排微操作時(shí)序的原則安排微操作時(shí)序的原則原則一原則一 微操作的微操作的 先后順序不得先后順序不得 隨意隨意 更改更改原則二原則二 被控對(duì)象不同被控對(duì)象不同 的微操作的微操作 盡量安排在盡量安排在 一個(gè)節(jié)拍一個(gè)節(jié)拍 內(nèi)完成內(nèi)完成原則三原則三 占用占用 時(shí)間較短時(shí)間較短 的微操作的微操作 盡量盡量 安排在安排在 一個(gè)節(jié)拍一個(gè)節(jié)拍 內(nèi)完成內(nèi)完成 并允許有先后順序并允許有先后順序(

7、2). (2). 取指周期取指周期 微操作的微操作的 節(jié)拍安排節(jié)拍安排PC MARPC MARM ( MAR ) MDRM ( MAR ) MDRMDR IRMDR IR( PC ) + 1 PC( PC ) + 1 PC原則二原則二原則二原則二原則三原則三(3). (3). 間址周期間址周期 微操作的微操作的 節(jié)拍安排節(jié)拍安排M ( MAR ) MDRM ( MAR ) MDRMDR AdMDR Ad(IRIR)T T0 0T T1 1T T2 2T T0 0T T1 1T T2 21 R1 ROP ( IR ) IDOP ( IR ) IDAd ( IR ) MARAd ( IR ) MA

8、R1 R1 R原則二原則二原則一原則一(4). (4). 執(zhí)行周期執(zhí)行周期 微操作的微操作的 節(jié)拍安排節(jié)拍安排 CLA COM SHRT0T1T2T0T1T2T0T1T2AC0 AC0L ( AC ) R ( AC )0 ACAC AC CSL STP ADD X STA XR ( AC ) L ( AC )AC0 ACnT0T1T20 GT0T1T2T0T1T2T0T1T2Ad ( IR ) MARM ( MAR ) MDR ( AC ) + ( MDR ) ACAd ( IR ) MARAC MDRMDR M ( MAR )1 R1 W LDA X JMP X BAN XT0T1T2Ad

9、( IR ) MARM ( MAR ) MDRMDR ACT0T1T2T0T1T2Ad ( IR ) PC1 RA0 Ad ( IR ) + A0 PC PC(5). (5). 中斷周期中斷周期 微操作的微操作的 節(jié)拍安排節(jié)拍安排T0T1T20 MARPC MDRMDR M ( MAR )硬件關(guān)中斷硬件關(guān)中斷向量地址向量地址 PC中斷隱指令完成中斷隱指令完成1 W組合邏輯設(shè)計(jì)步驟組合邏輯設(shè)計(jì)步驟4 4、列出操作時(shí)間表列出操作時(shí)間表T2T1T0 FE取指取指 JMPLDASTAADDCOMCLA微操作命令信號(hào)微操作命令信號(hào)狀態(tài)狀態(tài)條件條件節(jié)拍節(jié)拍工作工作周期周期標(biāo)記標(biāo)記PC MAR1 RM(MA

10、R) MDR ( PC ) +1 PCMDR IROP( IR ) ID1 IND1 EXII1111111111111111111111111111111111111111111111組合邏輯設(shè)計(jì)步驟組合邏輯設(shè)計(jì)步驟列出操作時(shí)間表列出操作時(shí)間表T2 IND 間址間址T1T0JMPLDASTAADDCOMCLA微操作命令信號(hào)微操作命令信號(hào)狀態(tài)狀態(tài)條件條件節(jié)拍節(jié)拍工作工作周期周期標(biāo)記標(biāo)記Ad (IR) MAR1 RM(MAR) MDR MDR Ad (IR)1 EXIND11111111111111111111組合邏輯設(shè)計(jì)步驟組合邏輯設(shè)計(jì)步驟列出操作時(shí)間表列出操作時(shí)間表T2T1T0 EX執(zhí)行執(zhí)行

11、 JMPLDASTAADDCOMCLA微操作命令信號(hào)微操作命令信號(hào)狀態(tài)狀態(tài)條件條件節(jié)拍節(jié)拍工作工作周期周期標(biāo)記標(biāo)記Ad (IR) MAR1 RM(MAR) MDR AC MDR(AC)+(MDR) ACMDR M(MAR) MDR AC0 AC1 W11111111111115 5、 寫(xiě)出微操作命令的最簡(jiǎn)表達(dá)式寫(xiě)出微操作命令的最簡(jiǎn)表達(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 ) + E

12、X ( ADD +LDA ) 7 7、 畫(huà)出邏輯圖畫(huà)出邏輯圖 龐雜龐雜 調(diào)試?yán)щy調(diào)試?yán)щy 修改困難修改困難 速度快速度快(RISCRISC)特點(diǎn)特點(diǎn) 思路清晰思路清晰 簡(jiǎn)單明了簡(jiǎn)單明了M ( MAR) MDR&11&FEINDEXLDAADDJMPBANSTAT1&101.3 硬布線控制器特點(diǎn)o組成的網(wǎng)絡(luò)復(fù)雜; o無(wú)規(guī)則; o設(shè)計(jì)和調(diào)試?yán)щy; o不可改變指令系統(tǒng)和指令功能 o適用于VLSI o速度快 1.假設(shè) CPU 在中斷周期用堆棧保存程序斷點(diǎn),且進(jìn)棧時(shí)棧指針減一,出棧時(shí)棧指針加一。試寫(xiě)出中斷返回指令(中斷服務(wù)程序的最后一條指令),在取指階段和執(zhí)行階段所需的全部微操作

13、命令及節(jié)拍安排。答: 組合邏輯設(shè)計(jì)的微操作命令: 取指: T0:PC MAR T1:MMAR MDR, PC+1 PC T2:MDR IR, OPIR 微操作形成部件 執(zhí)行: T0:SP MAR T1:MMAR MDR T2:MDR PC, SP+1 SP 課堂練習(xí)與思考:課堂練習(xí)與思考:2.寫(xiě)出組合邏輯控制器完成 STA X ( X 為主存地址)指令發(fā)出的全部微操作命令及節(jié)拍安排; T0 PCMAR 1R T1 M(MAR)MDR (PC)+1PC T2 MDRIR OP(IR)ID T0 Ad(IR)MAR 1W T1 ACCMDR T2 MDRM(MAR) 課堂練習(xí)與思考:課堂練習(xí)與思考

14、:3數(shù)M在A寄存器中,數(shù)N在內(nèi)存某單元內(nèi),請(qǐng)寫(xiě)出實(shí)現(xiàn)F=2M-N,并將結(jié)果保存在A寄存器的微操作序列,并加以注解(設(shè)加法器ADDER的兩個(gè)輸入來(lái)自A、B寄存器)。 答案:實(shí)現(xiàn)該功能的微操作序列如下:(1)P0:A2A; 2M送A寄存器(2)P1:BMBR; 取N送B寄存器(3)P2:ADDER非B,CIN1; 非N+1送加法器 P3:ADDERA,ADD;2M送加法器(4)P4:AADDER; 2MN送A寄存器課堂練習(xí)與思考:課堂練習(xí)與思考:CU采用組合邏輯設(shè)計(jì),因微操作控制信號(hào)全部由硬件產(chǎn)生,所以速度快,可用于構(gòu)成高速的RISC機(jī)和巨型機(jī)。它的缺點(diǎn):(1)邏輯實(shí)現(xiàn)復(fù)雜(2)不易擴(kuò)展和修改。采

15、用微程序設(shè)計(jì)方法可克服上述缺點(diǎn)。它是利用程序設(shè)計(jì)及存儲(chǔ)邏輯的概念,稱為微程序設(shè)計(jì)技術(shù)。它解決了設(shè)計(jì)的規(guī)整性問(wèn)題,它將不規(guī)則的微操作命令變成了有規(guī)律的微程序,使控制單元的設(shè)計(jì)更科學(xué)合理。存儲(chǔ)邏輯又解決了可修改問(wèn)題,簡(jiǎn)化了控制器的設(shè)計(jì)任務(wù),即不易出錯(cuò)成本又較低;缺點(diǎn)是操作速度比較低。10.2 微程序設(shè)計(jì)10.2.1 10.2.1 微程序設(shè)計(jì)思想的產(chǎn)生微程序設(shè)計(jì)思想的產(chǎn)生1951 1951 英國(guó)劍橋大學(xué)教授英國(guó)劍橋大學(xué)教授 WilkesWilkes 完成完成一條機(jī)器指令一條機(jī)器指令微操作命令微操作命令 1 1微操作命令微操作命令 2 2微操作命令微操作命令 n n微指令微指令 1 110100000

16、10100000微指令微指令 n n微程序微程序0001001000010010存儲(chǔ)邏輯存儲(chǔ)邏輯一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序存入存入 ROMROMp微程序的基本思想微程序的基本思想假設(shè)一條指令假設(shè)一條指令OnTv :開(kāi)電視機(jī)開(kāi)電視機(jī)兩個(gè)微操作:兩個(gè)微操作:1 插上電源插頭插上電源插頭 2 按下電源開(kāi)關(guān)按下電源開(kāi)關(guān)2121CM1 00 1 組合組合邏輯邏輯 微程序微程序微程序設(shè)計(jì)微程序設(shè)計(jì)將微操作用微指令表示,固化將微操作用微指令表示,固化在存儲(chǔ)單元,編制對(duì)機(jī)器指令在存儲(chǔ)單元,編制對(duì)機(jī)器指令進(jìn)行取指、譯碼和執(zhí)行的微指進(jìn)行取指、譯碼和執(zhí)行的微指令序列(微程序),執(zhí)行該微令序

17、列(微程序),執(zhí)行該微程序,完成該機(jī)器指令的執(zhí)行程序,完成該機(jī)器指令的執(zhí)行OnTv1TOnTv2T微程序控制器的微程序控制器的基本思想基本思想 仿照程序設(shè)計(jì)的方法,編制每個(gè)指令對(duì)應(yīng)的微程序 每個(gè)微程序由若干條微指令構(gòu)成,各微指令包含若干條微命令 (一條微指令相當(dāng)于一個(gè)狀態(tài),一個(gè)微命令就是狀態(tài)中的控制信號(hào)) 所有指令對(duì)應(yīng)的微程序放在只讀存儲(chǔ)器中,執(zhí)行某條指令時(shí),取出對(duì)應(yīng)微程序中的各條微指令,對(duì)微指令譯碼產(chǎn)生對(duì)應(yīng)的微命令,這個(gè)微命令就是控制信號(hào)只讀存儲(chǔ)器稱為控制存儲(chǔ)器(Control Storage),簡(jiǎn)稱控存p微程序設(shè)計(jì)的特點(diǎn)微程序設(shè)計(jì)的特點(diǎn)n具有規(guī)整性、可維性和靈活性,但速度慢具有規(guī)整性、可維

18、性和靈活性,但速度慢 0 1 2 n-2 n-1 微微指指令令 PC復(fù)復(fù)位位 PC+1 IR送送PC 1、微程序控制概念o一條指令的處理包含許多微操作序列 o這些操作可以歸結(jié)為信息傳遞、運(yùn)算 o將這些操作所需要的控制信號(hào)以多條微指令表示 o執(zhí)行一條微指令就給出一組微操作控制信號(hào) o執(zhí)行一條指令也就是執(zhí)行一段由多條微指令組成的微程序 10.2.1 微程序控制的基本原理微程序控制基本概念微命令微操作的控制信號(hào)控制部件通過(guò)控制線向執(zhí)行部件發(fā)出的各種控制命令微操作執(zhí)行部件接受微命令后所進(jìn)行的最基本操作 相容微操作指在同時(shí)或同一個(gè)CPU時(shí)鐘周期內(nèi)并行執(zhí)行的微操作 不相容(互斥)微操作指不能在同時(shí)或同一個(gè)

19、CPU時(shí)鐘周期內(nèi)并行執(zhí)行的微操作微程序控制器基本概念程序機(jī)器指令機(jī)器指令1機(jī)器指令機(jī)器指令2機(jī)器指令機(jī)器指令i機(jī)器指令機(jī)器指令n.微指令微指令2微指令微指令1微指令微指令i微指令微指令n.微程序 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 PC1 LDIR RD LDAR LDDR P1 順序控制 L R1 L R2 bus L L bus bus BUS BU

20、S bus BUS ALU BUS PC BUS DR DR(D) BUS 控制字段(微命令字段) (下地址字段) 1/01/01/01/0微指令格式 o操作控制字段 n操作控制字段直接給出多種微操作的控制信號(hào) o順序控制字段 n用于控制微程序的執(zhí)行順序 n包括判斷邏輯字段和直接地址字段 n直接地址字段存放下一條微指令的地址 n判斷邏輯非零,則按約定好的規(guī)則,根據(jù)狀態(tài)修正直接地址字段,從而得到下一條微指令的地址 10.2.2 10.2.2 微程序控制單元及工作原理微程序控制單元及工作原理1. 1. 機(jī)器指令對(duì)應(yīng)的微程序機(jī)器指令對(duì)應(yīng)的微程序M+1M+1MMM+2M+2P+1P+1K KK+2K+

21、2P PP+2P+2K+1K+1取指周期微程序取指周期微程序?qū)?yīng)對(duì)應(yīng) LDA LDA 操作的微程序操作的微程序?qū)?yīng)對(duì)應(yīng) STA STA 操作的微程序操作的微程序間址周期微程序間址周期微程序中斷周期微程序中斷周期微程序2. 2. 工作原理工作原理控存控存M+1MM+2P+1QQ+2PP+2Q+1取指周期取指周期 微程序微程序?qū)?yīng)對(duì)應(yīng) LDA 操操作的微程序作的微程序?qū)?yīng)對(duì)應(yīng) ADD 操操作的微程序作的微程序Q+1Q+2MM+1M+2P+1P+2M對(duì)應(yīng)對(duì)應(yīng) STORE 操操作的微程序作的微程序K+1K+2MKK+2K+1LDAD XADD YSTORE Z主存主存STP用戶程序用戶程序工作原理工作

22、原理(1) (1) 取指階段取指階段M CMARCM ( CMAR ) CMDR由由 CMDR CMDR 發(fā)命令發(fā)命令形成下條微指令地址形成下條微指令地址Ad (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR CMDR 發(fā)命令發(fā)命令A(yù)d (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR CMDR 發(fā)命令發(fā)命令M + + 1M + + 2PC MAR1 RM ( MAR ) MDR( PC ) + + 1 PCMDR IR0 0 1 0 0 0 0M + + 21 0 0 0 0 1M+ +1M0 1 0 0 1 0M+ +2M + + 1形成下條微指令地

23、址形成下條微指令地址執(zhí)行取指微程序執(zhí)行取指微程序(取指令微程序的第一條微指令的微地址取指令微程序的第一條微指令的微地址M)(2) (2) 執(zhí)行階段執(zhí)行階段CM ( CMAR ) CMDR由由 CMDR CMDR 發(fā)命令發(fā)命令A(yù)d (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR CMDR 發(fā)命令發(fā)命令A(yù)d (CMDR ) CMARCM (CMAR ) CMDR由由 CMDR CMDR 發(fā)命令發(fā)命令OP ( IR ) 微地址形成部件微地址形成部件 CMAR( P CMAR )Ad (CMDR ) CMARAd ( IR ) MAR1 RM ( MAR ) MDRMDR AC0

24、 0 0 0 0 0 1 0P + + 2 M執(zhí)行執(zhí)行 LDA LDA 微程序微程序 形成下條微指令地址形成下條微指令地址 P + 1P + 1形成下條微指令地址形成下條微指令地址 P + 2P + 2形成下條微指令地址形成下條微指令地址 M( M CMAR )0 1 0 0 0P+ +2P + + 10 0 0 1 0 0 1P+ +1P(3) 執(zhí)行階段執(zhí)行階段CM ( CMAR ) CMDR由由 CMDR 發(fā)命令發(fā)命令A(yù)d (CMBR ) CMARCM (CMAR ) CMDR由由 CMDR 發(fā)命令發(fā)命令A(yù)d (CMBR ) CMARCM (CMAR ) CMDR由由 CMDR 發(fā)命令發(fā)命

25、令OP ( IR ) 微地址形成部件微地址形成部件 CMAR( Q CMAR )Ad (CMDR ) CMARAd ( IR ) MAR1 RM ( MAR ) MDR0 0 0 0 0 0 0 1 0 0Q+2 Q+3執(zhí)行執(zhí)行 ADD微程序微程序 形成下條微指令地址形成下條微指令地址 Q + 1形成下條微指令地址形成下條微指令地址 Q + 2形成下條微指令地址形成下條微指令地址 M( M CMAR )0 1 0 0 0Q+2Q+10 0 0 1 0 0 1Q+1QADDALU ACC0 0 0 0 0 0 0 0 1 0Q+3 M形成下條微指令地址形成下條微指令地址 Q + 3Ad (CMD

26、R ) CMARCM (CMAR ) CMDR由由 CMBR 發(fā)命令發(fā)命令(4) (4) 取指階段取指階段CM ( CMAR ) CMDR由由 CMDR CMDR 發(fā)命令發(fā)命令M CMAR PC MAR1 R1 0 0 0 0 1M+ +1M全部微指令存在全部微指令存在 CM CM 中,程序執(zhí)行過(guò)程中中,程序執(zhí)行過(guò)程中 只需讀出只需讀出關(guān)鍵關(guān)鍵 微指令的微指令的 操作控制字段如何形成微操作命令操作控制字段如何形成微操作命令 微指令的微指令的 后繼地址如何形成后繼地址如何形成執(zhí)行取指微程序執(zhí)行取指微程序2、微程序控制器組成原理框圖 微地址微地址 形成部件形成部件順序邏輯順序邏輯CMAR地址譯碼地

27、址譯碼控制存儲(chǔ)器控制存儲(chǔ)器標(biāo)志標(biāo)志CLK下一地址下一地址CMBROPIR操作控制操作控制順序控制順序控制微指令基本格式微指令基本格式3、取指令微程序o取指令 o取指令的微指令(簡(jiǎn)稱取指微指令)地址送AR,并自動(dòng)啟動(dòng)控制存儲(chǔ)器進(jìn)行讀操作,將讀出的微指令送IR,執(zhí)行微指令,讀取指令到IR 4、執(zhí)行指令微程序o執(zhí)行指令: o根據(jù)IR中指令的功能,產(chǎn)生該指令微程序入口地址,微程序入口地址送入AR,讀CS,讀出的微指令送IR、(下址字段送AR), o控制字段的微命令控制完成一組微操作 o同時(shí)由微地址產(chǎn)生邏輯或微指令下址字段形成下條微指令地址,按取微指令,執(zhí)行微指令過(guò)程重復(fù)執(zhí)行完微程序?qū)崿F(xiàn)指令的功能5、執(zhí)

28、行指令微程序 o采用微程序控制的計(jì)算機(jī)的工作過(guò)程是執(zhí)行微指令序列的過(guò)程。 o微指令控制了取指令操作, o多條微指令實(shí)現(xiàn)了指令的功能。 o而微指令中的微命令使執(zhí)行部件完成微操作,計(jì)算機(jī)的工作過(guò)程是執(zhí)行程序的過(guò)程,微觀看,是執(zhí)行指令的過(guò)程,再微觀一點(diǎn)看,是執(zhí)行部件進(jìn)行微操作的過(guò)程 6、微程序存放示意圖下址字段地址 1000XXXX0111XXXX0110XXXX0101XXXX0100XXXX0011XXXX0010XXXX0001XXXX0000操作控制字段 HALT64STA (R1) ,R0 63JO 7562ADD R0,(81)61LAD R0,(80)60控制存儲(chǔ)器CM取指微指令加法微

29、程序取數(shù)微程序存數(shù)微程序轉(zhuǎn)移微程序0000000001100000000000110010主存儲(chǔ)器 幾個(gè)概念的對(duì)比 微命令 VS. 微操作構(gòu)成控制信號(hào)序列的最小單位,由控制部件向執(zhí)行部件發(fā)送,是微操作的控制信號(hào)執(zhí)行部件接受微命令后進(jìn)行的最基本的操作,是微命令控制的操作過(guò)程 實(shí)質(zhì)是同一信號(hào):對(duì)控制部件體現(xiàn)為微命令,對(duì)執(zhí)行部件體現(xiàn)為微操作 機(jī)器指令 VS. 微指令提供給用戶編程的基本單位,機(jī)器能完成的最基本操作,機(jī)器指令由微指令解釋執(zhí)行實(shí)現(xiàn)機(jī)器指令操作的一系列微命令的組合幾個(gè)概念的對(duì)比 程序 VS. 微程序由機(jī)器指令構(gòu)成。用戶編制,存放在主存儲(chǔ)器中,允許修改微程序是微指令的有序集合,用于描述機(jī)器指

30、令。計(jì)算機(jī)設(shè)計(jì)者編制,存放在控制存儲(chǔ)器中,不允許用戶修改 主存儲(chǔ)器 VS. 控制存儲(chǔ)器存放系統(tǒng)程序和用戶程序,容量大 存放對(duì)應(yīng)于機(jī)器指令系統(tǒng)的微程序,容量有限幾個(gè)概念的對(duì)比 微程序控制 VS. 組合邏輯控制可調(diào)整、速度慢、實(shí)現(xiàn)復(fù)雜指令 不可調(diào)整、速度快、實(shí)現(xiàn)簡(jiǎn)單指令典型RISC處理器一般采用組合邏輯控制實(shí)現(xiàn)CISC處理器采用兩種控制邏輯 常用的簡(jiǎn)單指令采用組合邏輯控制實(shí)現(xiàn) 不常用的復(fù)雜指令采用微程序控制實(shí)現(xiàn)機(jī)器指令與微指令的關(guān)系o機(jī)器指令對(duì)應(yīng)一個(gè)微程序,這個(gè)微程序由若干微指令組成,一個(gè)微指令又包含多個(gè)微操作 o機(jī)器指令與內(nèi)存儲(chǔ)器有關(guān),微指令與控制存儲(chǔ)器有關(guān) o每一個(gè)CPU周期對(duì)應(yīng)一條微指令CP

31、U周期與微指令周期的關(guān)系微指令周期:讀出微指令的時(shí)間加上指令該條微指令的時(shí)間。如:T1 T2 T3 T4 T1 T2 T3 T4執(zhí)行微指令執(zhí)行微指令 微指令周期微指令周期CPU周期周期CPU周期周期 讀微指令讀微指令 在在T4T4節(jié)拍脈沖期間(節(jié)拍脈沖期間(200ns200ns): :取微指令;在取微指令;在T1T1的上升的上升沿:微指令已經(jīng)取好,在沿:微指令已經(jīng)取好,在T1T3T1T3期間(期間(600ns600ns):執(zhí)行微操):執(zhí)行微操作。所以:在一個(gè)作。所以:在一個(gè)CPUCPU周期內(nèi)(周期內(nèi)(800ns800ns):取址指令:占):取址指令:占1/4CPU1/4CPU周期;執(zhí)行微指令:

32、占周期;執(zhí)行微指令:占3/4CPU3/4CPU周期。周期。 設(shè):一個(gè)設(shè):一個(gè)CPUCPU周期為周期為0.8s0.8s,它包含四個(gè)等間隔的節(jié)拍,它包含四個(gè)等間隔的節(jié)拍脈沖脈沖T1T1T4T4,每個(gè)脈沖寬度為,每個(gè)脈沖寬度為200ns200ns。用。用T4T4作為讀取微指令作為讀取微指令的時(shí)間,用的時(shí)間,用T1+T2+T3T1+T2+T3時(shí)間作為執(zhí)行微指令的時(shí)間。例如,在時(shí)間作為執(zhí)行微指令的時(shí)間。例如,在前前600ns600ns時(shí)間內(nèi)運(yùn)算器進(jìn)行運(yùn)算,在時(shí)間內(nèi)運(yùn)算器進(jìn)行運(yùn)算,在600ns600ns時(shí)間的末尾運(yùn)算器時(shí)間的末尾運(yùn)算器已經(jīng)運(yùn)算完畢,可用已經(jīng)運(yùn)算完畢,可用T4T4上升沿將運(yùn)算結(jié)果打入某個(gè)寄存

33、器。上升沿將運(yùn)算結(jié)果打入某個(gè)寄存器。與此同時(shí)可用與此同時(shí)可用T4T4間隔讀取下條微指令,經(jīng)間隔讀取下條微指令,經(jīng)200ns200ns時(shí)間延遲,時(shí)間延遲,下條微指令又從只讀存儲(chǔ)器讀出,并用下條微指令又從只讀存儲(chǔ)器讀出,并用T1T1上升沿打入到微指上升沿打入到微指令寄存器。如忽略觸發(fā)器的翻轉(zhuǎn)延遲,那么下條微指令的微令寄存器。如忽略觸發(fā)器的翻轉(zhuǎn)延遲,那么下條微指令的微命令信號(hào)就從命令信號(hào)就從T1T1上升沿起就開(kāi)始有效,直到下一條微指令讀上升沿起就開(kāi)始有效,直到下一條微指令讀出后打入微指令寄存器為止。因此一條微指令的保持時(shí)間恰出后打入微指令寄存器為止。因此一條微指令的保持時(shí)間恰好是好是0.8s0.8s

34、,也就是一個(gè),也就是一個(gè)CPUCPU周期的時(shí)間。周期的時(shí)間。CPU周期周期CPU周期周期T1T2T3T40.8s0.8s200ns200ns10.2.2 微指令設(shè)計(jì)o有利于縮短微指令字長(zhǎng)度 o有利于減少控制存儲(chǔ)器容量 o有利于提高微程序執(zhí)行速度 o有利于對(duì)微指令進(jìn)行修改 o有利于提高微程序設(shè)計(jì)的靈活性1、微命令編碼o直接表示法 o編碼表示法 o混合表示法直接表示方法o微指令中每一位代表一個(gè)微命令 o簡(jiǎn)單直觀,便于輸出控制, o字長(zhǎng)太長(zhǎng),控制存儲(chǔ)器容量大 .123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 23操作控制順序控制LDR1LDR2LDR

35、3R1XR3YR2XR2YDRXR1Y+M-RDLDDRLDIRLDARPC+1P1 P2直接地址1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0NoImageNoImageNoImage編碼表示方法o字段直接譯碼法 o字長(zhǎng)短,控制存儲(chǔ)器容量小,增加了譯碼電路 .123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 23操作控制順序控制直接地址譯碼.譯碼.譯碼.微命令P1 P2 Pn1/0 1/0 1/0 1/0 1/

36、0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0NoImageNoImageNoImage混合表示法這種方法是把直接表示法與字段編碼法混合使用,這種方法是把直接表示法與字段編碼法混合使用,以便能綜合考慮指令字長(zhǎng)、靈活性、執(zhí)行微程序速以便能綜合考慮指令字長(zhǎng)、靈活性、執(zhí)行微程序速度等方面的要求。度等方面的要求。.123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 23操作控制順序控制直接地址譯碼.譯碼.譯碼.微命令微命令R1Y+M-RDLDDRLDIRLD

37、AR直接表示編碼表示1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/03、微地址形成方法o計(jì)數(shù)器法 PC o下地址字段法微程序控制器設(shè)計(jì)技術(shù)計(jì)數(shù)器方式:計(jì)數(shù)器方式:設(shè)置一個(gè)微程序計(jì)數(shù)器設(shè)置一個(gè)微程序計(jì)數(shù)器 PCPC,在順序執(zhí),在順序執(zhí)行微指令時(shí),后繼微指令地址由現(xiàn)行微地址行微指令時(shí),后繼微指令地址由現(xiàn)行微地址加上一個(gè)增量來(lái)實(shí)現(xiàn)。遇到轉(zhuǎn)移時(shí),由微指加上一個(gè)增量來(lái)實(shí)現(xiàn)。遇到轉(zhuǎn)移時(shí),由微指令給出轉(zhuǎn)移微地址。令給出轉(zhuǎn)移微地址。微程序控制器設(shè)計(jì)技術(shù)用計(jì)數(shù)器方式實(shí)現(xiàn)的微程序控

38、制單元結(jié)構(gòu)用計(jì)數(shù)器方式實(shí)現(xiàn)的微程序控制單元結(jié)構(gòu) OP 轉(zhuǎn)移部分控制存儲(chǔ)器控制存儲(chǔ)器 PC 指令寄存器入口地址及轉(zhuǎn)移地址產(chǎn)生器條件碼 狀態(tài)標(biāo)志 微程序控制器設(shè)計(jì)技術(shù)計(jì)數(shù)器方式的優(yōu)點(diǎn)是微指令字較短,便于編計(jì)數(shù)器方式的優(yōu)點(diǎn)是微指令字較短,便于編寫(xiě)微程序,后繼微地址產(chǎn)生機(jī)構(gòu)比較簡(jiǎn)單;寫(xiě)微程序,后繼微地址產(chǎn)生機(jī)構(gòu)比較簡(jiǎn)單;缺點(diǎn)缺點(diǎn)是執(zhí)行速度低,原因是計(jì)數(shù)器方式不易是執(zhí)行速度低,原因是計(jì)數(shù)器方式不易直接實(shí)現(xiàn)對(duì)應(yīng)于各個(gè)測(cè)試條件的多路轉(zhuǎn)移,直接實(shí)現(xiàn)對(duì)應(yīng)于各個(gè)測(cè)試條件的多路轉(zhuǎn)移,而微程序的主要特點(diǎn)是存在大量的分支。而微程序的主要特點(diǎn)是存在大量的分支。微程序控制器設(shè)計(jì)技術(shù)斷定方式 (下址字段法)所謂斷定方式是指后

39、繼微指令地址可由設(shè)計(jì)者指定或由設(shè)計(jì)者指定的測(cè)試判斷字段控制生產(chǎn)。在這種方式中,當(dāng)微程序不產(chǎn)生分支時(shí),后繼微指令地址直接由微指令的順序控制字段給出;當(dāng)微程序出現(xiàn)分支時(shí),按順序控制字段給出的測(cè)試判別字段和狀態(tài)條件來(lái)形成后繼微地址。這種方式因?yàn)橐谖⒅噶罡袷街性O(shè)置一個(gè)字段用來(lái)指明下一條要執(zhí)行的微指令地址,所以也稱為下址字段法。微程序控制器設(shè)計(jì)技術(shù)用斷定方式實(shí)現(xiàn)的微程序控制單元結(jié)構(gòu)用斷定方式實(shí)現(xiàn)的微程序控制單元結(jié)構(gòu) 指令寄存器IRPLA微地址修改邏輯微地址修改邏輯+控制存儲(chǔ)器AR下址 IR 測(cè)試條件碼狀態(tài)標(biāo)志微程序控制器設(shè)計(jì)技術(shù)OP OP 測(cè)試判別測(cè)試判別 下址下址 2400 下址01 按地址轉(zhuǎn)移10

40、 按Z 轉(zhuǎn)移11 空如如:采用斷定方式的微指令格式如下:采用斷定方式的微指令格式如下:微地址微地址微命令微命令測(cè)試測(cè)試下址下址0000A0000010001B0000100010C0101000011E1010100100D0000110101H0010000110L0010010111P0010011000I0010111001M0011101010F0011001011J0011011100G0000001101K0000001110N0011111111O0000004、微指令格式o水平型微指令(一次能并行多個(gè)微操作的指令) 控制字段判別測(cè)試字段下地址字段000原寄存器目的寄存器其他00

41、1左輸入源編址 右輸入源編址ALU010寄存器編址存儲(chǔ)器編址讀寫(xiě)其他011測(cè)試條件o垂直型微指令寄存器數(shù)據(jù)傳送型運(yùn)算控制型訪問(wèn)主存型條件轉(zhuǎn)移型微程序控制器設(shè)計(jì)技術(shù)水平型微指令:水平型微指令:一次能定義并執(zhí)行多個(gè)并行操一次能定義并執(zhí)行多個(gè)并行操作微命令的微指令,叫做水平型微指令。作微命令的微指令,叫做水平型微指令。基本特征:基本特征:微指令字較長(zhǎng)微指令字較長(zhǎng)一條微指令能控制數(shù)據(jù)通路中多個(gè)功能部件并行操作。一條微指令能控制數(shù)據(jù)通路中多個(gè)功能部件并行操作。微命令的編碼簡(jiǎn)單,盡可能使微命令與控制門(mén)之間具有微命令的編碼簡(jiǎn)單,盡可能使微命令與控制門(mén)之間具有直接對(duì)應(yīng)關(guān)系。直接對(duì)應(yīng)關(guān)系。格式如下格式如下:控控

42、 制制 字字 段段判別測(cè)試字段判別測(cè)試字段下地址字段下地址字段垂直型微指令:垂直型微指令:在微指令中設(shè)置微操作碼字在微指令中設(shè)置微操作碼字段,采用為操作碼編譯法,由操作碼規(guī)定為微指段,采用為操作碼編譯法,由操作碼規(guī)定為微指令的功能,在一條微指令中只有一、兩個(gè)微操作令的功能,在一條微指令中只有一、兩個(gè)微操作命令稱為垂直型微指令。命令稱為垂直型微指令。基本特征:基本特征:微指令字短。微指令字短。微指令的并行操作能力有限,一條微指令只能控制數(shù)微指令的并行操作能力有限,一條微指令只能控制數(shù)據(jù)通路中的一、兩個(gè)信息傳送。據(jù)通路中的一、兩個(gè)信息傳送。微指令編碼比較復(fù)雜,全部微命令組成一個(gè)微操作碼微指令編碼比

43、較復(fù)雜,全部微命令組成一個(gè)微操作碼字段,經(jīng)過(guò)完全譯碼,微指令的各個(gè)二進(jìn)制位與數(shù)據(jù)字段,經(jīng)過(guò)完全譯碼,微指令的各個(gè)二進(jìn)制位與數(shù)據(jù)通路的各個(gè)控制點(diǎn)之間完全不存在直接對(duì)應(yīng)關(guān)系。通路的各個(gè)控制點(diǎn)之間完全不存在直接對(duì)應(yīng)關(guān)系。5、水平型與垂直型微指令比較o水平型微指令并行操作能力強(qiáng),效率高,靈活性強(qiáng) o水平型微指令執(zhí)行一條指令的時(shí)間短 o由水平型微指令編的微程序微指令字較長(zhǎng),微程序短,垂直型的字長(zhǎng)短,微程序長(zhǎng)。 o水平型不便于用戶掌握,垂直型與指令相似,易于掌握。微程序控制器特點(diǎn)o設(shè)計(jì)規(guī)整,設(shè)計(jì)效率高 o易于修改、擴(kuò)展指令系統(tǒng)功能; o結(jié)構(gòu)規(guī)整、簡(jiǎn)潔,可靠性高; o速度慢 n訪存頻繁 o執(zhí)行效率不高 o用

44、于速度要求不高、功能較復(fù)雜的機(jī)器中。 n特別適用于系列機(jī) NoImageNoImageNoImage硬布線與微程序控制器比較o硬布線控制器執(zhí)行速度快 n微程序控制器每條微指令都需要從控制存儲(chǔ)器中讀取一次,大大影響了速度,硬布線控制取決于電路延遲。 o硬布線控制器設(shè)計(jì)復(fù)雜,代價(jià)昂貴 o微程序控制器設(shè)計(jì)簡(jiǎn)單,便于維護(hù)修改 ( (例)某機(jī)有例)某機(jī)有8 8條微指令條微指令I(lǐng)1-I8I1-I8,每條微指令所包含的微命令控制,每條微指令所包含的微命令控制信號(hào)如下表所示。信號(hào)如下表所示。 a- ja- j分別對(duì)應(yīng)分別對(duì)應(yīng)1010種不同性質(zhì)的微命令信號(hào)。假設(shè)一條微指令的種不同性質(zhì)的微命令信號(hào)。假設(shè)一條微指令

45、的控制字段為控制字段為8 8位,請(qǐng)安排微指令的控制字段格式。位,請(qǐng)安排微指令的控制字段格式。 微指令微指令A(yù)BCDEFGHIJI1I2I3I4I5I6I7I8解:因?yàn)槲灰獙?duì)應(yīng)10種不同的信號(hào),所以要將原來(lái)10種信號(hào)中不沖突的信號(hào)合在一起,用不同的二進(jìn)制數(shù)來(lái)表示不同的狀態(tài)。分析發(fā)現(xiàn)E,H和B,I,J對(duì)于任何一條微指令,都是相斥性微操作,即不可能在同一個(gè)CPU周期中同時(shí)發(fā)生這些操作,因此可分別組成兩個(gè)小組或兩個(gè)字段,然后進(jìn)行譯碼產(chǎn)生這六個(gè)微命令信號(hào)。剩下的a, c, d, g 四個(gè)微命令信號(hào)可進(jìn)行直接控制,所以分別用二位二進(jìn)制數(shù)可以表示,如下:01:E,10:F,11:H;01:B,10:I,11

46、:J。微指令的控制字段格式:GDCA#*編碼表示編碼表示編碼表示編碼表示直接表示直接表示其整個(gè)微指令控制字段組成如下: 譯碼譯碼0706050403020100efhbijacdg00: -01:e10:f11:h00: -01:b10:i11:je. f. h(b. i. j)e. f. h(b. i. j)微命令均無(wú)效微命令均無(wú)效10.3 微程序控制器單元設(shè)計(jì)舉例設(shè)計(jì)一個(gè)微程序控制器,主要用微程序設(shè)計(jì)的方法來(lái)設(shè)計(jì)其微操作序列形成部件。一般可歸納為下列四個(gè)步驟:擬定各條機(jī)器指令的操作流程圖,寫(xiě)出其微操作序列;根據(jù)全機(jī)的微操作序列選用微指令的編碼設(shè)計(jì)方案;根據(jù)各條機(jī)器指令的功能編制出相應(yīng)的微程

47、序;把已編好調(diào)試好的微程序?qū)懭胍粋€(gè)可高速讀出的只讀存儲(chǔ)器中。我們還是以前模型機(jī)的千條指令為例,來(lái)說(shuō)明微程序控制器的設(shè)計(jì)過(guò)程。指令指令節(jié)拍節(jié)拍ADDCLEARSUBTRACTSTORELOADIFT0 MARPC, IFT1 IR MBR , R0 IFT2 PCPC+1 IFT3 IF0, EX1 EXT0MARIR, R1 MARIR, R1MARIR,W1, MBRAC EXT1R0 R0W0 EXT2ALUAC+MBRALUACC-MDR EXT3EXT3 EX0, IF 1 ACALUAC0ACALU 表表4.13 4.13 五條指令的控制流五條指令的控制流l確定微指令的結(jié)構(gòu)指令控制流

48、R1MARIR, R1R0ACMBR微程序控制器中沒(méi)有節(jié)微程序控制器中沒(méi)有節(jié)拍問(wèn)題,只有微指令的拍問(wèn)題,只有微指令的執(zhí)行順序問(wèn)題執(zhí)行順序問(wèn)題微命令微命令控制信號(hào)位控制信號(hào)位含義含義AC01累加器清零累加器清零ACALU2運(yùn)算器結(jié)果送累加器運(yùn)算器結(jié)果送累加器ALUAC+MBR3將累加器和緩沖寄存器送運(yùn)算器,啟動(dòng)加將累加器和緩沖寄存器送運(yùn)算器,啟動(dòng)加ALUAC-MBR4將累加器和緩沖寄存器送運(yùn)算器,啟動(dòng)減將累加器和緩沖寄存器送運(yùn)算器,啟動(dòng)減EX05清除執(zhí)行標(biāo)志清除執(zhí)行標(biāo)志EX16設(shè)置執(zhí)行標(biāo)志設(shè)置執(zhí)行標(biāo)志IF07清除取指令標(biāo)志清除取指令標(biāo)志IF18設(shè)置取指令標(biāo)志設(shè)置取指令標(biāo)志IRMBR9存儲(chǔ)緩沖寄存

49、器送指令寄存器存儲(chǔ)緩沖寄存器送指令寄存器MARIR10指令寄存器送存儲(chǔ)緩沖寄存器指令寄存器送存儲(chǔ)緩沖寄存器MARPC11程序計(jì)數(shù)器送存儲(chǔ)緩沖寄存器程序計(jì)數(shù)器送存儲(chǔ)緩沖寄存器MDRAC12累加器送存儲(chǔ)緩沖寄存器累加器送存儲(chǔ)緩沖寄存器PCIR13指令寄存器送程序計(jì)數(shù)器指令寄存器送程序計(jì)數(shù)器PCPC+114程序計(jì)數(shù)器加程序計(jì)數(shù)器加1R015清除讀存儲(chǔ)器標(biāo)志清除讀存儲(chǔ)器標(biāo)志R116設(shè)置讀存儲(chǔ)器標(biāo)志設(shè)置讀存儲(chǔ)器標(biāo)志W(wǎng)017清除寫(xiě)存儲(chǔ)器標(biāo)志清除寫(xiě)存儲(chǔ)器標(biāo)志W(wǎng)118設(shè)置寫(xiě)存儲(chǔ)器標(biāo)志設(shè)置寫(xiě)存儲(chǔ)器標(biāo)志 確定微指令的結(jié)構(gòu)確定微指令的結(jié)構(gòu)微命令清單(微命令清單(1 1)微命令微命令控制信號(hào)位控制信號(hào)位含義含義FCM

50、AR019FCMAR清零清零FCMARCM( )20微地址碼送微地址碼送FCMARFCMARFCMAR +MAP(IR)21根據(jù)指令對(duì)根據(jù)指令對(duì)FCMAR進(jìn)行進(jìn)行微地址碼變換微地址碼變換 確定微指令的結(jié)構(gòu)確定微指令的結(jié)構(gòu)微命令清單(微命令清單(2 2)注:注:FCMAR-控存地址緩沖寄存器控存地址緩沖寄存器2 2、確定微指令的結(jié)構(gòu)、確定微指令的結(jié)構(gòu)微指令格式(微指令格式(1)(1) 微指令的編碼方式微指令的編碼方式(2) 后繼微指令的地址形成方式后繼微指令的地址形成方式 采用直接控制編碼采用直接控制編碼 由機(jī)器指令的操作碼通過(guò)微地址形成部件產(chǎn)生由機(jī)器指令的操作碼通過(guò)微地址形成部件產(chǎn)生 由微指令

51、的下地址字段直接給出由微指令的下地址字段直接給出(3) 微指令字長(zhǎng)微指令字長(zhǎng) 確定確定 操作控制字段操作控制字段由由 21 個(gè)微操作個(gè)微操作 取取 26 位位 確定微指令的確定微指令的 下地址字段下地址字段由由 40 條微指令條微指令 取取6 位位微指令字長(zhǎng)微指令字長(zhǎng) 可取可取 26 6 32 位位2、確定微指令的結(jié)構(gòu)微指令格式(2)1 2 3 2 5 2 6 2 7 3 1 3 2 控控制制信信號(hào)號(hào)字字段段 微微地地址址碼碼字字段段 3、微程序設(shè)計(jì)和微代碼表表4.13 五條指令的控制流五條指令的控制流 IFT0R1 IFT1IR MBR, R0 IFT2 PCPC+1 IFT3 IF0, E

52、X1 指令指令節(jié)拍節(jié)拍ADDCLEARSUBTRACTSTORELOADEXT0MARIR, R1 MARIR, R1W1,MARIR, MBRAC EXT1R0 R0W0 EXT2ALUAC+MBRALUAC-MBR EXT3EXT3 EX0, IF 1 ACALUAC0ACALU 取取指指令令MARPC MARIR, R1ACMBRR0 取指令階段取指令階段公共部分公共部分微微程序程序控存控存地址地址控制信號(hào)(微命令)控制信號(hào)(微命令)微地微地址碼址碼說(shuō)明說(shuō)明0M A R P C , R 1 ,F(xiàn)CMARCM(27.32)1 1IR MBR,R0,F(xiàn)CMARCM(27.32)2 2PCPC

53、+1,F(xiàn)CMARCM(27.32)3 3IF0,EX1, FCMARFCMAR+MAP(IR) 按按MAP(IR),轉(zhuǎn),轉(zhuǎn)4-9行行4FCMARCM(27.32)15轉(zhuǎn)向轉(zhuǎn)向ADD5FCMARCM(27.32)19轉(zhuǎn)向轉(zhuǎn)向CLEAR6FCMARCM(27.32)20轉(zhuǎn)向轉(zhuǎn)向SUBTRACT7FCMARCM(27.32)24轉(zhuǎn)向轉(zhuǎn)向STORE8FCMARCM(27.32)27轉(zhuǎn)向轉(zhuǎn)向LOAD9(從此到(從此到14號(hào)單元空閑,備新指號(hào)單元空閑,備新指令使用)令使用) 15MARIR, R1,F(xiàn)CMARCM(27.32)16ADD指令指令16R0,F(xiàn)CMARCM(27.32)17 17ALUAC+M

54、BR,F(xiàn)CMARCM(27.32)18 18EX0,IF1,ACALU,F(xiàn)CMARCM(27.32)0返回返回19EX0,IF1,AC0,F(xiàn)CMARCM(27.32)0CLEAR指令,執(zhí)行后返回指令,執(zhí)行后返回20MARIR, R1,F(xiàn)CMARCM(27.32)21SUBTRACT指令指令21R0,F(xiàn)CMARCM(27.32)22 22ALUAC-MBR,F(xiàn)CMARCM(27.32)23 23EX0,IF1,ACALU,F(xiàn)CMAR00返回返回24MARIR,W1, MBRACFCMARCM(27.32)25STORE指令指令25W0, FCMARCM(27.32)2626EX0,IF1,F(xiàn)CM

55、AR00返回返回 控控制制信信號(hào)號(hào)矩矩陣陣 微微地地址址碼碼 控控存存 0 1 2 3 地地址址 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 20 0 1 1 1 1 1 1 1 1 2 1 1 1 1 3 1 1 1 4 1 1 1 1 1 5 1 1 1 1 6 1 1 1 7 1 1 1 8 1 1 1 1 1圖五條指令的微程序碼點(diǎn)圖圖五條指令的微程序碼點(diǎn)圖微程序控制器的實(shí)現(xiàn) FCMAR MAP(IR) 指指令令寄寄存存器器 IR 控控制制信信號(hào)號(hào) 微微地地址址碼碼 FCMAR0 FCMARCM() FCMA

56、RFCMAR+MAP(IR) 控控制制存存儲(chǔ)儲(chǔ)器器 CM 實(shí)例計(jì)算機(jī)的微程序?qū)崿F(xiàn)圖圖 采用微程序控制的實(shí)例計(jì)算機(jī)的控制系統(tǒng)方框圖采用微程序控制的實(shí)例計(jì)算機(jī)的控制系統(tǒng)方框圖4微程序裝入控制存儲(chǔ)器當(dāng)上表所示的微程序編好之后,經(jīng)檢測(cè)、調(diào)試無(wú)誤后,即可寫(xiě)入高速讀出的只讀存儲(chǔ)器ROM中,得到所需的微程序控制器。為了使讀者對(duì)微程序控制器有較深刻的理解,下圖畫(huà)出了模型機(jī)微程序控制器簡(jiǎn)框圖。圖中打圓點(diǎn)的地方,表示有微操作命令輸出。即表示該微地址被選中后與信號(hào)輸出線上跨接上一個(gè)導(dǎo)通的二極管。其工作過(guò)程與表所示微程序一一對(duì)應(yīng)。地地址址譯譯碼碼器器CMARFCMAR指令寄存器指令寄存器 IR 條件碼條件碼傳送控制傳

57、送控制時(shí)鐘信號(hào)時(shí)鐘信號(hào)S控制存儲(chǔ)器控制存儲(chǔ)器CMCM控制信號(hào)字段控制信號(hào)字段 微地址碼字段微地址碼字段微指令寄存器微指令寄存器uIR微操作控制信號(hào)微操作控制信號(hào)24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 00001020304050607080910111213141516171819微微 操操 作作 控控 制制 信信 號(hào)號(hào)下地址下地址控制存儲(chǔ)器控制存儲(chǔ)器CM10.4 典型CPU- 奔騰CPU結(jié)構(gòu)框圖結(jié)構(gòu)框圖 總線接口部件64位數(shù)據(jù)總線32位地址總線控制分頁(yè)部件64位數(shù)據(jù)總線32位地址總線分支目標(biāo)緩沖器BTBTL

58、B代碼Cache 8KB預(yù)取緩沖存儲(chǔ)器指令譯碼部件控 制 部 件控制ROM預(yù)取地址地址生成(U流水線)地址生成(V流水線)整數(shù)寄存器組ALU(U流水線)ALU(V流水線)桶形移位器數(shù)據(jù)Cache8KBTLB乘法器除法器控制寄存器組加法器浮點(diǎn)部件FPU256位32位32位32位32位32位32位80位80位分支監(jiān)測(cè)和目標(biāo)地址指令指針BIUMMUEUPentium微處理器體系結(jié)構(gòu)微處理器體系結(jié)構(gòu)1. 1.奔騰奔騰CPUCPU的結(jié)構(gòu)框圖的結(jié)構(gòu)框圖(1)超標(biāo)量流水線 超標(biāo)量流水線是pentium系統(tǒng)結(jié)構(gòu)的核心。它由U和V兩條指令流水線構(gòu)成,每條流水線都有自已的ALU、地址生成電路、與數(shù)據(jù)cache的接

59、口。兩個(gè)指令預(yù)取緩沖器,每個(gè)都是32字節(jié),負(fù)責(zé)由指令cache或主存取指令并放入其中。(2)指令cache和數(shù)據(jù)cache 奔騰CPU則分設(shè)指令cache和數(shù)據(jù)cache,各8KB。指令cache是只讀的,以單端口256位(32B)向指令預(yù)取緩沖器提供超長(zhǎng)指令字代碼。數(shù)據(jù)cache是可讀可寫(xiě)的,雙端口,(3)浮點(diǎn)運(yùn)算部件奔騰CPU內(nèi)部包含了一個(gè)8段的流水浮點(diǎn)運(yùn)算器。(4)動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)技術(shù)執(zhí)行轉(zhuǎn)移指令時(shí)為了不使流水線斷流, 2.Pentium的技術(shù)性能Pentium是Intel公司生產(chǎn)的超標(biāo)量流水處理器,CPU內(nèi)部的主要寄存器寬度為32位,故認(rèn)為它是一個(gè)32位微處理器。但它通向存儲(chǔ)器的外部數(shù)據(jù)總

60、線寬度為64位,每次總線操作可以同時(shí)傳輸8個(gè)字節(jié)。 Pentium具有非固定長(zhǎng)度的指令格式,9種尋址方式,191條指令,但是在每個(gè)時(shí)鐘周期又能執(zhí)行兩條指令(超標(biāo)量流水線)。因此它具有CISC和RlSC兩者的特性,不過(guò)具有的CISC特性更多一些,因此被看成為一個(gè)CISC結(jié)構(gòu)的處理器。以CISC結(jié)構(gòu)實(shí)現(xiàn)超標(biāo)量流水線,并有BTB(轉(zhuǎn)移目標(biāo)緩沖器)方式的轉(zhuǎn)移預(yù)測(cè)能力,堪稱為當(dāng)代CISC機(jī)器的經(jīng)典之作。 主要技術(shù)主要技術(shù)1 超標(biāo)量流水線,由U、V兩條指令流水線構(gòu)成;2 獨(dú)立指令Cache和數(shù)據(jù)Cache,采用2路組相聯(lián)結(jié)構(gòu);3 流水浮點(diǎn)運(yùn)算部件,采用8段子過(guò)程結(jié)構(gòu)。前4段為指令預(yù)?。≒F)、指令譯碼(DI)、地址生成(D2)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論