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

下載本文檔

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

文檔簡介

1、計算機信息工程學(xué)院計算機組成原理課 程 設(shè) 計 報 告題目: 模型機的設(shè)計與實現(xiàn) 專 業(yè): 計算機科學(xué)與技術(shù)(網(wǎng)絡(luò)方向)班 級: 學(xué) 號: 姓 名: 指導(dǎo)教師: 完成日期: 目 錄一、 設(shè)計概述21.1設(shè)計目的2二、設(shè)計原理及內(nèi)容32.1設(shè)計基本原理32.2需執(zhí)行的機器指令32.3數(shù)據(jù)通路圖42.4微指令格式52.5微程序地址的轉(zhuǎn)移52.6機器指令的寫入、讀出和執(zhí)行6三、 設(shè)計步驟83.1編寫機器指令83.2繪制微程序流程圖83.3繪制微指令93.4連接實驗線路103.5寫指令103.5.1寫微指令103.5.2寫機器指令11四、運行結(jié)果11參考文獻12一、 設(shè)計概述1.1設(shè)計目的隨著社會科技

2、的發(fā)展,計算機被應(yīng)用到各行各業(yè),人們步入自動化、智能化的生活階段。本次課程設(shè)計課題是基本模型機的設(shè)計與實現(xiàn),它正體現(xiàn)了這一點。利用CPU與簡單模型機來實現(xiàn)計算機組成原理課程及實驗中所學(xué)到的實驗原理和編程思想,硬件設(shè)備自擬,編寫指令的應(yīng)用程序,用微程序控制器實現(xiàn)了一系列的指令功能,最終達到將理論與實踐相聯(lián)系。本次設(shè)計完成了各指令的格式以及編碼的設(shè)計,實現(xiàn)了各機器指令微代碼,形成具有一定功能的完整的應(yīng)用程序。在“微程序控制器的組成與微程序設(shè)計實驗”的基礎(chǔ)上,將第一部分中的各單元組成系統(tǒng),構(gòu)造一臺基本模型計算機。1.掌握機器指令與微程序的對應(yīng)關(guān)系。2.掌握機器指令的執(zhí)行流程。3.掌握機器指令的微程序

3、的編制、寫入。4.在掌握部件單元電路實驗的基礎(chǔ)上,進一步將組成系統(tǒng),構(gòu)成一臺基本模型計算機。5.為其定義五條機器指令,并編寫相應(yīng)的微程序,上機調(diào)試,掌握整機概念。二、設(shè)計原理及內(nèi)容2.1設(shè)計基本原理部件實驗過程中,各部件單元的控制信號是人為模擬產(chǎn)生的,如運算器實驗中對74LS181芯片的控制,存儲器實驗中對存儲器芯片的控制信號,以及幾個實驗中對輸入設(shè)備的控制。而本次實驗將能在微程序控制下自動產(chǎn)生各部件單元控制信號,實現(xiàn)特定指令的功能。這里,計算機數(shù)據(jù)通路的控制將由微程序控制器來完成,CPU從內(nèi)存中取出一條機器指令到指令執(zhí)行結(jié)束的一個指令周期全部由微指令組成的序列來完成,即一條機器指令對應(yīng)一段微

4、程序。本系統(tǒng)使用兩種外部設(shè)備,一種是二進制代碼開關(guān)(DATA UNIT),它作為輸入設(shè)備;另一種是發(fā)光二極管(BUS UNIT上的一組發(fā)光二極管),它作為輸出設(shè)備。例如:輸入時,二進制開關(guān)數(shù)據(jù)直接經(jīng)過三態(tài)門送到總線上,只要開關(guān)狀態(tài)不變,輸入的信息也不變。輸出時,將輸出數(shù)據(jù)送到數(shù)據(jù)總線BUS上,驅(qū)動發(fā)光二極管顯示。2.2需執(zhí)行的機器指令本次設(shè)計采用五條機器指令;IN(輸入)、ADD(加)、OR(或)、OUT(輸出)、NOT(加3取反)、JMP(無條件轉(zhuǎn)移),其指令格式如表2-1所示。助記符機器指令碼說明IN0000 0000“DATA UNIT”中的開關(guān)狀態(tài)R0ADD addr0001 0000

