簡單實驗計算機組成與程序運行實驗_第1頁
簡單實驗計算機組成與程序運行實驗_第2頁
簡單實驗計算機組成與程序運行實驗_第3頁
簡單實驗計算機組成與程序運行實驗_第4頁
簡單實驗計算機組成與程序運行實驗_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 簡單實驗計算機組成與程序運行實驗一、實驗目的1. 組成一個簡單的計算機整機系統(tǒng)模型機,輸入程序并運行2. 了解微程序控制器是如何控制模型機運行的,掌握整機動態(tài)工作過程3. 定義五條機器指令,編寫相應微程序并具體上機調(diào)試二、預習要求:1. 復習計算機組成的基本原理;2. 預習本實驗的相關知識和內(nèi)容三、實驗設備:EL_JY_II8型計算機組成原理實驗系統(tǒng)一套,排線若干。四、模型機結構:模型機結構框圖見圖61.五、工作原理:前幾個實驗中,控制信號是由實驗者用邏輯開關來模擬的,而這次實驗,是在微程序控制下自動產(chǎn)生各部分的控制信號,實現(xiàn)特定指令的功能。CPU從內(nèi)存取出一條機器指令到執(zhí)行結束的一個指令周

2、期,是由微指令組成的序列來完成,一條機器指令對應一個微程序。1.本實驗采用五條機器指令:其指令格式如下(前4位為操作碼):功能機器指令碼說 明IN0000 0000“D_INPUT”中的開關狀態(tài)R0ADD addr0001 0000xxxxxxxxR0+addrR0STA addr0010 0000xxxxxxxxR0addrOUT addr0010 0000xxxxxxxxaddrBUSJMP addr0100 0000xxxxxxxxaddrPC其中IN為單字長(8位),其余為雙字長指令,xxxxxxxx為addr為對應的二進制地址碼。2.為了向RAM中裝入程序和數(shù)據(jù),檢查斜土是否正確,并

3、能啟動程序執(zhí)行,還必須設計三個控制操作微程序。存儲器讀操作(MRD):撥動總清開關CLR后,控制開關CA1、CA2為“00”時,按“啟動”微動開關,可對RAM連續(xù)手動讀操作。存儲器寫操作(MWE):撥動總清開關CLR后,控制開關CA1、CA2為“10”時。按“啟動”微動開關,可對RAM連續(xù)手動寫入。啟動程序(RUN):撥動總清開關CLR后,控制開關CA1、CA2為“11”時按“啟動”微動開關,即可轉入到第01號“取址”微指令,啟動程序運行。程序計數(shù)器PC數(shù)據(jù)暫存器LT1數(shù)據(jù)暫存器LT2寄存器R0輸出設備地址寄存器存儲器(MEM)微控器脈沖源及時序指令寄存器輸出設備 LPC 數(shù)據(jù)總線(D-BUS

4、) ALU-G LOAD PC-G S3S2S1S0 MCN ALU LAR 地址總線(ADDR-BUS) READLDR1 LDR2 WRITE LDR0 R0-G C-G W/R 控制門數(shù)據(jù) LED-G 控制信號3. 微指令字長共24位,其控制位順序如下:24232221201918171615 14 13121110987654321S3S2S1S0MCnWE1A1BF1F2F3uA5uA4uA3uA2uA1uA0其中Ua5_uA0為6位的后續(xù)微地址,F(xiàn)1、F2、F3為三個譯碼字段,分別由三個控制位譯碼出多位。F3字段中的P(1)_P(4)是四個測試字位。其功能是根據(jù)機器指令及相應微代碼

5、進行譯碼,使微程序轉入相應的微地址入口,從而實現(xiàn)微程序的順序、分支、循環(huán)運行。F1、F2、F3三個字段的編碼方案如表61:F1字段F2字段F3字段15 14 13選擇12 11 10 選擇9 8 7選擇0 0 0LDR10 0 0RAG0 0 0P(1)0 0 1LOAD0 0 1ALU-G0 0 10 1 0LDR20 1 0RCG0 1 00 1 1 0 1 1 0 1 1 1 0 0LDR11 0 01 0 01 0 1LAR1 0 1PC-G1 0 1LPC1 1 0LDLR1 1 01 1 0P(4)表6-14.系統(tǒng)涉及到得微程序流程見圖62,當擬定“取址”微指令是,該微指令的判別測

