組成原理課程設計---復雜模型機的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課 程 設 計</b></p><p>  課程名稱: 組成原理課程設計報告 </p><p>  設計題目: 復雜模型機的設計與實現(xiàn) </p><p>  學 院:

2、 信息工程與自動化學院 </p><p>  專 業(yè): 計算機科學與技術 </p><p>  課 程 設 計 任 務 書</p><p>  信息工程與自動 學院 計算機科學與技術專業(yè) 2010 年級</p>

3、<p>  課程設計題目: 復雜模型機的設計與實現(xiàn) </p><p><b>  課程設計主要內容:</b></p><p>  從輸入設備中讀取數(shù)據(jù)X并將其存入以K為直接地址的內存單元,計算2X,取反后加X減1將結果存入以N為間接地址的內存單元,最后輸出。</p><p>  根據(jù)給定的模型機數(shù)

4、據(jù)通路圖及指令系統(tǒng),把設計過程,畫大體圖—匯編程序—流程圖—微指令代碼—檢查,設計順序大致如下:先畫出了程序的流程,然后寫出了匯編程序,并且寫出了機器指令,完成了總體的流程圖,根據(jù)流程圖寫出了微指令以及微指令代碼,將機器指令代碼與微指令代碼寫成了一個txt文檔用機器錄入,運行程序,對照程序上面顯示的圖與我們畫的流程圖進行對照,檢查來判斷這次試驗的成功與否。</p><p><b>  課程設計報告要求:

5、</b></p><p>  1、使用校發(fā)的統(tǒng)一課程設計報告用紙。</p><p>  2、敘述微程序控制器原理、設計方法及步驟(參考理論課教材)。</p><p>  3、畫出復雜模型機數(shù)據(jù)通路圖。</p><p>  4、畫出設計的復雜模型機微程序流程圖。</p><p>  5、寫出聯(lián)機操作時的十六進

6、制格式文件。</p><p><b>  6、調試情況。</b></p><p><b>  7、課程設計收獲。</b></p><p>  設 計 指 導 教 師 (簽字): </p><p>  教學基層組織負責人(簽字)

7、: </p><p>  年 月 日</p><p><b>  目 錄</b></p><p>  一、程序設計目的與基本原理………………………………… 3</p><p>  二、 課程設計任務及分析………………………………………8</p><

8、;p>  三、數(shù)據(jù)格式及指令系統(tǒng) ………………………………………9</p><p>  四、實驗設計結果與分析………………………………………14</p><p>  五、實驗設計小結………………………………………………14</p><p>  六、參考文獻 ……………………………………………………14</p><p>  一、程序

9、設計目的與基本原理</p><p><b>  1、 程序設計目的</b></p><p> ?。?)綜合運用所學計算機原理知識,設計并實現(xiàn)一臺較為復雜的模型計算機,以便鞏固所學的知識,提高分析問題和解決問題的能力。</p><p> ?。?使用簡單模型機和復雜模型機的部分機器指令,并編寫相應的微程序,具體上機調試掌握整機概念。</p&g

10、t;<p> ?。?)掌握微程序控制器的組成原理。掌握微程序的編寫、寫入,觀察微程序的運行。</p><p> ?。?)通過課程設計,使學生將掌握的計算機組成基本理論應用于實踐中,在實際操作中加深對計算機各部件的組成和工作原理的理解,掌握微程序計算機中指令和微指令的編碼方法,深入理解機器指令在計算機中的運行過程。</p><p>  2、 程序設計基本原理</p>

11、<p> ?。?)實驗模型機結構</p><p>  [1] 寄存器堆單元(REG UNIT)</p><p>  該部分由3片8位寄存器R0、R1、R2組成,它們用來保存操作數(shù)用中間運算結構等。三個寄存器的輸入輸出均以連入數(shù)據(jù)總線,由LDRi和RS-B根據(jù)機器指令進行選通。</p><p>  [2] 運算器單元(ALU UINT)</p>

