計算機組成原理課程設(shè)計--研制一臺性能簡單的實驗計算機_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計報告</b></p><p>  課程名稱:計算機組成原理課程設(shè)計</p><p>  設(shè)計題目: 研制一臺性能簡單的實驗計算機 </p><p>  系 別: 計算機系 </p><p&

2、gt;  專 業(yè): 計算機科學(xué)與技術(shù) </p><p><b>  目錄</b></p><p>  1.課程設(shè)計的目的1</p><p>  1.1計算機的硬件基本組成1</p><p>  1.2計算機中機器指令的設(shè)計1</p>

3、<p>  1.3計算機中機器指令的執(zhí)行過程1</p><p>  1.4微程序控制器的工作原理1</p><p>  1.5微指令的格式設(shè)計原理1</p><p><b>  2.設(shè)計要求1</b></p><p>  3設(shè)計方法及過程3</p><p><b> 

4、 3.1整機設(shè)計3</b></p><p>  3.2設(shè)計指令系統(tǒng)5</p><p>  3.3設(shè)計微指令及指令的微程序5</p><p>  3.3.1計算微地址5</p><p>  3.3.2指令的執(zhí)行流程5</p><p>  3.3.3編寫指令的微程序8</p><

5、p>  3.4.編寫并執(zhí)行應(yīng)用程序10</p><p>  3.4.1 手工匯編10</p><p>  3.4.2 機器匯編10</p><p><b>  4心得體會15</b></p><p>  5.參考文獻:16</p><p><b>  1.課程設(shè)計的目的&

6、lt;/b></p><p>  1.1計算機的硬件基本組成</p><p>  計算機分為軟件系統(tǒng)和硬件系統(tǒng);軟件系統(tǒng)又分為:系統(tǒng)軟件和應(yīng)用軟件;硬件系統(tǒng)分為:運算器,控制器,存儲器,出入設(shè)備,輸出設(shè)備。</p><p>  1.2計算機中機器指令的設(shè)計</p><p>  計算機的指令格式與機器的字長、存儲器的容量及指令的功能都有很

7、大的關(guān)系。從便于程序設(shè)計、增加基本操作并行性、提高指令功能的角度來看,指令中應(yīng)包含多種信息。但在有些指令中,由于部分信息可能無用,這將浪費指令所占的存儲空間,并增加了訪存次數(shù),也許反而會影響速度。1.3計算機中機器指令的執(zhí)行過程</p><p>  完成一條指令的功能可以分成兩個主要階段:取指和執(zhí)行。(1).取指(Fetch)――從主存儲器中取出指令代碼進入CPU。 (2).執(zhí)行(Execution)――是

8、將指令代碼翻譯成它代表的功能(被稱為譯碼)、并發(fā)出有關(guān)控制信號實現(xiàn)這個功能。1.4微程序控制器的工作原理</p><p>  微程序控制器的工作原理:是依據(jù)讀來的機器指令的操作碼找到與之對應(yīng)的一段微程序的入口地址,并按由指令具體功能所確定的次序,逐條從控制存儲器中讀出微指令,以“驅(qū)動”計算機各功能部件正確運行。1.5微指令的格式設(shè)計原理</p><p><b>  2.設(shè)計要

9、求</b></p><p>  研制以臺性能如下的實驗計算機。</p><p> ?。?)沒有外部設(shè)備;</p><p> ?。?)運算器采用單累加器多寄存器結(jié)構(gòu);</p><p> ?。?)操作數(shù)尋址方式有:立即數(shù)尋址、寄存器尋址、直接尋址;</p><p>  (4)設(shè)計由如下指令組成的指令系統(tǒng),其中A

10、為累加器A,RX為通用寄存器。將指令的二進制編碼填入表中;</p><p><b>  表1 指令助記符</b></p><p>  (5)計算各指令的微地址并寫出各指令的微程序;</p><p> ?。?)編寫匯編語言程序?qū)崿F(xiàn)如下功能:將內(nèi)存某個單元的數(shù)據(jù)進行左移一位,并將結(jié)果放入00D中,進行保存;</p><p>