5、 XXXXXXXXR0+addraddrOR addr0010 0000 XXXXXXXXR0 OR addr-R0NOR addr0011 0000 XXXXXXXXOUT addr0100 0000 XXXXXXXXaddrBUSJMP addr0101 0000 XXXXXXXXaddrPC表2-1 機器指令格式表其中機器指令碼的最高8位為操作碼。IN為單字長(8位),其余為雙字長指令,XXXXXXXX為addr對應(yīng)的二進制地址碼。2.3數(shù)據(jù)通路圖實驗系統(tǒng)的數(shù)據(jù)通路圖,如圖2.1所示。圖2.1 數(shù)據(jù)通路圖注意:片選信號CE=0為有效電平,CE=1為無效電平。WE=1為寫入,WE=0為讀出

6、。LOAD和LDPC同時為“1”時,可將總線上的數(shù)據(jù)裝入到PC中;LDPC為“1”,同時LOAD為“0”時,將PC中內(nèi)容加1。M=0為算術(shù)運算,M=1為邏輯運算。CN=0表示運算開始時低位有進位,否則低位無進位。圖2.1中包括運算器、存儲器、微控器、輸入設(shè)備、輸出設(shè)備以及寄存器。這些部件的動作控制信號都有微控器根據(jù)微指令產(chǎn)生。需要特別說明的是由機器指令構(gòu)成的程序存放在存儲器中,而每條機器指令對應(yīng)的微程序存儲在微控器中的存儲器中。2.4微指令格式微指令字長共24位,其控制位順序如圖2.2所示。242322212019181716987654321S3S2S1S0MCnwECeLDPCABCuA5

7、uA4uA3uA2uA1uA0B字段121110選擇000001RS-B010RD-B011RI-B100299-B101ALU-B110SW-B111PC-BC字段987選擇000001P(1)010P(2)011P(3)100P(4)101ARA字段151413選擇000001LDRi010LDDR1011LDDR2100LDIR101LOAD110LDAR圖2.2 微指令格式圖其中UA5UA0為下一條微指令微地址,A、B、C為三個譯碼字段,分別由三個控制位譯碼出多種不同控制信號。A字段中的LDRi為打入工作寄存器信號的譯碼器使能控制位。B字段中的RS-B、RD-B、RI-B分別為源寄存器

8、選通信號、目的寄存器選通信號及變址寄存器選通信號,其功能是根據(jù)機器指令來進行三個工作寄存器R0、R1及R2的選通譯碼。C字段中的P(1)P(4)是四個測試字位。其功能是根據(jù)機器指令及相應(yīng)微代碼進行譯碼,使微程序轉(zhuǎn)入相應(yīng)的微地址入口,從而實現(xiàn)微程序的順序、分支、循環(huán)運行,其原理如圖2.3所示。AR為算術(shù)運算是否影響進位及判零標(biāo)志控制位,其為零有效。注意:根據(jù)后面的實驗接線圖,A字段的LDRi與數(shù)據(jù)通路圖中的LDR0為同一個信號。B字段的RS-B與數(shù)據(jù)通路圖中的R0-B為同一個信號。2.5微程序地址的轉(zhuǎn)移本實驗系統(tǒng)的指令寄存器(IR)用來保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時,先把該指令從內(nèi)

9、存取到緩沖寄存器中,然后再傳送至指令寄存器。指令劃分為操作碼和地址碼字段,由二進制數(shù)構(gòu)成,為了執(zhí)行任何給定的指令,必須對操作碼進行測試P(1),通過節(jié)拍脈沖T4的控制以便識別所要求的操作?!爸噶钭g碼器”(實驗板上標(biāo)有“INS DECODE”的芯片)根據(jù)指令中的操作碼譯碼后的結(jié)果,將微控器單元的微地址修改為下一條微指令的地址。SWB地址修改要依靠實驗系統(tǒng)的微程序地址轉(zhuǎn)移電路來完成,該電路如圖2.3所示。圖2.3 微程序地址轉(zhuǎn)移電路注意:FC:進位標(biāo)志FZ:0標(biāo)志SWA、SWB存儲器讀寫控制標(biāo)志P(1)P(4):微指令C字段譯碼輸出結(jié)果I2I7:機器指令第2位第7位。2.6機器指令的寫入、讀出和執(zhí)

