微程序控制器組與微程序設(shè)計(jì)試驗(yàn)報(bào)告_第1頁
微程序控制器組與微程序設(shè)計(jì)試驗(yàn)報(bào)告_第2頁
微程序控制器組與微程序設(shè)計(jì)試驗(yàn)報(bào)告_第3頁
微程序控制器組與微程序設(shè)計(jì)試驗(yàn)報(bào)告_第4頁
微程序控制器組與微程序設(shè)計(jì)試驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程名稱:計(jì)算機(jī)組成原理實(shí)驗(yàn)項(xiàng)目名稱:微程序控制器組成與微程序設(shè)計(jì)實(shí)驗(yàn)成績:指導(dǎo)老師(簽名):、實(shí)驗(yàn)?zāi)康?1) 掌握微程序控制器的組成原理。(2) 掌握微程序的編制、寫入,觀察微程序的運(yùn)行過程。、實(shí)驗(yàn)設(shè)備與器件PC機(jī)一臺,TD-CMA實(shí)驗(yàn)系統(tǒng)一套。三、實(shí)驗(yàn)原理微程序控制器的基本任務(wù)是完成當(dāng)前指令的翻譯和執(zhí)行,即將當(dāng)前指令的功能轉(zhuǎn)換成可以控制的硬件 邏輯部件工作的微命令序列,完成數(shù)據(jù)傳送和各種處理操作。它的執(zhí)行方法就是將控制各部件動作的微 命令的集合進(jìn)行編碼,即將微命令的集合仿照機(jī)器指令一樣,用數(shù)字代碼的形式表示,這種表示稱為微指令。這樣就可以用一個(gè)微指令序列表示一條機(jī)器指令,這種微指令序列稱為

2、微程序。微程序存儲在一種 專用的存儲器中,稱為控制存儲器,微程序控制器原理框圖如圖指令寄存器IR3-2-1所示。I 狀態(tài)條件11片1OP圖3-2-1微程序控制器組成原理框圖控制器是嚴(yán)格按照系統(tǒng)時(shí)序來工作的,因而時(shí)序控制對于控制器的設(shè)計(jì)是非常重要的,從前面的實(shí)驗(yàn) 可以很清楚地了解時(shí)序電路的工作原理,TS4,時(shí)序單元的介紹見附錄微程序控制器的組成見圖 3-2-2, 命令寄存器18位,用兩片8D觸發(fā)器本實(shí)驗(yàn)所用的時(shí)序由時(shí)序單元來提供,分為四拍TS1、TS2、TS3、其中控制存儲器采用 3片2816的E2PROM,具有掉電保護(hù)功能,微(273)和一片4D( 175)觸發(fā)器 組成。微地址寄存器 6位,用

3、三片正沿觸發(fā)的雙D觸發(fā)器(74)組成,它們帶有清“ 0”端和預(yù)置端。在不判別測試的情況下, 微地址寄存器的內(nèi)容即為下一條微指令地址。當(dāng)T4時(shí)刻進(jìn)行測試判別時(shí),轉(zhuǎn)移邏輯滿足條件后輸出的負(fù)脈沖通過強(qiáng)置端將某一觸發(fā)器置為“1”狀態(tài),完成地址修改。T2時(shí)刻打入nr&o1 153b52&0I LCI TS CPDL >4 <P >3 <P >2 <P >1 <PB_CPBBBBPS I R DR SRB_ULAR DL FADL DAOLPSDL i RDLBDLADLOS1S2S3SMODRATN3 2M0一 - -15$Ccb-B碼譯8

