組成原理課程設計報告---微程序設計_第1頁
已閱讀1頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  計算機組成原理課程設計報告</p><p><b>  微程序設計</b></p><p>  項目名稱:微程序設計</p><p>  本科學生課程設計任務書</p><p><b>  目錄</b></p><p><b>  一、設計內容

2、</b></p><p><b>  1.設計題目</b></p><p><b>  2.設計要求</b></p><p>  二、微程序控制器原理</p><p>  三、總體設計(系統(tǒng)構成)</p><p><b>  四、詳細設計 </b&

3、gt;</p><p>  1.數(shù)據(jù)格式及指令設計</p><p><b>  2.微指令流程圖</b></p><p>  3.機器指令及微指令代碼</p><p><b>  五、測試結論 </b></p><p><b>  1.實驗連接圖</b>

4、</p><p><b>  2.實驗步驟</b></p><p><b>  3.實驗結果圖</b></p><p><b>  六、設計總結</b></p><p><b>  一、設計內容</b></p><p><b&

5、gt;  設計題目:</b></p><p><b>  微程序設計</b></p><p><b>  2.設計要求:</b></p><p>  用微程序控制器實現(xiàn)以下指令功能,設計各指令格式以及編碼,并實現(xiàn)各機器指令微代碼,根據(jù)定義的機器指令,自擬編寫包含以下指令的應用程序。參考實驗5.3、6.1,在此基

6、礎上增加如下指令</p><p><b>  調用:</b></p><p>  CALLaddr ;指令功能與80X86相同,addr是8位二進制地址</p><p><b>  返回:</b></p><p>  RET ;</p><p&g

7、t;  存儲器到存儲器傳送:</p><p>  MOV memi , memj; memi (memj), i<>j,memi內存單元地址</p><p><b>  帶左移的加法運算:</b></p><p>  ADDRi , Rj , N; Ri (Ri)+(Rj)<<N ,Rj中內容不變。</p

8、><p>  二、 微程序控制器原理</p><p>  微程序控制器的基本任務是完成當前指令的翻譯和執(zhí)行,即將當前指令的功能轉換成可以控制的硬件邏輯部件工作的微命令序列,完成數(shù)據(jù)傳送和各種處理操作。它的執(zhí)行方法就是將控制各部件動作的微命令的集合進行編碼,即將微命令的集合仿照機器指令一樣,用數(shù)字代碼的形式表示,這種表示稱為微指令。這樣就可以用一個微指令序列表示一條機器指令,這種微指令序列稱為微

9、程序。微程序存儲在一種專用的存儲器中,稱為控制存儲器。微程序控制器原理圖框如下圖所示:</p><p>  微程序控制器原理圖框</p><p>  本模型機共有15條基本指令,表5-3-3列出了各條指令的格式、匯編符號、指令功能。</p><p>  表5-3-3 指令描述</p><p>  三、總體設計(系統(tǒng)構成)</p>

10、<p>  分析理解設計要求后,利用CPU的運算器(ALU),微程序控制器(MC),通用寄存器(RO),指令寄存器(IR),程序計數(shù)器(PC)和地址寄存器(AR)等各個功能部件實現(xiàn)微程序設計。</p><p><b>  四、詳細設計</b></p><p><b>  1.指令設計</b></p><p> 

11、 模型機規(guī)定采用定點補碼表示法表示數(shù)據(jù),字長為8位,8 位全用來表示數(shù)據(jù)(最高位不表示符號),數(shù)值表示范圍是: 0≤X≤28-1。</p><p>  本模型機的數(shù)據(jù)通路框圖如下圖所示</p><p>  本系統(tǒng)上的指令譯碼原理如圖2所示,圖中I7…I2 為指令寄存器的第7…2 位輸出,SE5…SE0 為微控器單元微地址鎖存器的強置端輸出,指令譯碼邏輯在IR 單元的INS_DEC(GAL2

12、0V8)中實現(xiàn)。</p><p>  根據(jù)機器指令系統(tǒng)要求,設計微程序流程圖及確定微地址,如圖5-3-5所示。</p><p>  按照系統(tǒng)建議的微指令格式,見表5-3-4,參照微指令流程圖,將每條微指令代碼化,譯成二進制代碼表,見表5-3-5,并將二進制代碼表轉換為聯(lián)機操作時的十六進制格式文件。</p><p><b>  2.微指令流程圖</b&

