

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> ************ 學 院</p><p> 計算機組織與體系結(jié)構(gòu)</p><p><b> 課程設(shè)計報告</b></p><p> 題目:具有邏輯運算及跳轉(zhuǎn)功能的復雜模型機設(shè)計</p><p><b> 姓名:****</b></p><p&
2、gt; 學號:200********1</p><p><b> 系別:計算機學院</b></p><p> 專業(yè)班級:************班</p><p> 同組同學:*****</p><p><b> 指導教師:****</b></p><p> 起止
3、時間:2011.9.05—2011.9.09</p><p> 一、課程設(shè)計要求及目的</p><p><b> 1、設(shè)計要求:</b></p><p> 課程設(shè)計是將我們所學的課程的理論知識與實踐相結(jié)合的實驗。本課程設(shè)計我們所選的題目是具有邏輯運算及跳轉(zhuǎn)功能的復雜模型機設(shè)計,我們要設(shè)計出具有邏輯運算及跳轉(zhuǎn)功能的機器指令,再寫出指令對應(yīng)的
4、微程序,然后按照復雜模型機的電路圖在實驗箱上接線,然后與電腦聯(lián)機執(zhí)行,并觀察執(zhí)行過程和輸出結(jié)果。</p><p><b> 2、設(shè)計目的:</b></p><p> (1)復雜模型機系統(tǒng)分析與設(shè)計,利用所學的計算機組成原理課程中的知識和提供的實驗平臺完成設(shè)計任務(wù),從而建立清晰完整的整機概念。</p><p> ?。?)掌握各個單元模塊的工作
5、的原理,進一步將其組成完整的系統(tǒng),構(gòu)造一臺基本的復雜模型機。</p><p> (3)學會規(guī)劃讀/寫內(nèi)存、寄存器、 數(shù)值計算等功能,并且編寫相應(yīng)的機器指令和微程序,在具體上機的過程中,觀察設(shè)計出的模型機的執(zhí)行情況,根據(jù)輸出的結(jié)果做出分析,從而更好的掌握計算機組成原理的知識。</p><p> 二、機器指令的設(shè)計和微程序設(shè)計原理</p><p> 計算機數(shù)據(jù)通路
6、的控制將由微程序控制器來完成,CPU從內(nèi)存中取出一條機器指令到指令執(zhí)行結(jié)束的一個指令周期全部由微指令組成的序列來完成,即一條機器指令對應(yīng)于一組微程序。</p><p><b> 1、數(shù)據(jù)格式 </b></p><p> 模型機規(guī)定采用定點補碼表示法表示數(shù)據(jù),且字長為8位,其格式如下:</p><p> 其中第 7 位為符號位,數(shù)值表示范圍
7、是:。</p><p><b> 2、指令格式 </b></p><p> 模型機設(shè)計四大類指令共十六條,其中包括算術(shù)邏輯指令、I/O 指令、訪問及轉(zhuǎn)移指令和停機指令。</p><p> ?。?)算術(shù)邏輯指令 </p><p> 設(shè)計9條算術(shù)邏輯指令并用單字節(jié)表示,尋址方式采用寄存器直接尋址,其格式如下:</
8、p><p> 其中,OP-CODE 為操作碼,rs為源寄存器,rd 為目的寄存器,并規(guī)定:</p><p> 9 條算術(shù)邏輯指令的名稱、功能和具體格式見表 7.2-1。</p><p> (2) 訪問指令及轉(zhuǎn)移指令 </p><p> 模型機設(shè)計 2 條訪內(nèi)指令,即存數(shù)(STA)、取數(shù)(LDA),2 條轉(zhuǎn)移指令,即無條件轉(zhuǎn)移(JMP)、結(jié)
9、果為零或有進位轉(zhuǎn)移指令(BZC),指令格式為:</p><p> 其中,OP-CODE 為操作碼,rd 為目的寄存器地址(LDA、STA 指令使用)。D 為位移量(正負均可),M 為尋址模式,其定義如下:</p><p> 本模型機規(guī)定變址寄存器 RI 指定為寄存器 R2。</p><p> ?。?)I/O 指令 </p><p> 輸
10、入(IN)和輸出(OUT)指令采用單字節(jié)指令,其格式如下:</p><p> 其中,addr=01 時,選中“INPUT DEVICE”中的開關(guān)組作為輸入設(shè)備,addr=10 時,選 中“OUTPUT DEVICE”中的數(shù)碼塊作為輸出設(shè)備。 </p><p><b> ?。?)停機指令 </b></p><p><b> 指令指令
11、格式如下:</b></p><p> HALT 指令,用于實現(xiàn)停機操作。</p><p><b> 3、指令系統(tǒng) </b></p><p> 本模型機共有 16 條基本指令,其中算術(shù)邏輯指令7條,訪問內(nèi)存指令和程序控制指令4條,輸入輸出指令2條,其它指令 1 條。表 7.2-1 列出了各條指令的格式、匯編符號、指令功能。<
12、;/p><p><b> 4、總體設(shè)計</b></p><p> 本模型機的數(shù)據(jù)通路框圖如圖 7.2-1。根據(jù)機器指令系統(tǒng)要求,設(shè)計微程序流程圖及確定微地址,如圖 7.2-2。</p><p> 按照系統(tǒng)建議的微指令格式,參照微指令流程圖,將每條微指令代碼化,譯成二進制代碼表,并將二進制代碼表轉(zhuǎn)換為聯(lián)機操作時的十六進制格式文件,見表 7.2-
13、2。</p><p> 5.74LS181芯片的功能表</p><p><b> 6.微程序設(shè)計</b></p><p> 如下是機器指令格式說明和微指令格式說明</p><p><b> 三.總體設(shè)計</b></p><p><b> 1.機器指令的設(shè)計
14、</b></p><p> ?。?)機器指令的助記符為:</p><p> START: IN 01,R0 (R0)=15H</p><p><b> MOV R0,R1</b></p><p><b> INC R1</b></p><p>
15、AND R0,R1 </p><p><b> RLC R1,R2</b></p><p><b> OUT 10,R2</b></p><p> JMP 00,START</p><p><b> HALT</b></p><p> ?。?)將
16、助記符轉(zhuǎn)換為指令</p><p> I. IN 01,R0對應(yīng)的指令格式為0100 0100即16進制的44</p><p> II. MOV R0,R1對應(yīng)的指令格式為1000 0001即16進制的81</p><p> III. INC R1對應(yīng)的指令格式為1011 0101即16進制的B5</p><p> IV. AND R0
17、,R1對應(yīng)的指令格式為1100 0001即16進制的C1</p><p> V. RLC R1,R2對應(yīng)的指令格式為1111 0110即16進制的F6</p><p> VI. OUT 10,R2對應(yīng)的指令格式為0101 1010即16進制的5A</p><p> VII. JMP 00,START對應(yīng)的指令格式為0000 1000 0000 0000&l
18、t;/p><p> 即16進制的08和00</p><p> VIII. HALT對應(yīng)的指令格式為0110 0000即16進制的60</p><p> ?。?).根據(jù)機器指令的格式可以編成的機器指令為:</p><p><b> $P0044</b></p><p><b> $P0
19、181</b></p><p><b> $P02B5</b></p><p><b> $P03C1</b></p><p><b> $P04F6</b></p><p><b> $P055A</b></p><
20、;p><b> $P0608</b></p><p><b> $P0700</b></p><p><b> $P0860</b></p><p><b> 2.微程序流程圖</b></p><p> 根據(jù)機器指令可以畫出微程序流程圖如下
21、(其中的地址為16進制):</p><p><b> 3.微代碼的設(shè)計</b></p><p> ?。?) 微代碼設(shè)計原理</p><p> 按照課程設(shè)計中微指令格式,參照微程序流程圖,將每條微指令代碼化,譯成二進制代碼表,并將二進制代碼表轉(zhuǎn)換為聯(lián)機操作時的十六進制格式文件,見表 7.2-2。</p><p> 其
22、中uA0-uA5為6位的后續(xù)微地址,即下地址字段,A、B、C為三個譯碼字段,分別由三-八譯碼器譯碼出多位。C字段中的P1——P4是四個測試字位,其功能是根據(jù)機器指令及相應(yīng)微代碼進行譯碼,使微程序轉(zhuǎn)入相應(yīng)的為地址入口,從而實現(xiàn)微程序的順序、分支、循環(huán)運行。</p><p> 在上述各測試下址中未用到的位均直接保留。AR為算術(shù)運算是否影響進位及判零標志控制位,其為零有效。B字段中的RS-B、RD-B、RI-B分別為
23、源寄存器選通信號,目的寄存器選通信號及變址寄存器選通信號,其功能是根據(jù)機器指令來進行三個工作寄存器R0、R1及R2的選通譯碼。三字段中的其他位類似與此,均是某芯片的控制信號,它們的功能都是根據(jù)機器指令來進行相應(yīng)芯片的選擇譯碼。</p><p> ?。?)二進制代碼的轉(zhuǎn)換</p><p> 根據(jù)微程序流程圖、微地址和程序執(zhí)行時的控制信號可編成以下二進制代碼:</p><
24、p><b> 二進制代碼表</b></p><p><b> (3)微程序</b></p><p> 根據(jù)微指令格式及二進制代碼表,將二進制代碼表轉(zhuǎn)換成16進制可得下面微程序:</p><p> $M00018108</p><p> $M0101ED82</p>&l
25、t;p> $M0200C050</p><p> $M0300A004</p><p> $M0400E0A0</p><p> $M1001ED83</p><p> $M14001001</p><p> $M15030401</p><p> $M18019201<
26、;/p><p> $M1B01A232</p><p> $M1C01A233</p><p> $M1F318239</p><p> $M20009001</p><p> $M2205DB81</p><p> $M32019A01</p><p> $M
27、3301B435</p><p> $M35B99A01</p><p> $M3919883A</p><p> $M3A019801</p><p><b> 4.接線并調(diào)試</b></p><p> (1)根據(jù)下面實驗線路圖在實驗箱上接線</p><p>&
28、lt;b> (2)調(diào)試</b></p><p><b> 調(diào)試步驟:</b></p><p> ?、賹懭胛⒊绦?,與PC聯(lián)機,將實驗微程序裝入實驗裝置中。</p><p> ?、趯懗绦颍?lián)機讀/寫程序。</p><p> 選擇聯(lián)機軟件的【轉(zhuǎn)儲】?【裝載】功能菜單將該實驗對應(yīng)的文件*.txt載入實驗系
29、統(tǒng)即可。</p><p> ?、圻\行程序,使用聯(lián)機運行。</p><p> 聯(lián)機運行程序時,進入軟件界面,裝載機器指令及微指令后,選擇【運行】【通路圖】【復雜模型機】功能菜單打開相應(yīng)動態(tài)數(shù)據(jù)通路圖,按相應(yīng)功能鍵即可聯(lián)機運行、監(jiān)控、調(diào)試程序。</p><p><b> 四.執(zhí)行過程</b></p><p> 1.指令
30、執(zhí)行過程的記錄</p><p> 本課程設(shè)計設(shè)置輸入值為15H</p><p> ?。?)第一條機器指令是$P0044,一共有3拍:</p><p> ①PC->AR ,PC+1第一拍是將PC中的地址放到AR中,PC指向下一條指令。</p><p> ②ARM->BUS,BUS->IR第二拍是把RAM里面的內(nèi)容放到指令
31、寄存器IR里面。</p><p> ?、跾W->BUS,BUS->R0第三拍是把輸入的數(shù)放到寄存器R0里面,此時</p><p><b> ?。≧0)=15H。</b></p><p> ?。?)第二條機器指令是$P0181,一共有3拍:</p><p> ?、貾C->AR ,PC+1第一拍是將PC中的
32、地址放到AR中,PC指向下一條指令。</p><p> ?、贏RM->BUS,BUS->IR第二拍是把RAM里面的內(nèi)容放到指令寄存器IR里面。</p><p> ?、跼0->R1 第三拍是把寄存器R0里面的數(shù)傳送到寄存器R1里面,此時</p><p><b> ?。≧1)=15H。</b></p><p&g
33、t; (3)第三條機器指令是$P02B5,一共有4拍:</p><p> ①PC->AR ,PC+1第一拍是將PC中的地址放到AR中,PC指向下一條指令。</p><p> ②ARM->BUS,BUS->IR第二拍是把RAM里面的內(nèi)容放到指令寄存器IR里面。</p><p> ?、跼1->BUS,BUS->DR1 第三拍是把寄存器
34、R1里面的數(shù)傳送到數(shù)據(jù)寄存器DR1里面,此時(DR1)=15H。</p><p> ?、蹹R1+1->BUS,BUS->RD 第四拍是把數(shù)據(jù)寄存器DR1送到運算器ALU當中,執(zhí)行自加1操作之后,把所得數(shù)據(jù)送到寄存器R1里面,此時(R1)=16H。</p><p> (4)第四條機器指令是$P03C1,一共有5拍:</p><p> ?、貾C->A
35、R ,PC+1第一拍是將PC中的地址放到AR中,PC指向下一條指令。</p><p> ?、贏RM->BUS,BUS->IR第二拍是把RAM里面的內(nèi)容放到指令寄存器IR里面。</p><p> ?、跼S->BUS,BUS->DR1 第三拍是把寄存器R0里面的數(shù)傳送到數(shù)據(jù)寄存器DR1里面,此時(DR1)=15H。</p><p> ④RD-&
36、gt;BUS,BUS->DR2 第四拍是把寄存器R1里面的數(shù)傳送到數(shù)據(jù)寄存器DR2里面,此時(DR1)=16H。</p><p> ?、軩R1?DR2->BUS,BUS->RD 第五拍是把數(shù)據(jù)寄存器DR1、DR2里面的數(shù)據(jù)傳送到ALU當中,進行邏輯“與”運算之后,把所得數(shù)據(jù)送到寄存器R1里面,此時(R1)=14H。</p><p> (5)第五條機器指令是$P04F6,
37、一共有5拍:</p><p> ?、貾C->AR ,PC+1第一拍是將PC中的地址放到AR中,PC指向下一條指令。</p><p> ?、贏RM->BUS,BUS->IR第二拍是把RAM里面的內(nèi)容放到指令寄存器IR里面。</p><p> ?、跼1->299 第三拍是把寄存器R1里面的數(shù)傳送到299移位寄存器當中,也就是 14H。</p
38、><p> ④帶進位循環(huán)左移 第四拍是將數(shù)14H進行帶進位左循環(huán)移動一位,所得數(shù)為28H。</p><p> ?、?99->R0 第五拍是將移位寄存器里的數(shù)28H傳送到寄存器R2當中,此時(R2)=28H。</p><p> ?。?)第六條機器指令為$P055A,一共有3拍:</p><p> ?、貾C->AR ,PC+1第一拍是將
39、PC中的地址放到AR中,PC指向下一條指令。</p><p> ?、贏RM->BUS,BUS->IR第二拍是把RAM里面的內(nèi)容放到指令寄存器IR里面。</p><p> ?、跼2->LED 第三拍是把寄存器R2里面的數(shù)輸出,此時數(shù)碼顯示管顯示28。</p><p> ?。?)第七、八條機器指令是$P0608、$P0700,一共有6拍:</p&
40、gt;<p> ?、貾C->AR ,PC+1第一拍是將PC中的地址放到AR中,PC指向下一條指令。</p><p> ②ARM->BUS,BUS->IR第二拍是把RAM里面的內(nèi)容放到指令寄存器IR里面。</p><p> ?、跴C->AR ,PC+1第三拍是將PC中的地址放到AR中,PC指向下一條指令。</p><p> ?、?/p>
41、RAM->BUS,BUS->DR1 第四拍是把RAM里面的內(nèi)容放到數(shù)據(jù)寄存器DR1里面。</p><p> ?、軷AM->BUS,BUS->AR 第五拍是把RAM里面的內(nèi)容放到地址寄存器AR里面,之后進行P(2)測試,進入JMP。</p><p> ⑥D(zhuǎn)R1->BUS,BUS->PC 第六拍是把數(shù)據(jù)寄存器DR1里的內(nèi)容送回程序計數(shù)器PC當中,之后跳轉(zhuǎn)到
42、第一條機器指令重復執(zhí)行。</p><p> 2.指令執(zhí)行過程的部分截圖</p><p><b> 五.課程設(shè)計結(jié)論</b></p><p> 在做課程設(shè)計的過程中,我們遇到了許多的難題。一開始寫指令和程序的時候,因為不懂得里面那些信號的意思,所以無從下手,后來查閱了一些資料和問了一些人之后終于知道了那些信號的意思和如何寫出機器指令和微程序
43、。寫出來微程序后,就進行接線,一開始接好線后,在聯(lián)機測試過程中通過了,那時感覺很開心,因為很少可以一次接線就通過的,但是后來運行了幾次之后,實驗箱的接線又出現(xiàn)問題了,檢測了好久找不出原因,只能重新接線,這次接好線后連測試都不通過,雖然按著實驗箱上顯示的那幾條線路去檢查,但是還是找不出原因,只能再重新接線,最后接線終于通過了測試。</p><p> 然后就開始聯(lián)機寫入程序,加載后運行,但是出來的結(jié)果卻總是不對,根
44、據(jù)我們輸入的數(shù)15H,經(jīng)過一系列的運行之后出來的結(jié)果應(yīng)該是28H的,但是每次運行過后出來的程序卻都是29H。后來經(jīng)過多次的觀察,發(fā)現(xiàn)在執(zhí)行指令的過程中,執(zhí)行到R0和R1進行邏輯與時就會產(chǎn)生進位,這個進位導致了后面的帶進位循環(huán)左移時多加了一位,所以出來的結(jié)果就總是多了1。后來在查詢了書中的程序時,發(fā)現(xiàn)改動了地址為35的微程序時可以得到結(jié)果為28H,但是與指導老師討論過后得知不能改動35的指令,雖然現(xiàn)在還沒有找到為何會進位的原因,但是通過對
45、這次結(jié)果的討論,讓我學到了很多的東西,也許你的課本理論知識學得再好,但是沒有通過實踐的理論知識永遠都只是紙上談兵,只有將你所學的知識運用到實踐中,才能改好的理解所學的知識。</p><p><b> 六.心得體會</b></p><p> 通過這次的課程設(shè)計,我學會了如何更好的與他人進行合作,與他人進行交流。我們組的課程設(shè)計是由我們組共同完成的,從一開始的寫程序到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機組成原理課程設(shè)計--具有運算及跳轉(zhuǎn)功能的復雜模型機的設(shè)計
- 復雜模型機設(shè)計-計算機組成原理課程設(shè)計
- 計算機組成原理課程設(shè)計--復雜模型機設(shè)計實驗
- 計算機組成原理課程設(shè)計--復雜模型機設(shè)計報告
- 計算機組成原理課程設(shè)計--模型計算機設(shè)計
- digitallogicdesignandcomputerorganizationwithcomputerarchitectureforsecurity數(shù)字邏輯設(shè)計和計算機組織與計算機體系結(jié)構(gòu)的安全
- 計算機組成原理課程設(shè)計報告--復雜模型計算機的設(shè)計
- 計算機組成原理課程設(shè)計--- 模型機設(shè)計
- 計算機組成原理課程設(shè)計--跳轉(zhuǎn)指令的實現(xiàn)
- 計算機組成原理課程設(shè)計--跳轉(zhuǎn)指令的實現(xiàn)
- 計算機組織原理與體系結(jié)構(gòu)課程設(shè)計-用java swing實現(xiàn)簡單的計算器功能
- 計算機組成原理課程設(shè)計---模型機設(shè)計與實現(xiàn)
- 計算機組成原理課程設(shè)計---復雜模型機的設(shè)計
- 計算機硬件課程設(shè)計報告——復雜模型機設(shè)計
- 計算機硬件課程設(shè)計--復雜模型機設(shè)計報告
- 計算機組成原理課程設(shè)計---復雜模型機的設(shè)計與實現(xiàn)
- 計算機組成原理課程設(shè)計--基本模型機設(shè)計與實現(xiàn)
- 計算機組成原理課程設(shè)計---基本模型機設(shè)計與實現(xiàn)
- 計算機組成原理課程設(shè)計-- 基本模型機設(shè)計與實現(xiàn)
- 計算機組成原理課程設(shè)計---復雜模型機的設(shè)計與實現(xiàn)
評論
0/150
提交評論