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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

5、T>/位測(cè)試<TEST>時(shí)需使用A/W:運(yùn)算時(shí)使用L/D/R:ROR/ROL時(shí)使用乘法R0:乘數(shù)R1:被乘數(shù)R2:中間結(jié)果/乘積除法R0:除數(shù)R1:被除數(shù)/余數(shù)R2:商R3:除法次數(shù)4在COP2000集成開(kāi)發(fā)環(huán)境下設(shè)計(jì)全新的指令/微指令系統(tǒng)設(shè)計(jì)結(jié)果如表所示(可按需要增刪表項(xiàng))(1) 新的指令集(如果針對(duì)乘除法設(shè)計(jì)了兩個(gè)不同指令集要分別列表)助記符機(jī)器碼1機(jī)器碼2指令說(shuō)明ROR對(duì)A寄存器的右移操作,不改變標(biāo)志位ROL 對(duì)A寄存器的左移操作,不改變標(biāo)志位SUBT A,#II減測(cè)試,將A減去#II改變標(biāo)志位,但不改變A值TEST A,#II位測(cè)試,用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?相加,結(jié)果存入A中SUB A,R?A與R?相減,結(jié)果存入A中JMP MM跳轉(zhuǎn)到MM標(biāo)注的位置JZ MM根據(jù)零標(biāo)志跳轉(zhuǎn)到MM位置JC MM根據(jù)進(jìn)位標(biāo)志跳轉(zhuǎn)到MM位置PUSH A將A壓棧POP A將A彈棧LOOP MM當(dāng)寄存器R3的值不為0時(shí),跳轉(zhuǎn)至MM(2) 新的微指令集其中減測(cè)試與位測(cè)試均占用5個(gè)節(jié)拍5用設(shè)計(jì)完成的新指令集編寫實(shí)現(xiàn)無(wú)符號(hào)二進(jìn)制乘法、除法功能的匯編語(yǔ)言程序(1)乘法4位乘法的算法流程圖與匯編語(yǔ)言程序清單:將

7、乘數(shù)放在R0,被乘數(shù)放在R1中MOVR0,#04H ;乘數(shù)MOVR1,#0AH ;被乘數(shù)MUL:MOV R2,A ;將中間結(jié)果暫存入R2保護(hù)MOVA,R1 ;得到被乘數(shù)TESTA,#0FH ;被乘數(shù)為0?JZEND ;為0結(jié)束TESTA,#01H ;被乘數(shù)末位為0?ROR ;右移,不產(chǎn)生標(biāo)志MOVR1,A ;將被乘數(shù)保存MOVA,R2 ;得到乘數(shù)JZMUL1 ;此處為TESTA,#01H的判斷結(jié)果ADDA,R0 ;末位不為0,則加上乘數(shù)MUL1:ROL ;中間結(jié)果左移JMPMUL ;循環(huán)ENDENDS(2)除法 4位除法的算法流程圖與匯編語(yǔ)言程序清單:采用余數(shù)恢復(fù)法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ù)移位對(duì)階ROLROLROLROL ;在這里看似使用4次移位麻煩,但若使用循環(huán),來(lái)回挪動(dòng)操作數(shù)MOVR0,A ;將更加麻煩MOVA,R1;看首位夠不夠減,若夠減,商應(yīng)大于4位,除法溢出,置除數(shù)商為SUBTA,R0 ;0FFHJCDIVJMP OVERDIV:MOVA,R1SUBTA,R0 ;測(cè)試是否夠減 JCDIV1SUBA,

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論