12、;<p>  運算器單元由以下部分構成:兩片74LS181構成了并-串型8位ALU;兩個8位寄存器DR1和DR2為暫存工作寄存器,保存參數(shù)或中間運算結果。ALU的S0~S3為運算控制端,Cn為最低進位輸入,M為狀態(tài)控制端。ALU的輸出通過三態(tài)門74LS245連到數(shù)據(jù)總線上,由ALU-B控制該三態(tài)門。</p><p>  [3] 指令寄存器單元(INS UNIT)</p><p&g

13、t;  指令寄存器單元中指令寄存器(IR)構成模型機時用它作為指令譯碼電路的輸入,實現(xiàn)程序的跳轉,由LDIR控制其選通。</p><p>  [4] 時序電路單元(STATE UNIT)</p><p>  用于輸出連續(xù)或單個方波信號,來控制機器的運行。</p><p>  [5] 微控器電路單元(MICRO-CONTROLLER UNIT)</p>

14、<p>  微控器主要用來完成接受機器指令譯碼器送來的代碼,使控制轉向相應機器指令對應的首條微代碼程序,對該條機器指令的功能進行解釋或執(zhí)行的工作。由輸入的W/R信號控制微代碼的輸出鎖存。由程序計數(shù)器(PC)和地址寄存器(AR)實現(xiàn)程序的取指功能。</p><p>  [6] 邏輯譯碼單元(LOG UNIT)</p><p>  用來根據(jù)機器指令及相應微代碼進行譯碼使微程序轉入相應

15、的微地</p><p>  址入口,從而實現(xiàn)微程序的順序、分支、循環(huán)運行,及工作寄存器R0、R1、R2的選通譯碼。</p><p>  [7] 主存儲器單元(MAIN MEM) </p><p>  用于存儲實驗中的機器指令。</p><p>  [8] 輸入輸出單元(INPUT/OUTPUT DEVICE)</p>&

16、lt;p>  輸入單元使用八個撥動開關作為輸入設備,SW-B控制選通信號。輸出單元將輸入數(shù)據(jù)置入鎖存器后由兩個數(shù)碼管顯示其值。</p><p>  *該CPU數(shù)據(jù)結構通路框圖如下:</p><p> ?。?)機器指令的結構和功能</p><p>  [1] 算術邏輯指令</p><p>  設計9條算術邏輯指令并用單字節(jié)表示,尋址方式采

17、用寄存器直接尋址,其格式如下:</p><p>  其中,OP-CODE為操作碼,Rs為源寄存器,Rd為目的寄存器,并規(guī)定:</p><p>  [2] 訪存指令及轉移指令</p><p>  模型機設計2條訪問指令,即存數(shù)(STA)、取數(shù)(LDA)、2條轉移指令,即無條件轉移(JMP)、結果為零或有進位轉移指令(BZC)。其格式如下:</p><

18、;p>  其中,OP-CODE為操作碼, Rd為目的寄存器,D為位移量(正負均可),M為尋址方式,其定義如下:</p><p>  本模型機規(guī)定變址寄存器RI指定為寄存器R2。</p><p><b>  [3] I/O指令</b></p><p>  輸入和輸出指令采用單字節(jié)指令,其格式如下:</p><p> 

19、 其中,addr=01 時,表示選中“輸入單元”中的開關組作為輸入設備,addr=10時,表示選中“輸出單元”中的數(shù)碼管作為輸出設備。</p><p><b>  [4] 停機指令</b></p><p>  這類指令只有1條,即停機指令HALT,用于實現(xiàn)停機操作,指令格式如下:</p><p><b>  (3)指令系統(tǒng)</b

20、></p><p>  [1]本模型機共有16條基本指令。其中,算術邏輯指令9條,訪問內存指令和程序控制指令4條,輸入輸出指令2條,其他它指令1條。表1列出了各條指令的格式、匯編符號、指令功能。</p><p>  表1 復雜模型機指令系統(tǒng)</p><p>  在上述各測試下址中未用到的位均直接保留。AR為算術運算是否影響進位及判零標志控制位,其

21、為零有效。B字段中的RS_G、RD_G、RI_G分別為源寄存器選通信號,目的寄存器選通信號及變址寄存器選通信號,其功能是根據(jù)機器指令來進行三個工作寄存器R0、R1及R2的選通譯碼。三字段中的其他位類似與此,均是某芯片的選通信號,它們的功能都是根據(jù)機器指令來進行相應芯片的選通譯碼。</p><p>  為了向RAM中裝入程序和數(shù)據(jù),檢查寫入是否正確,并能啟動程序執(zhí)行,還必須設計三個控制臺操作微程序。</p&g

