《計(jì)算機(jī)組成原理》第9章微程序控制計(jì)算機(jī)的設(shè)計(jì).ppt
《《計(jì)算機(jī)組成原理》第9章微程序控制計(jì)算機(jī)的設(shè)計(jì).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《計(jì)算機(jī)組成原理》第9章微程序控制計(jì)算機(jī)的設(shè)計(jì).ppt(63頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
2007.7.2,計(jì)算機(jī)組成原理,1,第9章微程序控制計(jì)算機(jī)的設(shè)計(jì),計(jì)算機(jī)組成原理,2007.7.2,計(jì)算機(jī)組成原理,2,第9章微程序控制計(jì)算機(jī)的設(shè)計(jì),本章主要是為配合前面各章節(jié)理論教學(xué)而設(shè)計(jì)的,是理論與應(yīng)用相結(jié)合教學(xué)內(nèi)容的一部分。通過(guò)講述微程序控制計(jì)算機(jī)的設(shè)計(jì)方法和過(guò)程,加深讀者對(duì)計(jì)算機(jī)存儲(chǔ)器、微程序控制器、指令系統(tǒng)等內(nèi)容的理解,2007.7.2,計(jì)算機(jī)組成原理,3,本章要點(diǎn):,◆計(jì)算機(jī)整機(jī)框圖設(shè)計(jì)◆指令系統(tǒng)設(shè)計(jì)◆微操作信號(hào)設(shè)計(jì)◆指令微程序設(shè)計(jì)◆編寫應(yīng)用程序,2007.7.2,計(jì)算機(jī)組成原理,4,第9章微程序控制計(jì)算機(jī)的設(shè)計(jì),●9.1微程序控制計(jì)算機(jī)概述●9.2指令系統(tǒng)設(shè)計(jì)●9.3微程序設(shè)計(jì)●9.4編寫源程序,2007.7.2,計(jì)算機(jī)組成原理,5,9.1微程序控制計(jì)算機(jī)概述,控制計(jì)算機(jī)工作的微命令信號(hào)主要通過(guò)兩種方法實(shí)現(xiàn),一種是由設(shè)計(jì)的微程序產(chǎn)生,另外一種是通過(guò)組合邏輯電路產(chǎn)生。計(jì)算機(jī)控制器構(gòu)成電路主要是圍繞這兩種方法進(jìn)行設(shè)計(jì)的,二者各有優(yōu)缺點(diǎn),詳細(xì)知識(shí)第6章已經(jīng)講述,在此通過(guò)設(shè)計(jì)實(shí)例主要介紹微程序控制計(jì)算機(jī)的應(yīng)用情況。,2007.7.2,計(jì)算機(jī)組成原理,6,9.1微程序控制計(jì)算機(jī)概述,◆9.1.1設(shè)計(jì)要求與目標(biāo)◆9.1.2計(jì)算機(jī)硬件設(shè)計(jì),2007.7.2,計(jì)算機(jī)組成原理,7,設(shè)計(jì)一個(gè)完整的計(jì)算機(jī)系統(tǒng)不僅要考慮計(jì)算機(jī)硬件設(shè)計(jì),還要考慮機(jī)器字長(zhǎng)、指令系統(tǒng)規(guī)模、外部設(shè)備規(guī)模等。詳細(xì)分析主要包括如下幾個(gè)方面:(1)機(jī)器字長(zhǎng)采用8位還是16位。即運(yùn)算器、數(shù)據(jù)總線是采用8位還是16位。(2)地址總線的位數(shù)。確定計(jì)算機(jī)尋址空間的大小。(3)計(jì)算機(jī)運(yùn)算器采用什么結(jié)構(gòu)(如多通用寄存器結(jié)構(gòu)、多累加器結(jié)構(gòu)等)。,1.設(shè)計(jì)要求,2007.7.2,計(jì)算機(jī)組成原理,8,(4)計(jì)算機(jī)指令系統(tǒng)規(guī)模(共有多少條指令,多少種尋址方式,指令功能等)。(5)計(jì)算機(jī)是否使用外設(shè)(鍵盤和打印機(jī)),以什么方式使用外設(shè)(程序查詢I/O方式還是中斷I/O方式)。,2007.7.2,計(jì)算機(jī)組成原理,9,計(jì)算機(jī)系統(tǒng)采用8位字長(zhǎng),計(jì)算機(jī)系統(tǒng)的硬件組成應(yīng)該完備,運(yùn)算器、控制器、主存、I/O接口及總線等應(yīng)有一定的典型性,并能驅(qū)動(dòng)簡(jiǎn)單的I/O設(shè)備。此外該計(jì)算機(jī)系統(tǒng)應(yīng)具備一定規(guī)模的指令系統(tǒng),能夠完成基本的算術(shù)邏輯運(yùn)算以及數(shù)據(jù)的輸入輸出控制。,2.設(shè)計(jì)目標(biāo),2007.7.2,計(jì)算機(jī)組成原理,10,計(jì)算機(jī)的工作過(guò)程,實(shí)質(zhì)上是不同的數(shù)據(jù)流在控制信號(hào)作用下在限定的數(shù)據(jù)通路中進(jìn)行傳送。數(shù)據(jù)通路不同,指令所經(jīng)過(guò)的操作過(guò)程也不同,機(jī)器的結(jié)構(gòu)也就不—樣,因此數(shù)據(jù)通路的設(shè)計(jì)是至關(guān)重要的。所謂數(shù)據(jù)通路的設(shè)計(jì),也就是確定機(jī)器各邏輯部件相對(duì)位置的總框圖。,9.1.2計(jì)算機(jī)硬件設(shè)計(jì)1.設(shè)計(jì)整機(jī)邏輯框圖,2007.7.2,計(jì)算機(jī)組成原理,11,數(shù)據(jù)通路的設(shè)計(jì),目前還沒(méi)有非常標(biāo)準(zhǔn)的方法。主要是依據(jù)設(shè)計(jì)者的經(jīng)驗(yàn),并參考現(xiàn)有機(jī)器的幾種典型形式(比如單總線、雙總線或三總線結(jié)構(gòu)),根據(jù)指令系統(tǒng)的要求,可采用試探方法來(lái)完成。其主要步驟如下:(1)對(duì)指令系統(tǒng)中的各條指令進(jìn)行分析,得出所需要的指令周期與操作序列,以便決定各器件的類型和數(shù)量。,2007.7.2,計(jì)算機(jī)組成原理,12,(2)構(gòu)成一個(gè)總框圖草圖,進(jìn)行各邏輯部件之間的互相連接,即初步確定數(shù)據(jù)通路,使得由指令系統(tǒng)所包涵的數(shù)據(jù)通路都能實(shí)現(xiàn),并滿足技術(shù)指標(biāo)的要求。(3)檢驗(yàn)全部指令周期的操作序列,確定所需要的控制點(diǎn)和控制信號(hào)。(4)檢查所設(shè)計(jì)的數(shù)據(jù)通路,盡可能降低成本,簡(jiǎn)化線路。注:以上過(guò)程可以反復(fù)進(jìn)行,以便得到一個(gè)較好的方案。,2007.7.2,計(jì)算機(jī)組成原理,13,根據(jù)設(shè)計(jì)要求,對(duì)計(jì)算機(jī)模塊的硬件資源進(jìn)行邏輯剪輯組合,便可設(shè)計(jì)出該計(jì)算機(jī)的整機(jī)數(shù)據(jù)通路邏輯框圖,如圖9-1所示。為利于調(diào)試,在通路框圖上標(biāo)明了各器件的控制信號(hào)及必要的輸出信號(hào)。圖9-1中設(shè)計(jì)了運(yùn)算器ALU、移位發(fā)生器(74299)、數(shù)據(jù)寄存器(DR1、DR2等)、寄存器組(R0、R1、R2)、內(nèi)存RAM、微程序控制器單元CU、地址加法器、指令寄存器IR、程序計(jì)數(shù)器PC以及輸入/輸出設(shè)備等單元模塊。,2007.7.2,計(jì)算機(jī)組成原理,14,圖9-1計(jì)算機(jī)整機(jī)邏輯框圖,2007.7.2,計(jì)算機(jī)組成原理,15,(1)移位發(fā)生器單元如圖9-2所示,該電路使用了一片74LS299作為移位發(fā)生器,其中8位輸入/輸出和8位數(shù)據(jù)總線連接。299-B信號(hào)控制其使能端(0有效),T4為時(shí)序節(jié)拍脈沖。由S0、S1、M控制信號(hào)設(shè)置其運(yùn)行狀態(tài),其控制特性見(jiàn)表9-1所示。,2.單元模塊詳細(xì)設(shè)計(jì),2007.7.2,計(jì)算機(jī)組成原理,16,表9-1移位發(fā)生器控制狀態(tài)表,2007.7.2,計(jì)算機(jī)組成原理,17,圖9-2移位發(fā)生器電路圖,2007.7.2,計(jì)算機(jī)組成原理,18,受設(shè)計(jì)復(fù)雜度的限制,在計(jì)算機(jī)整機(jī)框圖中時(shí)序啟停模塊并沒(méi)有畫出,但對(duì)于計(jì)算機(jī)系統(tǒng)來(lái)說(shuō),控制計(jì)算機(jī)工作的時(shí)序信號(hào)是極為重要的。如圖9-3時(shí)序啟停電路原理所,其中時(shí)序電路由1/2片74LS74、1片74LS175及6個(gè)二輸入與門、2個(gè)二輸入與非門和3個(gè)反向器構(gòu)成??僧a(chǎn)生4個(gè)等間隔的時(shí)序信號(hào)T1~T4,其中“時(shí)鐘”信號(hào)由“脈沖源”提供。為了便于控制程序的運(yùn)行,時(shí)序電路發(fā)生器也設(shè)置了一個(gè)啟??刂朴|發(fā)器CR,使T1~T4信號(hào)輸出可控。,(2)時(shí)序啟停電路單元,2007.7.2,計(jì)算機(jī)組成原理,19,圖中給出了“運(yùn)行方式”、“停機(jī)”和啟動(dòng)控制位,用來(lái)分別管理時(shí)序信號(hào)T1~T4將周而復(fù)始地發(fā)送或單步發(fā)送。時(shí)序信號(hào)T1~T4連續(xù)發(fā)送,機(jī)器就可以連續(xù)執(zhí)行微程序;機(jī)器僅發(fā)送單周期4拍制時(shí)序信號(hào),便單步運(yùn)行狀態(tài),機(jī)器每次只執(zhí)行一條微指令,這樣,可以觀察微控制狀態(tài)與當(dāng)前微指令的執(zhí)行結(jié)果。,2007.7.2,計(jì)算機(jī)組成原理,20,圖9-3時(shí)序啟停電路圖,2007.7.2,計(jì)算機(jī)組成原理,21,用示波器觀察時(shí)序波形,可看到時(shí)序信號(hào)T1~T4的波形,如圖9-4所示。,圖9-4時(shí)序信號(hào)T1~T4的波形圖,2007.7.2,計(jì)算機(jī)組成原理,22,在計(jì)算機(jī)進(jìn)行算術(shù)運(yùn)算、邏輯運(yùn)算或移位運(yùn)算時(shí),運(yùn)算結(jié)果的狀態(tài)主要依靠標(biāo)志寄存器來(lái)顯示,因此設(shè)計(jì)計(jì)算機(jī)系統(tǒng)時(shí),設(shè)計(jì)合理的標(biāo)志位鎖存電路十分必要。如電路圖9-5所示,其中181的8位輸出端邏輯或非后進(jìn)入74LS74鎖存器D端,該端的狀態(tài)由AR和T4信號(hào)控制,當(dāng)AR=1時(shí),在時(shí)序T1~T4處于單步執(zhí)行狀態(tài)下,在T4節(jié)拍把當(dāng)前零(ZQ)狀態(tài)鎖存到零標(biāo)志鎖存器中。,(3)標(biāo)志位鎖存單元,2007.7.2,計(jì)算機(jī)組成原理,23,圖9-5標(biāo)志位鎖存電路圖,2007.7.2,計(jì)算機(jī)組成原理,24,如電路圖9-6所示,使用2片74LS163組成8位程序計(jì)數(shù)器PC,其8位輸入/輸出公用端與總線(BUS)接口相連接。通過(guò)LDPC、LOAD信號(hào)和脈沖T3來(lái)控制對(duì)程序計(jì)數(shù)器PC裝載數(shù)據(jù)和加1操作。當(dāng)LOAD=1、LDPC=1時(shí),在時(shí)序T3上升沿把數(shù)據(jù)開關(guān)的內(nèi)容裝入PC。當(dāng)LOAD=0、LDPC=1時(shí),在單周期四節(jié)拍時(shí)序的T2時(shí)刻打開PC-B三態(tài)門,在T3時(shí)刻PC值通過(guò)總線打入地址寄存器、同時(shí)PC值加1。,(4)程序計(jì)數(shù)器單元,2007.7.2,計(jì)算機(jī)組成原理,25,圖9-6程序計(jì)數(shù)器電路圖,2007.7.2,計(jì)算機(jī)組成原理,26,(5)指令寄存器單元如圖9-7所示,1片74LS273作為指令寄存器單元,其8位輸入端與BUS總線已作連接,其輸出端與微程序存儲(chǔ)器地址(SE5~SE0)接口連接。指令數(shù)據(jù)寄存器IR(74LS273)的LDIR為電平正跳變時(shí),把來(lái)自數(shù)據(jù)總線的數(shù)據(jù)打入寄存器IR,IR的輸出就作為本系統(tǒng)內(nèi)的8位指令I(lǐng)7~I0。在本系統(tǒng)內(nèi)由這8位指令(可最多譯碼256條不同的指令),通過(guò)編碼可對(duì)應(yīng)這些指令在微程序存儲(chǔ)器中的入口地址,并且輸出相應(yīng)的微控制指令。,2007.7.2,計(jì)算機(jī)組成原理,27,圖9-7指令寄存器電路圖,2007.7.2,計(jì)算機(jī)組成原理,28,(6)輸入/輸出單元計(jì)算機(jī)系統(tǒng)中所用的輸入/輸出設(shè)備如電路圖9-8、9-9所示。其中輸入設(shè)備有8位帶顯示數(shù)據(jù)開關(guān)經(jīng)一個(gè)三態(tài)門(74LS245)8位數(shù)據(jù)總線相連。輸出設(shè)備經(jīng)一鎖存器(74LS273)實(shí)現(xiàn),該鎖存器的8位輸入端和8位數(shù)據(jù)總線相連,其鎖存輸出端與8個(gè)發(fā)光二極管的顯示接口相連,該顯示接口以二進(jìn)制方式顯示輸出結(jié)果(燈亮表示該輸出位為1,燈滅表示該輸出位為0)。,2007.7.2,計(jì)算機(jī)組成原理,29,說(shuō)明:在本設(shè)計(jì)中8位數(shù)據(jù)開關(guān)就是簡(jiǎn)單的輸入設(shè)備,一次只能向計(jì)算機(jī)輸入8位二進(jìn)制;8個(gè)發(fā)光二極管是簡(jiǎn)單的輸出設(shè)備,一次能顯示一個(gè)字節(jié)的結(jié)果。,圖9-8輸入設(shè)備電路圖,2007.7.2,計(jì)算機(jī)組成原理,30,圖9-9輸出設(shè)備電路圖,2007.7.2,計(jì)算機(jī)組成原理,31,說(shuō)明:運(yùn)算器、存儲(chǔ)器及微程序控制器工作原理分別在前面第2章、第4章和第6章已講述,它們?cè)O(shè)計(jì)及應(yīng)用內(nèi)容在第10章實(shí)訓(xùn)部分還會(huì)詳細(xì)介紹,此處不再重點(diǎn)講述。,思考:結(jié)合數(shù)字電路知識(shí),請(qǐng)查閱資料分析74LS245、74LS74、74LS175、74LS299、74LS273芯片的作用及特性。,,2007.7.2,計(jì)算機(jī)組成原理,32,9.2指令系統(tǒng)設(shè)計(jì),設(shè)計(jì)一個(gè)計(jì)算機(jī)系統(tǒng)需確定計(jì)算機(jī)的指令系統(tǒng)具體由哪些指令組成,包括哪幾種類型指令,指令操作數(shù)有哪幾種尋址方式,以及指令編碼等,要兼顧必要性(編程方便)和可行性(硬件條件)兩個(gè)條件。,2007.7.2,計(jì)算機(jī)組成原理,33,9.2指令系統(tǒng)設(shè)計(jì),◆9.2.1指令類型◆9.2.2設(shè)計(jì)指令執(zhí)行流程,2007.7.2,計(jì)算機(jī)組成原理,34,1.算術(shù)邏輯指令系統(tǒng)共設(shè)計(jì)9條算術(shù)邏輯指令,分別是:寄存器清零指令(CLR)、數(shù)據(jù)傳送指令(MOV)、帶進(jìn)位加法指令(ADC)、借位減法指令(SUC)、自增運(yùn)算指令I(lǐng)NC)、與運(yùn)算指令(AND)、取反運(yùn)算指令(COM)、帶進(jìn)位循環(huán)右移指令(RRC)和帶進(jìn)位循環(huán)左移指令RLC)。這些指令全部用單字節(jié)表示,尋址方式采用寄存器直接尋址,其格式如下:,微程序控制計(jì)算機(jī)設(shè)計(jì)四大類指令共十六條,其中包括算術(shù)邏輯指令、I/O指令、訪問(wèn)及轉(zhuǎn)移指令和停機(jī)指令。,2007.7.2,計(jì)算機(jī)組成原理,35,,其中,OP-CODE為操作碼占用4位二進(jìn)制(D7~D4),rs為源寄存器占用2位二進(jìn)制(D3、D2),rd為目的寄存器占用2位二進(jìn)制(D1、D0),并規(guī)定:,9條算術(shù)邏輯指令的名稱、功能和具體格式見(jiàn)表9-1所示。,2007.7.2,計(jì)算機(jī)組成原理,36,2.訪存指令及轉(zhuǎn)移指令系統(tǒng)共設(shè)計(jì)2條訪存指令――存數(shù)(STA)和取數(shù)(LAD),2條轉(zhuǎn)移指令――無(wú)條件轉(zhuǎn)移(JMP)和結(jié)果為零或有進(jìn)位轉(zhuǎn)移指令(JZC),這4條指令長(zhǎng)度為2個(gè)字節(jié),其指令格式為:,,2007.7.2,計(jì)算機(jī)組成原理,37,其中,OP-CODE為操作碼,rd為目的寄存器地址(LDA、STA指令使用)。D為偏移量(正負(fù)均可),M為尋址模式,其定義如下:,本計(jì)算機(jī)規(guī)定變址寄存器RI指定為寄存器R2。,2007.7.2,計(jì)算機(jī)組成原理,38,3.I/O指令I(lǐng)/O指令共兩個(gè),分別是輸入(IN)和輸出(OUT)。指令采用單字節(jié)指令,其格式如下:,其中,addr=01時(shí),選中“輸入設(shè)備”中的開關(guān)組作為輸入設(shè)備,addr=10時(shí),選中“輸出設(shè)備”中的數(shù)碼顯示單元作為輸出設(shè)備。,2007.7.2,計(jì)算機(jī)組成原理,39,4.停機(jī)指令設(shè)計(jì)一個(gè)停機(jī)指令HLT,該指令用于實(shí)現(xiàn)停機(jī)操作。指令格式如下:,根據(jù)上面介紹,表9-1列出了本計(jì)算機(jī)系統(tǒng)16條基本指令的格式、匯編符號(hào)和指令功能,其中算術(shù)邏輯指令9條,訪存指令和程序控制指令4條,輸入輸出指令2條,停機(jī)指令1條。,2007.7.2,計(jì)算機(jī)組成原理,40,表9-1指令詳細(xì)信息表,,2007.7.2,計(jì)算機(jī)組成原理,41,9.2.2設(shè)計(jì)指令執(zhí)行流程,指令類型和數(shù)量確定后,還需結(jié)合計(jì)算機(jī)整機(jī)通路邏輯圖(見(jiàn)圖9-1)設(shè)計(jì)出每條指令的執(zhí)行流程。我們知道,一條指令從內(nèi)存取出到執(zhí)行完畢,需要若干個(gè)機(jī)器周期(節(jié)拍)。任何指令的第一個(gè)機(jī)器周期都是“取指令周期”,或稱為公共操作周期。而—條指令共需幾個(gè)機(jī)器周期取決于指令在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)的復(fù)雜程度。對(duì)于微程序控制的計(jì)算機(jī)設(shè)計(jì)指令執(zhí)行流程時(shí),要保證每條微指令所含微操作的必要性和合理性,防止微操作之間有時(shí)序沖突,為此要分析:,2007.7.2,計(jì)算機(jī)組成原理,42,(1)哪些微操作信息可以安排在同一條微指令中;(2)哪些微操作信息必須安排在同一條微指令中;(3)哪些微操作信息不能安排在同—條微指令中。,另外,還應(yīng)記住:總線(數(shù)據(jù)總線DB、地址總線AB、控制總線CB)僅是傳輸信息的通路而已,無(wú)寄存信息的功能;利用總線傳輸信息時(shí)要保證信息的唯一性(即不能有—個(gè)以上器件向總線發(fā)送信息);ALU的輸出緩沖器僅是三態(tài)傳輸門電路,無(wú)寄存功能。,2007.7.2,計(jì)算機(jī)組成原理,43,下面我們舉幾個(gè)例子說(shuō)明如何設(shè)計(jì)指令流程。,說(shuō)明:箭頭表示數(shù)據(jù)信息流向,括號(hào)中的T1,T2,T3為工作脈沖。,【例9-1】單字節(jié)指令A(yù)DCrs,rd(rd是目的寄存器,rs是源寄存器,硬件見(jiàn)圖(9-1)該指令功能為rs+rd+cy→rd(cy是進(jìn)位值),需執(zhí)行的微操作和所需的微操作信號(hào)如下:(1)(PC)→(AR)→RAM;根據(jù)PC訪問(wèn)內(nèi)存所需的微操作信號(hào):LDPC,LDAR(T3)(2)RAM→DB→IR(DB為數(shù)據(jù)總線);讀出指令字節(jié)送IR所需的微操作信號(hào):WE,CE,LDIR(T3)(3)(PC)+1→PC;PC加l計(jì)數(shù),為取下條指令字節(jié)準(zhǔn)備所需的微操作信號(hào):PC+1(T3)(4)R0→DR1;R1→DR2;取兩個(gè)操作數(shù)送數(shù)據(jù)寄存器為ALU準(zhǔn)備好被加數(shù)所需的微操作信號(hào):R0-B,R1-B,RS-BUS,LDDR1,LDDR2(5)(DR1+DR2)+cy→R1;ALU執(zhí)行加法,結(jié)果暫存目的寄存器所需的微操作信號(hào):M,CN,S0,S1,S2,S3,ALU-BUS,LDRi(T2),2007.7.2,計(jì)算機(jī)組成原理,44,【例9-2】單字節(jié)指令MOVrs,rd該指令功能為rs→rd,需執(zhí)行的微操作和所需的微操作信號(hào)如下:(1)(PC)→(AR)→RAM;根據(jù)PC訪問(wèn)內(nèi)存所需的微操作信號(hào):LDPC,LDAR(T3)(2)RAM→DB→IR(DB為數(shù)據(jù)總線);讀出指令字節(jié)送IR所需的微操作信號(hào):WE,CE,LDIR(T3)(3)R0→DB;讀出數(shù)據(jù)到數(shù)據(jù)總線所需的微操作信號(hào):R0-B,RS-BUS(4)DB→R1;數(shù)據(jù)總線上的數(shù)據(jù)送R1所需的微操作信號(hào):LDRi(T2),根據(jù)計(jì)算機(jī)整機(jī)數(shù)據(jù)通路邏輯框圖(9-1),參照例9-1和9-2的設(shè)計(jì)方法,可以完成對(duì)INC、AND、RRC等其余14條指令的微操作流程和所需的微操作信號(hào)的設(shè)計(jì)。詳細(xì)設(shè)計(jì)留給讀者完成。,思考:指令執(zhí)行過(guò)程中微操作信號(hào)的作用是什么?,,2007.7.2,計(jì)算機(jī)組成原理,45,9.3微程序設(shè)計(jì),在微程序控制計(jì)算機(jī)中,源程序指令的執(zhí)行是建立在微程序的基礎(chǔ)之上的。計(jì)算機(jī)要完成程序執(zhí)行,必須先設(shè)計(jì)每條指令的微程序,并且放在微程序控制器的存儲(chǔ)器中,這樣,計(jì)算機(jī)就把執(zhí)行源程序指令的工作通過(guò)執(zhí)行一個(gè)微程序來(lái)實(shí)現(xiàn)。在計(jì)算機(jī)中指令執(zhí)行的效率如何和微程序控制、微指令字長(zhǎng)以及微程序設(shè)計(jì)情況密切相關(guān)。,2007.7.2,計(jì)算機(jī)組成原理,46,9.3.1微程序控制器,微程序控制計(jì)算機(jī)的數(shù)據(jù)通路確定后,下一個(gè)設(shè)計(jì)重點(diǎn)就集中在控制器的設(shè)計(jì)上。控制器邏輯框圖,如圖9-10所示。圖中IR存放的是源程序指令,控制器對(duì)源程序指令的操作碼譯碼可以找到該指令的微程序的入口地址,然后送入微程序計(jì)數(shù)器Upc中,根據(jù)微程序的入口地址訪問(wèn)控制存儲(chǔ)器就可以讀取微程序的第一條微指令,從而開始執(zhí)行一個(gè)微程序完成指令的工作。圖中微程序每一條微指令的執(zhí)行都是在微指令寄存器中完成的。,2007.7.2,計(jì)算機(jī)組成原理,47,圖9-10微程序控制邏輯框圖,2007.7.2,計(jì)算機(jī)組成原理,48,9.3.2微程序設(shè)計(jì),將機(jī)器的全部指令系統(tǒng)采用微指令序列實(shí)現(xiàn)的過(guò)程,叫做微程序設(shè)計(jì)。一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序,本系統(tǒng)共有16條機(jī)器指令就應(yīng)當(dāng)對(duì)應(yīng)有16個(gè)微程序。計(jì)算機(jī)中微程序控制器的強(qiáng)大與否,機(jī)器性能如何,取決于如何設(shè)計(jì)控制流程,并轉(zhuǎn)化為微程序。微程序設(shè)計(jì)是以微指令設(shè)計(jì)為基礎(chǔ)的。,2007.7.2,計(jì)算機(jī)組成原理,49,1.微指令格式,本部分設(shè)計(jì)任務(wù)是綜合微程序控制計(jì)算機(jī)指令系統(tǒng)各指令執(zhí)行流程中涉及到的微操作控制信號(hào),統(tǒng)計(jì)總共需多少個(gè)微操作控制信號(hào),決定這些信號(hào)中在微指令中產(chǎn)生的方式及格式。微指令設(shè)計(jì)分為水平型微指令和垂直微指令兩種。如果計(jì)算機(jī)系統(tǒng)復(fù)雜不高,微指令格式建議采用水平型微指令,微命令編碼采用直接表示法和分段直接譯碼法相結(jié)合的混合表示法,以縮短微指令長(zhǎng)度。后繼地址采用下址字段給出的方式。微指令格式如下:,2007.7.2,計(jì)算機(jī)組成原理,50,結(jié)合計(jì)算機(jī)指令系統(tǒng)和數(shù)據(jù)通路邏輯框圖,可以分析系統(tǒng)所需的微命令信號(hào)的數(shù)目,從而確定微指令中控制字段的長(zhǎng)度。比如微指令長(zhǎng)24位,若微指令采用全水平不編碼直接控制的格式,那么至多可有24個(gè)微命令控制信號(hào)直接產(chǎn)生。如果采用分組編碼譯碼,那么n位微指令編碼通過(guò)譯碼器譯碼可實(shí)現(xiàn)2n個(gè)互斥的微命令控制信號(hào)(即它們不可能在同一節(jié)拍內(nèi)激活)。系統(tǒng)中微指令格式及微命令信號(hào)設(shè)計(jì)實(shí)例如下:,2007.7.2,計(jì)算機(jī)組成原理,51,微指令字長(zhǎng)共24位,其控制位順序如下:,24~16為直接控制字段,共給出9個(gè)微命令信號(hào);A、B、C為譯碼字段,可以分別送3-8譯碼器,共可以設(shè)計(jì)出互斥的24個(gè)微命令信號(hào);A5~A0為下址字段(微指令后繼微地址),6位地址可以訪問(wèn)的控制存儲(chǔ)器的空間為26,即系統(tǒng)設(shè)計(jì)的微指令最多不超過(guò)64條。,2007.7.2,計(jì)算機(jī)組成原理,52,2.指令流水執(zhí)行時(shí)空表設(shè)計(jì)指令執(zhí)行流程時(shí)空表應(yīng)在設(shè)計(jì)數(shù)據(jù)通路之前確定,因?yàn)榫唧w的流水線是跟時(shí)空表緊密相聯(lián)的。本設(shè)計(jì)是在已有的數(shù)據(jù)通路的基礎(chǔ)上(該數(shù)據(jù)通路支持流水),通過(guò)改進(jìn)控制來(lái)提升系統(tǒng)性能,因此將時(shí)空表放在控制器部分進(jìn)行設(shè)計(jì)。表9-2給出的是指令執(zhí)行過(guò)程時(shí)空表,表9-3給出的是指令兩級(jí)流水執(zhí)行時(shí)空表,表9-4給出的是指令四級(jí)流水執(zhí)行時(shí)空表。,2007.7.2,計(jì)算機(jī)組成原理,53,表9-2指令執(zhí)行過(guò)程時(shí)空表,表9-3指令兩級(jí)流水執(zhí)行時(shí)空表,2007.7.2,計(jì)算機(jī)組成原理,54,表9-2指令執(zhí)行過(guò)程時(shí)空表,注意:設(shè)計(jì)選用的時(shí)空表只要設(shè)計(jì)可以實(shí)現(xiàn)即可,不同的時(shí)空表直接影響系統(tǒng)的性能。,思考:設(shè)計(jì)微指令格式時(shí),判別字段的主要作用是什么?,2007.7.2,計(jì)算機(jī)組成原理,55,3.編寫各指令的微程序根據(jù)指令流程和微指令格式仔細(xì)地逐條編寫每一個(gè)指令的微程序,源程序指令對(duì)應(yīng)的微程序流程圖及確定微地址,如圖9-11所示。,2007.7.2,計(jì)算機(jī)組成原理,56,圖9-11微程序流程圖,2007.7.2,計(jì)算機(jī)組成原理,57,根據(jù)流程圖,可以寫成二進(jìn)制表示的微程序,為了書寫方便,在此用十六進(jìn)制書寫。十六進(jìn)制微地址$:表示地址M:表示微指令十六進(jìn)制表示微程序格式說(shuō)明微指令代碼:,2007.7.2,計(jì)算機(jī)組成原理,58,$M2205DB81$M230180E4$M24018001$M2595AAA0$M2600A027$M2701BC28$M2895EA29$M2995AA0$M2A01B42B$M2B959B41$M2C01A42D$M2D65AB6E$M2E0D9A01$M2F01AA30$M300D8171$M31959B41$M32019A01$M3301B435$M3405DB81$M35B99B41$M360D9A01$M37298838$M38019801$M3919883A$M3A019801$M3B070A08$M3C068A09$M00018108$M0101ED82$M0200C050$M0300A004,$M230180E4$M24018001$M2595AAA0$M2600A027$M2701BC28$M2895EA29$M2995AA0$M2A01B42B$M2B959B41$M2C01A42D$M2D65AB6E$M2E0D9A01$M2F01AA30$M300D8171$M31959B41$M32019A01$M3301B435$M3405DB81$M35B99B41$M360D9A01$M37298838$M38019801$M3919883A$M3A019801$M3B070A08$M3C068A09,$M0400E0A0$M0500E006$M0600A007$M0700E0A0$M0801ED8A$M0901ED8C$M0A00A03B$M0B018001$M0C00203C$M0D00A00E$M0E01B60F$M0F95EA25$M1001ED83$M1101ED85$M1201ED8D$M1301EDA6$M14001001$M15030401$M16018016$M173D9A01$M18019201$M1901A22A$M1A01B22C$M1B01A232$M1C01A233$M1D01A236$M1E318237$M1F318239$M20009001$M21028401$M2205DB81,2007.7.2,計(jì)算機(jī)組成原理,59,9.4編寫源程序,計(jì)算機(jī)系統(tǒng)共設(shè)計(jì)了16條指令,指令機(jī)器碼采用單字節(jié)設(shè)計(jì),指令與機(jī)器碼對(duì)應(yīng)關(guān)系如表9-5所示:,9.4.1指令機(jī)器碼,2007.7.2,計(jì)算機(jī)組成原理,60,表9-5指令與機(jī)器碼對(duì)應(yīng)關(guān)系表,2007.7.2,計(jì)算機(jī)組成原理,61,9.4.2機(jī)器程序設(shè)計(jì)實(shí)例,根據(jù)指令的機(jī)器碼,設(shè)計(jì)的機(jī)器指令程序如下:,地址(二進(jìn)制)內(nèi)容(二進(jìn)制)源程序說(shuō)明000011010000INR0輸入設(shè)備內(nèi)容→R0000100100000ADCR0,O9HR0+[09H]+cy→R0001000001001001110100000STA0BH,R0R0→[0BH]010000001011010111100000OUT0BH,LED[0BH]→LED(輸出設(shè)備)011000001011011110110000JMP00H00H→PC100000000000100101010101自定101010101010自定1011求和結(jié)果,2007.7.2,計(jì)算機(jī)組成原理,62,機(jī)器指令及微程序按照規(guī)定的格式編寫成十六進(jìn)制格式文件,程序清單如下:,P00D0;機(jī)器指令格式說(shuō)明("P"代表機(jī)器指令):P0120;PXXXXP0209;地址機(jī)器代碼P03A0P040BP05E0P060BP07B0P0800P0955P0AAA,2007.7.2,計(jì)算機(jī)組成原理,63,本章小節(jié),本章小節(jié)本章從微程序計(jì)算機(jī)的設(shè)計(jì)過(guò)程作為學(xué)習(xí)點(diǎn),重點(diǎn)講述了計(jì)算機(jī)的硬件設(shè)計(jì),指令系統(tǒng)設(shè)計(jì),微程序設(shè)計(jì),指令編碼和源程序設(shè)計(jì)等內(nèi)容。旨在從應(yīng)用角度使讀者加深對(duì)計(jì)算機(jī)組成原理的理解,提升學(xué)習(xí)興趣。,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 計(jì)算機(jī)組成原理 計(jì)算機(jī) 組成 原理 微程序 控制 設(shè)計(jì)
鏈接地址:http://m.zhongcaozhi.com.cn/p-11499930.html