計算機組成原理課程設(shè)計任務(wù)書_第1頁
計算機組成原理課程設(shè)計任務(wù)書_第2頁
計算機組成原理課程設(shè)計任務(wù)書_第3頁
計算機組成原理課程設(shè)計任務(wù)書_第4頁
計算機組成原理課程設(shè)計任務(wù)書_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程設(shè)計任務(wù)書題目專業(yè)、班級學(xué)號姓名主要內(nèi)容、基本要求、主要參考資料等:完 成 期 限:指導(dǎo)教師簽名:課程負責人簽名:年 月 日目 錄第一章 程序設(shè)計概述1.1課程設(shè)計的教學(xué)目的1.2課程設(shè)計任務(wù)和基本要求第二章 指定應(yīng)用項目的設(shè)計實現(xiàn)3.1設(shè)計任務(wù)3.2任務(wù)分析及解決方案3.3設(shè)計原理3.4應(yīng)用項目設(shè)計實現(xiàn)操作步驟第三章 收獲、體會和建議參考文獻第一章 程序設(shè)計概述1.1 課程設(shè)計的教學(xué)目的本課程設(shè)計的教學(xué)目的是在掌握計算機系統(tǒng)組成及內(nèi)部工作機制、理解計算機各功能部件工作原理的基礎(chǔ)上,深入掌握信息流和控制信息流的流動過程,進一步加深計算機系統(tǒng)各模塊間相互關(guān)系的認識和整機的概念,培養(yǎng)開發(fā)和調(diào)試計算機的技能。再設(shè)計實踐中提高應(yīng)用所學(xué)專業(yè)知識分析問題和解決問題的能力。1.2 課程設(shè)計任務(wù)和基本要求本課程設(shè)計以TDN-CM++計算機組成原理教學(xué)實驗系統(tǒng)為平臺設(shè)計完成。按給定的數(shù)據(jù)格式和指令系統(tǒng),理解為程序控制器的設(shè)計原理。設(shè)計給定機器指令系統(tǒng)遺跡微程序流程圖,安慰指令格式寫出微程序的微指令代碼連接邏輯電路,完成啟動、測試、編程、校驗和運行,并觀測運行過程及結(jié)果。將微程序控制器模塊與運算器模塊、存儲器模塊聯(lián)機,組成一臺模擬計算機。用微程序控制器控制模型機的數(shù)據(jù)通路。通過在模型機上運行由機器指令組成的簡單程序,掌握機器指令與微指令的關(guān)系,建立計算機的整機概念,掌握計算機的控制機制。按指定應(yīng)用項目進行匯編指令格式及功能設(shè)計,并設(shè)計相應(yīng)的機器指令代碼,按照模型及數(shù)據(jù)通路設(shè)計實現(xiàn)機器指令功能的微程序。在代碼到TDN-CM++實驗系統(tǒng)并運行,實現(xiàn)應(yīng)用要求。

PC

