微程序控制器組成實(shí)驗(yàn)_第1頁
微程序控制器組成實(shí)驗(yàn)_第2頁
微程序控制器組成實(shí)驗(yàn)_第3頁
微程序控制器組成實(shí)驗(yàn)_第4頁
微程序控制器組成實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 微程序控制器組成實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?(1)掌握時(shí)序產(chǎn)生器的組成原理。(2)掌握微程序控制器的組成原理。(3)掌握微指令格式的化簡和歸并。二、實(shí)驗(yàn)電路 時(shí)序發(fā)生器TEC4計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)的時(shí)序電路如圖9所示。電路采用2片GAL22V10(U6、U7),可產(chǎn)生兩級(jí)等間隔時(shí)序信號(hào)T1T4和W1W4,其中一個(gè)W由一輪T1T4循環(huán)組成,它相當(dāng)于一個(gè)微指令周期或硬布線控制器的一拍,而一輪W1W4循環(huán)可供硬布線控制器執(zhí)行一條機(jī)器指令。本次實(shí)驗(yàn)不涉及硬布線控制器,因此時(shí)序發(fā)生器中的相關(guān)內(nèi)容也可根據(jù)需要放到硬布線控制器實(shí)驗(yàn)中進(jìn)行。 微程序控制器只使用時(shí)序信號(hào)T1T4,產(chǎn)生T信號(hào)的功能集成在GAL22V10

2、芯片TIMER1(U6)中,另外它還產(chǎn)生節(jié)拍信號(hào)W1、W2、W3、W4的控制時(shí)鐘CLK1。硬布線控制器只使用時(shí)序信號(hào)W1W4,產(chǎn)生W信號(hào)的功能集成在GAL22V10芯片TIMER2(U7)中。 TIMER1和TIMER2中還集成了中斷邏輯,中斷邏輯的介紹見第八節(jié)。TIMER1的輸入信號(hào)中,MF接實(shí)驗(yàn)臺(tái)上晶體振蕩器的輸出,頻率為1MHz。T1至T4的脈沖寬度為100ns。CLR(注意,實(shí)際上是控制臺(tái)上的CLR#信號(hào),因?yàn)锳BEL語言的書寫關(guān)系改為CLR,仍為低有效信號(hào))為復(fù)位信號(hào),低有效。實(shí)驗(yàn)臺(tái)處于任何狀態(tài)下令CLR# ,都會(huì)使時(shí)序發(fā)生器和微程序控制器復(fù)位(回到初始狀態(tài)),CLR# 時(shí),則可以正

3、常運(yùn)行。復(fù)位后時(shí)序發(fā)生器停在T4、W4狀態(tài),微程序地址為000000B。建議每次實(shí)驗(yàn)儀加電后,先用CLR#復(fù)位一次??刂婆_(tái)上有一個(gè)CLR#按鈕,按一次,產(chǎn)生一個(gè)CLR#負(fù)脈沖,實(shí)驗(yàn)臺(tái)印制板上已連好控制臺(tái)CLR#到時(shí)序電路CLR的連線。 TJ(停機(jī))是控制器的輸出信號(hào)之一。連續(xù)運(yùn)行時(shí),如果控制信號(hào)TJ,會(huì)使機(jī)器停機(jī),停止發(fā)送時(shí)序脈沖T1T4、W1W4,時(shí)序停在T4。在實(shí)驗(yàn)臺(tái)上為了將時(shí)序信號(hào)發(fā)生器的輸入信號(hào)TJ和控制存儲(chǔ)器產(chǎn)生的TJ信號(hào)區(qū)分開來,以便于連線操作,在實(shí)驗(yàn)臺(tái)上時(shí)序信號(hào)發(fā)生器的輸入信號(hào)TJ命名為TJI,而控制存儲(chǔ)器產(chǎn)生的信號(hào)TJ仍命名為TJ。QD(啟動(dòng))是來自啟動(dòng)按鈕QD的脈沖信號(hào),在T

4、IMER1中,對(duì)QD用MF進(jìn)行了同步,產(chǎn)生QD1和QD2。ACT表示QD1上升沿,表達(dá)式是QD1 & !QD2,脈沖寬度為1000ns 。QDR是運(yùn)行標(biāo)志,QD信號(hào)使其為1,CLR信號(hào)將其置0。DP(單拍)是來自控制臺(tái)的DP開關(guān)信號(hào),當(dāng)DP 時(shí),機(jī)器處于單拍運(yùn)行狀態(tài),按一次啟動(dòng)按鈕QD,只發(fā)送一條微指令周期的時(shí)序信號(hào)就停機(jī)。利用單拍方式,每次只執(zhí)行一條微指令,因而可以觀察微指令代碼和當(dāng)前微指令的執(zhí)行結(jié)果。DZ(單指)信號(hào)是針對(duì)微程序控制器的,接控制臺(tái)開關(guān)DZ和P1信號(hào)配合使用。P1是微指令字判斷字段中的一個(gè)條件信號(hào),從微程序控制器輸出。P1信號(hào)在微程序中每條機(jī)器指令執(zhí)行結(jié)束時(shí)為,用于檢

5、測有無中斷請(qǐng)求INTQ,而時(shí)序發(fā)生器用它來實(shí)現(xiàn)單條機(jī)器指令停機(jī)。在DB 且DP = 0的前提下,當(dāng)DZ 時(shí),機(jī)器連續(xù)運(yùn)行。當(dāng)DZ 時(shí),機(jī)器處于單指方式,每次只執(zhí)行一條機(jī)器指令。 數(shù)據(jù)通路 微程序控制器是根據(jù)數(shù)據(jù)通路和指令系統(tǒng)來設(shè)計(jì)的。這里采用的數(shù)據(jù)通路是在綜合前面各實(shí)驗(yàn)?zāi)K的基礎(chǔ)上,又增加程序計(jì)數(shù)器PC(U18)、地址加法器ALU2(U17)、地址緩沖寄存器R4(U25、U26)和中斷地址寄存器IAR(U19),詳見第二節(jié)的圖4。PC和ALU2各采用一片GAL22V10,兩者配合使用,可完成程序地址的存儲(chǔ)、增1和加偏移量的功能。R4由兩片74HC298組成,帶二選一輸入端。IAR是一片74HC