11、 ?。?)將該應(yīng)用程序機器匯編、機器裝入、并連續(xù)運行,察看運行結(jié)果并驗證程序的正確性;</p><p> ?。?)將下列程序手工匯編、手工裝入并運行,察看運行結(jié)果。</p><p><b>  ORG 300</b></p><p>  START: MOV A1,#01</p><p><b>  RLC

12、A1</b></p><p><b>  LDA 00D</b></p><p><b>  END</b></p><p><b>  3設(shè)計方法及過程</b></p><p><b>  3.1整機設(shè)計</b></p><

13、;p>  圖1 單累加器多寄存器結(jié)構(gòu)</p><p><b>  3.2設(shè)計指令系統(tǒng)</b></p><p>  表2 指令的功能及編碼</p><p>  3.3設(shè)計微指令及指令的微程序</p><p>  3.3.1計算微地址</p><p>  微程序入口地址形成方法:</p&

14、gt;<p>  MD10 MD9 MD8 MD7 MD6 MD5 MD4 MD3 MD2 MD1 MD0 </p><p>  0 0 0 0 0 I7 I6 I5 I2 1 1</p><p>  取指微指令放在000H處。</p><p>  3.3.2指令的執(zhí)行流程 </p>

15、<p>  1. 直接尋址:11位操作數(shù)地址由指令第一字節(jié)低3位和第二字節(jié)8位直接給出</p><p>  Eg: LDA ADDR ; (ADDR)--->A</p><p>  STA ADDR ; A--->(ADDR)</p><p>  第一字節(jié) 第二字節(jié)</p>

16、<p>  操作碼 11位操作數(shù)</p><p>  a10=1 ADDR為外設(shè)地址; a10=0 ADDR為內(nèi)存地址;</p><p><b>  寄存器直接尋址</b></p><p>  指令第一字節(jié)含寄存器選擇碼,決定選哪個寄存器并對其操作</p>&

17、lt;p>  Eg:MOV A,RX;(RX)--->A</p><p><b>  操作碼</b></p><p><b>  立即數(shù)尋址</b></p><p>  指令第二字節(jié)8位為立即數(shù)可操作的數(shù)據(jù)</p><p>  Eg:MOV A, RX ; RX--->A<

18、;/p><p>  MOV RX,A; A--->RX</p><p>  第一字節(jié) 第二字節(jié)</p><p>  操作碼及LX選擇碼 8位立即數(shù)</p><p>  各指令的微程序中的微地址</p><p>  表3 微指令的首地址</p><p

19、>  樣機指令系統(tǒng)和指令執(zhí)行流程</p><p>  表4樣機指令系統(tǒng)和指令執(zhí)行流程</p><p>  3.3.3編寫指令的微程序</p><p>  表4 指令的微地址及微指令</p><p>  M23 M22 M21 M20 M19 M18 M17 M16 M15 M14 M13 M12 </p><p>

20、;  S0 S1 S2 S3 /CG OT LP’OB / CP’CL’OI</p><p>  M11 M10 M09 M08 M07 M06 M05 M04 M03 M02 M01 M00</p><p>  /CN M XI XO GI P+1 DR MLD WR’RR’RC’WC’</p><p>  3.4.編寫并執(zhí)行應(yīng)用程序&

21、lt;/p><p><b>  編寫匯編程序如下:</b></p><p><b>  ORG 100</b></p><p>  START MOV A,#01</p><p><b>  MOV R,#02</b></p><p><b> 

22、 ADD A,R</b></p><p><b>  STA 00A</b></p><p><b>  END</b></p><p>  3.4.1 手工匯編</p><p>  (1)設(shè)計單累加器多寄存器結(jié)構(gòu)的運算器, 開關(guān)KA、KB、KC、KR分別置左、右、右、下.開關(guān)撥向IN,