6、試字段為P(1)測試。由于“取址”微指令是所有微程序都使用的公用微指令,因此P(1)的測試結果出現(xiàn)多路分支。本機用指令寄存器的前4位(IR7IR4)作為測試條件,出現(xiàn)5路分支,占用5個固定微地址單元。控制操作為P(4)測試,它以控制開關CA1、CA2作為測試條件,出現(xiàn)了3路分支,占用3個固定微地址單元。當分支微地址單元固定后,剩下的其他地方就可以一條微指令占用控存一個微地址單元隨意填寫。注意:微程序流程圖上的單元地址為8進制。5.當全部微程序實際完畢后,應將每條微指令代碼化,表62即為將圖62的微程序流程按微指令格式轉化而成的“二進制微代碼表”。6.指令寄存器用來保存當前正在執(zhí)行的一條指令。當

7、執(zhí)行一條指令時,先把他從內(nèi)存取到緩沖寄存器中,然后再傳送至指令寄存器。指令劃分為操作碼和地址字段;由二進制數(shù)構成,為了執(zhí)行任何給定的指令,必須對操作碼進行測試【P(1)】,通過節(jié)拍脈沖T4的控制以便識別所要求的操作。“指令譯碼器”根據(jù)指令中的操作碼譯碼強制微控制器單元的微地址,使下一條微指令指向相應的微程序首地址。I7I2為指令寄存器的第72位。7.本系統(tǒng)有兩種外部I/O設備,一種是二進制代碼開關,它作為輸入設備;另一種是數(shù)碼塊,它作為輸出設備。輸入時,二進制開關數(shù)據(jù)直接經(jīng)過三態(tài)門送到數(shù)據(jù)總線上,只要開關狀態(tài)不變,輸入的信息也不變。輸出時,將輸出數(shù)據(jù)送到外部數(shù)據(jù)總線上,當寫信號(W/R)有效時