6、374,用于中斷時(shí)保存斷點(diǎn)地址。有關(guān)數(shù)據(jù)通路總體的詳細(xì)說明,請(qǐng)參看第一節(jié)。 微指令格式與微程序控制器電路根據(jù)給定的12條機(jī)器指令功能和數(shù)據(jù)通路總體圖的控制信號(hào),采用的微指令格式見圖10。微指令字長共35位。其中順序控制部分10位:后繼微地址位,判別字段位,操作控制字段25位,各位進(jìn)行直接控制。微指令格式中,信號(hào)名帶有后綴“#”的信號(hào)為低有效信號(hào),不帶有后綴“#”的信號(hào)為高有效信號(hào)。 對(duì)應(yīng)微指令格式,微程序控制器的組成見圖11??刂拼鎯?chǔ)器采用5片EEPROM 28C64(U8、U9、U10、U11、U12)。28C64的輸出是D0D7,分別與引腳11、12、13、15、16、17、18、19相對(duì)

7、應(yīng),CM0是最低字節(jié),CM4是最高字節(jié)。微地址寄存器位,用一片6D觸發(fā)器74HC174(U1)組成,帶有清零端。兩級(jí)與門、或門構(gòu)成微地址轉(zhuǎn)移邏輯,用于產(chǎn)生下一微指令的地址。在每個(gè)T1上升沿時(shí)刻,新的微指令地址會(huì)打入微地址寄存器中,控制存儲(chǔ)器隨即輸出相應(yīng)的微命令代碼。微地址轉(zhuǎn)移邏輯生成下一地址,等下一個(gè)T1上升沿時(shí)打入微地址寄存器。跳轉(zhuǎn)開關(guān)JUMP(J1)是一組6個(gè)跳線開關(guān)。當(dāng)用短路子將它們連通時(shí),微地址寄存器mAR從本實(shí)驗(yàn)系統(tǒng)提供的微程序地址譯碼電路得到新的微程序地址mD0mD5。當(dāng)他們被斷開時(shí),用戶提供自己的新微程序地址mD0mD5。這樣用戶能夠使用自己設(shè)計(jì)的微程序地址譯碼電路。5片EEPR

