計算機組成原理課程設計---基本模擬機設計與實現(xiàn)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課程設計(論文)任務書</p><p>  軟件 學院  軟件+信息工程 專業(yè) 09- 3  班    </p><p>  一、課程設計(論文)題目  基本模擬機設計與實現(xiàn)    </p><p>  二、課程設計(論文)工

2、作自 2011 年 6 月 20 日起至 2011 年 6 月 24日止。</p><p>  三、課程設計(論文) 地點: 5#301 </p><p>  四、課程設計(論文)內容要求:</p><p>  1.本課程設計的目的</p><p>  (1) 在

3、掌握部件單元電路實驗的基礎上,進一步將其組成系統(tǒng)構造一臺基本模型計算機。 </p><p>  (2) 為其定義五條機器指令,并編寫相應的微程序,具體上機調試掌握整機概念。了解計算機組成應用程序編寫。</p><p>  (3)培養(yǎng)學生分析、解決問題的能力,提高學生的論文寫作能力。 </p><p>  2.課程設計的任務及要求</p><p

4、><b>  1)基本要求:</b></p><p>  (1)掌握機器指令與微指令的關系。在實驗箱上連線,并實現(xiàn)所寫程序段的功能。自己設計一個不少于五條指令的機器語言程序,其中包括減法指令中斷服務程序。</p><p> ?。?)結合操作系統(tǒng)的基本原理,進行程序設計;</p><p> ?。?)對計算機組成原理有進一步認識和理解。<

5、;/p><p><b>  2)創(chuàng)新要求: </b></p><p>  在基本要求達到后,可進行創(chuàng)新設計,如改善算法性能、友好的人機界面等。</p><p>  3)課程設計論文編寫要求</p><p> ?。?)要按照書稿的規(guī)格打印與寫課程設計論文</p><p> ?。?)論文包括目錄、功能描述

6、、設計思路、具體實現(xiàn)、運行調試與分析討</p><p>  論、設計體會與小結、參考文獻、附錄(源代碼)等 </p><p> ?。?)課程設計論文裝訂按學校的統(tǒng)一要求完成</p><p>  4)答辯與評分標準: </p><p>  (1)考勤與學習態(tài)度:20分; </p><p> ?。?)設計思路:20分;&l

7、t;/p><p> ?。?)代碼實現(xiàn):20分;</p><p> ?。?)調試與分析:20分;</p><p>  (5)回答問題:10分;</p><p>  (6)論文規(guī)范性:10分。</p><p><b>  5)參考文獻</b></p><p>  [1] 王愛英.計

8、算機組成與結構(第四版). 北京;清華大學出版社,2007 </p><p>  [2] 白中英.計算機組成原理. 北京;清華大學出版社,2002 </p><p>  6)課程設計進度安排</p><p>  1.準備階段(2學時):選擇設計題目、了解設計目的要求、查閱相關資料</p><p>  2.程序模塊設計

9、分析階段(2學時):程序總體設計、詳細設計</p><p>  3.代碼編寫調試階段(6學時):程序模塊代碼編寫、調試、測試</p><p>  4.撰寫課程設計論文階段(2學時):總結課程設計任務和設計內容,撰</p><p><b>  寫課程設計論文</b></p><p>  學生簽名:

