計算機組成大型實驗報告材料-機器指令設計實驗_第1頁
計算機組成大型實驗報告材料-機器指令設計實驗_第2頁
計算機組成大型實驗報告材料-機器指令設計實驗_第3頁
計算機組成大型實驗報告材料-機器指令設計實驗_第4頁
計算機組成大型實驗報告材料-機器指令設計實驗_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機構成大型實驗報告資料—機器指令設計實驗計算機構成大型實驗報告資料—機器指令設計實驗12/12計算機構成大型實驗報告資料—機器指令設計實驗適用標準文案機器指令設計實驗-實驗報告一、實驗目的與要求1)經過實驗解析簡單模型機構造,認識計算機工作原理。2)掌握計算機微程序控制器的控制方法,掌握計算機指令履行過程。3)簡單模型計算機零件構架、微程序控制器中微程序代碼功能實現(xiàn)、微程序流程、指令系統(tǒng)定義和簡單模型計算機匯編語言程序進行考證。4)在簡單模型計算機基礎上設計新的技巧指令,在第二章實驗八的基礎上實行,使用的實驗零件和接線不變,增添5條新機器指令,目的是提升學生對計算機機器指令的理解,鍛煉學生自己著手設計模型計算機機器指令的能力。二、實驗原理簡單模型計算機構架簡單模型計算機邏輯構造如圖1所示,構成簡單模型計算機的實驗零件以總線為基本連結通道,主要有以下7個:1)算術邏輯運算零件ALUUNIT進行算術邏輯運算操作。2)存儲器零件MEMUNIT,存儲模型計算機匯編語言程序和操作數(shù)據(jù)。(3)地點寄存器零件ADDRESSUNIT,包含兩部分電路,地點寄存器AR:接收存儲器程序中的指令地點和指令中的數(shù)據(jù)地點;指令地點計數(shù)器PC:用于指示程序中的指令地點并經過地點緩沖器送往地點寄存器AR。4)指令寄存器零件INSUNIT,寄存器目前正在履行的機器指令,此指令的指令碼經過指令譯碼器向微程序控制器指示相應的微程序進口地點;此指令的地點碼指示的操作數(shù)地點,送往地點寄存器AR。5)輸入/輸出零件INPUT/OUTPUT,操作數(shù)據(jù)的輸入與輸出顯示。7)通用寄存器零件REGUNIT,暫存運算的中間數(shù)據(jù)。7)微程序控制器零件MAINCONTROLUNIT,控制各零件達成指令的功能。簡單模型計算機指令系統(tǒng)此簡單模型計算機的指令系統(tǒng)包含控制臺指令與機器指令。共三條控制臺指令,由手動控制單元(MANUALUNIT)的KB,KA開關設定。控制臺指令只好由手工操作一條條指令,不能編寫在匯編程序中。實驗八已經給出5條機器指令。分別是輸入指令INR0,PORTAR,算術加指令ADDR0,[ADDR],寄存器內容送存儲器指令STA[ADDR],R0,輸出指令OUT[PORTAR],[ADDR],轉移指令JMPPORTAR。如表1所示。其余依據(jù)微指令格式,能夠設計出實驗要求的5條指令。先進行微指令譯碼解析,此后詳盡說明怎樣設計。(1)微指令譯碼解析:優(yōu)異文檔適用標準文案圖1-簡單模型計算機邏輯構造圖表1-簡單模型機指令表指令名稱助記符指令碼格式I7,I6,I5,I4,I3,I2,I1,I0輸入INR0,PORTAR110000DRPORTARI7,I6,I5,I4,I3,I2,I1,I0算術加ADDR0,[ADDR]110001DRADDRI7,I6,I5,I4,I3,I2,I1,I0寄存器內容送存儲器STA[ADDR],R0110010DRADDRI7,I6,I5,I4,I3,I2,I1,I0輸出OUTPORTAR,[ADDR]110011DRPORTAR轉移JMPADDRI7,I6,I5,I4,I3,I2,I1,I0110100XX優(yōu)異文檔適用標準文案ADDR注:該模型機的輸入輸出設施端口號(PORTAR)只有一個,為00H。DR指示4個通用寄存器中的一個。JMP為跳轉地點為直接地點,立刻ADDR賦值給PC。當模型機的一條指令履行時,由指令譯碼器確立一個與此指令對應的微程序進口地點,經地址緩沖器送微控制存儲器的地點通道,此后從微控制存儲器相應單元中讀出24位微指令代碼,此中高17位送微指令控制代碼段寄存器,由微指令譯碼器產生控制信號,低7位送微指令地點代碼段寄存器(7位),指出微控制存儲器中下一微指令的地點。微指令代碼共分7段:BTOOTBFUNCFSS3S2S1S0MCiNNEXT1)BTO:數(shù)據(jù)從總線送零件控制段,3位。2)OTB:數(shù)據(jù)從零件送總線控制端,3位。(3)FUNC:地點轉移、讀寫功能控制端,3位。4)FS:方式功能控制段:1位。5)S3,S2,S1,S0,M,Ci:模式功能控制段,6位。6)N:備分段,1位。7)NEXT:下一條微指令地點段,7位。表2-微指令字段編碼表編碼+譯碼BTO000001B-DA1(T4)010B-DA2(T4)011B-IR(T3)100B-DR(T4)101B-SP(T4)110B-AR(T3)111B-PC#