8、OM的地址A6(引腳4)直接與控制臺(tái)開關(guān)SWC連接,當(dāng)SWC = 1時(shí),微地址大于或者等于40H,當(dāng)SWC = 0時(shí),微地址的范圍為00H3FH。SWC主要用于實(shí)現(xiàn)讀寄存器堆的功能。 微地址轉(zhuǎn)移邏輯的多個(gè)輸入信號(hào)中,INTQ是中斷請(qǐng)求,本實(shí)驗(yàn)中可以不理會(huì)。SWA、SWB是控制臺(tái)的兩個(gè)二進(jìn)制開關(guān)信號(hào),實(shí)驗(yàn)臺(tái)上線已接好接。是進(jìn)位信號(hào),IR7IR4是機(jī)器指令代碼,由于本次實(shí)驗(yàn)不連接數(shù)據(jù)通路,這些信號(hào)都接到二進(jìn)制開關(guān)K0K15上。三、機(jī)器指令與微程序 為教學(xué)中簡單明了,本實(shí)驗(yàn)儀使用12條機(jī)器指令,均為單字長(8位)指令。指令功能及格式如表5所示。指令的高位提供給微程序控制器,低位提供給數(shù)據(jù)通路。 表5

9、 指令功能與格式名稱助記符功能指令格式R7 R6 R5 R4R3 R2R1 R0加法ADD Rd,RsRd+Rs->Rd0 0 0 0RS1 RS0RD1 RD0減法SUB Rd,RsRd-Rs->Rd0 0 0 1RS1 RS0RD1 RD0乘法MUL Rd,RsRd*Rs->Rd0 0 1 0RS1 RS0RD1 RD0邏輯與AND Rd,RsRd&Rs->Rd0 0 1 1RS1 RS0RD1 RD0存數(shù)STA Rd,RsRd->Rs0 1 0 0RS1 RS0RD1 RD0取數(shù)LDA Rd,RsRs->Rd0 1 0 1RS1 RS0RD1

10、RD0無條件轉(zhuǎn)移JMP RsRs->PC1 0 0 0RS1 RS0X X條件轉(zhuǎn)移JC D若C=1則PC+D->PC1 0 0 1D3 D2D1 D0停機(jī)STP暫停運(yùn)行0 1 1 0X XX X中斷返回IRET返回?cái)帱c(diǎn)1 0 1 0X XX X開中斷INTS允許中斷1 0 1 1X XX X關(guān)中斷INTC禁止中斷1 1 0 0X XX X 應(yīng)當(dāng)指出,用以上12條指令來編寫實(shí)際程序是不夠的。好在我們的目的不是程序設(shè)計(jì),而主要是為了教學(xué)目的,通過CPU執(zhí)行一些最簡單的程序來掌握微程序控制器的工作原理。上述12條指令的微程序流程設(shè)計(jì)如圖12所示。每條微指令可按前述的微指令格式轉(zhuǎn)換成二進(jìn)制

11、代碼,然后寫入5個(gè)28C64中。為了向RAM中裝入程序和數(shù)據(jù),檢查寫入是否正確,并能啟動(dòng)程序執(zhí)行,還設(shè)計(jì)了以下五個(gè)控制臺(tái)操作微程序:存儲(chǔ)器寫操作(KWE):按下復(fù)位按鈕CLR#后,微地址寄存器狀態(tài)為全零。此時(shí)置SWC = 0、SWB ,SWA ,按啟動(dòng)按鈕后微指令地址轉(zhuǎn)入27H,從而可對(duì)連續(xù)進(jìn)行手動(dòng)寫入。存儲(chǔ)器讀操作(KRD):按下復(fù)位按鈕CLR#后,置SWC = 0,SWB ,SWA ,按啟動(dòng)按鈕后微指令地址轉(zhuǎn)入17H,從而可對(duì)RAM連續(xù)進(jìn)行讀操作。寫寄存器操作(KLD):按下復(fù)位按鈕CLR#后,置SWC = 0,SWB 1,SWA ,按啟動(dòng)按鈕后微指令地址轉(zhuǎn)入37H,從而可對(duì)寄存器堆中的寄

