乘法器計組課設_第1頁
乘法器計組課設_第2頁
乘法器計組課設_第3頁
乘法器計組課設_第4頁
乘法器計組課設_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機組成原理課程設計報告班級:計算機/物聯(lián)網(wǎng) 1504 班 姓名: 楊杰銘 學號: 20154530 完成時間: 2018.1.1 一、課程設計目的1在實驗機上設計實現(xiàn)機器指令及對應的微指令(微程序)并驗證,從而進一步掌握微程序設計控制器的基本方法并了解指令系統(tǒng)與硬件結構的對應關系;2通過控制器的微程序設計,綜合理解計算機組成原理課程的核心知識并進一步建立整機系統(tǒng)的概念;3培養(yǎng)綜合實踐及獨立分析、解決問題的能力。二、課程設計的任務針對COP2000實驗儀,從詳細了解該模型機的指令/微指令系統(tǒng)入手,以實現(xiàn)乘法和除法運算功能為應用目標,在COP2000的集成開發(fā)環(huán)境下,設計全新的指令系統(tǒng)并編寫對

2、應的微程序;之后編寫實現(xiàn)乘法和除法的程序進行設計的驗證。三、 課程設計使用的設備(環(huán)境)1硬件l COP2000實驗儀l PC機2軟件l COP2000仿真軟件四、課程設計的具體內(nèi)容(步驟)1詳細了解并掌握COP 2000模型機的微程序控制器原理,通過綜合實驗來實現(xiàn)該模型機指令系統(tǒng)的特點:該模型機指令系統(tǒng)的操作碼由8位機器碼組成,前6位機器碼用于區(qū)分操作類型,后2位機器碼是在操作中涉及通用寄存器時提供通用寄存器的尋址。進位跳轉(zhuǎn)指令JC要求倒數(shù)第3、4位為00零跳轉(zhuǎn)指令JZ要求倒數(shù)第3、4位為01無條件跳轉(zhuǎn)指令JMP要求倒數(shù)第3、4位為11該模型機微指令系統(tǒng)的特點(包括其微指令格式的說明等):該

3、模型機的微指令寄存器地址為00H-0FFH,共256*30位,每條微指令的控制字段部分有30位,控制方式采用的是直接控制而非編碼控制,即一位對應一個邏輯開關的狀態(tài)。可惜的是,此微指令無跳轉(zhuǎn)方式和下指字段,因而僅通過微指令無法在微指令寄存器中跳轉(zhuǎn),即在一條機器指令所對應的微程序中,只有順序執(zhí)行操作。原系統(tǒng)中每條機器指令最多四個周期(當然不是必須的,可以通過機器指令的機器碼的設置使一個機器指令包含更多微指令),即此模型機中每個微程序最多四條微指令,多余的空位則浮空處理。2. 計算機中實現(xiàn)乘法和除法的原理(1)無符號乘法算法流程圖:乘法采用移位相加的操作來完成,由于位數(shù)限制,無溢出可能因為積德長度限

4、定在8位以內(nèi),由于需要儲存中間結果及初始被乘數(shù)的指,乘數(shù)還需要在過程中進行移位,即兩個寄存器無法完成此工作。由上可知,完成乘法操作需要存取操作數(shù),移位操作,測試標志位跳轉(zhuǎn),加法操作,同時為了調(diào)用加法程序,還需要子程序調(diào)用及返回操作。硬件原理框圖:寄存器A與R0,R3,EM通信寄存器W與R2,EM通信通用寄存器組R0,R1,R2與EM皆可通信(2)無符號除法算法流程圖:使用余數(shù)恢復法。先用減測試進行測試若夠減,則進行減法操作,不夠減直接進行移位操作。硬件原理框圖:3對應于以上算法如何分配使用COP2000實驗儀中的硬件(初步分配,設計完成后再將準確的使用情況填寫在此處)ST:減測試<SUB

5、T>/位測試<TEST>時需使用A/W:運算時使用L/D/R:ROR/ROL時使用乘法R0:乘數(shù)R1:被乘數(shù)R2:中間結果/乘積除法R0:除數(shù)R1:被除數(shù)/余數(shù)R2:商R3:除法次數(shù)4在COP2000集成開發(fā)環(huán)境下設計全新的指令/微指令系統(tǒng)設計結果如表所示(可按需要增刪表項)(1) 新的指令集(如果針對乘除法設計了兩個不同指令集要分別列表)助記符機器碼1機器碼2指令說明ROR對A寄存器的右移操作,不改變標志位ROL 對A寄存器的左移操作,不改變標志位SUBT A,#II減測試,將A減去#II改變標志位,但不改變A值TEST A,#II位測試,用A與II相與,但不改變A值MOV

6、 R?,#II將立即數(shù)II送入R?MOV A,#II將立即數(shù)II送入A?MOV A,R?將寄存器R?的值取到A中MOV R?,A將寄存器A的值放到R?中ADD A,R?A與R?相加,結果存入A中SUB A,R?A與R?相減,結果存入A中JMP MM跳轉(zhuǎn)到MM標注的位置JZ MM根據(jù)零標志跳轉(zhuǎn)到MM位置JC MM根據(jù)進位標志跳轉(zhuǎn)到MM位置PUSH A將A壓棧POP A將A彈棧LOOP MM當寄存器R3的值不為0時,跳轉(zhuǎn)至MM(2) 新的微指令集其中減測試與位測試均占用5個節(jié)拍5用設計完成的新指令集編寫實現(xiàn)無符號二進制乘法、除法功能的匯編語言程序(1)乘法4位乘法的算法流程圖與匯編語言程序清單:將