OTBFS=1FS=0FUNCPC+1(T4)ALU-B#J(1)M-W#(T3)299-B#J(2)M-R#(T2)SR-B#J(3)I/O-W#(T3)DR-B#J(4)I/O-R#(T2)SI-B#J(5)INT-R#(T2)SP-B#CyCn#INT-E#(T3)PC-B#CyNCn#表3-散轉微地點形成規(guī)則表散轉條件散裝微地點形成規(guī)則指令碼I7I6=11時,j(1)條件散轉進口地點=微代碼下址(OR)0,1,0,I5,I4,I3,I2指令碼I7I6!=11時,散轉進口地點=微代碼下址(OR)0,0,0,I7,I6,I5,I4j(2)條件散轉進口地點=微代碼下址(OR)0,0,0,0,0,I3,I2j(3)條件散轉進口地點=微代碼下址(OR)0,0,0,0,0,KB,KAj(4)條件散轉進口地點=微代碼下址(OR)0,0,0,0,0,FC,FZj(5)條件散轉進口地點=微代碼下址(OR)0,INT,0,0,0,0,0注:表格中FC為進位標記,F(xiàn)Z為零標記。本實驗只需到J(1),J(3),J(4)四條散轉條件。表4-簡單模型計算機機器指令表指令功能INADDSTAOUTJMP優(yōu)異文檔適用標準文案指令符號數(shù)據(jù)輸入算術加數(shù)據(jù)傳輸數(shù)據(jù)輸入跳轉微程序進口地點30H31H32H33H34H(2)微程序流程圖依據(jù)實驗八的機器指令和控制臺指令能夠畫出圖2所示的流程圖。控制臺操作console)J(3)散轉;00H->(08H)KB=1,K1=1KB=1,KA=0,B0KB=0,KA=0KB=0.KA=10BH->01H0->AR;PC->AR,PC+1->PC;08H->01H0AH->0FH09H->OCHIN->DA1;RAM->DA1;0FH->1CH0CH->0DHPC->AR;PC+1->PC0->AR;1CH->1DHODH->0EHDA1->RAM;DA1->OUT;1DH->0AH0EH->09HPC->AR,PC+1->PC;01H->02HRAM-<IR;02H->03HJ(1)散轉03H->(10H)INADDSTAOUTJMPPC-<AR,PC+1->PC;PC->AR,PC+1->PC;PC->AR,PC+1->PC;PC->AR,PC+1->PC;PC->AR,PC+1->PC;30H->04H31->06H32H->22H33H->24H34H->29HRAM->AR;RAM->AR;RAM->AR;RAM->AR;RAM->DA1;04H->05H06H->07H22H->23H24H->25H29H->2AHIN->DR;RAM->DA2;RAM->AR’RAM->DA1;DA1->PC;05H->01H07H->20H23H->01H25H->26H2AH->01HDR->DA1;PC->AR,PC+1->PC;20H->21H26H->27HDA1+DA2->AR;RAM->AR;/CYNCn=0;27H->28H21H->01HDA1->OUT;28->01H圖2-模型計算機指令履行流程圖優(yōu)異文檔適用標準文案三、四條指令的微程序代碼設計依據(jù)實驗要求的匯編程序,發(fā)現(xiàn)其實不需要INCDR這條指令,所以也沒有對其進行微代碼的設計。其余明顯PC->AR,PC+1->PC;01H->02HRAM->IR;02H->03HJ(1)散轉;03H->(10H)PC->AR,PC+1->PC;01H->02HRAM-<IR;02H->03HJ(1)散轉03H->(10H)三條微指令動作為公操作。所以我們只需要考慮除此以外的其余微指令動作。下邊對4條指令,逐條進行解說解析。1.無借位減:SUBDR,[ADDR]a.指令功能:(SR)-(DR)->DR,影響Cy,Zi標記位。當(SR)<(DR)時,Cy=1,當(SR)=DR時,Zi=1。。指令格式:I776I5I4I3I2I1I0110101DRADDR指令流程:PC->AR,PC+1->PC;01H->02HRAM->IR;02H->03HJ(1)散轉;03H->(10H)PC->AR,PC+1->PC;35H->12HRAM->AR;12H->13HRAM->DA1;13H->14HDR->DA2;14H->15HDA1-DA2->DR;15H->01H