4、VW- CUE- 忘譯B - - -Zu6T02OA - - - 5AIDIC1'AD11WA3Z70L4燈示顯址地微OTA - -h<1中代巒B - - - 7d6a2.R0 -P1 -P2 -PO0U5 : 7220-輯邏程編- -圖3-2-2微程序控制器原理圖在實(shí)驗(yàn)平臺中設(shè)有一組編程控制開關(guān)KK3、KK4、KK5 (位于時(shí)序與操作臺單元),可實(shí)現(xiàn)對存儲器(包括存儲器和控制存儲器)的三種操作:編程、校驗(yàn)、運(yùn)行??紤]到對于存儲器(包括存儲器和控制存儲器)的操作大多集中在一個(gè)地址連續(xù)的存儲空間中,實(shí)驗(yàn)平臺提供了便利的手動操作方式。以向00H單元中寫入332211為例,對于控制存儲

5、器進(jìn)行編輯的具體操作步驟如下:首先將KK1撥至停止檔、KK3撥至編程檔、KK4撥至控存檔、 KK5撥至置數(shù)檔,由 CON單元的SD05 SD00開關(guān)給出 需要編輯的控存單元首地址(000000), IN單元開關(guān)給出該控存單元數(shù)據(jù)的低 8位(00010001),連續(xù)兩次按動時(shí)序與操作臺單元的開關(guān)ST (第一次按動后 MC單元低8位 顯示該單元以前存儲的數(shù)據(jù),第二次按動后顯示當(dāng)前改動的數(shù)據(jù)),此時(shí)MC單元的指示燈 MA5 MA0顯示當(dāng)前地址(000000), M7 M0 顯示當(dāng)前數(shù)據(jù)(00010001)。然后將KK5撥至加1'檔,IN單元開關(guān)給出該控存單元數(shù)據(jù)的中8位(00100010,連

6、續(xù)兩次按動開關(guān) ST,完成對 該控存單元中8位數(shù)據(jù)的修改,此時(shí)MC單元的指示燈 MA5 MA0顯示當(dāng)前地址(000000), M15 M8顯示當(dāng)前數(shù)據(jù)(00100010);再由IN單元開關(guān)給出該控存 單元數(shù)據(jù)的高8位(00110011),連續(xù)兩次按動開關(guān) ST,完成對該控存單元高8位數(shù)據(jù)的修改此時(shí) MC單元的指示燈 MA5 MA0顯示當(dāng)前地址(000000), M23 M16顯示當(dāng)前數(shù)據(jù)(00110011)。此時(shí)被編輯 的控存單元地址會自動加1 (01H),由IN單元開關(guān)依次給出該控存單元數(shù)據(jù)的低8位、中8位和高8位配合每次開關(guān)ST的兩次按動,即可完成對后續(xù)單元的編輯。CON單元置地址(000

7、000 )IN單元置數(shù)據(jù)低8位(00010001 )D05-SD00 =INKK1KK3KK4KK5 STIN單元置數(shù)據(jù)中8位(00100010 )IN單元置數(shù)據(jù)高8位(00110011 )000000、00010001=停止=編程=控存=置數(shù)=J-LJ-L /INKK1KK3KK4KK5ST=00100010=停止=編程=控存=加1=K-TL/INKK1KK3KK4KK5 ST、=00110011=停止=編程=控存=加1=nn/00H編輯完成后需進(jìn)行校驗(yàn),以確保編輯的正確。以校驗(yàn)KK3撥至校驗(yàn)檔、單元為例,對于控制存儲器進(jìn)行校驗(yàn)的具體 操 作步驟如下:首先將 KK1撥至停止檔、KK3撥至校驗(yàn)

8、檔、KK4撥至控存檔、KK5撥至'置數(shù)檔。由CON單元的SD05 SD00開關(guān) 給出需要校驗(yàn)的控存單元地址(000000),連續(xù)兩次按動開關(guān)ST,MC單元指示燈 M7 M0顯示該單元低8位數(shù)據(jù)(00010001); KK5撥至加1'檔,再連續(xù) 兩次按動開關(guān) ST, MC單元指示燈 M15M8顯示該單元中8位數(shù)據(jù)(0010001C);再連續(xù)兩次按動開關(guān)ST, MC單元指示燈 M23 M16顯示該單元高8位數(shù)據(jù)(00110011)。再連續(xù)兩次按動開關(guān) ST,地址加 1, MC單元指示燈M7M0顯示01H單元低8位數(shù)據(jù)。如校驗(yàn)的微指令出錯(cuò),則返回輸入操作,修改停止 校驗(yàn) 控存加100