8、,將數(shù)據(jù)打入輸出鎖存器,驅動數(shù)碼管顯示。開始PC AR PC+PAM D BUSIRP(1測試PPPIN ADD STA OUT JMP 10 11 12 13 14PCAR PC+1 R0BUSIRPCAR PC+1 R0BUSIRPCAR PC+1R0BUSIRPCAR PC+1D INPUTR0 R0BUSIR 03 07 16 26RAMD BUSARRAMD BUSAR R0BUSIRRAMD BUSPC R0BUSIRRAMD BUSAR R0BUSIR01 04 15 17 RAMD BUSLT1R0D BUSRAMRAMD BUSLT2 01 05 LT1LEDR0LT1 01

9、 06 (LT1)+(LT2)R0 01 01 控制開關P(4)測試 MWE(CA1CA2=10 ) MRD(CA1CA2=00) RUN(CA1CA2=11) PCAR PC+1PCAR PC+1R0BUSIR 21 20 23 RAMD BUSLT1D-INPUTD-BUSLT1 24 22 LT1LEDLT1RAM 30 27圖6-2微程序流程圖微地址S3S2S1S0 M CN WE 1A 1BF1F2F3UA0.UA5000 0 0 0 0 0 0 1 1111111110010000010 0 0 0 0 0 0 1 110110110100001020 0 0 0 0 0 0 1

10、0110111111011001030 0 0 0 0 0 0 1 0101111111000100040 0 0 0 0 0 0 1 0010111111000101050 0 0 0 0 0 0 1 1100000111000110061 0 0 1 0 1 0 1 1000001111000001070 0 0 0 0 0 0 1 0101111111001101100 0 0 0 0 0 0 0 0000111000000001110 0 0 0 0 0 0 1 1101101101000011120 0 0 0 0 0 0 1 1101101101000111130 0 0 0 0

11、0 0 1 1101101101001110140 0 0 0 0 0 0 1 1101101101010110150 0 0 0 0 0 1 1 0111000111000001160 0 0 0 0 0 0 1 0101111111001111170 0 0 0 0 0 0 1 0100111111010101200 0 0 0 0 0 0 1 1101101101010010210 0 0 0 0 0 0 1 1101101101010100220 0 0 0 0 0 0 1 0100111111010111230 0 0 0 0 0 0 1 1111111111000001240 0

12、0 0 0 0 0 0 0100111111011000250 0 0 0 0 1 1 0 1111001111000001260 0 0 0 0 0 0 1 0001111101000001270 0 0 0 0 0 1 0 1111001111010000301 1 1 1 1 1 1 1 0111001111010001310 0 0 0 0 0 0 1 0110111000001000 表6-2地址(二進制)內(nèi)容(二進制)助記符說 明0000 00000000 0000IN“數(shù)據(jù)輸入電路”中的開關狀態(tài)R00000 00010001 0000ADD0AHR0+0AHRO0000 0010

13、0000 10100000 00110010 0000STA0BHR00BH0000 01000000 10110000 01010011 0000OUT0BH0BHBUS0000 01100000 10110000 01110100 0000JMP00H00HPC0000 10000000 00000000 10010000 10100000 00010A單元的加數(shù)(任意自定,此處為01H)0000 1011求和結果 8.本實驗設計機器指令程序如下:六、實驗步驟:一)、脫機實驗1按下圖連接實驗電路:(連線時應按如下放法:對于橫排座,應使排線插頭上的箭頭面向自己插在橫排座上;對于豎排座,應使排

14、線插頭上的箭頭面向左邊插在豎排座上)W/R讀寫控制電路 T4 T1WEWET41 FINT1 F/8脈沖及時序信號BD7 數(shù)據(jù)總線BD0 MC24 SA5MC19 SA0 LDR1 P(1) P(4) LDR2 LDIR ALU-G 微程序控制器電路 LR1 RAG LPC LOAD MC16 PC-G MC17 UAJ1 LAR SA5 CA1 SA0 CA2 P(1) IR7 P(4) IR0 指令譯碼器CA1控制開關電路CA2BD7 S3 ALUJ CnBD0 ALU-G 運算器電路 IR7 IR0 指令寄存器電路 LDR1 RJ1 LR0 R0寄存器堆電路 DUI DU-G LPC P

15、CJ1 LOAOD PC-G 1A Y3 1B Y2 Y1I/O控制電路 LAR地址寄存器電路 D-G W/R輸出顯示電路 AD7 AD0 地址總線 MAJ1 MDJ1 CE WE主存儲器電路 BD7 BD0 數(shù)據(jù)總線控制開關電路UA5.UA0 圖6-12.寫程序:1)先將機器指令對應的微代碼按表62寫入2816中,方法參見“實驗四、微程序控制器實驗”。校驗正確后就可使用。2)使用控制MWE和MRD微程序進行機器指令程序的裝入和檢查。(1)使K1K2K3K4處于運行狀態(tài),撥動控制開關CLR(101),微地址寄存器清零,程序計數(shù)器 。然后是控制開關CA1、CA2置為“10”,按動一次“單步”按鈕

16、,微地址顯示燈顯示“010001”,再按動一次“單步”,微地址燈顯示“010100”,此時數(shù)據(jù)輸入電路的開關的內(nèi)容置為要寫入的機器指令,按動一次“單步”,即完成該條指令的寫入。若仔細閱讀MWE的流程,就不難發(fā)現(xiàn),機器指令的首地址只要第一次給入即可,PC會自動加1,所以,每次按動“單步”,只有在微地址燈顯示“010100”時,才設置內(nèi)容,直到所有機器指令寫完。(2)校驗:撥動總清零開關CLR(101)后,微地址寄存器清零,程序計數(shù)器清零,然后使控制臺CA1、CA2置為“00”,按動一次“單步”按鈕,微地址顯示燈顯示“010000”,再按動一次“單步”按鈕,微地址燈顯示“010010”,第三次按動