7、乘數(shù)放在R0,被乘數(shù)放在R1中MOVR0,#04H ;乘數(shù)MOVR1,#0AH ;被乘數(shù)MUL:MOV R2,A ;將中間結果暫存入R2保護MOVA,R1 ;得到被乘數(shù)TESTA,#0FH ;被乘數(shù)為0?JZEND ;為0結束TESTA,#01H ;被乘數(shù)末位為0?ROR ;右移,不產(chǎn)生標志MOVR1,A ;將被乘數(shù)保存MOVA,R2 ;得到乘數(shù)JZMUL1 ;此處為TESTA,#01H的判斷結果ADDA,R0 ;末位不為0,則加上乘數(shù)MUL1:ROL ;中間結果左移JMPMUL ;循環(huán)ENDENDS(2)除法 4位除法的算法流程圖與匯編語言程序清單:采用余數(shù)恢復法MOVR0,#08H ;除數(shù)

8、MOVR1,#36H ;余數(shù)/被除數(shù)MOVR2,#00H ;商MOV R3,#05H ;移位次數(shù)MOVA,R1 ;判斷被除數(shù)是否為0TESTA,#0FFH JZOVERF ;為0則跳轉(zhuǎn)至除法中斷。置除數(shù)、商為0SUB A,R0 JC ENDS;不夠除MOVA,R0 ;將除數(shù)移位對階ROLROLROLROL ;在這里看似使用4次移位麻煩,但若使用循環(huán),來回挪動操作數(shù)MOVR0,A ;將更加麻煩MOVA,R1;看首位夠不夠減,若夠減,商應大于4位,除法溢出,置除數(shù)商為SUBTA,R0 ;0FFHJCDIVJMP OVERDIV:MOVA,R1SUBTA,R0 ;測試是否夠減 JCDIV1SUBA,

9、R0 ;夠減則用被除數(shù)減去除數(shù)MOVR1,AMOVA,#1H ;這里使用簡單減法將標志位清0,取消對移位的干擾SUBA,#0HMOV A,R0 ;將除數(shù)右移RORMOV R0,AMOVA,R2ROL ;將商左移,夠減時商為1ADDA,#01HMOVR2,AMOVA,R3SUBA,#01H ;減少技術次數(shù)MOVR3,AJZENDSJMPDIVDIV1:;不夠減的情況,直接將除數(shù)右移MOVR1,AMOVA,#1HSUBA,#0H MOV A,R0RORMOV R0,AMOVA,R2ROLMOVR2,A;將商左移,不夠減時商為0MOVA,R3SUBA,#01H ;減少計數(shù)次數(shù)MOVR3,AJZEND

10、SJMPDIVOVERF:MOVR1,#0MOVR2,#0JMP ENDSOVER:MOVR1,#0FFHMOVR2,#0FFHJMP ENDSNOP6上述程序的運行情況(跟蹤結果)按下表填寫描述以上各程序運行情況的內(nèi)容。按每個程序一張表進行。程序運行的過程乘法指令的運行過程,截取前幾個循環(huán)(10*10 的乘法)除法運行結果(54/8)一個循環(huán)7設計結果說明調(diào)試運行程序時是否出現(xiàn)問題,是否有重新調(diào)整指令/微指令系統(tǒng)設計的情況出現(xiàn)?請在此做具體說明。運行程序時偶爾會發(fā)想忘記添加某種類型指令,但只要添加上即可,其它都是匯編程序上的調(diào)整。還有就是有些情況可以用多條機器指令,或者將這些機器指令的功能都

11、通過一條微程序?qū)崿F(xiàn)五、本次課程設計的總結體會(不少于200字) 主要總結學到的具體知識、方法及設計中的切身體會;包括列出在設計的各個階段出現(xiàn)的問題及解決方法。設計階段:在起初設計時,準備設計單獨的乘法、除法指令,即像8086/8088微機中的 MUL,DIV指令這種,通過提前規(guī)定好的寄存器存儲其中一個運算數(shù),在獲取另一個進行運算。可是在仔細研讀cop2000官方說明書,以及對模擬程序的摸索后,發(fā)現(xiàn)此模擬機中的微程序系統(tǒng)與教科書存在差異。其一為:微指令沒有跳轉(zhuǎn)方式和下指字段,也就是說,一條機器指令對應的微程序只能順序執(zhí)行,顯然,這樣不可能完成乘除法的運算;其二為:其對寄存器的選擇是通過機器指令中操作數(shù)部分的字符翻譯為編碼來進行的,如操作數(shù)為R?則進行寄存器選擇、為#xx則從EM中讀取。也就是說在一個微程序中無法選擇通用寄存器,那么一條指令的最大可用空間為A,W,一個R,ST。還有一方面,就是由于不帶進位的移位操作在此系統(tǒng)中不影響標志位,用01

溫馨提示

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

評論

0/150

提交評論