9、0000 00010001 停止 校驗(yàn) 控存 置數(shù)=Jin / M15- M8 = 00100010KK1KK3KK4KK5ST停止校驗(yàn)控存加1JinD05-SD00 =M7 M0 =KK1KK3KK4KK5 ST/ M23- M16 = 00110011KK1KK3KK4KK5 ST該單元的數(shù)據(jù)后再進(jìn)行校驗(yàn),直至確認(rèn)輸入的微代碼全部準(zhǔn)確無誤為止,完成對微指令的輸入。nn /MC2、MC1、MC0用來指示當(dāng)前操作的微程序字段,位于實(shí)驗(yàn)平臺MC單元左上角一列三個(gè)指示燈別對應(yīng) M23 M16、M15 M8、M7 M0。實(shí)驗(yàn)平臺提供了比較靈活的手動操作方式,比如在上述 操作中在對地址置數(shù)后將開關(guān)KK

10、4撥至減1'檔,則每次隨著開關(guān) ST的兩次撥動操作,字節(jié)數(shù)依次從高8位到低8位遞減,減至低 8位后,再按動兩次開關(guān) ST,微地址會自動減一,繼續(xù)對下一個(gè)單元的 作。微指令字長共24位,控制位順序如表 3-2-1:表3-2-1 微指令格式141312選擇000NOP001LDA010LDB011LDR0100保留101保留110保留111LDIRA字段11109選擇000NOP001ALU_B010R0 B011保留100保留101保留110保留111保留B字段876選擇000NOP001P<1>010保留011保留100保留101保留110保留111保留C字段2322212

11、01918-1514-1211-98-65-0M23M22WRRDIOMS3-S0A字段B字段c字段MA5-MA0其中MA5MA0為6位的后續(xù)微地址,A、B、C為三個(gè)譯碼字段,分別由三個(gè)控制位譯碼出多位。 字段中 的P<1>為測試字位。其功能是根據(jù)機(jī)器指令及相應(yīng)微代碼進(jìn)行譯碼,使微程序轉(zhuǎn)入相應(yīng)的微地址 入口,從而實(shí)現(xiàn)完成對指令的識別,并實(shí)現(xiàn)微程序的分支,本系統(tǒng)上的指令譯碼原理如圖3-2-3所示,圖中I7I2為指令寄存器的第 72位輸出,SE5SEO為微控器單元微地址鎖存器的強(qiáng)置端輸出,指令譯碼 邏輯在IR單元的INS_DEC ( GAL20V8 )中實(shí)現(xiàn)。從圖3-2-2中也可以看出

12、,微控器產(chǎn)生的控制信號比表3-2-1中的要多,這是因?yàn)閷?shí)驗(yàn)的不同,所需的控制信號也不一樣,本實(shí)驗(yàn)只用了部分的控制信號。本實(shí)驗(yàn)除了用到指令寄存器(IR)和通用寄存器 R0外,還要用到IN和OUT單元,從微控器出來的 信號中只有IOM、WR和RD三個(gè)信號,所以對這兩個(gè)單元的讀寫信號還應(yīng)先經(jīng)過譯碼,其譯碼原理如圖3-2-4所示。IR單元的原理圖如圖 3-2-5所 示,R0單元原理如圖3-2-7所示,IN單元的原理圖見圖 2-1-3所示, OUT單元的原理圖見圖 3-2-6所示。SE2T4P<1>-T4_i7iSE1SE3指令譯碼原理圖LDIRT3圖3-2-4讀寫控制邏輯圖3-2-5 IR