23、整機實驗。</p><p>  (2)將微程序?qū)懭肟卮妫ㄩ_關(guān)撥向CM)</p><p><b>  表5 手工匯編 </b></p><p>  3.4.2 機器匯編</p><p>  FD-CES系統(tǒng)軟件是為FD-CES實驗儀與PC機相連以構(gòu)成高層次實驗系統(tǒng)用的配套軟件,它提供屏幕編輯,匯編,反匯編,調(diào)試等功能,該軟

24、件在Windows下運行?!癋D-CES計算機組成實驗儀系統(tǒng)軟件”由“FD-CES Assember”和“FD-CES Debugger”兩大功能模塊組成。 </p><p>  點擊“FD-CES Assember” ,進入編輯環(huán)境,可編輯微指令定義文件(BIT.DEF),指令定義文件(INS.DEF),微程序(MOP*.MID)和匯編源程序(*.ASM),它提供屏幕編輯,匯編,反匯編和微程序代碼的轉(zhuǎn)換功能。&

25、lt;/p><p>  (1)微程序(文件后綴為.mid)</p><p>  ;This is an example for multi accumulator ( book page-155 ):</p><p>  ;get the first instrution</p><p>  ;000H~002H</p><p

26、><b>  -00876A</b></p><p><b>  -</b></p><p><b>  -</b></p><p><b>  ;SUB A,RI</b></p><p>  ;003H~006H</p><p&

27、gt;<b>  -368EBC</b></p><p><b>  -00876A</b></p><p><b>  -</b></p><p><b>  -</b></p><p><b>  ;ADD A,RI</b><

28、;/p><p>  ;007H~00AH</p><p><b>  -9BAEBC</b></p><p><b>  -00876A</b></p><p><b>  -</b></p><p><b>  -</b></p

29、><p>  ;MOV A,#DATA</p><p>  ;013H~016H</p><p><b>  -308FFA</b></p><p><b>  -00876A</b></p><p><b>  -</b></p><p

30、><b>  -</b></p><p><b>  ;MOV A,RI</b></p><p>  ;017H~01AH</p><p><b>  -FA8EBC</b></p><p><b>  -00876A</b></p>

31、<p><b>  -</b></p><p><b>  -</b></p><p><b>  ;MOV RI,A</b></p><p>  ;01BH~01EH</p><p><b>  -808EBF</b></p>&

32、lt;p><b>  -00876A</b></p><p><b>  -</b></p><p><b>  -</b></p><p><b>  ;STA ADDR</b></p><p>  ;01FH~022H</p>&l

33、t;p><b>  -00CFFA</b></p><p><b>  -800EB6</b></p><p><b>  -00876A</b></p><p><b>  -</b></p><p><b>  ;RLC A</b

34、></p><p>  ;023H~026H</p><p><b>  -20AFBE</b></p><p><b>  -00876A</b></p><p><b>  -</b></p><p><b>  -</b>

35、;</p><p>  ;MOV RI,DATA</p><p>  ;027H~02AH</p><p><b>  -008ABF</b></p><p><b>  -008B6A</b></p><p><b>  -</b></p>

36、<p><b>  -</b></p><p><b>  ;HALT</b></p><p><b>  ;02BH</b></p><p><b>  -E0089F</b></p><p><b>  -A008AB</

37、b></p><p><b>  ;JC ADDR</b></p><p><b>  ;02FH</b></p><p><b>  -000DBE</b></p><p>  (2)指令定義(INS.DIF)</p><p>  采用單累加器多

38、寄存器結(jié)構(gòu)(具體操作為在行首處鍵入“?2”)</p><p>  ;This is an example for multi accumulator ( book page-153): </p><p><b>  ?2</b></p><p><b>  -MOV</b></p><p><

39、;b>  2</b></p><p><b>  A,#DATA</b></p><p><b>  010000Ri</b></p><p><b>  DATA</b></p><p><b>  -MOV</b></p>

