計算機組成原理課程設計報告.doc
(13頁)
本資源提供全文預覽,點擊全文預覽即可全文預覽,如果喜歡文檔就下載吧,查找使用更方便哦!
9.90 積分
計算機組成原理課程設計報告實驗項目:1、設計一個具有帶進位加法和立即數尋址方式的模型機2、設計一個具有帶進位加法和條件跳轉的模型機專 業: 計算機科學與技術 班 級: 09級37-3班 學 號: ——————姓 名: 合 作: 指導教師: 實驗時間: 2011-6-15 ~~ 6-17 實驗一:設計一個具有帶進位加法和立即數尋址方式的模型機1、問題描述本題目設計的是一臺具有輸入、輸出、帶進位加法、儲存和跳轉功能的模型計算機,并寫出工作程序和測試數據驗證所設計的指令系統。2、設計目標在設計完本程序后,所設計模型機能夠完成從一個外設輸入一個數到指定的寄存器中,另外輸入立即數并將其存入另一個、寄存器中,兩數進行進位相加并將結果保存到第一個寄存器,輸出結果,并顯示。另外,實現無條件跳轉至開始。3、指令格式助記符號機器指令碼功 能IN0000 0000Input -> R0ADC Imm1110 0000 XXXX XXXXR0+Imm+CY -> R0STA addr0010 0000 XXXX XXXXR0 -> [addr]OUT addr0011 0000 XXXX XXXX[addr] -> LEDJMP addr0100 0000 XXXX XXXX[addr] -> PC4、設計微指令(1)定義指令碼,及定義一個下地址為08H指令指令編碼微地址IN0000 000008ADC0001 000009STA0010 000010OUT0011 000011JMP0100 000012 (2)設計微指令編碼表微地址S3S2S1S0MCnWEA9A8ABCUA5-UA000000000011000000000000001010000000111101101100000100200000000110000000100100008000000000001000000000001090000000111101101100000110300000000101100000000010004000000011010001000000101051001000110011010000000010A00000001111011011000011006000000001110000000000111070000001010000010000000010B0000000111101101100011010D0000000011100000000011100E0000000010010000000011110F0000001100000010000000010C00000001111011011001000010000000001101000110000001(3)微程序流程圖(4)由編碼得到微程序根據以上編寫的微程序,以及微指令代碼化的方法得到的微程序代碼為:$M00018001$M0101ED82$M0200C048$M08001001$M0901ED83$M0300B004$M0401A205$M05919A01$M0A01ED86$M0600E007$M07028201$M0B01ED8D$M0D00E00E$M0E00900F$M0F030201$M0C01ED90$M1000D181(5)寫工作程序$P0000$P0110$P0222$P0320$P0401$P0530$P0601$P0740$P0800(6)建立聯機操作文件為了從PC機下載工作程序和微程序,需要建立聯機操作文件,該文件是普通的文本文件,擴展名為TXT,可用記事本來建立的,要求:a、 測試用的工作程序排在文件的前面,每個內存地址及代碼占一行;b、 微指令代碼排在文件的后面,每個微地址及微指令代碼占一行;(7)按照實驗電路圖連接實驗線路實驗采用復雜模型機系統連線圖,電路圖如下:(8)運行(a)系統與PC機聯機實驗系統安裝有一個標準的DB型9針RS-232C串口插座,使用配套的串行通信電纜分別插在實驗系統及PC機的串口,即可實現系統與PC機的聯機操作。(b)下載工作程序和微程序使用唐都軟件將工作程序和微程序下載到實驗箱的內存和控制存儲器中。其中,自帶電 線的實驗箱用NCMP53軟件,啟動軟件后使用F4[裝載]進行下載;外接電源線的實驗箱用CMPP軟件,啟動軟件后在菜單中選擇[轉儲]/[裝載]進行下載。(c)運行實驗原理圖,及數據流程圖如下:(9)調試以及調試過程(把寫好的程序下載到唐都實驗箱,打開軟件復雜模型機的原理圖,按步驟點擊單步運行,查看運行的指令和微指令的過程)調試發現問題:a、 剛開始時點擊時,機器不運行。b、 DR1與DR2相加結果不正確。c、 從R0到內存STA存數指令的存數操作有誤,R0-B打開的同時把AR的LDAR也打開了,造成指向內存單元改變。也就造成輸出時的數據不正確和。d、 修改上一條錯誤后,誤把R0數據存在01單元,覆蓋了原來的指令,當跳轉指令跳轉回到原來程序的開頭時,執行第二次就發生了錯誤。所以針對以上問題,都一一地找到相應的錯誤之處和解決方法:a1、連線有錯誤,檢查后發現錯誤之處,并改正b2、改變s3到s0 ,改為1001(帶進位加法)c3、由于疏忽造成,修改對應的LDAR開關編碼d4、修改$P程序,存到沒用的內存上述問題解決之后,程序便可運行出結果。(10)運行結果在上圖中會執行INPUT到R0,然后從內存中取出一個數放到DR2中,R0內的數放到DR1中,DR1+DR2+cy放到R0中,再將R0內的數顯示到LED上。實驗二:設計一個具有帶進位加法和條件跳轉的模型機1、問題描述本題目設計的是一臺具有輸入、輸出、數據傳送、帶進位加法、條件跳轉,停機功能的模型計算機,并寫出工作程序和測試數據驗證所設計的指令系統。2、指令格式助記符號指令格式功 能MOVrs,rdXXXX Rs RdRs->RdADCrs,rdXXXX Rs RdRs+Rd+CY -> R0BZCD00 00 00 00 D當cy=1或z=1時,D->PC否則,順序執行。INrdXXXX 01 RdSW->rdOUTrdXXXX 10 RdRd -> LEDHALTXXXX 0000停機3、設計微指令(1)定義一個下地址為20H指令指令編碼微地址IN0011 000023MOV0010 000022ADC0001 000021BZCD0000 000020OUT0100 000024HALT0101 000025(2)設計微指令微地址S3S2S1S0MCnWEA9A8ABCUA5-UA000000000011000000000000001010000000111101101100000100200000000110000000110000020000000011000000011000001110000000111101101100000110300000000110100011000000121000000011010010000000100040000000110110010000001010510010001100110100000000122000000011001001000000001230000000000010000000000012400000001000000100000000125000000011000000000100101(3)畫出微程序流程圖(4) 微程序代碼根據以上編寫的微程序,以及微指令代碼化的方法得到的微程序代碼為:$M00018001$M0101ED82$M0200C060$M200180C1$M1101ED83$M0300D181$M2101A404$M0401B205$M05919A01$M22019201$M23001001$M24030201$M25018025(5)設計工作程序代碼,以測試微程序$P0035$P0124$P0235$P0314$P0444$P0500$P0607$P0750(6)按照實驗一建立聯機文檔并按照書本《計算機組成原理課程設計》的附錄2(系統連線參考圖)進行連線。(7)運行與調試把程序下載但唐都實驗箱進行運行和調試。通過調試發現的問題:A、 不知道R1、R2、R0三個寄存器的關系(請教老師解決)。B、 運行第一條指令后便停滯,不再執行下面的操作。C、 解決a后,從輸入模塊輸入到R1或R2都不能實現。D、 條件跳轉指令后,執行非設計程序,程序跑飛了。通過前面的幾次實驗,已經獲得部分解決方法的經驗B1、檢查連線未能發現問題,估計可能是哪里接觸不良,故而棄之,換實驗箱,重新調試,發現可以運行的。C2、自己未能找出錯誤所在,請教老師,指出連線上,我們仍采用的是原來電路圖,因而沒有把R1、R2寄存器連到電路中。D3、未設置好跳轉的方向,最后使其跳轉到停機指令,使其處于停機狀態。(8)運行結果 程序會先從SW讀一個數放到R1中,然后將R1內的數轉移到R0中,然后將R0內的數放到DR1,R1中的數放到DR2,然后DR1+DR2+cy放到R0中,然后將R1內的數顯示到LED上,下一步就進入了停機的死循環。實驗總結與心得體會經過兩三天的課程設計,給我個人的感覺有進步、好玩。為何如此說呢?對于我個人來講,我是比較喜歡實驗課的,因為一來實驗課比理論課有意思一點,二來,通過現象和操作更容易理解理論的內容。更何況,實踐是檢驗真理的唯一標準,只有通過實踐才能更好的理解和記憶我們的理論知識。通過此次課程設計,我更深入的了解到了計算機工作的過程和原理,特別是在指令的執行。雖然原來在理論課上講解過,但是單單從字面上我一直沒有完全搞明白,而實驗卻讓人頓悟。而課程設計又給我們提供了一個良好的學習機會,我們可以和老師或者同學盡情地交流,發表自己的觀點,在相互交流討論合作中,相互促進,共同進步,提高了學習的效率和學習的激情。- 13 - 關?鍵?詞: 設計 組成 報告 課程 原理 計算機
?天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。