10、 </p><p>  2011年 6月 25日</p><p>  課程設計(論文)評審意見</p><p>  (1)考勤與態(tài)度 (20分):優(yōu)(?。⒘迹ā。?、中(?。⒁话悖ā。?、差(?。?; </p><p> ?。?)設計思路 ?。?0分):優(yōu)(?。⒘迹ā。⒅校ā。?、一般(?。⒉睿ā。?; </p><p

11、>  (3)代碼實現(xiàn) ?。?0分):優(yōu)( )、良(?。?、中(?。?、一般(?。?、差(?。?;</p><p>  (4)調試與分析?。?0分):優(yōu)( )、良(?。?、中(?。?、一般(?。⒉睿ā。?lt;/p><p> ?。?)回答問題  (10分):優(yōu)(?。⒘迹ā。?、中(?。?、一般( )、差(?。?;</p><p> ?。?)論文規(guī)范性 (10分):優(yōu)(?。?、良

12、(?。⒅校ā。?、一般( )、差( );</p><p>  評閱人:     職稱: 講師 </p><p>  2011 年6月27日 </p><p><b>  目錄</b></p><p>  1.緒論- 1 -</p><p>  1.1課設目

13、的及意義- 1 -</p><p>  1.2課設內容及要求- 1 -</p><p>  2.功能描述- 2 -</p><p>  2.1微程序控制電路- 2 -</p><p>  2.2微指令格式- 2 -</p><p>  2.3.控制臺微操作- 3 -</p><p>

14、  2.4數(shù)據(jù)通路框圖- 4 -</p><p>  3.設計思路- 5 -</p><p>  3.1設計思路- 5 -</p><p>  3.2設計代碼表- 6 -</p><p>  4.機器指令程序- 7 -</p><p>  5.線路連接圖- 8 -</p><p> 

15、 6.微程序流程及說明- 9 -</p><p>  7.運行調試及結果分析- 11 -</p><p>  方法一:手動寫入- 11 -</p><p>  方法二:聯(lián)機讀/寫程序- 12 -</p><p>  8.設計體會及總結- 16 -</p><p>  9.參考文獻- 17 -</p&g

16、t;<p><b>  1.緒論</b></p><p>  1.1課設目的及意義</p><p>  在掌握部件單元電路實驗的基礎上,進一步將其組成系統(tǒng)構造一臺基本模型計算機。</p><p>  為其定義五條機器指令,并編寫相應的微程序,具體上級調試掌握整機的概念。</p><p>  掌握微程序計算機

17、中指令和微指令的編碼方法,深入理解機器指令在計算機中的運行過程。</p><p>  1.2課設內容及要求</p><p>  設計實現(xiàn)一個簡單的模型機,該模型機由運算器、寄存器、譯碼電路、存儲器、和存儲微指令用的控制存儲器組成。</p><p>  實現(xiàn)5條機器指令:IN(輸入)、ADD(二進制加法)、STA(存數(shù))、OUT(輸出)、JMP(無條件轉移)。<

18、/p><p>  可通過手動寫入或聯(lián)機的方式將機器指令程序和編寫的微指令程序存入主存中,并運行此段程序,觀察該段程序的運行,驗證編寫的指令和微指令的執(zhí)行情況是否符合設計要求,并對程序運行結果的正、誤分析其原因。</p><p>  要求學生動手操作實驗設備,掌握微程序設計思想和設計方法。</p><p><b>  2.功能描述</b></p

19、><p>  2.1微程序控制電路</p><p>  若采用手動寫入方式實現(xiàn)基本模型機功能,則應先微代碼手動寫入控存2816中??卮娌捎?片ROM,微指令寄存器18位,用兩片8D觸發(fā)器和一片4D觸發(fā)器組成。微地址寄存器6位,用三片正沿觸發(fā)的雙D觸發(fā)器組成。在不判別的情況下,T2時刻打入微地址寄存器的內容即為下一條微指令地址。當T4時刻進行判別時,轉移邏輯滿足條件后輸出的負脈沖通過強置端將某一

20、觸發(fā)器置為“1”完成地址修改。</p><p>  實驗電路有一個編程開關,具有三種狀態(tài):PROM(編程)、READ(校驗)、RUN(運行)。當處于“編程狀態(tài)”時,可根據(jù)微地址和微指令格式將微指令二進制代碼寫入控存2816中;當處于“校驗狀態(tài)”時,可以對寫入控存的二進制代碼進行驗證;當處于“運行狀態(tài)”時,只要給出微程序的入口地址,則可根據(jù)微程序流程圖自動執(zhí)行微程序。</p><p><

21、;b>  2.2微指令格式</b></p><p>  微指令長24位,其控制位順序如下:</p><p>  圖2.1微代碼定義示意圖</p><p>  前面9位為直接控制字段,直接與相應的控制門連接。后面UA5-UA0為6位的后續(xù)微地址,即跳轉地址。而中間的A、B、C三個譯碼字段,分別由三個控制位譯碼出多位。其含義如下:</p>

22、<p>  圖2.2控制位含義示意圖</p><p>  C字段中的P(1)-P(4)是四個測試字位。其功能是根據(jù)機器指令及相應微代碼進行譯碼,使微程序轉入相應的微地址入口,從而實驗微程序的順序、分支、循環(huán)運行。</p><p>  B字段中的RD-B、R0-B、RI-B分別為原寄存器選通信號、目的寄存器選通信號及變址寄存器選通信號,其功能是根據(jù)機器指令來警醒三個工作寄存器R0

23、、R1及R2的選通譯碼。</p><p>  指令寄存器用來保存當前正在執(zhí)行的一條指令。當執(zhí)行一條指令時,先把它從內存取到緩沖寄存器,然后再傳送到指令寄存器。指令劃分為操作碼和地址碼字段,由二進制構成,為了執(zhí)行任何一條給定的指令,必須對操作碼進行測試P(1),通過節(jié)拍脈沖T4的控制以便識別所要求的操作?!爸噶钭g碼器”根據(jù)指令的操作碼進行譯碼,強置微控制單元的微地址,使下一條微指令指向相應的微程序。</p&g

24、t;<p>  2.3.控制臺微操作</p><p>  本實驗采用五條機器指令:IN(輸入)、ADD(二進制加法)、STA(存數(shù))、OUT(輸出)、JMP(無條件轉移)。其中IN為單字長,其余為雙字長指令。</p><p>  為了向RAM寫入、讀出機器指令,并能啟動程序執(zhí)行,還須設計三個控制臺操作微程序。</p><p>  存儲器讀(KRD):撥

25、動總清開關CLR后,控制臺開關SWB、SWA為“0 0”時,按START微動開關,可對RAM連續(xù)手動讀操作。</p><p>  存儲器寫(KWE):撥動總清開關CLR后,控制臺開關SWB、SWA為“0 1”時,按START微動開關,可對RAM連續(xù)手動寫操作。</p><p>  啟動程序(RP):撥動總清開關CLR后,控制臺開關SWB、SWA為“1 1”時,按START微動開關,即可轉入

26、到第01號“取址”微指令,啟動程序運行。</p><p>  上述三條控制臺指令用兩個開關SWB、SWA的狀態(tài)來設置,其定義如下: </p><p>  圖2.3控制臺指令定義示意圖</p><p><b>  2.4數(shù)據(jù)通路框圖</b></p><p><b>  3.設計思路 </b>

27、;</p><p><b>  3.1設計思路</b></p><p>  計算機數(shù)據(jù)通路的控制將由微程序控制器來完成,CPU從內存中取出提條機器指令到指令執(zhí)行結束的一個指令周期全部由微指令組成的序列來完成。即一條機器指令對應一個微程序。</p><p>  本系統(tǒng)有兩種外部I/O設備,一種是二進制數(shù)碼開關,作為輸入設備(INPUT);另一種是

28、兩位十六進制數(shù)LED數(shù)碼管,作為輸出設備(OUTPUT UNIT)。在輸入時,二進制開關數(shù)據(jù)直接經(jīng)過三態(tài)門送到總線上。只要開關狀態(tài)不變,輸入的信息也不變。輸出時,將輸出數(shù)據(jù)送到數(shù)據(jù)總線上,當寫信號(WE)有效時,將數(shù)據(jù)打入輸出鎖存器,驅動數(shù)碼塊顯示。</p><p><b>  3.2設計代碼表</b></p><p>  表3.1 二進制微代碼表</p>

29、<p><b>  4.機器指令程序</b></p><p>  本程序從輸入設備(數(shù)碼開關)讀入數(shù)據(jù),與0A單元的數(shù)據(jù)相加,然后送到輸出設備(LED數(shù)碼管)進行顯示。本程序不斷地循環(huán)運行,在運行中可改變輸入開關(INPUT)的值,觀察輸出顯示的變化。本實驗設計機器指令程序如下:</p><p>  地 址(二進制) 內 容(二進制) 助記符

30、 說 明</p><p>  0000 0000 0000 0000 IN “INPUT DEVICE” 0000 0001 0001 0000 ADD [0AH] R0+[02H] →R0</p><p>  0000 0010 0000 1010</p><p>  0000 0011

31、 0010 0000 STA [0BH] R0→[03H]</p><p>  0000 0100 0000 1011</p><p>  0000 0101 0011 0000 OUT [0BH] [03H] →BUS</p><p>  0000 0110 0000 1011</p>

32、<p>  0000 0111 0100 0000 JMP [00H] 00H→PC</p><p>  0000 1000 0000 0000</p><p>  0000 1001</p><p>  0000 1010 0000 0001 自定加數(shù)01H</

33、p><p>  11 結果保存在0B單元</p><p><b>  5.線路連接圖</b></p><p>  圖5.1 實驗連接圖</p><p>  6.微程序流程及說明</p><p>  當擬定“取址”微指令時,該微指令的判別測試字段為

34、P(1)測試。由于“取址”微指令是所有微程序都使用的公用微指令,因此P(1)測試結果出現(xiàn)多路分支。本次課程設計使用指令寄存器的前4位(IR7-IR4)作為測試條件,出現(xiàn)5路分支,占用5個固定微地址單元。</p><p>  6.1 微程序流程圖</p><p>  控制臺操作為P(4)測試,它以控制臺開關SWB,SWA作為測試條件,出現(xiàn)了3路分支,占用3個固定微地址單元。當分支微地址單元固

35、定后,剩下的其他地方就可以一條微指令占用一個微地址單元隨意填寫。</p><p>  當輸入0000 0000(00)微地址的時候,就從控制臺入口開始了流程,對應二進制代碼表,微地址0 0的下一條微指令地址即為010000,對應的是20,也就走到了控制臺的第二步P(4),當前正在執(zhí)行的微指令從控制</p><p>  當做完判斷后,就沿著那條分支繼續(xù)走,存儲器取出后放在微指令寄存器中,該寄

36、存器的各個控制位的輸出直接連到各個控制門上。</p><p>  進入到跳轉地址圖示如下:</p><p>  圖6.2控制臺流程圖</p><p>  7.運行調試及結果分析</p><p><b>  方法一:手動寫入</b></p><p><b>  1)手動寫入程序</b

37、></p><p>  1.先將機器指令對應的微代碼正確的寫入2816中。</p><p>  2.使用控制臺KWE和KRD微程序進行機器指令程序的裝入和檢查。</p><p>  A.使編程開關處于“RUN”,STEP為“STEP”狀態(tài),STOP為“RUN”狀態(tài)。</p><p>  B.撥動總清開關CLR(0→1),微地址寄存器清零

38、,程序計數(shù)器清零。然后使控制臺SWB、SWA開關置為“01”,按動一次啟動開關START,微地址顯示指示燈顯示“010001”,再按動一次START,微地址燈顯示“010100”,此時數(shù)據(jù)開關的內容置為要寫入的機器指令,按動兩次START鍵后,完成該條指令的寫入。</p><p>  C.寫完程序后須進行檢驗。撥動總清開關CLR(0→1)后,微地址清零。PC程序計數(shù)器清零,然后使控制臺開關SWB、SWA為“00”

39、,按動啟動START,微地址燈將顯示“010000”,再按START,微地址燈顯示為“010010”,第三次按START,微地址燈顯示為“010111”,再按START后,此時輸出單元的數(shù)碼管顯示為該首地址中的內容。不斷按動START,以后每個循環(huán)PC會自動加1,可檢查后續(xù)單元內容。</p><p><b>  2)手動運行程序</b></p><p><b&g

40、t;  1.單步運行程序:</b></p><p>  A.使編程開關處于“RUN”狀態(tài),STEP為“STEP”狀態(tài),STOP為“RUN”狀態(tài)。SWITCH單元的開關SWB、SWA為“11”。</p><p>  B.撥動總清開關CLR(0->1),微地址清零,程序計數(shù)器清零。程序首址為00H。</p><p>  C.單步運行一條微指令,每按動一

41、次START鍵,即單步運行一條微指令。對照微指令流程圖,觀察微地址顯示燈是否和流程一致。</p><p>  D.單步運行結束后,檢查存數(shù)單元(0BH)中的結果是否和理論值一致。</p><p><b>  2.連續(xù)運行程序:</b></p><p>  使“STATE UNIT”中的STEP開關置為“ECEX”狀態(tài)。STOP開關置為“RUN”

42、狀態(tài),SWITCH單元的開關SWB、SWA為“11”。</p><p>  撥動CLR開關,清微地址及程序計數(shù)器,然后撥動START,系統(tǒng)連續(xù)運行程序,稍后將STOP撥至“STOP”時,系統(tǒng)停機。</p><p>  停機后,檢查存數(shù)單元(0BH)結果是否正確。</p><p><b>  3)結果分析</b></p><p

43、>  本實驗求的結果為03H,根據(jù)實驗原理從INPUT DEVICE中輸入數(shù)據(jù)02H給R0,取出01H,然后把這兩個數(shù)進行相加,得到的結果為03H.與理論上02H+01H=03H與實驗結果一致</p><p>  方法二:聯(lián)機讀/寫程序</p><p><b>  聯(lián)機寫入程序</b></p><p>  按照規(guī)定格式,將機器指令及表2-

44、2微指令二進制表成十六進制的如下格式文件。</p><p>  程 序 機器指令格式說明:</p><p>  $ P0000 $ X X X X</p><p>  $ P0110 機器指令代碼</p>

45、<p>  $ P0202 十六進制地址</p><p>  $ P0320 </p><p>  $ P040B 微指令格式說明:</p><p>  $ P0530 $ M X X X

46、X X X X X</p><p>  $P060B 微指令代碼</p><p>  $P0740 十六進制地址</p><p>  $ P0800 注意:因系統(tǒng)文件格式要求,微指令格文件和</p><

47、p>  $ P0201 控制存儲器的微指令代碼的第一字節(jié)(前8位)</p><p>  $ M00108101 與第三字節(jié)(后8位)對換一下。</p><p>  $ M0182ED01 </p><p>  $ M0248C000</p><p>  $ M0304E000</p>&l

48、t;p>  $ M0505B000</p><p>  $ M0506A201</p><p>  $ M06019A95 </p><p>  $ M070DE000</p><p>  $ M08011000</p><p>  $ M0983ED01</p>&

49、lt;p>  $ M0A87ED01</p><p>  $ M0B8EED01</p><p>  $ M0C96ED01</p><p>  $ M0D018202</p><p>  $ M0E0FE000</p><p>  $ M0F15A000</p><p>  $ M109

50、2ED01</p><p>  $ M1194ED01</p><p>  $ M1217A000</p><p>  $ M13018001</p><p>  $ M14182000</p><p>  $ M15010A07</p><p>  $ M1681D100</p>

51、<p>  $ M17100A07</p><p>  $ M18118A06</p><p><b>  運行程序</b></p><p> ?。?)將02送到R0寄存器中</p><p> ?。?)將[0AH]所指向的數(shù)據(jù)01傳到數(shù)據(jù)寄存器DR2中</p><p> ?。?)將DR

52、1與DR2中的數(shù)據(jù)相加,將結果03傳到R0寄存器</p><p> ?。?)將R0中數(shù)據(jù)03傳送到[0BH]這個地址所指向的單元中</p><p> ?。?)將地址[0BH]所指向的數(shù)據(jù)03輸出</p><p><b>  8.設計體會及總結</b></p><p>  8.1實驗中出現(xiàn)的問題</p>&l

53、t;p><b> ?。?)原理不清</b></p><p>  當按照實驗接線圖接完全部的實驗線路的時候才發(fā)現(xiàn)原來如果采用手動方式寫入指令程序,則必須先將微代碼寫入到控存中。于是小組成員又重新接線,將微代碼寫入2816中。</p><p> ?。?)基礎知識不牢固</p><p>  在寫入控存微代碼時,由于意外突然斷電,于是重新將微代碼

54、寫入控存。在寫到一半代碼的時候,才想起控存使用的是ROM芯片,斷電后可以保存數(shù)據(jù),但已經(jīng)浪費大量的時間。</p><p>  在進行寫內存的時候,小組成員針對是否應該先將數(shù)據(jù)寫入到DDR1或者是RAM芯片中再進行本實驗產(chǎn)生了分歧。最終,仔細分析實驗原理,一致認為不需要先寫入到RAM或寄存器中,在本實驗的寫內存過程中即可實現(xiàn)。</p><p> ?。?)實施方法不科學</p>