10、行為了向RAM中裝入機器指令程序和數(shù)據(jù),檢查寫入是否正確,并能啟動機器指令程序執(zhí)行,還必須設(shè)計三個控制臺操作微程序。存儲器讀操作(KRD):撥動總清開關(guān)CLR(使CLR從101)后,控制臺開關(guān)SWB、SWA置為“0 0”時,按START微動開關(guān),可對RAM連續(xù)手動讀操作。存儲器寫操作(KWE):撥動總清開關(guān)CLR后,控制臺開關(guān)SWB、SWA置為“0 1”時,按START微動開關(guān)可對RAM進行連續(xù)手動寫入。啟動程序:撥動總清開關(guān)CLR后,控制臺開關(guān)SWB、SWA置為“1 1”時,按START微動開關(guān),即可轉(zhuǎn)入到第25號“取指”微指令,啟動程序運行。上述三條控制臺指令用兩個開關(guān)SWB、SWA的狀態(tài)

11、來設(shè)置,其定義如表2-3所示。SWBSWA控制臺指令00讀內(nèi)存(KRD)01寫內(nèi)存(KWE)ll啟動程序(RP)表2-3 控制臺指令三個控制臺操作微程序的流程如圖2.4所示。PC-ARPC+1PC-ARPC+1圖2.4 控制臺操作微程序流程圖控制臺操作為P(4)測試,它以控制臺開關(guān)SWB、SWA作為測試條件,出現(xiàn)了3路分支,占用3個固定微地址單元。當(dāng)分支微地址單元固定后,余下的微指令可以存放在控制存儲器的其他任意單元中。當(dāng)設(shè)計“取指”微指令時,該微指令的判別測試字段為P(1)測試。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的測試結(jié)果出現(xiàn)多路分支。本機用指令寄存器的前6位(I

12、R7IR2)作為測試條件,出5路分支,占用5個固定微地址單元。三、 設(shè)計步驟3.1編寫機器指令設(shè)計各條機器指令代碼及數(shù)據(jù),并為指令和數(shù)據(jù)分配存儲地址。本次設(shè)計機器指令程序如表3-1所示。地址內(nèi)容助記符說明0100 00000000 0000IN“DATA UNIT”中的開關(guān)狀態(tài)R00100 00010001 0000ADD4BHR0+4BH4BH0100 00100100 10110100 00110010 0000OR4CHR0 or 4CHR00100 01000100 11000100 01010011 0000NOR4DH R0 or 4DH R00100 01100100 11010

13、100 01110100 0000OUT4DHBUS0100 10000100 11010100 10010101 0000JMP40H40HPC0100 10100100 00000100 10110011 0001內(nèi)容自定義0100 11000011 0010內(nèi)容自定義0100 11010011 0011內(nèi)容自定義表3-1 本次設(shè)計機器指令程序3.2繪制微程序流程圖根據(jù)每條機器指令的功能,為每條機器指令畫出微程序流程圖,并為其中的每條微指令分配地址。總體微程序流程圖如圖3.1所示。圖3.1 總體微程序流程圖3.3繪制微指令根據(jù)控制位順序圖,可繪制下列微指令表3-2。地址S3S0MCnWEC

14、ELDPCABCuA5uA0KRD000000011101110100000000011110111000000000000000000000KWE000000011110111000000000100000110000RP000000011110111000000000000100000001100101100000101000NOR000000011110111000000000000110000000000000000011000000000000000010000000000110010001101000OUT00000001111011100000000000011000000000

