重慶理工大學計算機組成原理實驗五_第1頁
重慶理工大學計算機組成原理實驗五_第2頁
重慶理工大學計算機組成原理實驗五_第3頁
重慶理工大學計算機組成原理實驗五_第4頁
重慶理工大學計算機組成原理實驗五_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

《計算機組成原理實驗》課程實驗報告實驗題目簡單模型機設計實驗班級11203070A姓名田經緯學號11203070422時間2014年5月22日成績

1實驗內容用所設計的5條機器指令編寫一匯編語言程序,運行該程序并觀察程序運行的結果。要求該程序必須包含IN、ADD、OUT、JMP、HLT指令并且程序的長度在6條指令以上。設計一段機器程序,要求從IN單元讀入一個數據,存于R0,將R0和自身相加,結果存于R0,再將R0的值送OUT單元顯示。2實驗原理本實驗要實現(xiàn)一個簡單的CPU,并且在此CPU的基礎上,繼續(xù)構建一個簡單的模型計算機。CPU由運算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序計數器(PC)和地址寄存器(AR)組成,。本模型機和前面微程序控制器實驗相比,新增加一條跳轉指令JMP,共有五條指令:IN(輸入)、ADD(二進制加法)、OUT(輸出)、JMP(無條件轉移),HLT(停機),其指令格式如下(高4位為操作碼):其中JMP為雙字節(jié)指令,其余均為單字節(jié)指令,********為addr對應的二進制地址碼。微程序控制器實驗的指令是通過手動給出的,現(xiàn)在要求CPU自動從存儲器讀取指令并執(zhí)行。根據以上要求,設計數據通路圖。本實驗在前一個實驗的基礎上增加了三個部件,一是PC(程序計數器),另一個是AR(地址寄存器),還有就是MEM(主存)。因而在微指令中應增加相應的控制位,其微指令格式如表5-1所示。表5-1微指令格式232221201918-1514-1211-98-65-0M23M22WRRDIOMS3-S0A字段B字段C字段MA5-MA03實驗步驟1、編寫微程序根據以下流程圖,再結合圖5-1,完成微指令,并填入表5-1-2中圖5-1簡單模型機微程序流程圖當全部微程序設計完畢后,應將每條微指令代碼化,表5-2即為將圖5-4的微程序流程圖按微指令格式轉化而成的“二進制微代碼表”。表5-1-2二進制微代碼表地址十六進制高五位S3-S0A字段B字段C字段MA5-MA00000000100000000000000000000000101006D430000000001101101010000110310707000010000011100000111000030001404000000000001010000000100040024050000000000100100000001010504B2010000010010110010000000013218300100011000001100000000000133280401001010000000010000000001350000350000000000000000001101013C0000500000000001101101010111011D105141000100000101000000000001根據要求可得到以下程序,地址和內容均為二進制數。地址內容 助記符 說明00000000 00100000 ;START:INR0從IN單元讀入數據送R000000001 00000000 ;ADDR0,R0 R0和自身相加,結果送R000000010 00110000;OUTR0R0的值送OUT單元顯示00000011 11100000;JMPSTART跳轉至00H地址00000100 00000000;地址00000101 01010000 ;HLT 停機2、完成上述工作后,連接好實驗電路。3、聯(lián)機寫入和校驗聯(lián)機軟件提供了微程序和機器程序下載功能,以代替手動讀寫微程序和機器程序,但是微程序和機器程序得以指定的格式寫入到以TXT為后綴的文件中。本次實驗程序如下,程序中分號‘;’為注釋符,分號后面的內容在下載時將被忽略掉:補充完整下列程序;//******StartOfMainMemoryData******//$P0020;START:INR0從IN單元讀入數據送R0$P0100;ADDR0,R0R0和自身相加,結果送R0$P0230;OUTR0R0的值送OUT單元顯示$P03e0;JMPSTART跳轉至00H地址$P0400;$P0550;HLT停機;//*******EndOfMainMemoryData*******//;//****StartOfMicroControllerData****//$M00000001;NOP$M01006D43;PC->AR,PC加1$M03107070;MEM->IR,P<1>$M30001404;R0->B$M04002405;A加B->R0$M0504B201;MEM->PC$M32183001;R0->A$M33280401;IN->R0$M35000035;R0->OUT$M3C006050;NOP$M1D105141;PC->AR,PC加1;//**EndOfMicroControllerData**//選擇聯(lián)機軟件的“【轉儲】—【裝載】”功能,在打開文件對話框中選擇上面所保存的文件,軟件自動將機器程序和微程序寫入指定單元。選擇聯(lián)機軟件的“【轉儲】—【刷新指令區(qū)】”可以讀出下位機所有的機器指令和微指令,并在指令區(qū)顯示,對照文件檢查微程序和機器程序是否正確,如果不正確,則說明寫入操作失敗,應重新寫入,可以通過聯(lián)機軟件單獨修改某個單元的指令,以修改微指令為例,先用鼠標左鍵單擊指令區(qū)的‘微存’TAB按鈕,然后再單擊需修改單元的數據,此時該單元變?yōu)榫庉嬁?,輸?位數據并回車,編輯框消失,并以紅色顯示寫入的數據。4.運行程序將時序與操作臺單元的開關KK1、KK3置為‘運行’檔,按動CON單元的總清按鈕CLR,將使程序計數器PC、地址寄存器AR和微程序地址為00H,程序可以從頭開始運行,暫存器A、B,指令寄存器IR和OUT單元也會被清零。將時序與操作臺單元的開關KK2置為‘單步’檔,每按動一次ST按鈕,即可單步運行一條微指令,對照微程序流程圖,觀察微地址顯示燈是否和流程一致。每運行完一條微指令,觀測一次CPU內總線和地址總線,對照數據通路圖,分析總線上的數據是否正確。當模型機執(zhí)行完JMP指令后,檢查OUT單元顯示的數是否為IN單元值的2倍,按下CON單元的總清按鈕CLR,改變IN單元的值,再次執(zhí)行機器程序,從OUT單元顯示的數判別程序執(zhí)行是否正確。4實驗結果在電腦上的電腦

溫馨提示

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

評論

0/150

提交評論