13、 單元原理圖譯碼電路譯碼電路D7.D4D3.D0七段數(shù)碼管(H)a.g七段數(shù)碼管(L)T a.g""TR0_BLDR0T4Q7.Q0鎖存(374)D7.D0D7.D0D7.D0數(shù)據(jù)總線CPL內(nèi)總線LED_BIOW鎖存(273)圖3-2-6 OUT單元原理圖圖3-2-7 R0原理圖本實(shí)驗(yàn)安排了四條機(jī)器指令,分別為ADD ( 0000 0000)、IN( 0010 0000)、OUT( 0011 0000)和HLT(0101 0000,括號中為各指令的二進(jìn)制代碼,指令格式如下:助記符機(jī)器指令碼說明IN0010 0000IN T R0ADD0000 0000R0 + R0 tRO

14、OUT0011 0000R0 T OUTHLT0101 0000停機(jī)其余單元的控制信號均由微程序控制器自動產(chǎn)實(shí)驗(yàn)中機(jī)器指令由 CON單元的二進(jìn)制開關(guān)手動給出, 生,為此可以設(shè)計(jì)出相應(yīng)的數(shù)據(jù)通路圖,見圖3-2-8所示。幾條機(jī)器指令對應(yīng)的參考微程序流程圖如圖3-2-9所示。圖中一個(gè)矩形方框表示一條微指令,方框中的內(nèi)容為該指令執(zhí)行的微操作,右上角的數(shù)字是該條指令的微地址,右下角的數(shù)字是該條指令的后續(xù)微地 址,所有微地址均用 16進(jìn)制表示。向下的箭頭指出了下一條要執(zhí)行的指令。P<1>為測試字,根據(jù)條件使微程序產(chǎn)生分支。圖3-2-8 數(shù)據(jù)通路圖00NOPADDI 30R0->A指令譯碼

15、IN JJ 32IN->R030OUTHLT135NOPI 04R0->BT05A+B->R0R0->OUT153-2-2的二進(jìn)制代碼表。圖3-2-9微程序流程圖將全部微程序按微指令格式變成二進(jìn)制微代碼,可得到表表3-2-2二進(jìn)制微代碼表地址十六進(jìn)制高五位S3-S0A字段B字段C字段MA5-MA00000 00 010000000000000000000000010100 70 700000000001110000011100000400 24 050000000000100100000001010504 B2 01000001001011001000000001300

16、0 14 040000000000010100000001003218 30 010001100000110000000000013328 04 010010100000000100000000013500 00 35000000000000000000110101四、實(shí)1.爭現(xiàn)象,驗(yàn)內(nèi)容與步驟按圖3-2-10所示連接實(shí)驗(yàn)線路,仔細(xì)查線無誤后接通電源。如果有滴報(bào)警聲,說明總線有競 應(yīng)關(guān)閉電源,檢查接線,直到錯(cuò)誤排除。圖3-2-10 實(shí)驗(yàn)接線圖2.對微控器進(jìn)行讀寫操作,分兩種情況:手動讀寫和聯(lián)機(jī)讀寫。1)手動讀寫(1)手動對微控器進(jìn)行編程(寫) 將時(shí)序與操作臺單元的開關(guān) KK1置為停止 置為置數(shù)

17、檔。 使用CON單元的SD05SD00給出微地址, 與操作臺的開關(guān) ST,將IN單元的數(shù)據(jù)寫到該單元的低檔,KK3置為編程檔,KK4置為控存檔,KK5IN單元給出低8位應(yīng)寫入的數(shù)據(jù), 8位。連續(xù)兩次按動時(shí)序 將時(shí)序與操作臺單元的開關(guān) KK5置為加1'檔。 IN單元給出中8位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動時(shí)序與操作臺的開關(guān)ST,將該單元的中8位。IN單元給出高8位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動時(shí)序與操作臺的開關(guān) 數(shù)據(jù)寫到該單元的高 8位。 重復(fù)、四步,將表3-2-2的微代碼寫入2816芯片中。(2)手動對微控器進(jìn)行校驗(yàn)(讀) 將時(shí)序與操作臺單元的開關(guān) KK1置為停止檔,KK3置為校驗(yàn)檔,KK4置