15、0000000000000000表3-2 微指令表3.4連接實驗線路按圖3.2連接實驗線路,仔細查線路無誤后接通電源。圖3.2 實驗接線圖3.5寫指令3.5.1寫微指令將編程開關(guān)置為PROM(編程)狀態(tài)。將實驗板上“STATE UNIT”中的“STEP”置為“STEP”,“STOP”置為“RUN”狀態(tài)。用二進制模擬開關(guān)UA0UA5置微地址MA0MA5。在MK23MK0開關(guān)上置微指令代碼,24位開關(guān)對應(yīng)24位顯示燈,開關(guān)置為“0”時燈亮,開關(guān)置為“l(fā)”時燈滅。啟動時序電路(按動啟動按鈕“START”),即將微代碼寫入到E2PROM 2816的相應(yīng)地址對應(yīng)的單元中。重復(fù)步驟,將表3-2中的微代碼寫

16、入E2PROM 2816。寫完微指令后須進行校驗。將編程開關(guān)設(shè)置為READ(校驗)狀態(tài)。將實驗板的“STEP”開關(guān)置為“STEP”狀態(tài)?!癝TOP”開關(guān)置為“RUN”狀態(tài)。用二進制模擬開關(guān)UA0UA5置好微地址MA0MA5。按動“START”鍵,啟動時序電路,讀出微代碼。觀察顯示燈MD23MD0的狀態(tài)(燈亮為“0”,滅為“1”),檢查讀出的微代碼是否與寫入的相同。如果不同,則將開關(guān)置于PROM編程狀態(tài),重新寫入微指令即可。3.5.2寫機器指令使用圖2.4所示的控制臺KWE和KRD微程序進行機器指令程序的裝入和檢查。使編程開關(guān)處于“RUN”,STEP為“STEP”狀態(tài),STOP為“RUN”狀態(tài)。

17、撥動總清開關(guān)CLR(101),微地址寄存器清零。此時用“DATA UNIT”單元的8位二進制開關(guān)給出要寫入RAM區(qū)的首地址,控制臺SWB、SWA開關(guān)置為“0 1”,按動一次啟動開關(guān)START,微地址顯示燈顯示“”,再按動一次START,微地址燈顯示“”,此時數(shù)據(jù)開關(guān)的內(nèi)容置為要寫入的機器指令,按動一次START鍵,即完成該條指令的寫入。若仔細閱讀KWE的流程,就不難發(fā)現(xiàn),機器指令的首地址只要第一次給入即可,PC會自動加1,所以,每次按動START,只有在微地址燈顯示“時,才設(shè)置內(nèi)容,直到所有機器指令寫完。寫完機器指令后須進行校驗。撥動總清開關(guān)CLR(101)后,微地址清零。此時用“DATA U

18、NIT單元的8位二進制開關(guān)置要讀的RAM區(qū)的首地址,控制臺開關(guān)SWB、 SWA為“0 0”,按動啟動START,微地址燈將顯示“,再按START,微地址燈顯示為“,第三次按START,微地址燈顯示為“”,此時總線單元的顯示燈顯示為該首地址的內(nèi)容。不斷按動START,可檢查后續(xù)單元內(nèi)容,注意:每次僅在微地址燈顯示為“”時,顯示燈的內(nèi)容才是相應(yīng)地址中的機器指令內(nèi)容。四、運行結(jié)果使編程開關(guān)處于“RUN”狀態(tài),STEP為“STEP”狀態(tài),STOP為“RUN”。撥動總清開關(guān)CLR(101),微地址清零。將“DATA UNIT”的8位數(shù)據(jù)開關(guān)(D7D0)設(shè)置為機器指令首地址。按動START啟動鍵,單步運行一條微指令,每按動一次START鍵,即單步運行一條微指令。對照微程序流程圖,觀察微地址顯示燈是否和流程一致。當(dāng)運行結(jié)束后,可檢查存數(shù)單元中的結(jié)果是否和理論值一致。使“STATE UNIT”中的STEP開關(guān)置為“EXEC”狀態(tài)。STOP開關(guān)置為“RUN”狀態(tài)。將“DATA UNIT”的8位二進制開關(guān)設(shè)置為機器指令程序首地址,然后按動START,系統(tǒng)連續(xù)運行程序,稍后將STOP撥至“STOP”時,系統(tǒng)停機。停機后,可檢查存數(shù)單元結(jié)果是否正確。參考文獻1王健,王德君.計算機組成原理實驗指導(dǎo)書M.沈陽工程學(xué)院,20082白中英.計算機組成

溫馨提示

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

評論

0/150

提交評論