55、<p>  在實驗開始后發(fā)現(xiàn)沒有寫控存,決定采用聯(lián)機讀/寫程序的方式完成實驗,可是發(fā)現(xiàn)原來本小組的實驗箱連計算機的插頭是壞掉的。換了一個實驗箱后又發(fā)現(xiàn)無法連接計算機。</p><p>  在寫控存時,將24個二進制微代碼全部寫入到控存后驗證居然發(fā)現(xiàn)原來并沒有按地址存入進去,于是又重寫將這么多微代碼到控存中。</p><p><b>  8.2體會及總結</b>

56、;</p><p>  通過本次實驗,不但了解了基本模型機的原理而且很好的鞏固了課本上的知識,同時還通過本次實驗積累了計算機硬件實驗的經(jīng)驗和方法,主要有:在實驗開始的第一步必須要檢查實驗設備是否完好,避免出現(xiàn)連好了線路才發(fā)現(xiàn)設備問題無法完成實驗的情況;在實驗開始前一定要做好預習工作,了解大概的實驗原理同時進行思考提出問題,在實驗的過程中邊驗證原理邊解決問題;邊做實驗邊驗證數(shù)據(jù)的正確性,避免重復返工;小組成員一定要

57、分工明確,提高效率,避免所有人都做一件事情而浪費時間。</p><p>  總之,本次實驗既鞏固了知識,又積累了經(jīng)驗,加深對計算機科學的興趣。也為今后的學習打下了良好的基礎。</p><p><b>  9.參考文獻</b></p><p>  [1] 王愛英.計算機組成與結構(第四版). 北京;清華大學出版社,2007</p>

溫馨提示

  • 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

提交評論