40、<p><b>  4</b></p><p><b>  A,Ri</b></p><p><b>  01000100</b></p><p><b>  DATA</b></p><p><b>  -MOV</b>

41、;</p><p><b>  3</b></p><p><b>  Ri,A</b></p><p><b>  011000Ri</b></p><p><b>  DATA</b></p><p><b>  -S

42、TA</b></p><p><b>  3</b></p><p><b>  ADDR</b></p><p><b>  01100aaa</b></p><p><b>  a7-a0</b></p><p>&

43、lt;b>  -RLC</b></p><p><b>  3</b></p><p><b>  A</b></p><p><b>  10000000</b></p><p><b>  -MOV</b></p>&l

44、t;p><b>  2</b></p><p><b>  Ri,#DATA</b></p><p><b>  100001Ri</b></p><p><b>  -SUB</b></p><p><b>  4</b>&l

45、t;/p><p><b>  A,Ri</b></p><p><b>  000000Ri</b></p><p><b>  -ADD</b></p><p><b>  4</b></p><p><b>  A,Ri&

46、lt;/b></p><p><b>  000001Ri</b></p><p><b>  -HALT</b></p><p><b>  1</b></p><p><b>  10100000</b></p><p>

47、  (3)微指令位定義文件(BIT.DEF)</p><p>  定義24位長的微指令的各位意義,在調(diào)試是將顯示對應(yīng)位的微操作的有效操作,高電平操作,低電平操作,或無效操作。/CN M X1 X0 S3 S2 S1 S0 OI CL CP NONE</p><p>  CG OT LP OB GI P+1 DR MLD WC RC RR WR</p><p>  

48、(4)源程序(.ASM)</p><p>  定義偽指令(ORG)和 結(jié)束偽指令(END);</p><p>  程序中使用的數(shù)一律是十六進制;</p><p>  匯編源程序之后將產(chǎn)生目標(biāo)文件(*.OBJ)和列表文件(*.LST),當(dāng)調(diào)試時則需將目標(biāo)文件(*.OBJ)下載至內(nèi)存;</p><p><b>  ORG 100<

49、/b></p><p><b>  MOV A,#01</b></p><p><b>  MOV R,#02</b></p><p><b>  ADD A,R</b></p><p><b>  STA 00A</b></p>&l

50、t;p><b>  END </b></p><p><b>  LST文件:</b></p><p>  0100 1 ORG 100</p><p>  0100 FD01 2 MOV A,#01</p><p&

51、gt;  0102 FD02 3 MOV R,#02</p><p>  0104 C1 4 ADD A,R</p><p>  0105 600A 5 STA 00A</p><p>  0107 6 END

52、</p><p>  (5) 微程序代碼生成文件(.DAT),當(dāng)調(diào)試時則需將轉(zhuǎn)換后的數(shù)據(jù)文件(.DAT)下載至控存。</p><p><b>  機器調(diào)試步驟:</b></p><p><b>  1.整機框圖選擇</b></p><p>  選擇structure 3。</p>&l

53、t;p>  2.下載Micro Program</p><p>  先將M/CM開關(guān)置于CM端,然后將微程序的代碼MOP.DAT從PC機下載到實驗計算機的控存中。</p><p><b>  3.BIT.DEF</b></p><p>  將微指令定義文件(BIT.DEF)讀入。</p><p>  4. Prog

54、ram</p><p>  先將M/CM開關(guān)置于M端,然后將用戶的調(diào)機程序的目標(biāo)文件(1.obj)從PC機下載到實驗計算機的內(nèi)存中,并定義其在實驗計算機內(nèi)存中的起始地址(300)。</p><p><b>  5.實驗機運行</b></p><p>  先將M/CM開關(guān)置于CM端,鍵入000 LOAD,然后先將M/CM開關(guān)置于M端,START