PC->AR,PC+1->PC;35H->12HRAM->AR;12H->13HRAM->DA1;13H->14HDR->DA2;14H->15HDA1-DA2->DR;15H->01H微程序代碼:微地點微代碼BTOOTBFUNCFSS3S2S1S0MCiN下址微指令說明35HDC4012110111000100000000010010PC->AR,PC=PC+112HC10013110000010000000000010011RAM->AR13H210014001000010000000000010100RAM->DA114H500015010100000000000000010101DR->DA2優(yōu)異文檔適用標準文案15H87D801100001111101100000000001DA1-DA2->DR2.帶進位加:ADDCDR,[ADDR]指令功能:(SR)+(DR)+Cy->DR,影響Cy,Zi標記位。當(SR)+(DR)+Cy>255時,Cy=1,當(SR)+(DR)+Cy=256時,Zi=1。.這條指令可實現(xiàn)多字節(jié)的加法操作。指令格式:I776I5I4I3I2I1I0110110DRADDR指令流程:PC->AR,PC+1->PC;01H->02HRAM->IR;02H->03HJ(1)散轉;03H->(10H)PC->AR,PC+1->PC;36H->18HRAM->AR;18H->19HRAM->DA1;19H->1AHDR->DA2;1AH->1BHDA1+DA2+Cy->DR;1BH->01H

PC->AR,PC+1->PC;36H->18HRAM->AR;18H->19HRAM->DA1;19H->1AHDR->DA2;1AH->1BHDA1+DA2+Cy->DR;1BH->01Hd.微程序代碼:微地址微代碼BTOOTBFUNCFSS3S2S1S0MCiN下址微指令說明36HDC4018110111000100000000011000PC->AR,PC=PC+118HC10019110000010000000000011001RAM->AR19H21001A001000010000000000011010RAM->DA11AH50001B010100000000000000011011DR->DA21BH87D801100001110110010100000001DA1+DA2+Cy->DR,CyCn3.C條件轉移:JMPC[ADDR]指令功能:若Cy=1,則[ADDR]->PC,不然次序履行下條指令。影響Cy,Zi標記位。指令格式:I776I5I4I3I2I1I011011100ADDR指令流程:優(yōu)異文檔適用標準文案PC->AR,PC+1->PC;01H->02HRAM->IR;02H->03HJ(1)散轉;03H->(10H)PC->AR,PC+1->PC;37H->41HRAM->AR;41H->42HRAM->DA1;42H->43HJ4#條件散轉轉移;43H->(44H)若Cy=0;44H->01H若Cy=1;44H->46H