機上編輯機器指令和微程序,裝載第二章 指定應(yīng)用項目的設(shè)計實現(xiàn)3.1課程設(shè)計任務(wù)從輸入設(shè)備中讀取數(shù)據(jù)X并將其存入以K為直接地址的內(nèi)存單元,計算2X加X減1并將結(jié)果存入以N為間接地址的內(nèi)存單元。3.2課程設(shè)計思想及任務(wù)分析在進行這一次設(shè)計之前當我們看見我們的題目的時候,我們聯(lián)系到了最后的一次實驗的機器運行的過程聯(lián)系這次的的要求我們先明確的這次設(shè)計的大體過程,畫大體圖—匯編程序—流程圖—微指令代碼—檢查,然后我們進行了下一步驟,觀察題目在進行這一次的設(shè)計之時首先我們看見了在讀取與儲存時的兩種不同的尋址方式,想到了這兩種的不同,具體表示在流程圖上面就是間接尋址要通過地址先找地址再找數(shù)據(jù)所以要分兩次,然后我們又看了看我們的運算所需要的過程,對照書本的49頁的代碼,我們決定了將2X通過一次X加X算術(shù)運算來實現(xiàn),由于X的給予只需要做運算即可,非運算書上有,加法運算書上有,減1運算書上面也有,于是我們就決定在預(yù)算過程過程中通過4次來實現(xiàn),所以我們想到了先計算X加X然后在將2X求非再加X最后減1的運算流程,于是一個初步的構(gòu)想于是就這樣形成了,在寫匯編程序時候我們也是忠實的按照這個構(gòu)想來寫的,由于設(shè)計不慎急于求成,將2x操作與非操作搞到一起了,雖然這樣可以實現(xiàn),但是在別的程序員閱讀是會產(chǎn)生很大的不便,經(jīng)過老師的講解,我們迅速的從新改變了整體的思路,然后迅速修改,由于需要修改多條偽指令的編號我們決定大體不變,刪除錯的或者講錯的變?yōu)檎_的,這樣導(dǎo)致了我們的微指令并不是那么的連續(xù),這樣是一個程序上面的瑕疵吧,好在不影響運行與閱讀。設(shè)計順序大致如下:先畫出了程序的流程,然后寫出了匯編程序,并且寫出了機器指令,其次我們完成了總體的流程圖,然后根據(jù)流程圖寫出了微指令以及微指令代碼,將機器指令代碼與微指令代碼寫成了一個txt文檔用機器錄入,運行程序,對照程序上面顯示的圖與我們畫的流程圖進行對照,檢查來判斷這次試驗的成功與否。到此我們這一次的設(shè)計過程到這里就結(jié)束了,我們充分的參與并且體會了設(shè)計一個程序的每一次的收獲,充分的體會了其中的設(shè)計的快樂與痛苦,對我們的專業(yè)只是也有很大的提升。3.3 設(shè)計原理在部件試驗中,我們是人為用二進制開關(guān)來模擬一些控制信號來完成數(shù)據(jù)通路的控制。而在本課程設(shè)計中,數(shù)據(jù)通路的控制將由微程序控制器來完成, 即一條機器指令對應(yīng)一個微程序。本設(shè)計的規(guī)定項目采用五條機器指令:IN(輸入)、MOV(將最終計算結(jié)果存入間接地址中)、ADD(二進制加法)、NOT(給2X取非)、STA(將X存入直接地址中)、DEC(減1)、OUT(輸出)、HLT(保持執(zhí)行結(jié)束狀態(tài),不再執(zhí)行操作),其指令格式如下表1(前四位是操作碼):指令助記符操作碼地址碼功能說明IN0000000000000000“INPUTDEVICE”->R0ADD0010000000000011(DR1)+(DR2)->R00100000000000110NOT0011000000000101DR1->R0STA0011000000000101R0->RAMDEC0101000000001000R0-1->R0MOV0110000000001001R0->RAM,RAM->RAMOUT0100000000000111RAM->LEDHLT0101000000001001停機IN 為單字長指令,含義是將輸入設(shè)備輸入的數(shù)據(jù)放入 R0中ADD為雙字長指令,其含義是根據(jù)指令提供的地址將內(nèi)存中的數(shù)取出放入DR2,與DR1中的數(shù)相加,結(jié)果放在R0。NOT為單字長指令,含義是將 R0的內(nèi)容取非后放入 R0。STA為雙字長指令,第二個字是要存放的地址,含義是將R0中的內(nèi)容存儲到第二字為地址的內(nèi)存單元中。DEC 是單字長指令,含義是 R0的內(nèi)容減1后放入R0MOV是雙字長指令,第二字是要存放的間接地址,含義是將R0中的內(nèi)容存儲到第二字為間接地址的內(nèi)存單元中。OUT為雙字長指令,含義是根據(jù)指令提供的地址,將內(nèi)存中的數(shù)據(jù)取出由數(shù)碼管進行顯示。HLT 為空轉(zhuǎn)指令,保持執(zhí)行結(jié)束狀態(tài),并不在執(zhí)行任何操作。本設(shè)計的機器指令如下:地址(二進制)內(nèi)容(二進制)助記符注釋0000000000000000INR0“INPUTDEVIECE”->R00000000100010000STAR0,[0FH]R0->[0FH]00000010000011110000001100100000ADD[0FH],R0R0+[0FH]->R000000100000011110000010100110000NOTR0R0->R00000011001000000ADD[0FH],R0R0+[0FH]->R000000111000011110000100001010000DECR0R0-1->R00000100101100000MOVR0,[[10H]]R0->[[10H]]00001010000100000000101101110000OUT[[10H]][[10H]]->LED00001100000100000000110110000000HLT停止000011100000111100000001000100000001000100010001結(jié)果為了向RAM中裝入程序和數(shù)據(jù),檢查寫入是否正確,并能啟動程序執(zhí)行,還設(shè)計了三個控制臺操作微程序:存儲器讀操作(KRD):撥動總清開關(guān)CLR后,當控制臺開關(guān) SWB、SWA置為“00”時,按START微動開關(guān),可對 RAM進行連續(xù)手動讀操作。存儲器寫操作(KWE):撥動總清開關(guān)CLR后,當控制臺開關(guān) SWB、SWA置為“01”時,按START微動開關(guān),可對 RAM進行連續(xù)手動寫入。啟動程序:撥動總清開關(guān) CLR后,當控制臺開關(guān) SWB、SWA置為“11”時,按START微動開關(guān),即可轉(zhuǎn)入到第 01號“取指”微指令,啟動程序運行。上述三條控制臺指令用兩個開關(guān) SWB、SWA的狀態(tài)來設(shè)置,其定義如表 2:SWB SWA 控制臺指令0 0 讀內(nèi)存(KRD)0 1 寫內(nèi)存(KRD)0 1 啟動程序(RP)按照如下規(guī)定的格式,用聯(lián)機軟件在CMPP中建立將機器指令及微指令的二進制代碼編輯成十六進制的*.txt類型文件。(微指令格式中的微指令代碼為將表中的24位微代碼按從左到右費城三個八位,將此三個八位二進制代碼轉(zhuǎn)換為相應(yīng)的十六進制數(shù)即可),并用聯(lián)機軟件的轉(zhuǎn)儲功能將該式文件裝載到試驗系統(tǒng)中。機器指令格式說明: $PXXXX機器指令代碼十六進制地址微指令格式說明: $MXXXXXXXX微指令代碼十六進制地址啟動程序:當控制臺開關(guān)SWB、SWA置為“11”時,按START微動開關(guān),即可轉(zhuǎn)入到第01號“取指”微指令,啟動程序運行。根據(jù)以上要求設(shè)計數(shù)據(jù)通路框圖如圖 2所示:圖2數(shù)據(jù)通路框圖微指令格式如表3所示:242322212019181716151413121110987654321S3S2S1S0MCnWEA9A8ABCμA5μA4μA3μA2μA1μA0按照數(shù)據(jù)通路可畫出機器指令的微程序流程圖如圖 2所示。當擬定“取指”微指令時,該微指令的判別測試字段為 P(1)測試。由于“取指”微指令是所有微程序都使用的公用微指令,因此 P(1)的測試結(jié)果出現(xiàn)多路分支。本實驗中共出現(xiàn)8路分支,分別對應(yīng) 8種機器指令。占用 8個固定的微地址單元。微程序流程圖根據(jù)流程圖寫出所有微指令代碼微指令代碼微地址S3S2S1S0MCNWEA9A8ABCμ1μ2μ3μ4μ5μ60000000001100000000001000001000000011110110110000010020000000011000000011000000300000000111000000000010004000000101000001000000001050000000011100000000001100600000000101100000000011107000000011010001000001111100000000011100000000011001100000000111000000000110112000000001010000000001011130000011100001010000000011400000010100000100000000115000000001110000000001010171001010110011010000000012000000001111011011001001021000000001110110110010100220000000010100000000101112300000001100000000000000124000000000010000000011000260000100110011010000000012700000111000010100001000030000001101000101000010001310000000011100000000110103200000000101100000001101133000000011010000000011100341001010110011010000000013611110101100110100000000137000000001110000000001000400000000000010000000000014100000001111011011000001142000000011110110110000101430000000110100010000101104400000001111011011001100145000000011010001000011110460000000111101101100111114700000001111011011000100150000000011000000000101000指令寄存器(IR)用來保存當前正在執(zhí)行的一條指令。當執(zhí)行一條指令時,先把它從內(nèi)存取到緩沖寄存器中,然后再傳送至指令寄存器。指令劃分為操作碼和地址碼字段,由二進制數(shù)構(gòu)成。為了執(zhí)行任何給定的指令,必須對操作碼進行測試[P(1)],通過節(jié)拍脈沖T4的控制以便識別所要求的操作?!爸噶罴拇嫫鳌?實驗板上標有“INSDECODE”的芯片)根據(jù)指令中的操作碼譯碼結(jié)果強置微控器單元的微地址,使下一條微指令指向相應(yīng)得微程序首地址。本系統(tǒng)使用兩種外部設(shè)備,一種是二進制代碼開關(guān),它作為輸入設(shè)備(INPUTDEVICE);另一種是數(shù)碼管,它作為輸出設(shè)備(OUPUTDEVICE)。例如:輸入時,二進制開關(guān)數(shù)據(jù)直接經(jīng)過三態(tài)門送到總線上,只要開關(guān)狀態(tài)不變,輸入的信息也不變。輸出時,將輸出的數(shù)據(jù)送到數(shù)據(jù)總線BUS上,當寫信號(W/R)有效時,將數(shù)據(jù)打入輸出鎖存器,并在數(shù)碼管顯示。2.4課程設(shè)計實現(xiàn)步驟 按照圖1接線圖連接線路。聯(lián)機寫入程序(微指令),按照實驗要求的規(guī)定格式,將機器指令及微指令二進制代碼表編輯成十六進制的文件。機器指令$P0000$P0110$P020F$P0320$P040F$P0530$P0640$P070F$P0850$P0960$P0A10$P0B70$P0C10$P0D80$P0F01$P1011$P1100微指令$M00018110$M0101ED82$M0200C060$M0300E004$M04028201$M0500E006$M0600B007$M0701A20F$M0800E00C$M0900E00A$M0A00A00B$M0B070A01$M0C028201$M0D00E00A$M0F959A01$M1001ED92$M1100ED94$M1200A017$M13018001$M14002018$M16099A01$M17070A10$M18068A11$M1900E01A$M1A00B01B$M1B01A21C$M1C959A01$M1EF59A01$M1F00E008$M20001001$M2101ED83$M2201ED85$M2301A216$M2401ED99$M2501A21E$M2601ED7F$M2701ED89$M28018028 聯(lián)機運行聯(lián)機運行程序時,進入軟件界面,裝載機器指令及微指令后,選擇[運行]→[通路圖]→[復(fù)雜模型機]功能菜單打開相應(yīng)的動態(tài)數(shù)據(jù)通路圖,按相應(yīng)功能鍵即可聯(lián)機運行、監(jiān)控、調(diào)試程序。3.5實驗設(shè)計結(jié)果與分析在經(jīng)過運行之后可以得出以下結(jié)果:輸入數(shù)值X=00000001(01H)直接地址K=00001111(0FH)中間結(jié)果2X=11111101(FDH)間接地址N=00010000(10H)間接地址所指直接地址00010001(11H)最終結(jié)果2X加X減1=11111101(FDH)經(jīng)檢驗,輸出結(jié)果與計算結(jié)果相符,證明實驗設(shè)計正確3.6實驗設(shè)計小結(jié)本次實驗大體上分為三步。首先,是連接電路。其次,裝載課程設(shè)計指導(dǎo)書上設(shè)計的程序并測試運行,通過觀察運行情況和數(shù)據(jù)在總線上的流動,了解各功能部件的工作原理和工作機制以及流程

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論