12、存器連續(xù)進(jìn)行寫操作。讀寄存器操作(KRR):按下復(fù)位按鈕CLR#后,置SWC = 1,SWB 0,SWA 0,按啟動(dòng)按鈕后微指令地址轉(zhuǎn)入47H,從而可對(duì)寄存器堆中的寄存器連續(xù)進(jìn)行讀操作。啟動(dòng)程序(PR):按下復(fù)位按鈕CLR#后,置SWC = 0,SWB 0,SWA 0 ,用數(shù)據(jù)開關(guān)SW7SW0設(shè)置內(nèi)存中程序的首地址,按啟動(dòng)按鈕后微指令地址轉(zhuǎn)入07H,然后轉(zhuǎn)到“取指”微指令。應(yīng)當(dāng)著重指出,在微指令格式的設(shè)計(jì)過程中,對(duì)數(shù)據(jù)通路所需的控制信號(hào)進(jìn)行了歸并和化簡。細(xì)心的同學(xué)可能已經(jīng)發(fā)現(xiàn),微程序控制器輸出的控制信號(hào)遠(yuǎn)遠(yuǎn)少于數(shù)據(jù)通路所需的控制信號(hào)。這里提供的微程序流程圖,是沒有經(jīng)過歸并和化簡的。仔細(xì)研究一下

13、微程序流程圖,就會(huì)發(fā)現(xiàn)有些信號(hào)的出現(xiàn)的位置完全一樣,這樣的信號(hào)用其中一個(gè)信號(hào)就可以代表。請(qǐng)看信號(hào)LDPC和LDR4,這兩個(gè)信號(hào)都在微程序地址07H、1AH、1FH、26H出現(xiàn),而在其他的微程序地址都不出現(xiàn),因此這兩個(gè)信號(hào)產(chǎn)生的邏輯條件是完全一樣的。從邏輯意義上看,這兩個(gè)信號(hào)的作用是產(chǎn)生新的PC,完全出現(xiàn)在相同的微指令中是很正常的,因此用LDPC完全可以代替LDR4。還有另一些信號(hào),例如LDDR1和LDDR2,出現(xiàn)的位置基本相同。LDDR2和LDDR1的唯一不同是在地址14H的微指令中,出現(xiàn)了LDDR2信號(hào),但是沒有出現(xiàn)LDDR1信號(hào)。LDDR1和LDDR2是否也可以歸并成一個(gè)信號(hào)呢?答案是肯定

14、的。微程序流程圖中只是指出了在微指令中必須出現(xiàn)的信號(hào),并沒有指出出現(xiàn)其他信號(hào)行不行,這就要根據(jù)具體情況具體分析。在地址14H的微指令中,出現(xiàn)LDDR1信號(hào)行不行呢?完全可以。在地址14H出現(xiàn)的LDDR1是一個(gè)無用的信號(hào),同時(shí)也是一個(gè)無害的信號(hào),它的出現(xiàn)完全沒有副作用,因此LDDR1和LDDR2可以歸并為一個(gè)信號(hào)LDDR1。根據(jù)以上兩條原則,我們對(duì)下列信號(hào)進(jìn)行了歸并和化簡:LDIR(CER)為1時(shí),允許對(duì)IR加載,此信號(hào)也可用于作為雙端口存儲(chǔ)器右端口選擇CER。LDPC(LDR4)為1時(shí),允許對(duì)程序計(jì)數(shù)器PC加載,此信號(hào)也可用于作為R4的加載允許信號(hào)LDR4。LDAR1(LDAR2)為1時(shí),允許