18、為控存檔,KK5 置為置數(shù)檔。 使用CON單元的SD05SD00給出微地址,連續(xù)兩次按動時(shí)序與操作臺的開關(guān)數(shù)據(jù)指示燈 M7M0顯示該單元的低 8位。 將時(shí)序與操作臺單元的開關(guān) KK5置為加1'檔。 連續(xù)兩次按動時(shí)序與操作臺的開關(guān)ST,MC單元的指數(shù)據(jù)指示燈 M15MC單元的指數(shù)據(jù)指示燈 M23M16顯示該單元的高 8位。 重復(fù)、四步,完成對微代碼的校驗(yàn)。如果校驗(yàn)出微代碼寫入錯(cuò)誤,重新寫入、校驗(yàn), 直至確認(rèn)微指令的輸入無誤為止。2)聯(lián)機(jī)讀寫(1)將微程序?qū)懭胛募?lián)機(jī)軟件提供了微程序下載功能, 后綴的文件中,微程序的格式如下:IN單元的數(shù)據(jù)寫到ST,將IN單元的ST, MC單元的指M8顯示

19、該單元的中 8位,以代替手動讀寫微控器,但微程序得以指定的格式寫入到以TXT為微指令格式說明:$M XX XXXXXX”可以讀出下位機(jī)所有的機(jī)器指令和微指令,并在指令區(qū)3-2-2中的十六進(jìn)制數(shù)據(jù)相同,如果不同,則說明寫入操 先用鼠標(biāo)左鍵單擊指令區(qū)的微存'6位數(shù)據(jù)并回車,編輯框消失,/微指令代碼 十六進(jìn)制地址 微指令標(biāo)志如$M仆112233,表示微指令的地址為 仆H,微指令值為11H (高八22H (中八33H (低),本次實(shí)驗(yàn) 的微程序如下,其中分號;為注釋符,分號后面的內(nèi)容在下載時(shí)將被忽略掉。(2)寫入微程序用聯(lián)機(jī)軟件的“【轉(zhuǎn)儲】一【裝載】”功能將該格式(*.TXT)文件裝載入實(shí)驗(yàn)系

20、統(tǒng)。裝入過程中,在 軟件的輸出區(qū)的結(jié)果欄會顯示裝載信息,如當(dāng)前正在裝載的是機(jī)器指令還是微指令,還剩多少條指令 等。(3)校驗(yàn)微程序選擇聯(lián)機(jī)軟件的“【轉(zhuǎn)儲】一【刷新指令區(qū)】顯示。檢查微控器相應(yīng)地址單元的數(shù)據(jù)是否和表 作失敗,應(yīng)重新寫入,可以通過聯(lián)機(jī)軟件單獨(dú)修改某個(gè)單元的微指令,TAB按鈕,然后再單擊需修改單元的數(shù)據(jù),此時(shí)該單元變?yōu)榫庉嬁颍斎氩⒁约t色顯示寫入的數(shù)據(jù)。;*;/微控器實(shí)驗(yàn)指令文件;/;/$M 00 000001; NOP$M 01 007070; CON(INS)->IR, P<1>$M 04 002405; R0->B$M 05 04B201; A 加 B-