13、gt;</p><p>  根據(jù)微指令的設計流程圖,結合所學知識寫出微指令的二進制代碼表如下:</p><p><b>  微指令二進制代碼表</b></p><p>  3.機器指令及微指令代碼</p><p><b>  $P 00 70</b></p><p>  $P

14、 01 01 ;mov 01 ,R0 取第一個操作數(shù)</p><p><b>  $P 02 71</b></p><p>  $P 03 02 ;mov 02,R1 取第二個操作數(shù)</p><p>  $P 04 01 ;add R1,R0 相加后左移</p><p>  $P

15、 05 63 ;call 50 保存當前地址并轉向地址50單元執(zhí)行</p><p><b>  $P 06 50</b></p><p>  $P 50 40 </p><p><b>  $P 51 60</b></p><p>  $P 52 61 ;

16、move 61 ,60 把60中的數(shù)移到61號內存單元中</p><p>  $P 53 13 ;return </p><p>  $P 07 50 ;stop</p><p><b>  $P 60 01</b></p><p><b>  $P 61 02</b&g

17、t;</p><p>  ;//**start of Microcontroller Data**//</p><p>  $M 00 000001</p><p>  $M 01 006D43</p><p>  $M 03 107070 ;MEM->IR,P<1></p><p>

18、  ;==============================</p><p>  ;ADD(0000 RS RD) </p><p>  $M 30 001604 ;R1->A </p><p>  $M 04 002405 ;R0->B</p><p>  $M 05 0

19、4B225 ;A+B->R1,</p><p>  $M 25 001618 ;R1->A</p><p>  $M 18 03B201 ;左移一位->R1 ,進 入下條機器指令</p><p>  ;===============================</p><p&g

20、t;<b>  ;CAll</b></p><p>  $M 36 006D51 ;PC->AR,PC+1</p><p>  $M 11 003C2C ;PC->RD(R3)</p><p>  $M 2C 10102D ;MEM ->A</p><p>

21、;  $M 2D 005341 ;A->PC,進入下條機器指令</p><p>  ;================================</p><p><b>  ;MOV</b></p><p>  $M 34 006D5E ;PC->AR,PC++</p><

22、p>  $M 1E 10601F ;MEM->AR</p><p>  $M 1F 103033 ;MEM(ar)->RD,RD is the first num</p><p>  $M 33 006D4A ;PC->AR,PC++</p><p>  $M 0A 10600B

23、 ;MEM->AR</p><p>  $M 0B 200601 ;RD->MEM,進入下條機器指令</p><p>  ;==================================</p><p><b>  ;ret</b></p><p>  $M 31 00160E

24、 ;RD(R3)->A</p><p>  $M 0E 005341 ;A->pc,進入下條機器指令</p><p>  ;==================================</p><p><b>  ;LDI</b></p><p>  $M 37 0

25、06D4C ;pc->AR,PC++</p><p>  $M 0C 103001 ;MEM->寄存器</p><p>  ;==================================</p><p><b>  ;HLT()</b></p><p>  $M 35

26、000035</p><p><b>  五、測試結論</b></p><p><b>  1.實驗連接圖</b></p><p><b>  實驗步驟</b></p><p>  1. 按三中接線圖連接實驗線路,仔細檢查接線后打開實驗箱電源。</p><p