PC->AR,PC+1->PC;37H->41HRAM->AR;41H->42HRAM->DA1;42H->43HJ(4)散轉;43H->(44H)Cy=0Cy=1DA1->PC;46H->01H

44H->01H

DA1->PC;微程序代碼:

46H->01H微地微代址碼BTOOTBFUNCFSS3S2S1S0MCiN下址微指令說明37HDC4041110111000100000001000001PC->AR,PC=PC+141HC10042110000010000000001000010RAM->AR42H210043001000010000000001000011RAM->DA143H024044000000100100000001000100J(4)44H000001000000000000000000000001NULL45H000000000000000000000000000000NULL46HE44101111001000100000100000001DA1->PC,PC+1有效值得注意的是,此條“C條件轉移”指令,跳轉的是ADDR中的內容,而非ADDR,這一點也JMP不同樣樣。而將JMPC[ADDR],改成JMPCADDR也相當?shù)煤唵?。只需將微程序代碼中微地點為37H的微代碼改成DC4042即可。也就是跳過RAM->AR不履行。4.存儲器內容送通用寄存器LDADR,[ADDR]指令功能:(ADDR)->DR,不影響Cy,Zi標記位。指令格式:I776I5I4I3I2I1I0111001DRADDR指令流程:PC->AR,PC+1->PC;01H->02HRAM->IR;02H->03HJ(1)散轉;03H->(10H)PC->AR,PC+1->PC;39H->3CHRAM->AR;3CH->3DHRAM->DA1;3DH->3EHDA1->DR;3EH->01H

