模型機(jī)實驗報告(共18頁)_第1頁
模型機(jī)實驗報告(共18頁)_第2頁
模型機(jī)實驗報告(共18頁)_第3頁
模型機(jī)實驗報告(共18頁)_第4頁
模型機(jī)實驗報告(共18頁)_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上哈爾濱工程大學(xué)實 驗 報 告實驗名稱: 復(fù)雜模型機(jī)設(shè)計與實現(xiàn)班 級: 學(xué) 號: 姓 名: 實驗時間: 成 績: 指導(dǎo)教師: 程旭輝 附小晶實驗室名稱: 計算機(jī)專業(yè)實驗中心一、 實驗名稱: 復(fù)雜模型機(jī)的設(shè)計與實現(xiàn)二、 實驗?zāi)康模?綜合運(yùn)用所學(xué)計算機(jī)原理知識,設(shè)計并實現(xiàn)較為完整的計算機(jī)。2設(shè)計指令系統(tǒng)。3編寫簡單程序,在所設(shè)計的復(fù)雜模型計算機(jī)上調(diào)試運(yùn)行。三、實驗設(shè)備: GW-48CPP系列計算機(jī)組成原理實驗系統(tǒng)。四、實驗原理:1數(shù)據(jù)格式模型機(jī)采用定點(diǎn)補(bǔ)碼表示法表示數(shù)據(jù),字長為8位,其格式如下:7符號尾數(shù)其中第7位為符號位,數(shù)值表示范圍是:-11。2指令格式所設(shè)計的指令分為

2、四大類共十六條,其中包括算術(shù)邏輯指令、I/O指令、訪問、轉(zhuǎn)移指令和停機(jī)指令。(1)算術(shù)邏輯指令設(shè)計9條算術(shù)邏輯指令并用單字節(jié)表示,采用寄存器直接尋址方式,其格式如下: 7654 3210OP-CODErsrd其中,OP-CODE為操作碼,rs為源寄存器,rd為目的寄存器,并規(guī)定:Rs或rd選定的寄存器000110R0R1R2(2)訪問指令及轉(zhuǎn)移指令訪問指令有2條,即存數(shù)(STA)、取數(shù)(LDA);2條轉(zhuǎn)移指令,即無條件轉(zhuǎn)移(JMP)、結(jié)果為零或有進(jìn)位轉(zhuǎn)移指令(BZC),指令格式為:7654321000MOP-CODErdD其中,OP-CODE為操作碼,rd為目的寄存器地址(用于LDA、STA指

3、令)。D為位移量(正負(fù)均可),M為尋址模式,其定義如下:尋址模式M有效地址E說明00011011E=DE=(D)E=(RI)+DE=(PC)+D直接尋址間接尋址RI變址尋址相對尋址在本模型機(jī)中規(guī)定變址寄存器RI為寄存器R2。(3)I/O指令輸入(IN)和輸出(OUT)指令采用單字節(jié)指令,其格式如下:76543210OP-CODEaddrrd其中,addr=01時選中“INPUT DEVICE”中的鍵盤輸入設(shè)備,addr=10時,選中“OUTPUT DEVICE”中的LCD點(diǎn)陣液晶屏作為輸出設(shè)備。(4)停機(jī)指令指令格式如下:76543210OP-CODE00003指令系統(tǒng)共有16條基本指令,其中

4、算術(shù)邏輯指令7條,訪問內(nèi)存指令和程序控制指令4條,輸入/輸出指令2條,其他指令1條。各條指令的格式、匯編符號、功能如表7-1所示。助記符號指令格式功能CLR rdMOV rs,rdADC rs,rdSBC rs,rdINC rdAND rs,rdCOM rdRRC rs,rdRLC rs,rd011100rd0 rd1000rsrdrs rd1001rsrdrs + rd + cy rd1010rsrdrs rd cy rd1011rdrd + 1 rd1100rdrs rd rd1101rd rd1110rd1111rdLDA M,D,rdSTA M,D,rdJMP M,DBZC M,D00