22、t;<p>  存儲器讀操作(READ):撥動總清開關CLR后,控制臺開關SWB、SWA為“00”時,按START微動開關,可對RAM連續(xù)手動讀操作。</p><p>  存儲器寫操作(WRITE):撥動總清開關CLR后,控制臺開關SWB、SWA為“01”時,按START微動開關,可對RAM進行連續(xù)手動寫入。</p><p>  啟動程序:撥動總清開關CLR后,控制臺開關SW

23、B、SWA置為“11”時,按START微動開關,即可轉入到第01號“取址”微指令,啟動程序運行。</p><p>  上述三條控制臺指令用兩個開關SWB、SWA的狀態(tài)來設置,其定義如下:</p><p>  二、 課程設計任務及分析</p><p>  從輸入設備中讀取數(shù)據(jù)X并將其存入以K為直接地址的內存單元,計算2X,取反后加X減1將結果存入以N為間接地址的內存單

24、元,最后輸出。</p><p>  根據(jù)給定的模型機數(shù)據(jù)通路圖及指令系統(tǒng),把設計過程,畫大體圖—匯編程序—流程圖—微指令代碼—檢查,具體表示在流程圖上面就是間接尋址要通過地址先找地址再找數(shù)據(jù)所以要分兩次,參考書本后,決定了將2X通過一次X加X算術運算來實現(xiàn),由于2X的取反只需要做非運算即可在預算過程過程中通過4次來實現(xiàn),所以我想到了先計算X加X然后在將2X求非再加X最后減1的運算流程,于是一個初步的構想于是就這樣

25、形成了,在寫匯編程序時候我們也是忠實的按照這個構想來寫的。設計順序大致如下:先畫出了程序的流程,然后寫出了匯編程序,并且寫出了機器指令,完成了總體的流程圖,根據(jù)流程圖寫出了微指令以及微指令代碼,將機器指令代碼與微指令代碼寫成了一個txt文檔用機器錄入,運行程序,對照程序上面顯示的圖與我們畫的流程圖進行對照,檢查來判斷這次試驗的成功與否。</p><p>  三、數(shù)據(jù)格式及指令系統(tǒng)</p><p

26、><b>  1、機器指令 </b></p><p>  本設計的規(guī)定項目采用五條機器指令:IN(輸入)、MOV(將最終計算結果存入間接地址中)、ADD(二進制加法)、NOT(給2X取非)、STA(將X存入直接地址中)、DEC(減1)、OUT(輸出)、HLT(保持執(zhí)行結束狀態(tài),不再執(zhí)行操作),其指令格式如下表1(前四位是操作碼):</p><p>  IN為單

27、字長指令,含義是將輸入設備輸入的數(shù)據(jù)放入R0中。ADD為雙字長指令,其含義是根據(jù)指令提供的地址將內存中的數(shù)取出放入DR2,與DR1中的數(shù)相加,結果放在R0。NOT為單字長指令,含義是將R0的內容取非后放入R0。 STA為雙字長指令,第二個字是要存放的地址,含義是將R0中的內容存儲到第二字為地址的內存單元中。</p><p>  DEC是單字長指令,含義是R0的內容減1后放入R0。 MOV是雙字長指令,第二字是要存

28、放的間接地址,含義是將R0中的內容存儲到第二字為間接地址的內存單元中。OUT為雙字長指令,含義是根據(jù)指令提供的地址,將內存中的數(shù)據(jù)取出由數(shù)碼管進行顯示。HLT為空轉指令,保持執(zhí)行結束狀態(tài),并不在執(zhí)行任何操作。 本設計的機器指令如下:</p><p>  按照如下規(guī)定的格式,用聯(lián)機軟件建立將機器指令及微指令的二進制代碼編輯成十六進制的*.txt類型文件。(微指令格式中的微指令代碼為將表中的24位微代碼按從左到右分

29、成三個八位,將此三個八位二進制代碼轉換為相應的十六進制數(shù)即可),并用聯(lián)機軟件的轉儲功能將該式文件裝載到試驗系統(tǒng)中。</p><p>  機器指令格式說明: $PXX XX</p><p>  微指令格式說明: $MXX XXXXXX</p><p>  啟動程序:當控制臺開關SWB、SWA置為“1 1”時,按START微動開關,即可轉入到第01號“取指”微指令,啟