PC->AR,PC+1->PC;39H->3CHRAM->AR;3CH->3DHRAM->DA1;3DH->3EHDA1->DR;3EH->01H優(yōu)異文檔適用標準文案微程序代碼:微地微代址碼BTOOTBFUNCFSS3S2S1S0MCiN下址微指令說明39HDC403C110111000100000000111100PC->AR,PC=PC+13CHC1003D110000010000000000111101RAM->AR3DH21003E001000010000000000111110RAM->DA13EH843C01100001000011110000000001DA1->DR依據(jù)這四條指令微代碼能夠獲得如圖3所示流程圖。PC->AR,PC+1->PC;01H->02HRAM-<IR;02H->03HJ(1)散轉03H->(10H)SUBADDCJMPCLDAPC->AR,PC+1->PC;PC->AR,PC+1->PC;PC->AR,PC+1->PC;PC->AR,PC+1->PC;36H->18H37H->41H39H->3CH35H->12HRAM->AR;RAM->AR;RAM->AR;RAM->AR;12H->13H18H->19H41H->42H3CH->3DHRAM->DA1;RAM->DA1;RAM->DA1;RAM->DA1;42H->43H13H->14H3DH->3EH19H->1AHJ(4)散轉;DR->DA2;43H->(44H)DA1->DR;14H->15HDR->DA2;3EH->01H1AH->1BHCy=0Cy=1DA1-DA2->DR;15H->01HDA1+DA2+Cy->DR;44H->01HDA1->PC;1BH->01H46H->01H圖3-新增指令邏輯構造圖四、匯編程序設計1.程序功能程序功能是對輸入開關上的數(shù)據(jù)和存儲器某一單元中的數(shù)據(jù)進行加法操作,結果累計在存儲器某個單元中,當累計值大于256時轉而進行減法操作,即把此存儲器單元中的值減去輸入開關上的數(shù)據(jù),結果送同一存儲器單元中,當操作結果小于0時再轉而進行加法操作,使輸出顯示頂上出現(xiàn)數(shù)據(jù)連續(xù)加,此后連續(xù)減,減到0時候連續(xù)加。這樣連續(xù)加、連續(xù)減直到撥動CLR結束程序運轉為止。優(yōu)異文檔適用標準文案程序流程圖開始清零存儲器某單元存儲器值=存儲器值+輸入值N存儲器值>256Y存儲器值=存儲器-輸入值YYN存儲器值<0圖4-匯編語言程序流程圖匯編程序代碼:端口號(POATAR)只有一個,為00H。主存儲器單元地點為30H寄存數(shù)據(jù),用主存儲器單元31H,32H來寄存跳轉地點。因為JMPC[ADDR]跳轉的是ADDR所指內容,故需要額外的開支。假如試一試把C條件轉移改成JMPCADDR也是很簡單的事情,詳盡能夠查察附件excel表格中的“匯編代碼1”表。每次存儲器值更新,都經過OUT指令進行存儲器內容送入輸出設施(00H)顯示。其余,因為簡單模型機機器指令并無立刻數(shù)傳輸給寄存器或存儲器,所以存儲器清零操作需要必定的技巧。我們采納的方法是先把存儲器內容傳給寄存器,此后存儲器內容減去寄存器內容,值送入寄存器,該值為0,此后把該值經過寄存器送入存儲器。詳盡的匯編程序代碼以下表4所示。表4-匯編程序代碼表主存儲器地匯編代碼說明址指令碼00HE4HLADR0,[30H]01H30H02HD4HSUBR0,[30H]存儲器清零03H30H04HC8HSTA[30H],R005H30H優(yōu)異文檔適用標準文案06HCCH07H30HOUT[00H],[30H]08H00H09HCOHINR0,[00H]0AH00H0BHC4HADDR0,[30H]0CH30H存儲器內容=存儲器內0DHC8HSTA[30H],R0容+輸入值0EH30H0FHCCH10H30HOUT[00H],[30H]11H00H12HDCHJMPC[32H]13H32H存儲器內容>=265?14HD0HJMP09H15H09H16HC0HINR0,[00H]17H00H18HD4HSUBR0,[30H]19H30H存儲器內容=存儲器內1AHC8HSTA[30H],R0容-輸入值1BH30H1CHCCH1DH30HOUT[00H],[30H]1EH00H1FHDCHJMPC[31H]20H31H存儲器內容<0?21HD0HJMP16H22H16H30H[ADDR]31H932H16五、實驗步驟經過Yy-z02模型機軟件,省去了微代碼與機器指令匯編程序的手動寫入與檢查,大大提升了實驗效率。因為這里不再對微代碼與機器指令匯編程序的裝入操作進行說明。而實驗連線也相對簡單,故也不再進行排列。實驗步驟以下:(1)依據(jù)《計算機構成原理實驗指導》(主編張建中,嚴義)P76的說明,對YY-Z02實驗儀進行連線。(2)啟動Yy-z02模型機軟件。為了保證防備因為連線錯誤而致使運轉結果不對,所以先將工作方式選為“仿真模式”。該模式下裝入的速度也比較快。(3)將微程序代碼與匯編代碼分別寫入控存窗口與主存窗口的表格中。如圖5,6所示。優(yōu)異文檔適用標準文案微代碼與匯編程序代碼詳見中的“微代碼表”與“匯編代碼2”。圖5-微代碼的部分數(shù)據(jù)-控存窗口圖6-匯編代碼的數(shù)據(jù)-主存窗口(4)點擊“下裝程序與微程序按鈕。(5)設定輸入值,在input中寫入值,并回車結束。(6)運轉程序。按連續(xù)運轉按鈕。(7)改變輸入值,察看輸出值變化。優(yōu)異文檔適用標準文案六、實驗結果記錄對同一程序進行了多次實驗,表5記錄了此中的4組。能夠發(fā)現(xiàn)當數(shù)據(jù)從0增大至超出256后,截取數(shù)的高位,剩下低8位,相關于加上給數(shù)后又減去256。進位符Cy=1,開始做減操作,明顯該數(shù)減去輸入數(shù)值必定小于0,相關于下溢,相當與減去該數(shù)后又加上256。因為加的數(shù)與減的數(shù)是

溫馨提示

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

評論

0/150

提交評論