5、M00rdDE rs00M01rdDrd E00M10rdDE PC00M11rdD當(dāng)CY=1或Z=1時,E PCIN addr,rdOUT addr,rd010001rdaddr rd010110rdrd addrHALT01100000停機(jī)本模型機(jī)的數(shù)據(jù)通路框圖如圖7-1。根據(jù)機(jī)器指令系統(tǒng)要求,設(shè)計微程序流程圖及確定微地址,如圖7-2。圖7-2 微程序流程圖五、實驗內(nèi)容:按照系統(tǒng)建議的微指令格式,參照微指令流程圖,將每條微指令代碼化,譯成二進(jìn)制代碼表,并將二進(jìn)制代碼表轉(zhuǎn)換為聯(lián)機(jī)操作時的十六進(jìn)制格式文件。微代碼定義如表7-1所示。2423222120191817169 8 7654321S3

6、S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0微程序$M00 $M01 01ed82$M02 00c050$M03 00a004$M04 00e0a0$M05 00e006$M06 00a007$M07 00e0a0$M08 00ed8a$M09 00ed8c$M0A 00a030$M0B $M0C 00202f$M0D 00a00e$M0E 01b60f$M0F 95ea25$M10 00ed83$M11 00ed85$M12 00ed8d$M13 00eda6$M14 $M15 $M16 $M17 3d9a01$M18 $M19 01a22a$M1A 03b22c

7、$M1B 01a432$M1C 01a233$M1D 01a426$M1E $M1F $M20 $M21 $M22 05db81$M23 0180e4$M24 $M25 95aaa0$M26 00a027$M27 01bc28$M28 95ea29$M29 95aaa0$M2A 01b42b$M2B 959b41$M2C 01a42d$M2D 65ab6e$M2E 059a01$M2F 078a09$M30 050a08$M31 $M32 059a01$M33 01b435$M34 05db81$M35 b99a41$M36 0d9a01$M37 $M38 $M39 $M3A $M3B 070

8、a08$M3C $M3D $M3E $M3F 六、實驗框圖設(shè)計:模型機(jī)設(shè)計主要是包括:控制器、存儲器、運(yùn)算器、輸入、輸出。主要的設(shè)計是SE-5是根據(jù)FC,FZ,T4,P4.1,SWA,SWB,I7.2來控制輸出的SE1.6,控制地址的跳轉(zhuǎn)。當(dāng)SE輸出0時Q輸出1,當(dāng)SE輸出1時,Q輸出D;SE-5:(SE 6-1):在波形圖中實現(xiàn)跳轉(zhuǎn)的時候,會出現(xiàn)如圖:剛開始對此變化不理解,自習(xí)觀察SE6-1時,SE6.1作為控制端,SE為1時Q輸出D,SE為0時Q輸出1,達(dá)到跳轉(zhuǎn)的功能,但是還隱含一個細(xì)節(jié)是:在SE有0的時候,SE不用T2的時鐘觸發(fā),地址會直接會發(fā)生跳轉(zhuǎn),所以會出現(xiàn)如圖微地址由20直接跳到3

9、1。1和3:移位寄存器:SHEFT 和控制移位器的進(jìn)位:說明:移位寄存器的M位有M20來控制,S1.0由M22.21來控制,控制進(jìn)位由SHE_C0來控制,假設(shè)上次的移位器有進(jìn)位,那么上次的SHEFT_CN輸出1,在控制移位器進(jìn)位的器件上,當(dāng)需要進(jìn)位時,即:AR=1,(通過觀察微指令開看AR進(jìn)位時才選中)那么會有進(jìn)位,此時在下一次帶進(jìn)位的移位時,SHE_C0=1;2.控制ALU進(jìn)位的器件: 說明:在此器件中,AR為控制端,上次的進(jìn)位溢出位FC連到D0上M19與Q非的或,連接到ALU_CN,當(dāng)M19=1時表示不帶進(jìn)位的運(yùn)算,那么ALU_CN的結(jié)果肯定是1,在下次運(yùn)算時肯定是不帶進(jìn)位的運(yùn)算。當(dāng)M19