30、動程序運行,按照數(shù)據(jù)通路可畫出機器指令的微程序流程圖如圖2所示。當擬定“取指”微指令時,該微指令的判別測試字段為P(1)測試。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的測試結果出現(xiàn)多路分支。本實驗中共出現(xiàn)8路分支,分別對應8種機器指令。占用8個固定的微地址單元。</p><p><b>  2、微程序流程圖</b></p><p><b&g

31、t;  3、微指令代碼</b></p><p>  指令寄存器(IR)用來保存當前正在執(zhí)行的一條指令。當執(zhí)行一條指令時,先把它從內存取到緩沖寄存器中,然后再傳送至指令寄存器。指令劃分為操作碼和地址碼字段,由二進制數(shù)構成。為了執(zhí)行任何給定的指令,必須對操作碼進行測試[P(1)],通過節(jié)拍脈沖T4的控制以便識別所要求的操作。“指令寄存器”(實驗板上標有“INS DECODE”的芯片)根據(jù)指令中的操作碼譯碼

32、結果強置微控器單元的微地址,使下一條微指令指向相應得微程序首地址。</p><p>  本系統(tǒng)使用兩種外部設備,一種是二進制代碼開關,它作為輸入設備(INPUT DEVICE);另一種是數(shù)碼管,它作為輸出設備(OUPUT DEVICE)。例如:輸入時,二進制開關數(shù)據(jù)直接經(jīng)過三態(tài)門送到總線上,只要開關狀態(tài)不變,輸入的信息也不變。輸出時,將輸出的數(shù)據(jù)送到數(shù)據(jù)總線BUS上,當寫信號(W/R)有效時,將數(shù)據(jù)打入輸出鎖存器

33、,并在數(shù)碼管顯示。</p><p>  4、課程設計實現(xiàn)步驟</p><p> ?。?) 按照實驗指導書的接線圖連接線路。</p><p> ?。?) 聯(lián)機寫入程序(微指令),按照實驗要求的規(guī)定格式,將機器指令及微指令二進制代碼表編輯成十六進制的文件</p><p><b>  機器指令</b></p>&

34、lt;p><b>  $P0000</b></p><p><b>  $P0110</b></p><p><b>  $P020F</b></p><p><b>  $P0320</b></p><p><b>  $P040F<

35、;/b></p><p><b>  $P0530</b></p><p><b>  $P0640</b></p><p><b>  $P070F</b></p><p><b>  $P0850</b></p><p>

36、<b>  $P0960</b></p><p><b>  $P0A10</b></p><p><b>  $P0B70</b></p><p><b>  $P0C10</b></p><p><b>  $P0D80</b>&

37、lt;/p><p><b>  $P0F01</b></p><p><b>  $P1011</b></p><p><b>  $P1100</b></p><p><b>  微指令</b></p><p>  $M0001811

38、0</p><p>  $M0101ED82</p><p>  $M0200C060</p><p>  $M0300E004</p><p>  $M04028201</p><p>  $M0500E006</p><p>  $M0600B007</p><p>

39、  $M0701A20F</p><p>  $M0800E00C</p><p>  $M0900E00A</p><p>  $M0A00A00B</p><p>  $M0B070A01</p><p>  $M0C028201</p><p>  $M0D00E00A</p>

40、<p>  $M0F959A01</p><p>  $M1001ED92</p><p>  $M1100ED94</p><p>  $M1200A017</p><p>  $M13018001</p><p>  $M14002018</p><p>  $M16099A0

41、1</p><p>  $M17070A10</p><p>  $M18068A11</p><p>  $M1900E01A</p><p>  $M1A00B01B</p><p>  $M1B01A21C</p><p>  $M1C959A01</p><p>