55、AT輸入起始地址(200),STEP開始單步運行程序。</p><p><b>  4心得體會</b></p><p>  為期一周的課程設(shè)計結(jié)束了,我收獲頗多。通過本次實驗,我更加清楚地理解了計算機硬件的基本組成,機器指令的設(shè)計,機器指令的執(zhí)行過程;微程序控制器的工作原理,微指令的格式設(shè)計原理等概念,使得在課堂中學(xué)到的理論知識得到了實踐。</p>&l

56、t;p>  課程設(shè)計過程中,當(dāng)我遇到問題時,首先翻課本,向同學(xué)詢問,這個過程又讓我重新溫故課本上設(shè)計中用到的不熟悉的知識點,使我更深刻的理解,并加深記憶。在實驗開始時,自己設(shè)計指令系統(tǒng),編寫微程序的環(huán)節(jié)中,由于全是0,1代碼,在有很多由于馬虎而造成的錯誤,導(dǎo)致在后來寫ASM文件時,寫內(nèi)存單元的地址時遇到不少錯誤。而后我重新返回最初設(shè)計的指令系統(tǒng),微程序,找到錯誤加以修改,才使得程序可以運行。這個過程耽誤了很多時間,是本次設(shè)計過程中

57、比較失敗之處。</p><p>  但是在些許失敗的同時,我得到的遠遠大于失敗。這次的課程設(shè)計使我懂得了理論與實際相結(jié)合是很非常重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正完成實驗,從而提高自己的實際動手能力和獨立思考的能力。在整個設(shè)計過程中,構(gòu)思是很花費時間的。但是在組長的幫助下,我們在電路中遇到的關(guān)于編輯、編譯、調(diào)試、仿真中的問題都一一解決了。當(dāng)然,有時用

58、錯了方法,總是實現(xiàn)不了。同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。 </p><p>  同時,通過這次的課程設(shè)計,也讓我了解到計算機組成原理的重要性,以及它對我們專業(yè)的發(fā)展發(fā)揮的作用。對我們而言,知識上的收獲很重要,但精神上的豐收更加可喜。讓我知道了學(xué)無止境的道理。我們每一個人永遠不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你

59、。挫折是一份財富,經(jīng)歷是一份擁有。這次課程設(shè)計必將成為我人生旅途上一個非常美好的回憶!同時在做課程設(shè)計時要能夠從多方面去考慮,去研究,用多種方法去實現(xiàn)要求。此次課程設(shè)計,學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨立思考解決問題,出現(xiàn)差錯的隨機應(yīng)變,這些都讓我受益非淺,今后的制作應(yīng)該能夠更輕松,自己也都能夠解決并高質(zhì)量的完成項目。</p><p>  在設(shè)計過程認(rèn)真學(xué)習(xí)了相關(guān)的知識,極大地拓寬了我的知識面,我感到收獲不小。

60、從開始熟悉這些知識到對整體設(shè)計的了解,再從畫出整機邏輯圖、設(shè)計指令系統(tǒng),計算微地址,編寫微程序到根據(jù)要求編寫匯編語言程序以及上機調(diào)試,整個過程感覺很充實。尤其是寫指令流程的時候,發(fā)現(xiàn)自己組成原理只是欠缺很多,有許多不懂的地方;編寫指令微程序的時候,要求必須細(xì)心對照信號有效電平,編寫01代碼,不允許出一點差錯,面對眾多的01代碼,我們不曾放棄,堅持到做出完美的設(shè)計。雖然遇到了這么多的困難,但當(dāng)我通過自己查資料,向指導(dǎo)老師請教以及與同學(xué)互討

61、論,而設(shè)計出解決方案并成功實現(xiàn)時,那種成就感和滿足感足以忘卻所有的辛苦。</p><p><b>  5.參考文獻:</b></p><p>  [1] 唐朔飛,[計算機組成原理],北京:高等教育出版社,2008年,1-429頁</p><p>  [2] 趙志英、涂時亮等,[計算機組成實驗],上海:復(fù)旦大學(xué)出版社,2000年,1-208頁&l

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論