10、=0,時,表示運(yùn)算器運(yùn)算是帶進(jìn)位的運(yùn)算,若上次的運(yùn)算FC=1,若選中AR則,表示本次的運(yùn)算時帶進(jìn)位的運(yùn)算,則在T2周期時,Q=1,那么ALU_CN的輸出是0,將結(jié)果輸入到ALU的進(jìn)位控制端,控制本次的進(jìn)位運(yùn)算。4通過編程控制可編碼寄存器的選擇:.內(nèi)部結(jié)構(gòu):說明:這是通過兩個2-4譯碼器組合而成的選擇器,根據(jù)decoder_b產(chǎn)生的控制信號,并且在編程時編寫的I0I3指令來控制,RS,RD,RI.寄存器的選擇。為了方便起見,在實驗過程中用一一對應(yīng)的實現(xiàn):R0àRS;R1àRD;R2àRI;七、程序表設(shè)計:表7-2微指令格式121110選擇000001RS-B010R

11、D-B011RI-B100299-B101ALU-B110PC-B987選擇000001P(1)010P(2)011P(3)100P(4)101AR110LDPC151413選擇000001LDRi010LDDR1011LDDR2100LDIR101LOAD110LDARA字段B字段C字段實驗程序如下:根據(jù)框圖的設(shè)計以及書中的指令系統(tǒng)功能表,在編碼的時候考慮到的情況主要是用指令指定哪個寄存器,以及在實現(xiàn)LDA,STA,JMP,BZC,是選用的哪種尋址方式,為了全面的測試框圖實現(xiàn)功能的正確性,在設(shè)計程序流程的時候所有的功能,以及所有的尋址方式都用到了,下面就是我設(shè)計的實驗程序:地址數(shù)據(jù)16進(jìn)制表

12、示助記符0041IN:SW->RD(27)0140IN:SW->RS(26)02A1SBC:(RD-RS)=>RD0359OUT:RD=>LED0491ADC:(RD+RS)=>RD0559OUT:RD=>LED06B1INC:RD+1=>RD0759OUT:RD=>LED08C1AND:(RD)AND(RS)=>RD0959OUT:RD=>LED0AD1COM:RD取反=>RD0B59OUT:RD=>LED0CE1RRC:將RS中的數(shù)循環(huán)左移0D59OUT:RD=>LED0EF1RLC:將RS中的數(shù)循環(huán)右移0F59

13、OUT:RD=>LED1081MOV:RS->RD 1159OUT:RD=>LED1242IN:SW=>RI (存入的數(shù):10H)1301LDA:RAM=>RD141E把1E里的數(shù)送到RD中1515STA:RD=>RAM161F將RD中的數(shù)存到1F的地址中去172AJMP:1811在變址尋址中用到(10H+11H)193DBZC:1A03 沒有用到1B60HALT:停機(jī)指令1C00沒有用到1D00沒有用到1E0F在執(zhí)行LDA是會用到0F1F0F在執(zhí)行STA時會存到此地址2000在執(zhí)行LDA存到此位置21OUT讀出RD中的數(shù)222AJMP:跳回到斷點(diǎn)位置230

14、9執(zhí)行JMP時用到此數(shù)將設(shè)計好的程序表寫入到內(nèi)存中,然后讀內(nèi)存,然后執(zhí)行程序。七、實驗過程分析:模型機(jī)過程分析:1. 首先在ROM中已經(jīng)存入了微代碼,這里,在實驗中發(fā)現(xiàn)35是錯誤的,正確的應(yīng)該是:01A426,這是通過實驗驗證的。在SE-5的控制下,產(chǎn)生SE信號,控制微代碼的后六位是否發(fā)生改變,從而判定是否發(fā)生跳轉(zhuǎn),產(chǎn)生的微地址送到uaddr中,指示到下一條的指令。2. 每一條微代碼,通過decodera,decoderb,decoderc,decoder2-4產(chǎn)生相應(yīng)的控制信號,在觀察了四個器件的的內(nèi)部結(jié)構(gòu)后,得出decodera選中的信號是輸出1,得出decoderb選中的信號是輸出0,得

