版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、哈爾濱工程大學(xué)實 驗 報 告實驗名稱: 復(fù)雜模型機設(shè)計與實現(xiàn)班 級: 學(xué) 號: 姓 名: 實驗時間: 成 績: 指導(dǎo)教師: 程旭輝 附小晶實驗室名稱: 計算機專業(yè)實驗中心一、 實驗名稱: 復(fù)雜模型機的設(shè)計與實現(xiàn)二、 實驗?zāi)康模?綜合運用所學(xué)計算機原理知識,設(shè)計并實現(xiàn)較為完整的計算機。2設(shè)計指令系統(tǒng)。3編寫簡單程序,在所設(shè)計的復(fù)雜模型計算機上調(diào)試運行。三、實驗設(shè)備: GW-48CPP系列計算機組成原理實驗系統(tǒng)。四、實驗原理:1數(shù)據(jù)格式模型機采用定點補碼表示法表示數(shù)據(jù),字長為8位,其格式如下:7符號尾數(shù)其中第7位為符號位,數(shù)值表示范圍是:-11。2指令格式所設(shè)計的指令分為四大類共十六條,其中包括算
2、術(shù)邏輯指令、I/O指令、訪問、轉(zhuǎn)移指令和停機指令。(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é)果為零或有進位轉(zhuǎn)移指令(BZC),指令格式為:7654321000MOP-CODErdD其中,OP-CODE為操作碼,rd為目的寄存器地址(用于LDA、STA指令)。D為位移量(正負均可
3、),M為尋址模式,其定義如下:尋址模式M有效地址E說明00011011E=DE=(D)E=(RI)+DE=(PC)+D直接尋址間接尋址RI變址尋址相對尋址在本模型機中規(guī)定變址寄存器RI為寄存器R2。(3)I/O指令輸入(IN)和輸出(OUT)指令采用單字節(jié)指令,其格式如下:76543210OP-CODEaddrrd其中,addr=01時選中“INPUT DEVICE”中的鍵盤輸入設(shè)備,addr=10時,選中“OUTPUT DEVICE”中的LCD點陣液晶屏作為輸出設(shè)備。(4)停機指令指令格式如下:76543210OP-CODE00003指令系統(tǒng)共有16條基本指令,其中算術(shù)邏輯指令7條,訪問內(nèi)存
4、指令和程序控制指令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,D00M00rdDE rs00M
5、01rdDrd E00M10rdDE PC00M11rdD當CY=1或Z=1時,E PCIN addr,rdOUT addr,rd010001rdaddr rd010110rdrd addrHALT01100000停機本模型機的數(shù)據(jù)通路框圖如圖7-1。根據(jù)機器指令系統(tǒng)要求,設(shè)計微程序流程圖及確定微地址,如圖7-2。圖7-2 微程序流程圖五、實驗內(nèi)容:按照系統(tǒng)建議的微指令格式,參照微指令流程圖,將每條微指令代碼化,譯成二進制代碼表,并將二進制代碼表轉(zhuǎn)換為聯(lián)機操作時的十六進制格式文件。微代碼定義如表7-1所示。2423222120191817169 8 7654321S3S2S1S0MCnWEA9
6、A8ABCuA5uA4uA3uA2uA1uA0微程序$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$M1B 01a432$M
7、1C 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 070a08$M3C $M3D
8、$M3E $M3F 六、實驗框圖設(shè)計:模型機設(shè)計主要是包括:控制器、存儲器、運算器、輸入、輸出。主要的設(shè)計是SE-5是根據(jù)FC,FZ,T4,P4.1,SWA,SWB,I7.2來控制輸出的SE1.6,控制地址的跳轉(zhuǎn)。當SE輸出0時Q輸出1,當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,達到跳轉(zhuǎn)的功能,但是還隱含一個細節(jié)是:在SE有0的時候,SE不用T2的時鐘觸發(fā),地址會直接會發(fā)生跳轉(zhuǎn),所以會出現(xiàn)如圖微地址由20直接跳到31。1和3:移位寄存器:S
9、HEFT 和控制移位器的進位:說明:移位寄存器的M位有M20來控制,S1.0由M22.21來控制,控制進位由SHE_C0來控制,假設(shè)上次的移位器有進位,那么上次的SHEFT_CN輸出1,在控制移位器進位的器件上,當需要進位時,即:AR=1,(通過觀察微指令開看AR進位時才選中)那么會有進位,此時在下一次帶進位的移位時,SHE_C0=1;2.控制ALU進位的器件: 說明:在此器件中,AR為控制端,上次的進位溢出位FC連到D0上M19與Q非的或,連接到ALU_CN,當M19=1時表示不帶進位的運算,那么ALU_CN的結(jié)果肯定是1,在下次運算時肯定是不帶進位的運算。當M19=0,時,表示運算器運算是
10、帶進位的運算,若上次的運算FC=1,若選中AR則,表示本次的運算時帶進位的運算,則在T2周期時,Q=1,那么ALU_CN的輸出是0,將結(jié)果輸入到ALU的進位控制端,控制本次的進位運算。4通過編程控制可編碼寄存器的選擇:.內(nèi)部結(jié)構(gòu):說明:這是通過兩個2-4譯碼器組合而成的選擇器,根據(jù)decoder_b產(chǎn)生的控制信號,并且在編程時編寫的I0I3指令來控制,RS,RD,RI.寄存器的選擇。為了方便起見,在實驗過程中用一一對應(yīng)的實現(xiàn):R0RS;R1RD;R2RI;七、程序表設(shè)計:表7-2微指令格式121110選擇000001RS-B010RD-B011RI-B100299-B101ALU-B110PC
11、-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進制表示助記符0041IN:SW-RD(27)0140IN:SW-R
12、S(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)右移0F59OUT:RD=LED1081MOV:RS-RD 1159OUT:RD=LED1242IN:SW=RI (存入的數(shù):10H)1301LDA:RAM=RD141E把1E里
13、的數(shù)送到RD中1515STA:RD=RAM161F將RD中的數(shù)存到1F的地址中去172AJMP:1811在變址尋址中用到(10H+11H)193DBZC:1A03 沒有用到1B60HALT:停機指令1C00沒有用到1D00沒有用到1E0F在執(zhí)行LDA是會用到0F1F0F在執(zhí)行STA時會存到此地址2000在執(zhí)行LDA存到此位置21OUT讀出RD中的數(shù)222AJMP:跳回到斷點位置2309執(zhí)行JMP時用到此數(shù)將設(shè)計好的程序表寫入到內(nèi)存中,然后讀內(nèi)存,然后執(zhí)行程序。七、實驗過程分析:模型機過程分析:1. 首先在ROM中已經(jīng)存入了微代碼,這里,在實驗中發(fā)現(xiàn)35是錯誤的,正確的應(yīng)該是:01A426,這是
14、通過實驗驗證的。在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,得出decoderc選中的信號是輸出1,decoder2-4輸出0,這樣在結(jié)合74148優(yōu)先權(quán)編碼器后才能完整的控制總線以及相應(yīng)的輸出。3. reg_3是可編程寄存器,利用指令可以選用不同的寄存器,在此模型機自己設(shè)計
15、了一個DECODERREG部件通過,RD_B, RD_B, RD_B,以及I3-I0來控制選用相應(yīng)的寄存器。為了方便起見,在實驗過程中用一一對應(yīng)的實現(xiàn):R0RS;R1RD;R2RI;4. 在微程序流程圖中在進行相對尋址時框圖47是錯誤的應(yīng)該是:PC BUS,BUSDR2;波形圖分析:1. 開始執(zhí)行程序,執(zhí)行指令是40,執(zhí)行的是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
16、.執(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指令后在led中顯示: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í)行
17、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指令跳回到斷點地址繼續(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,所以在進行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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年氧化工藝證考試題庫
- 四年級上冊語文《欲速則不達》說課稿
- 電商企業(yè)辦公物資整體解決方案
- 公共應(yīng)急救護(安全與急救處理)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 應(yīng)用數(shù)學(xué)(2023級課程)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 內(nèi)外科疾病康復(fù)學(xué)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 城市供水系統(tǒng)PE管道施工方案
- 班組級安全培訓(xùn)教材
- 農(nóng)業(yè)合作社集體食堂管理方案
- 房地產(chǎn)行業(yè)意識形態(tài)工作實施方案
- 2023年河北普通高中學(xué)業(yè)水平考試歷史試題
- JJF 1139-2005計量器具檢定周期確定原則和方法
- GB/T 7095.4-2008漆包銅扁繞組線第4部分:180級聚酯亞胺漆包銅扁線
- 《中藥竹罐治療頸椎病的應(yīng)用進展綜述【3000字論文】》
- GA/T 1567-2019城市道路交通隔離欄設(shè)置指南
- 譚嗣同介紹ppt演示說課講解
- 第六章革命軍隊建設(shè)和軍事戰(zhàn)略的理論
- 年度取用水計劃申請表
- 初中數(shù)學(xué)華東師大七年級上冊第1章走進數(shù)學(xué)世界七年級數(shù)學(xué)上冊數(shù)學(xué)活動月歷中
- 硬筆書法章法課件
- 專題四 植物的三大生理作用
評論
0/150
提交評論