版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)組成原理第5章控制器第5章控制器學(xué)習(xí)內(nèi)容:第1節(jié)基本概念第2節(jié)指令周期第3節(jié)硬連線控制器第4節(jié)微程序控制器學(xué)習(xí)目標(biāo)與要求:掌握CPU的功能及組成方式掌握控制器的控制方式掌握組合邏輯控制器的工作原理和設(shè)計(jì)方法掌握微程序控制器的工作原理和設(shè)計(jì)方法5.1基本概念要使計(jì)算機(jī)系統(tǒng)完成具體的任務(wù),就要各部件協(xié)調(diào)工作。CPU的功能就是控制計(jì)算機(jī)系統(tǒng)各部件協(xié)調(diào)地工作,具體可歸結(jié)為以下四個(gè)方面:1.指令控制若要計(jì)算機(jī)解決某個(gè)問(wèn)題,程序員就要編制解題程序,而程序是指令的有序集合。按照“存儲(chǔ)程序控制”的概念,程序被裝入主存后,計(jì)算機(jī)應(yīng)能按其預(yù)先設(shè)定的要求有條不紊地執(zhí)行指令,方可完成具體的任務(wù)。因此,嚴(yán)格控制程序的執(zhí)行順序,是CPU的首要任務(wù)。5.1基本概念2.操作控制一條指令的執(zhí)行,要涉及計(jì)算機(jī)中的若干個(gè)部件??刂七@些部件協(xié)同工作,要靠各種操作信號(hào)的有機(jī)配合。因此,CPU產(chǎn)生操作信號(hào)傳送給被控部件,并能檢測(cè)各個(gè)部件發(fā)送來(lái)的信號(hào),是協(xié)調(diào)各個(gè)工作部件按指令要求完成規(guī)定任務(wù)的基礎(chǔ)。時(shí)序控制要使計(jì)算機(jī)有條不紊地工作,對(duì)各種操作信號(hào)的產(chǎn)生時(shí)間、穩(wěn)定時(shí)間、撤銷時(shí)間及相互之間的關(guān)系都應(yīng)有嚴(yán)格的要求。對(duì)操作信號(hào)施加時(shí)間上的控制,稱為時(shí)序控制。只有嚴(yán)格的時(shí)序控制,才能保證各功能部件組合構(gòu)成有機(jī)的計(jì)算機(jī)系統(tǒng)。5.1基本概念3.數(shù)據(jù)加工要完成具體的任務(wù),就不可避免地涉及數(shù)值數(shù)據(jù)的算術(shù)運(yùn)算、邏輯變量的邏輯運(yùn)算以及其他非數(shù)值數(shù)據(jù)(如字符、字符串)的處理。這些運(yùn)算和處理,稱為數(shù)據(jù)加工。數(shù)據(jù)加工處理是完成程序功能的基礎(chǔ),因此,它是CPU的根本任務(wù)。4.異常處理和中斷處理對(duì)CPU內(nèi)部出現(xiàn)的意外情況進(jìn)行處理。此外還具有存儲(chǔ)器管理、總線管理、電源管理等擴(kuò)展管理。5.1基本概念CPU由運(yùn)算器和控制器兩大部件組成??刂破鲝膬?nèi)存中取指令,計(jì)算下一條指令在內(nèi)存中的地址。對(duì)指令進(jìn)行譯碼,產(chǎn)生相應(yīng)的操作控制信號(hào)??刂浦噶顖?zhí)行的步驟和數(shù)據(jù)流動(dòng)方向。運(yùn)算器算術(shù)邏輯單元(ALU)、累加器、數(shù)據(jù)緩沖寄存器、寄存器組和狀態(tài)寄存器組成,它是數(shù)據(jù)加工處理部件。運(yùn)算器接受控制器的命令完成具體的數(shù)據(jù)加工任務(wù)。運(yùn)算器對(duì)累加器和數(shù)據(jù)緩沖寄存器的內(nèi)容進(jìn)行算術(shù)運(yùn)算或邏輯運(yùn)算,運(yùn)算的結(jié)果保存到累加器中,并建立相應(yīng)的狀態(tài)標(biāo)志存放到狀態(tài)寄存器中。5.1基本概念2.CPU的寄存器(1)指令寄存器(IR)指令寄存器用來(lái)存放從存儲(chǔ)器中取出的指令。當(dāng)指令從主存取出暫存于指令寄存器之后,在執(zhí)行指令的過(guò)程中,指令寄存器的內(nèi)容不允許發(fā)生變化,以保證實(shí)現(xiàn)指令的全部功能。(2)程序計(jì)數(shù)器(PC)程序計(jì)數(shù)器又稱指令計(jì)數(shù)器,用來(lái)存放正在執(zhí)行的指令地址或接著要執(zhí)行的下條指令地址。對(duì)于順序執(zhí)行的情況,PC的內(nèi)容應(yīng)不斷地增量(加“1”),以控制指令的順序執(zhí)行。這種加“1”的功能,有些機(jī)器是程序計(jì)數(shù)器本身具有的,也有些機(jī)器是借助運(yùn)算器來(lái)實(shí)現(xiàn)的。在遇到需要改變程序執(zhí)行順序的情況時(shí),將轉(zhuǎn)移的目標(biāo)地址送往PC,即可實(shí)現(xiàn)程序的轉(zhuǎn)移。有些情況下除改變PC的內(nèi)容外,還需要保留改變之前的內(nèi)容,以便返回時(shí)使用。⑶存儲(chǔ)器數(shù)據(jù)寄存器(DR)存儲(chǔ)器數(shù)據(jù)寄存器用來(lái)暫時(shí)存放由主存儲(chǔ)器讀出的一條指令或一個(gè)數(shù)據(jù)字;反之,當(dāng)向主存存入一條指令或一個(gè)數(shù)據(jù)字時(shí),也暫時(shí)將它們存放在存儲(chǔ)器數(shù)據(jù)寄存器中。(4)存儲(chǔ)器地址寄存器(MAR)存儲(chǔ)器地址寄存器用來(lái)保存當(dāng)前CPU所訪問(wèn)的主存單元的地址。由于主存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來(lái)保持地址信息,直到主存的讀寫(xiě)操作完成為止。當(dāng)CPU和主存進(jìn)行信息交換,無(wú)論是CPU向主存存取數(shù)據(jù)時(shí),還是CPU從主存中讀出指令時(shí),都要使用存儲(chǔ)器地址寄存器和數(shù)據(jù)寄存器。⑸狀態(tài)寄存器(SR)狀態(tài)標(biāo)志寄存器用來(lái)存放程序狀態(tài)字(PSW)。程序狀態(tài)字的各位表征程序和機(jī)器運(yùn)行的狀態(tài),是參與控制程序執(zhí)行的重要依據(jù)之一。它主要包括兩部分內(nèi)容:一是狀態(tài)標(biāo)志,如進(jìn)位標(biāo)志(C)、結(jié)果為零標(biāo)志(Z)等,大多數(shù)指令的執(zhí)行將會(huì)影響到這些標(biāo)志位;二是控制標(biāo)志,如中斷標(biāo)志、陷阱標(biāo)志等。狀態(tài)標(biāo)志寄存器的位數(shù)往往等于機(jī)器字長(zhǎng),各類機(jī)器的狀態(tài)標(biāo)志寄存器的位數(shù)和設(shè)置位置不盡相同。5.1基本概念數(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ì)。數(shù)據(jù)通路的建立:總線結(jié)構(gòu)和專用通路指令譯碼/控制器IRPCARDRR0Rn-1YALUZ存儲(chǔ)器地址總線數(shù)據(jù)總線控制信號(hào)SR總線控制信號(hào)單總線CPU結(jié)構(gòu)中,控制信號(hào)可表示為:PCout,PCin...,寄存器的名字加下標(biāo)表示,下標(biāo)為in代表寫(xiě)操作,下標(biāo)為out代表讀操作。專用通路結(jié)構(gòu)中,數(shù)據(jù)通路是每個(gè)部件專用的,不需要進(jìn)行輸出控制??梢詼p少輸出控制信號(hào)。指令周期:從一條指令的啟動(dòng)到下一條指令的啟動(dòng)的間隔時(shí)間。取指階段(取指令)執(zhí)行階段(分析指令、執(zhí)行指令)機(jī)器周期:所有指令執(zhí)行過(guò)程中的一個(gè)基準(zhǔn)時(shí)間時(shí)鐘周期:時(shí)鐘周期是控制計(jì)算機(jī)操作的最小單位時(shí)間,計(jì)算機(jī)的主頻周期。控制信號(hào)舉例PCIRACCU時(shí)鐘ALU………控制信號(hào)標(biāo)志控制信號(hào)C0C1C2C3C4取指周期以ADD@X為例PCIRCU1.專用通路結(jié)構(gòu)PCPCPC
MDR
MAR
MDR
MARPCIRACCU時(shí)鐘ALU………控制信號(hào)標(biāo)志控制信號(hào)
MDR
MAR控制信號(hào)舉例1.專用通路結(jié)構(gòu)C1C2C3C5ADD@X間址周期IR
MDR
MDR
MARPCIRACCU時(shí)鐘ALU………控制信號(hào)標(biāo)志控制信號(hào)
MDR
MAR控制信號(hào)舉例1.專用通路結(jié)構(gòu)C1C2C5ADD@X執(zhí)行周期C7C6C8ACALU…控制信號(hào)
MDR
MAR
MDRMDRMDRCU(1)ADD@X取指周期
PC
CU
發(fā)讀命令1R
MDROP(IR)(PC)+1PCIRPCMARAC
YALUZ…控制信號(hào)IRiIRiPCOPCOMARiMARiMDROMDRO…數(shù)據(jù)線數(shù)據(jù)線控制信號(hào)CPU
內(nèi)部總線時(shí)鐘2.采用CPU內(nèi)部總線方式地址線地址線MARMDRIRCUIRPCPCMDRMARCUIRPCPCCU(2)ADD@X間址周期
MDR1R
MDR有效地址
Ad(IR)MDROMDRO數(shù)據(jù)線數(shù)據(jù)線時(shí)鐘CUIRPCMARMDRACYALUZ…控制信號(hào)…控制信號(hào)CPU
內(nèi)部總線MDRIRMARi
MARi地址線地址線MARIRiIRiMARMDRIRMDRMDRMDROMDROMDROMDROMDRO形式地址MAR
CU時(shí)鐘CUIRPCMARMDRACYALUZ…控制信號(hào)CPU
內(nèi)部總線MDROMDRO(3)ADD@X執(zhí)行周期1R
MDR
Z
AC(AC)+(Y)
MDR控制信號(hào)…MARMDR地址線地址線數(shù)據(jù)線數(shù)據(jù)線MARMDRYMDRMDRMDROMDROMDROMDROMDROMDROMDROYiYi
YALUACACOACOALUiALUiALUALUACZZZZOZOACiACiACACACACMARi
MARiALUACCU5.2指令周期CPU要執(zhí)行的指令及處理的數(shù)據(jù)都以二進(jìn)制代碼的形式存放在主存中,從形式上看,數(shù)據(jù)和指令很難區(qū)別。然而,CPU卻能區(qū)分出哪些是指令,哪些是數(shù)據(jù),根據(jù)指令的操作要求對(duì)數(shù)據(jù)實(shí)現(xiàn)處理。CPU之所以能夠自動(dòng)地識(shí)別指令和數(shù)據(jù),又能自動(dòng)地執(zhí)行指令,是因?yàn)樗馨闯绦蛑械闹噶钚蛄腥≈?,并?duì)指令進(jìn)行譯碼、執(zhí)行。CPU取指令、執(zhí)行指令的序列如下圖所示,即CPU在執(zhí)行程序的過(guò)程中,先按程序計(jì)數(shù)器(PC)的值從主存中取得一條指令,然后譯碼、執(zhí)行(執(zhí)行過(guò)程包括從主存中取必要的數(shù)據(jù))。緊接著又取下一條指令,譯碼、執(zhí)行。依此重復(fù),直至遇到停機(jī)指令。CPU每進(jìn)行一種操作,都需要時(shí)間的開(kāi)銷。因此,CPU取指令、譯碼、執(zhí)行需要一定的時(shí)間,這一系列操作的時(shí)間稱為指令周期,指令周期就是CPU從主存中取出一條指令到執(zhí)行完這條指令所需的時(shí)間。不同的指令,所需要的操作不相同,有的復(fù)雜,有的簡(jiǎn)單,因此,它們的操作時(shí)間也不相同。例如,一條寄存器間址的數(shù)據(jù)傳送指令的指令周期與一條從主存取數(shù)指令的指令周期是不同的。5.2指令周期5.2.1運(yùn)算指令周期一條運(yùn)算指令的執(zhí)行在專用數(shù)據(jù)通路需要四個(gè)階段:1.取指令PCMARPC+1PC(計(jì)算下一條指令地址)DBUSMDR,MDRIR2.指令譯碼及讀取操作數(shù)3.執(zhí)行4.寫(xiě)回5.2.1運(yùn)算指令周期一條運(yùn)算指令的執(zhí)行在單總線需要六步:1.送指令地址PCMAR2.計(jì)算下一條指令地址PC+1PC3.讀入指令DBUSMDR,MDRIR4.把一個(gè)操作數(shù)送入運(yùn)算器。5.把另一個(gè)操作數(shù)送入運(yùn)算器6.把結(jié)果送入指令的計(jì)算器5.2.1運(yùn)算指令周期寫(xiě)出在單總線結(jié)構(gòu)中,將R1和R2的數(shù)據(jù)相加,結(jié)果送入R3的指令A(yù)DDR3,R1,R2的執(zhí)行過(guò)程。1.送指令地址PCMAR2.計(jì)算下一條指令地址PC+1PC3.讀入指令DBUSMDR,MDRIR4.把一個(gè)操作數(shù)送入運(yùn)算器。R1Y5.把另一個(gè)操作數(shù)送入運(yùn)算器。R2+YZ6.把結(jié)果送入指令的計(jì)算器。ZR35.2指令周期5.2.2訪存指令周期一條讀存儲(chǔ)器數(shù)據(jù)的指令的執(zhí)行過(guò)程:1.取指令2.指令譯碼3.計(jì)算地址4.訪存5.寫(xiě)回PCMARPC+1PC(計(jì)算下一條指令地址)DBUSMDR,MDRIR5.2指令周期5.2.2訪存指令周期一條寫(xiě)存儲(chǔ)器數(shù)據(jù)的指令的執(zhí)行過(guò)程:1.取指令2.指令譯碼3.計(jì)算地址4.訪存PCMARPC+1PC(計(jì)算下一條指令地址)DBUSMDR,MDRIR5.2.2訪存指令周期寫(xiě)出在單總線的CPU結(jié)構(gòu)中,執(zhí)行讀存儲(chǔ)器數(shù)據(jù)到寄存器的指令LOADR1,mem的過(guò)程。解:(1)PCMAR(2)PC+1PC(3)DBUSMDR,MDRIR(4)IR(地址字段)MAR,讀存儲(chǔ)器(5)DBUSMDR(6)MDRR15.2.2訪存指令周期寫(xiě)出在單總線的CPU結(jié)構(gòu)中,執(zhí)行寫(xiě)存儲(chǔ)器數(shù)據(jù)到寄存器的指令STORER1,mem的過(guò)程。解:(1)PCMAR(2)PC+1PC(3)DBUSMDR,MDRIR(4)IR(地址字段)MAR(5)R1MDR,寫(xiě)存儲(chǔ)器5.2.3控制指令周期條件轉(zhuǎn)移指令有三種安排方法:1.條件碼方法。由ALU操作設(shè)置特定的位作為條件碼,這個(gè)條件碼放在專門的寄存器中。每條指令執(zhí)行完成時(shí)將它的結(jié)果條件寫(xiě)入狀態(tài)存儲(chǔ)器,以便于下一條指令進(jìn)行判斷。2.條件寄存器方法將條件碼放入通用寄存器中,測(cè)試帶比較結(jié)果的任意通用寄存器。3.比較與轉(zhuǎn)移方法比較操作是條件轉(zhuǎn)移指令的一部分功能。一條轉(zhuǎn)移指令的操作過(guò)程是:1.取指令2.指令譯碼3.更新指令地址5.2.3控制指令周期相對(duì)轉(zhuǎn)移的目標(biāo)地址:指令中的地址碼+PC絕對(duì)轉(zhuǎn)移的目標(biāo)地址:指令中的地址碼例寫(xiě)出在單總線結(jié)構(gòu)的計(jì)算機(jī)中執(zhí)行相對(duì)轉(zhuǎn)移指令JMPoffs時(shí)的操作步驟(offs是相對(duì)轉(zhuǎn)移地址)。解:(1)PCMAR(2)PC+1PC(3)DBUSMDR,MDRIR(4)PCY(5)Y+IR(地址碼)Z(6)ZPC試寫(xiě)出單總線的CPU結(jié)構(gòu)中指令的執(zhí)行步驟:(1)ADDR1,R2;R1+R2R1(2)ADD(R1),R2;(R1)+R2(R1)(3)MOVER1,R2;R1R2(4)MOVEmem1,mem2;(mem1)mem2解:取指令操作都是一樣的:PCMARPC+1PCDBUSMDR,MDRIR(1)R1Y;Y+R2Z;ZR1(2)R1MAR,讀存儲(chǔ)器;DBUSMDR;MDRY;Y+R2Z;ZMDR,寫(xiě)存儲(chǔ)器(3)MOVER1,R2;R1R2R1R2(4)MOVEmem1,R2;(mem1)R2IR(地址字段)MAR,讀存儲(chǔ)器;DBUSMDR;MDRMAR,讀存儲(chǔ)器;DBUSMDR;MDRR2以單總線的CPU數(shù)據(jù)通路結(jié)構(gòu)為背景,試擬出加法指令A(yù)DDR3,B(R2)的讀取和執(zhí)行流程。其中R3表示目的尋址為寄存器尋址;B(R2)表示源尋址為變址尋址,B是偏移量,R2是變址寄存器。PC→MARPC+1→PCDBUS→MDR,MDR→IRB(IR地址段)→YR2+Y→ZZ→MARDBUS→MDR,MDR→YR3+Y→ZZ→R3以單總線的CPU數(shù)據(jù)通路結(jié)構(gòu)為背景,試擬出轉(zhuǎn)移指令JMP#A的讀取和執(zhí)行流程。答案:PC→MARPC+1→PCDBUS→MDR,MDR→IRIR(地址段)→PC5.3硬連線控制器硬連線控制器采用基本的門電路實(shí)現(xiàn)控制器的邏輯。根據(jù)時(shí)鐘信號(hào)和指令譯碼后的信號(hào)產(chǎn)生控制各個(gè)部件操作的信號(hào)。硬連線控制器設(shè)計(jì)步驟:根據(jù)每條指令功能,確定每條指令的執(zhí)行步驟,畫(huà)出指令執(zhí)行的流程圖。列出每條指令在每個(gè)操作步驟(機(jī)器周期)中所需的控制信號(hào)。寫(xiě)出每個(gè)控制信號(hào)的邏輯表達(dá)式。畫(huà)出控制器的邏輯框圖,圖上標(biāo)出每個(gè)信號(hào)的名稱。5.3.1指令周期流程圖方框表示一個(gè)機(jī)器周期中可完成的操作。條件判斷的菱形框可省略。取指操作時(shí)每條指令共同的操作步驟,在指令流程圖中是一個(gè)公共的流程段。執(zhí)行階段的操作是各指令互不相同的操作,可以給每條指令安排一個(gè)分支流程。開(kāi)始PCMAR,PC+1PCDBUSMDR,MDRIRR1YIR(地)
MARIR(地)
MARPCYR2+YZZR3R1
MDRDBUS
MDRY+IR(地)ZMDR
R1Z
PCADDSTORELOADJMP例單總線結(jié)構(gòu)的寫(xiě)出加法操作指令在執(zhí)行過(guò)程中的控制信號(hào)。PCMAR,PC+1PCDBUSMDR,MDRIRR1YR2+YZZR3T1:PCout,MemRead,PC+1,MARinT2:MDRout,IRinT3:R1out,YinT4:R2out,Zin,+T5:Zout,R3in5.3.2硬連線控制器各個(gè)操作的定時(shí)控制構(gòu)成了操作控制信號(hào)的時(shí)間特征,各種不同部件的操作所需要的不同操作信號(hào)構(gòu)成計(jì)算機(jī)操作控制信號(hào)的空間特征。時(shí)間特征由控制信號(hào)的定時(shí)來(lái)體現(xiàn);控制信號(hào)的空間特征由控制信號(hào)的邏輯組合來(lái)體現(xiàn)。組合電路的硬連線控制器由時(shí)鐘源、環(huán)形脈沖發(fā)生器、控制信號(hào)的編碼器電路、指令譯碼邏輯電路構(gòu)成。時(shí)鐘源為環(huán)形脈沖發(fā)生器提供頻率穩(wěn)定的時(shí)鐘脈沖信號(hào)。指令譯碼器對(duì)操作碼進(jìn)行譯碼,產(chǎn)生表示不同指令的信號(hào),以便于編碼器產(chǎn)生所需的控制信號(hào)。Ci=T1*(INS1+INS2+...)+T2*(INS1+INS2+...)+...例某計(jì)算機(jī)中有ADD指令和JMP指令。ADD指令每個(gè)時(shí)鐘周期內(nèi)的控制信號(hào)為:T1:PCout,MARin,PC+1,ReadT2:MDRout,IRinT3:R1out,YinT4:R2out,Zin,+T5:Zout,R3inJMP指令每個(gè)時(shí)鐘周期內(nèi)的控制信號(hào)為:T1:PCout,MARin,PC+1,ReadT2:MDRout,IRinT3:PCout,YinT4:IRout,Zin,+T5:Zout,PCin寫(xiě)出控制信號(hào)的邏輯表達(dá)式。解:PCin=T5*JMPPCout=T1*(ADD+JMP)+T3*JMPYin=T3*(ADD+JMP)+=T4*(ADD+JMP)Zin=T4*(ADD+JMP)Zout=T5*(ADD+JMP)5.4微程序控制器5.4.1微程序和微指令完成一條機(jī)器指令微操作命令1微操作命令2微操作命令n…微指令110100000微指令n微程序00010010存儲(chǔ)邏輯一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序…存入ROM程序、指令、微程序、微指令、微命令、微操作的關(guān)系M+1MM+2P+1KK+2PP+2K+1…取指周期微程序?qū)?yīng)LDA操作的微程序?qū)?yīng)STA操作的微程序順序控制操作控制微指令基本格式①在組合邏輯控制器中,一條指令的功能是直接由硬件解釋實(shí)現(xiàn)的;而在微程序控制器中,每條指令都對(duì)應(yīng)著一段微程序,指令的功能是由微程序解釋實(shí)現(xiàn)的,硬件完成的是微指令的功能。②機(jī)器設(shè)計(jì)確定后,指令系統(tǒng)就確定了,所以通常用ROM組成控存。③微程序?qū)嵸|(zhì)上定義了機(jī)器的指令系統(tǒng)。只要修改控存中的微程序,就可以修改機(jī)器的指令系統(tǒng)。因此可以通過(guò)修改微程序,在相同的硬件中實(shí)現(xiàn)不同的指令系統(tǒng)。這樣就可以允許用戶編寫(xiě)指令系統(tǒng)以滿足特殊要求。④由于一條機(jī)器指令的執(zhí)行過(guò)程中,需要多次訪問(wèn)控存,所以控存的速度直接影響到機(jī)器的速度。5.4.2微程序控制器原理譯碼器順序控制邏輯控制存儲(chǔ)器微地址寄存器控制碼譯碼器操作碼狀態(tài)碼μARμIR控制信號(hào)控制存儲(chǔ)器:存放實(shí)現(xiàn)全部指令系統(tǒng)的所有微程序。微指令寄存器:存放由控制存儲(chǔ)器讀出的一條微指令信息。微地址寄存器:存放將要訪問(wèn)的下一條微指令的微地址。BCF:轉(zhuǎn)移控制字段BAF:轉(zhuǎn)移地址字段5.4.3微程序設(shè)計(jì)技術(shù)微指令的設(shè)計(jì)目標(biāo):縮短微指令長(zhǎng)度減小控制存儲(chǔ)器的容量提高微程序的執(zhí)行速度便于微指令的修改便于微程序設(shè)計(jì)的靈活性5.4.3微程序設(shè)計(jì)技術(shù)1.控制字的編碼直接編碼(直接控制)方式在微指令的操作控制字段中,每一位代表一個(gè)微操作命令順序控制字段…控制信號(hào)操作控制簡(jiǎn)單直觀、速度最快直接編碼(直接控制)方式微指令操作控制字段的每一位都直接表示一個(gè)微命令,該位為“1”,表示執(zhí)行這個(gè)微命令,為“0”表示不執(zhí)行該微命令。由于這種方法不需譯碼,所以也稱不譯法。例:在模型機(jī)中,若只考慮輸入信號(hào),則有35個(gè)微命令,因此微指令的操作控制字段應(yīng)長(zhǎng)35位。設(shè)μIR的第22位對(duì)應(yīng)于C0,則譯碼時(shí)有C0=μIR22。直接編碼(直接控制)方式直接控制法的優(yōu)點(diǎn):結(jié)構(gòu)簡(jiǎn)單,并行性強(qiáng),操作速度快。直接控制法的缺點(diǎn):微指令字太長(zhǎng),信息效率低。因?yàn)樵谶@種方法中,有N個(gè)微命令,操作控制字段就需N位。在實(shí)際機(jī)器中,微命令數(shù)達(dá)幾百個(gè),使微指令字長(zhǎng)達(dá)到難以接受的地步。同時(shí)在幾百個(gè)微命令中有很多是互斥的,不允許同時(shí)出現(xiàn)的(如R0→BUS1,R1→BUS1),將它們安排在同一條微指令內(nèi),只會(huì)使信息效率降低。因此在實(shí)際機(jī)器中,往往與其它方法混合使用,僅部分位采用直接控制法。5.4.3微程序設(shè)計(jì)技術(shù)1.控制字的編碼編碼表示法將微指令的控制字段分成若干“段”,每段經(jīng)譯碼后發(fā)出控制信號(hào)每個(gè)字段中的命令是互斥
的譯碼…譯碼…譯碼…順序控制操作控制控制信號(hào)編碼表示法將微指令操作控制字段劃分為若干個(gè)子字段,每個(gè)子字段的所有微命令進(jìn)行統(tǒng)一編碼。因此在這種方法中,不同的子字段的不同編碼,表示不同的微命令。子字段的劃分原則:①把互斥的微命令(即不允許同時(shí)出現(xiàn)的微命令)劃分在同一字段內(nèi),相容的(即允許同時(shí)出現(xiàn))微命令劃分在不同字段內(nèi)。②字段的劃分應(yīng)與數(shù)據(jù)通路結(jié)構(gòu)相適應(yīng)。③一般每個(gè)子字段應(yīng)留出一個(gè)狀態(tài),表示本字段不發(fā)任何微命令。④每個(gè)子字段所定義的微命令數(shù)不宜太多,否則將使微命令譯碼復(fù)雜。例:Ri→BUS1是互斥的,可以劃分在同一字段;RS→BUS1和CPRS是相容的,應(yīng)劃分在不同字段。字段直接編碼法的微指令結(jié)構(gòu)某計(jì)算機(jī)控制器的控制信號(hào)有:PCout、PC+1、MARin、MDRout、Read、IRin、R1out、Yin、R2out、Add、Zin、Zout、R3in、IRout、R1in、PCin、MDRin、Write微指令A(yù)DDT3的操作需要的控制信號(hào)是R1out和IRin,設(shè)微指令控制字的編碼采用直接表示法,寫(xiě)出該微指令的控制字。2.微地址的形成方式在微程序控制的計(jì)算機(jī)中,機(jī)器指令是通過(guò)微程序解釋執(zhí)行的。每一條指令都對(duì)應(yīng)一段微程序,不同指令的微程序存放在控制存儲(chǔ)器的不同存儲(chǔ)區(qū)域內(nèi)。微程序順序控制(或地址控制)需解決的問(wèn)題是微程序應(yīng)如何存放和執(zhí)行,即需考慮初始微地址和后繼微地址的各種形成方法。微程序的初始微地址(微程序的入口地址):指令所對(duì)應(yīng)微程序的第一條微指令所在控制存儲(chǔ)器單元的地址?,F(xiàn)行微指令:執(zhí)行微程序過(guò)程中,當(dāng)前正在執(zhí)行的微指令?,F(xiàn)行微地址:現(xiàn)行微指令所在控制存儲(chǔ)器單元的地址。后繼微指令:現(xiàn)行微指令執(zhí)行完畢后,下一條要執(zhí)行的微指令。后繼微地址:后繼微指令所在控存單元的地址。5.4.3微程序設(shè)計(jì)技術(shù)2.微地址的形成方式計(jì)數(shù)器方式(增量方式):用微程序計(jì)數(shù)器來(lái)產(chǎn)生下一條微指令的微地址,將微程序中的各條微指令按執(zhí)行順序安排在控制存儲(chǔ)器中,后續(xù)微地址由現(xiàn)行微地址加上一個(gè)增量形成。譯碼器順序控制邏輯控制存儲(chǔ)器微地址計(jì)數(shù)器控制碼譯碼器操作碼狀態(tài)碼μPCμIR控制信號(hào)5.4.3微程序設(shè)計(jì)技術(shù)2.微地址的形成方式斷定方式:根據(jù)機(jī)器狀態(tài)決定下一條微指令的微地址,下一條微指令的微地址包含在當(dāng)前微指令的代碼中。結(jié)合方式:斷定式與增量式相結(jié)合。譯碼器順序控制邏輯控制存儲(chǔ)器微地址計(jì)數(shù)器控制碼譯碼器操作碼狀態(tài)碼μARμIR選擇器5.4.3微程序設(shè)計(jì)技術(shù)微程序控制器的設(shè)計(jì)步驟:根據(jù)每條指令功能,確定每條指令的執(zhí)行步驟,畫(huà)出微程序的流程圖。列出每條指令在每個(gè)操作步驟(機(jī)器周期)中所需的控制信號(hào)。寫(xiě)出各控制信號(hào)以及各偽指令的控制字。在微程序流程圖中安排每條微指令存儲(chǔ)地址。設(shè)計(jì)每條指令的格式,寫(xiě)出每條微指令的代碼。設(shè)計(jì)形成多路分支微地址的形成方法。例對(duì)于圖示的控制器流程圖,試寫(xiě)出用微程序?qū)崿F(xiàn)控制器時(shí)的微程序流程圖,為每條微指令安排微地址,寫(xiě)出每條微指令的生成微地址的字段并指出多路分支的實(shí)現(xiàn)方法。設(shè)ADD、LOAD、STORE、JMP指令的操作碼分別為00、01、10、11.開(kāi)始PCMAR,PC+1PCDBUSMDR,MDRIRR1YIR(地)
MARIR(地)
MARPCYR2+YZZR3R1
MDRDBUS
MDRY+IR(地)ZMDR
R1Z
PCADDSTORELOADJMP解:采用的指令格式為3部分,因?yàn)橹挥?個(gè)分支,故BCF為1位。共13個(gè)微指令,故下址字段BAF為4位。多路分支時(shí)BAF中的高2位根據(jù)操作碼構(gòu)成。開(kāi)始PCMAR,PC+1PCDBUSMDR,MDRIRR1YIR(地)
MARIR(地)
MARPCYR2+YZZR3R1
MDRDBUS
MDRY+IR(地)ZMDR
R1Z
PCADDSTORELOADJMP0000000100100011010001100111101010111110111111000001XX10100000110100000001110000101110000000111111101100微程序設(shè)計(jì)方法微指令格式的設(shè)計(jì)是微程序設(shè)計(jì)的主要部分,它直接影響微程序控制器的結(jié)構(gòu)和微程序的編制,也影響著機(jī)器的處理速度和控制存儲(chǔ)器的容量。微指令格式的設(shè)計(jì)除了要實(shí)現(xiàn)計(jì)算機(jī)的整個(gè)指令系統(tǒng)之外,還要考慮具體的數(shù)據(jù)通路、控制存儲(chǔ)器速度以及微程序的編制等因素。不同機(jī)器有不同的微指令格式,但從其所具有的共性來(lái)看,通??煞譃閮纱箢悺?.水平型微指令水平型微指令是一種廣義的說(shuō)法,并沒(méi)有統(tǒng)一的確切定義。水平型微指令是指一次能定義并執(zhí)行多個(gè)操作微命令的微指令。水平型微指令一般由控制字段、判別測(cè)試字段和下地址字段等3部分組成。水平微指令一般具有以下特點(diǎn):①微指令字較長(zhǎng),定義的微命令較多,一般為幾十位到上百位。如
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年四川省南充市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2024年廣東省佛山市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2022年四川省廣元市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年云南省大理自治州公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 集體三等功事跡報(bào)告
- 學(xué)校圣誕節(jié)晚會(huì)的主持開(kāi)場(chǎng)白!中文英文對(duì)照版
- 《創(chuàng)建框架網(wǎng)》課件
- 《膈疝放射診斷》課件
- 2025年生命探測(cè)儀項(xiàng)目申請(qǐng)報(bào)告模板
- 2025年特種粉末及粉末冶金制品項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模范
- 浙江省杭州市余杭區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期1月期末道德與法治試題
- 山東省濟(jì)南市歷城區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- 工程管理培訓(xùn)教案
- agv無(wú)人運(yùn)輸車維修保養(yǎng)合同
- 2023-2024學(xué)年二年級(jí)數(shù)學(xué)上冊(cè)期末樂(lè)考非紙筆測(cè)試題(一)蘇教版
- 學(xué)生信息技術(shù)應(yīng)用實(shí)踐
- Android移動(dòng)應(yīng)用開(kāi)發(fā)基礎(chǔ)教程-教案
- 2024年江蘇省學(xué)業(yè)水平合格性考試語(yǔ)文全真模擬卷
- 2023年總裝電氣工程師年度總結(jié)及下一年計(jì)劃
- 城市園林綠化養(yǎng)護(hù)管理標(biāo)準(zhǔn)規(guī)范
- 腳手架工程安全管理風(fēng)險(xiǎn)辨識(shí)及防范措施
評(píng)論
0/150
提交評(píng)論