21、>R0$M 30 001404; R0->A$M 32 183001; IN->R0$M 33 280401; R0->OUT$M 35 000035; NOP; /; /; /*; /* Start Of MicroController Data *By TangDu CO.,LTD/; /* End Of MicroController Data *3. 運(yùn)行微程序運(yùn)行時(shí)也分兩種情況:本機(jī)運(yùn)行和聯(lián)機(jī)運(yùn)行。1) 本機(jī)運(yùn)行 將時(shí)序與操作臺單元的開關(guān)KK1 KK3置為運(yùn)行檔,按動 CON單元的CLR按鈕,將微地址寄存器(MAR清零,同時(shí)也將指令寄存器(IR)、ALU單元的

22、暫存器 A和暫存器B清零。 將時(shí)序與操作臺單元的開關(guān)KK2置為單拍檔,然后按動ST按鈕,體會系統(tǒng)在 T1、T2、T3、T4 節(jié)拍中各做的工作。 T2 節(jié)拍微控器將后續(xù)微地址(下條執(zhí)行的微指令的地址)打入微地址寄存器,當(dāng) 前微指令打入微指令寄存器,并產(chǎn)生執(zhí)行部件相應(yīng)的控制信號;T3、T4節(jié)拍根據(jù)T2節(jié)拍產(chǎn)生的控制信號做出相應(yīng)的執(zhí)行動作,如果測試位有效,還要根據(jù)機(jī)器指令及當(dāng)前微地址寄存器中的內(nèi)容進(jìn)行譯碼,使微 程序轉(zhuǎn)入相應(yīng)的微地址入口,實(shí)現(xiàn)微程序的分支。 按動CON單元的CLR按鈕,清微地址寄存器(MAR等,并將時(shí)序與單元的開關(guān)KK2置為單步檔。 置IN單元數(shù)據(jù)為00100011,按動ST按鈕,當(dāng)

23、MC單元后續(xù)微地址顯示為 000001時(shí),在CON單元的SD27SD20模擬給出IN指令00100000并繼續(xù)單步執(zhí)行,當(dāng) MC單元后續(xù)微地址顯示為 000001時(shí),說 明當(dāng)前指令已執(zhí)行完; 在CON單元的SD27-SD20給出ADD指令00000000,該指令將會在下個(gè) T3被打入指 令寄存器(IR ),它將R0中的數(shù)據(jù)和其自身相加后送R0;接下來在CON單元的SD27- SD20給出OUT指令00110000并繼續(xù)單步執(zhí)行,在MC單元后續(xù)微地址顯示為000001時(shí),觀查 OUT單元的顯示值是否為01000110。2) 聯(lián)機(jī)運(yùn)行聯(lián)機(jī)運(yùn)行時(shí),進(jìn)入軟件界面,在菜單上選擇【實(shí)驗(yàn)】【微控器實(shí)驗(yàn)】,打

24、開本實(shí)驗(yàn)的數(shù)據(jù)通路圖,也可以通過工具欄上的下拉框打開數(shù)據(jù)通路圖,數(shù)據(jù)通路圖如圖3-2-8 所示。將時(shí)序與操作臺單元的開關(guān)KK1 KK3置為運(yùn)行檔,按動CON單元的總清開關(guān)后,按動軟件中單節(jié)拍按鈕,當(dāng)后續(xù)微地址(通路圖中的MAR為000001時(shí),置CON單元SD27SD20,產(chǎn)生相應(yīng)的機(jī)器指令,該指令將會在下個(gè) T3被打入指令寄存器(IR),在后面的節(jié)拍中將執(zhí)行這條機(jī)器指令。仔細(xì)觀察每條 機(jī)器指令的執(zhí)行過程,體會后續(xù)微地址被強(qiáng)置轉(zhuǎn)換的過程,這是計(jì)算機(jī)識別和執(zhí)行指令的根基。也可以打 開微程序流程圖,跟蹤顯示每條機(jī)器指令的執(zhí)行過程。按本機(jī)運(yùn)行的順序給出數(shù)據(jù)和指令,觀查最后的運(yùn)算結(jié)果是否正確。五、實(shí) 驗(yàn) 結(jié)

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論