15、出decoderc選中的信號是輸出1,decoder2-4輸出0,這樣在結(jié)合74148優(yōu)先權(quán)編碼器后才能完整的控制總線以及相應(yīng)的輸出。3. reg_3是可編程寄存器,利用指令可以選用不同的寄存器,在此模型機(jī)自己設(shè)計了一個DECODERREG部件通過,RD_B, RD_B, RD_B,以及I3-I0來控制選用相應(yīng)的寄存器。為了方便起見,在實驗過程中用一一對應(yīng)的實現(xiàn):R0àRS;R1àRD;R2àRI;4. 在微程序流程圖中在進(jìn)行相對尋址時框圖47是錯誤的應(yīng)該是:PC àBUS,BUSàDR2;波形圖分析:1. 開始執(zhí)行程序,執(zhí)行指令是40,執(zhí)行的

16、是IN指令,將27存入了指定的寄存器RD。說明:為編程方便用I0,I1,I2,I3,來控制選?。?. 此時指令是:40,將26存入RS:3.指令:A1:(RD-RS)=27-26=01,將結(jié)果存入RD中。4.將RD中的結(jié)果輸出到led中顯示:此時的指令是(OUT:59)。5.執(zhí)行ADC(91)指令:()()存入中:.執(zhí)行OUT指令,將中的結(jié)果輸出:執(zhí)行INC指令,并將加的結(jié)果輸出到中:.執(zhí)行AND(C1)指令,(RD)AND(RS)=(28 AND26)=20,然后執(zhí)行OUT(59)指令,并將結(jié)果輸出到led中顯示:9.執(zhí)行COM取反指令,RD中的值是20取反后為DF,并執(zhí)行OUT指令后在le

17、d中顯示:10.執(zhí)行RRC指令,RS中值是26循環(huán)右移后的結(jié)果是13,并執(zhí)行OUT指令,在led中顯示:11.執(zhí)行RLC指令,將RS中的26循環(huán)左移后的結(jié)果是4C并將結(jié)果在led中顯示:12.執(zhí)行MOV指令(RS->RD)=26,并執(zhí)行OUT指令,在led中顯示:13.先執(zhí)行IN指令(),將10存入到指定的RI寄存器中,然后執(zhí)行LDA指令,將指令中的0F存入到RD中。14.通過間接尋址方式執(zhí)行STA(15)存數(shù)指令,將RD中的0F存入到RAM中:15.通過變址尋址方式執(zhí)行JMP指令,跳到21執(zhí)行OUT指令,讀出LDA中RD中的數(shù):16.執(zhí)行OUT指令,將RD中的數(shù)讀出來,然后執(zhí)行JMP指令跳回到斷點(diǎn)地址繼續(xù)執(zhí)行。17.通過相對尋址方式,執(zhí)行BZC指令:在PC 值為1A時將PC送到AR,此時RAM里的值是03H,并送入DR1,在執(zhí)行完微地址為23后,PC的值變?yōu)?B,將1BH送入DR2中,03H與1BH相加,相加后FC與FZ的值都不為1,所以在進(jìn)行P(3)測試后跳到了44.八、實驗結(jié)果中遇到的問題:實驗結(jié)果中遇到的問題:在剛開始的時候,在看流程圖時,在剛開始的時候,明白微地址的跳轉(zhuǎn)是如何實現(xiàn)的,但是每個框圖的具體實現(xiàn)卻搞得不是很明白,在看明白了decodea, decodeb, decodec,

溫馨提示

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

最新文檔

評論

0/150

提交評論