15、對(duì)地址寄存器AR1加載,此信號(hào)也可用于作為對(duì)地址寄存器AR2加載。LDDR1(LDDR2)為1時(shí)允許對(duì)操作數(shù)寄存器DR1加載。此信號(hào)也可用于作為對(duì)操作數(shù)寄存器DR2加載。M1(M2)當(dāng)M1 = 1時(shí),操作數(shù)寄存器DR1從數(shù)據(jù)總線DBUS接收數(shù)據(jù);當(dāng)M1 = 0時(shí),操作數(shù)寄存器DR1從寄存器堆RF接收數(shù)據(jù)。此信號(hào)也可用于作為操作數(shù)寄存器DR2的數(shù)據(jù)來源選擇信號(hào)。在對(duì)微指令格式進(jìn)行歸并和化簡的過程中,我們有意保留了一些信號(hào),沒有化簡,同學(xué)們可以充分發(fā)揮創(chuàng)造性,提出更為簡單的微指令格式。還要說明的是,為什麼微指令格式可以化簡,實(shí)驗(yàn)臺(tái)數(shù)據(jù)通路的控制信號(hào)為什麼不進(jìn)行化簡?最主要的原因是前面進(jìn)行的各個(gè)實(shí)驗(yàn)

16、的需要,例如LDDR1和LDDR2這兩個(gè)信號(hào),在做運(yùn)算器數(shù)據(jù)通路實(shí)驗(yàn)時(shí),是不能設(shè)計(jì)成一個(gè)信號(hào)的。還有一個(gè)原因是考慮到實(shí)驗(yàn)時(shí)易于理解,對(duì)某些可以歸并的信號(hào)也沒有予以歸并。四、實(shí)驗(yàn)設(shè)備(1) TEC計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)一臺(tái)(2) 雙蹤示波器一臺(tái) (2)直流萬用表一只 (3)邏輯測試筆一支五、實(shí)驗(yàn)任務(wù) (1)按實(shí)驗(yàn)要求連接實(shí)驗(yàn)臺(tái)的數(shù)碼開關(guān)K0K15、按鈕開關(guān)、時(shí)鐘信號(hào)源和微程序控制器。 注意:本次實(shí)驗(yàn)只做微程序控制器本身的實(shí)驗(yàn),故微程序控制器輸出的微命令信號(hào)與執(zhí)行部件(數(shù)據(jù)通路)的連線暫不連接。連線完成后應(yīng)仔細(xì)檢查一遍,然后才可加上電源。 (2)觀察時(shí)序信號(hào)。 用雙蹤示波器觀測時(shí)序產(chǎn)生器的輸入輸出

17、信號(hào):MF,W1W4,T1T4。比較相位關(guān)系,畫出其波形,并標(biāo)注測量所得的脈沖寬度。觀察時(shí)須將TJ1接低電平,DB、DZ、DP開關(guān)均置為0狀態(tài),然后按QD按鈕,則連續(xù)產(chǎn)生T1、T2、T3、T4、W1、W2、W3、W4。 了解啟??刂菩盘?hào)的功能,并熟練地使用連接這些控制信號(hào)的按鈕或開關(guān)。 (3)熟習(xí)微指令格式的定義,按此定義將控制臺(tái)指令微程序的8條微指令按十六進(jìn)制編碼,列于下表。三種控制臺(tái)指令的功能由SWC、SWB、SWA三個(gè)二進(jìn)制開關(guān)的狀態(tài)來指定(KRD 001B,KWE010B,PR000B)。此表必須在預(yù)習(xí)時(shí)完成。微指令地址微指令編碼微指令地址微指令編碼00H3CH07H17H27H3FH3DH3EH 單拍(DP)方式執(zhí)行控制臺(tái)微程序,讀出上述八條微指令,用字段和微地址指示燈跟蹤微指令執(zhí)行情況,并與上表數(shù)據(jù)對(duì)照。用連續(xù)方式執(zhí)行KWE和KRD(將TJ1接地),畫出u_A0(28C64的地址A0,U12的引腳10)信號(hào)波形,作出解釋。 (4)用P3和SWC、SWB、SWA的狀態(tài)組合,觀察驗(yàn)證三種控制臺(tái)指令K

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論