27、>  2. 寫入實驗程序,并進行校驗,聯(lián)機寫入。</p><p><b>  聯(lián)機寫入和校驗</b></p><p>  聯(lián)機軟件提供了微程序和機器程序下載功能,以代替手動讀寫微程序和機器程序,但是微程序和機器程序得以指定的格式寫入到以TXT為后綴的文件中,本次實驗程序如下,程序中分號‘;’為注釋符,分號后面的內容在下載時將被忽略掉。</p>&l

28、t;p>  選擇聯(lián)機軟件的“【轉儲】—【裝載】”功能,在打開文件對話框中選擇上面所保存的文件,軟件自動將機器程序和微程序寫入指定單元。</p><p>  選擇聯(lián)機軟件的“【轉儲】—【刷新指令區(qū)】”可以讀出下位機所有的機器指令和微指令,并在指令區(qū)顯示,對照文件檢查微程序和機器程序是否正確,如果不正確,則說明寫入操作失敗,應重新寫入,可以通過聯(lián)機軟件單獨修改某個單元的指令,以修改微指令為例,先用鼠標左鍵單擊指

29、令區(qū)的‘微存’TAB按鈕,然后再單擊需修改單元的數(shù)據(jù),此時該單元變?yōu)榫庉嬁?,輸?位數(shù)據(jù)并回車,編輯框消失,并以紅色顯示寫入的數(shù)據(jù)。</p><p><b>  3. 運行程序</b></p><p><b>  聯(lián)機運行</b></p><p>  進入軟件界面,選擇菜單命令“【實驗】—【CISC模型機】”,打開CISC

30、模型機實驗數(shù)據(jù)通路圖,</p><p>  選擇相應的功能命令,即可聯(lián)機運行、監(jiān)控、調試程序。</p><p><b>  實驗結果圖</b></p><p>  實驗結果完全符合當初設計,各個微指令都實現(xiàn)了預先的設計目標,機器程序的測試也達到了預期的效果,程序執(zhí)行的各個階段均按正確的數(shù)據(jù)通路運行。</p><p>&l

31、t;b>  六、設計總結</b></p><p>  通過這次課程設計,我學會了綜合運用所學知識來設計一個模型機,既鞏固了學過的知識也鍛煉了實際的動手實踐能力,但更為重要的是我看到了自身在學習過程中存在的不足,尤其是對硬件方面,例如:在本模型機上我仍然不太理解譯碼原理,同時機器指令中的二進制代碼是如何對應譯碼電路的I7—I2,同時對于譯碼原理圖的化簡都存在困難。 </p><

32、p>  本次課程設計要求我們在一天半時間完成,雖然提前有看過書,但是沒有親自上機實驗剛開始還是感覺到非常陌生。為了設計出質量較高的機器指令與微指令,我們通過查資料,反復看實驗指導書。在設計微指令的過程中,由于每條微指令都有24位二進制位組成,每一位都代表不同的功能。為了盡可能在指令設計過程中少出問題,我們花了很大一部分時間去弄清楚每一位每個字段的不同功能。為了設計更有效的機器指令,我們又花了很多時間去弄懂了機器指令如何譯碼成微指令

33、,它們之間靠什么聯(lián)系起來,以及在機器指令中如何使用寄存器。也正是因為如此,使得我對CPU的工作原理有了更深一步的理解。當然,我們也遇見了不少問題,特別是連線問題,我們就進行了很多次,一條線路沒連對都會導致整個設計失敗。這個問題也是在平時實驗課上最常見的問題。</p><p>  通過這次課程設計,我們了解到要實現(xiàn)一個人設計并不是想象的那么簡單,它要求我們充分細心,還要有足夠的耐心,以及和他人共同協(xié)作,互幫互助,共

34、同學習共同進步,這樣才是實現(xiàn)目標最好的選擇。</p><p><b>  參考文獻</b></p><p>  《計算機組成原理》蔣本珊編 第2版 清華大學出版社</p><p>  《組成原理實驗指導書》</p><p>  《計算機組成和設計》,David A.Patterson編,清華大學出版社,2003年12月&

溫馨提示

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

評論

0/150

提交評論