17、“單步”按鈕,微地址燈顯示“010111”,此時數(shù)據(jù)總線單元的顯示燈為【00H】地址(地址單元顯示燈內(nèi)容)的內(nèi)容。不斷按動“單步”按鈕,可檢查后續(xù)單元的內(nèi)容。注意:每次僅在微地址燈顯示為“010111”時,數(shù)據(jù)總線顯示燈的內(nèi)容才是相應地址中的機器指令內(nèi)容。3.單步運行程序:(1)使K1K2K3K4處于運行狀態(tài):(2)撥動總清零開關CLR(1 0 1),CA1,CA2置為11,微地址寄存器清零,程序計數(shù)器清零。程序首地址為00H.(3)單步運行一條微指令,每按動一次“單步”,即單步運行一條微指令,對照微程序流程圖,觀察微地址顯示燈是否和流程一致。(4)當運行結束后,可檢查存數(shù)單元(0B)中的結果

18、是否與理論一致。4.連續(xù)運行程序:(1)使K1K2K3K4處于運行狀態(tài):(2)撥動總清零開關CLR(1 0 1),CA1,CA2置為11,微地址寄存器清零,程序計數(shù)器清零。程序首地址為00H.(3)按動“啟動”按鈕,連續(xù)運行程序,稍后按動“停止”按鈕,使系統(tǒng)停機:(4)當運行結束后,可檢查存數(shù)單元(0B)中的結果是否與理論一致。二)、單片機鍵盤操作實驗: 在進行單片機鍵盤控制實驗時,必須把K4開關置于“OFF”狀態(tài),否則系統(tǒng)處于自鎖狀態(tài),無法進行實驗。1. 鍵盤實驗連線圖如圖64E4 E5控制總線F1-F4 C1-C6 WE MD7-MD0MA0-MA7主存儲器電路 CE CE AD7-AD0

19、地址總線 BD7-BD0數(shù)據(jù)總線 讀寫控制電路WET1-T4 W/R W/R Y21A1B Y1I/O控制電路 PC-G LOA LPC程序計數(shù)器電路PCJ1IR2-IR7LDI 指令寄存器路IR0-IR8SA5. P1-P4 IR2-IR7指令譯碼器電路CA1 CA2 IR0-IR8 S8.CN LDR1 LDR2 ALU-G 運算器電路 ARALUJ LRO ROG寄存器堆電路 RJ1 D0.D7 輸出顯示電路D-G WR微程序控制器電路M17 M24 LDR1 LDR2 ALU-G AR PC-G LOAD LPC LRI RAG AS5 .SA0 P1.P4 LDIR UAJI M18

20、 LARM16 M19 IR2 2. 實驗步驟1)微代碼:使K1K2K3K4撥到寫入狀態(tài)。在“CLASS SELSCT”狀態(tài)按“實驗選擇”鍵,輸入06或6及確認后,進入實驗六程序,顯示為“ES06”,按下“確認”鍵,顯示為“CTL1-”對微代碼進行操作。輸入“1”顯示“CTL1-1”其意義是寫微代碼。然后顯示“U-ADDR”,這時輸入微地址“*”該微地址是用6位二進制數(shù)表示的2位八進制書,然后按“確認”鍵,顯示“U-CODE”,這時輸入微代碼“*”,(該微代碼是用6位十六進制數(shù)來表示前面的24位二進制數(shù)。按“確認”顯示“PULSE”按“單步”完成一條微代碼的輸入,重新顯示“U-ADDR”提示輸

21、入第二條微代碼地址。按照上面的方法將下表微代碼輸入。(注意輸入微代碼的順序是由右至左。)微地址(二進制)微代碼(十六進制)0007F9001005B4202016FD903015FC404012FC5050041C6069403C107015FCD10018E0111005B4312005B4713005B4E14005B56150371C116015FCF17014FD520005B5221005B5422014FD723007FC12401CFD82501CFD826011F412706F3D03006F3D131016E08 2)代碼校驗先將K1K2K3K4撥到讀狀態(tài),按照鍵盤說明使之顯