42、  $M1EF59A01</p><p>  $M1F00E008</p><p>  $M20001001</p><p>  $M2101ED83</p><p>  $M2201ED85</p><p>  $M2301A216</p><p>  $M2401ED99</p>

43、<p>  $M2501A21E</p><p>  $M2601ED7F</p><p>  $M2701ED89</p><p>  $M28018028</p><p><b> ?。?) 聯(lián)機運行</b></p><p>  聯(lián)機運行程序時,進入軟件界面,裝載機器指令及微指令

44、后,選擇[操作]→[調試]功能菜單打開相應的動態(tài)數(shù)據(jù)通路圖,按相應功能鍵即可聯(lián)機運行、監(jiān)控、調試程序。截圖如下:</p><p>  四、 實驗設計結果與分析</p><p>  在經(jīng)過運行之后可以得出以下結果:</p><p>  輸入數(shù)值 X=0000 0001 (01H)</p><p>  直接地址

45、 K=0000 1111 (0FH)</p><p>  中間結果 2X=1111 1101 (FDH)</p><p>  間接地址 N=0001 0000 (10H)</p><p>  間接地址所指直接地址 0001 0001 (11H)</p>

46、<p>  最終結果 2X取反加X減1=1111 1101(FDH)</p><p>  經(jīng)檢驗,輸出結果與計算結果相符,證明實驗設計正確</p><p><b>  五、實驗體會小結</b></p><p>  在這次課程設計的過程中,我基本上掌握了復雜模型機的設計與實現(xiàn)。與此同時,進一步的了解了計算機

47、系統(tǒng)各模塊的基本工作原理、各部件之間的設計與連接、微程序控制器的設計、微指令和微程序的編制與調試等過程。加深了對計算機組成原理理論課程以及上學期實驗的鞏固。</p><p>  本次實驗大體上分為三步。首先,是連接電路。其次,裝載課程設計指導書上設計的程序并測試運行,通過觀察運行情況和數(shù)據(jù)在總線上的流動,了解各功能部件的工作原理和工作機制以及流程圖各指令的含義。最后,自己設計程序并裝載運行并檢驗運行結果。對于自己

48、要設計的程序首先根據(jù)題目要求寫出它的匯編格式,再根據(jù)這個匯編格式寫出機器指令并設計出微程序流程圖。經(jīng)過多次修改,最終實現(xiàn)設計要求。通過這次實驗設計是我加深了對機器指令和微指令的理解和計算機計算流程的了解。</p><p>  本次課程設計中,在各部分的設計中都花費了不少時間,特別是在微程序的調試時花費的時間最多。首先必須對功能模塊進行組裝和分調,只有各模塊工作正常后才能進行總調。在手動輸入微程序指令的時,正確無誤

49、的寫出各條機器指令的二進制代碼也是一個難點,根據(jù)電路圖連接線路也要多加注意。這就要求我們在操作時必須細心謹慎。在檢錯時,通過觀察模型機上的操作流向來檢查錯誤收獲較大,模型機能比較準確的看出自己出錯的地方從而進行更正。通過對程序進行多次調試修改以及老師的幫助指導下才得到正確結果。</p><p>  由于計算機設計的部件較多、結構原理較復雜,對于我們這樣的初設計者來說感到無從下手。在設計過程中,我們從開始的粗略的一

50、個概念,到中間的疑惑與焦慮,到解決了問題的快樂。這對于我們以后工作也有著很大的好處,培養(yǎng)了我們遇到問題,分析問題,解決問題各個方面上的能力。</p><p>  在設計中我們也學到了不少知識.雖然計算機組成原理的課程設計與學習已經(jīng)結束,可我們學習之路并沒有結束,我們會繼續(xù)努力學習其相關的知識,在平時的學習中,我們一定要多了解理論知識,同時要結合實際操作實現(xiàn)。</p><p><b&g

51、t;  六、參考文獻</b></p><p>  《計算機組成原理》 高等教育出版社 唐朔飛著</p><p>  《數(shù)字邏輯》 高等教育出版社 毛發(fā)堯著 </p><p>  《計算機組成原理實驗書》 安徽大學 周勇著</p&g

溫馨提示

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

評論

0/150

提交評論