22、示“CTL1-”時,輸入“2”按“確認”進入讀代碼狀態(tài),讀的過程和寫過程類似。按確認后顯示“U-ADDR”,提示輸入代碼地址,輸入后按“確認”顯示“PULSE”按“單步”完成一條微指令的讀過程重新顯示“U-ADDR”.微代碼顯示燈顯示為讀出的微代碼。對照上面的微代碼表檢查錯誤并改正。3)寫機器指令先將K1K2K3K4撥到運行狀態(tài),按鍵盤說明選擇實驗后,按“取消”鍵進入對機器指令操作狀態(tài),顯示“CTL2-”,輸入“1”按“確認”顯示“PULSE”,按照前面的方法是CLR 清零即(101),然后按“單步”鍵,當微地址顯示燈顯示“010100”時,按“確認”顯示“CODE-”,提示輸入機器指令(兩位

23、十六進制數(shù))輸入后按“確認”顯示“PULSE”再按“單步”使之再顯示“010100”時輸入下一條指令,直到輸入完成,按“取消”退出寫機器指令狀態(tài)。微地址(二進制)微代碼(十六進制)00000110020A0320040B0530060B0740080009000A010B014)校驗機器指令撥動CLR清零,選擇實驗后按“確認”進入實驗再按“取消”進入機器指令操作狀態(tài),顯示“CTL2-”,輸入“2”按“確認”,顯示“PULSE”。一次一次按“單步”當微地址燈顯示“010010”時,數(shù)據(jù)總線上顯示的為寫入的機器指令。讀的過程注意微地址燈,地址燈和數(shù)據(jù)總線的對應關系。5)運行程序運行程序之前撥動CL

24、R清零,同上面一樣只是當顯示“CTL2-”時輸入“3”按“確認”進入機器指令運行狀態(tài)顯示“RUN CODE”,可以“單步”運行程序也可以“全速”運行,運行過程中提示輸入相應的量,運行結束后觀察實驗運行結果。七、實驗心得:在實驗的過程中:我和同組的人進行了如下的操作:(1) 寫微代碼 (以寫表6-2的微代碼為例) 首先將微程序控制電路上的開關K1K2K3撥到寫入狀態(tài),即K1 off、K2 on、K3 off,然后將24位微代碼輸入及顯示電路上的開關K4撥到on狀態(tài)。置控制開關UA5 UA0=“000000”,輸入微地址“000000”,置24位微代碼開關MS24-MS1為:“00000000 0

25、0000000 00010000”,輸入24位二進制微代碼,按【單步】,黃色微地址燈顯示“000 000”寫入微代碼。保持K1K2K3K4狀態(tài)不變,寫入表62的所有微代碼。(2)讀微代碼并驗證結果 將微程序控制電路上的開關K1K2K3撥到讀出狀態(tài),即K1 off、K2 off、K3 on,然后將24位微代碼輸入及顯示電路上的開關K4撥到off狀態(tài),置控制開關UA5 UA0=“000000”輸入微地址“000000”, 按【單步】,黃色微地址燈顯示“000 000”,24位微代碼顯示“00000000 00000000 00010000”,即第一條微代碼。保持K1K2K3K4狀態(tài)不變,改變UA5 UA0微地址的值,讀出相應的微代碼,并和表62的微代碼比較,驗證是否正確。在輸入的過程中,有錯誤的微代碼,我們及時的改正了錯誤。(3)寫機器指令 將微程序控制電路上的開關K1K2K3撥到運行狀態(tài),即K1 on、K2 off、K3 on,然后將24位微代碼輸入及顯示電路上的開關K4撥到off狀態(tài)。撥動控制開關電路上的清零開關CLR,對地址寄存器、指令寄存器清零,清零結果是微地址指示燈(6個黃色指示燈)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論