CPU與簡單模型機設計試驗_第1頁
CPU與簡單模型機設計試驗_第2頁
CPU與簡單模型機設計試驗_第3頁
CPU與簡單模型機設計試驗_第4頁
CPU與簡單模型機設計試驗_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗項目亥驗目的安驗設備實驗原理CPU與簡單模型機設計實驗實驗時間(1)掌握一個簡單CPU的組成原理。(2)在掌握部件單元電路的基礎上,進一步將其構造一臺基本模型計算機。(3)為其定義五條機器指令,編寫相應的微程序,并上機調(diào)試掌握整機概念。PC機一臺,TD-CMA實驗系統(tǒng)一套2015年11月7日本實驗要實現(xiàn)一個簡單的CPU,并且在此CPU的基礎上,繼續(xù)構建一個簡單的模型計算機。CPU由運算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、計數(shù)器(PC)和地址寄存器(AR)組成,如圖5-1-1所示。這個CPU在寫入相應的微指令后,具備了執(zhí)行機器指令的功能,但是機器指令一

2、般存放在主存當中,CPU必須和主存掛接后,程序就才有以構成一個簡實際的意義,所以還需要在該CPU的基礎上增加一個主存和基本的輸入輸出部件,單的模型計算機。圖5-1-1基本CPU構成原理圖除了程序計數(shù)器(PC),其余部件在前面的實驗中都已用到,在此不再討論。系統(tǒng)的程序計數(shù)器(PC)和地址寄存器(AR)集成在一片CPLD芯片中。CLR連接至CON單元的總清端CLR,按下CLR按鈕,將使PC清零,LDPC和T3相與后作為計數(shù)器的計數(shù)時鐘,當LOAD為低時,計數(shù)時鐘到來后將CPU內(nèi)總線上的數(shù)據(jù)打入PC。如圖5-1-2所示。LOADLDFC;T3CLK圖5-1-2程序計數(shù)器(PC)原理圖本模型機和前面微

3、程序控制器實驗相比,新增加一條跳轉(zhuǎn)指令JMP,共有五條指令:IN(輸入)、ADD(二進制加法)、OUT(輸出)、JMP(無條件轉(zhuǎn)移),HLT(停機),其指令格式如下(高4位為操作碼):助記符機器指令碼說明IN00100000INR0ADD00000000RO+ROTR0OUT00110000RO>OUTJVPaddr11100000*addrTPCHLT01010000停機其中JMP為雙字節(jié)指令,其余均為單字節(jié)指令,*為addr對應的二進制地址碼。微程序控制器實驗的指令是通過手動給出的,現(xiàn)在要求CPU自動從存儲器讀取指令并執(zhí)行。根據(jù)以上要求,設計數(shù)據(jù)通路圖,如圖5-1-3所示。本實驗在前

4、一個實驗的基礎上增加了三個部件,一是PC(程序計數(shù)器),另一個是AR(地址寄存器),還有就是MEM(主存)。因而在微指令中應增加相應的控制位,其微指令格式如表5-1-1所示。圖5-1-3數(shù)據(jù)通路圖232221201918-1514-1211-98-65-0M23M22WKRDIOMS3-SOA字段段C卡段MA5-MA0A字段B字段C字段141312選擇000NOP0Io1LDA010LDBo111LDRO0保留101LOAD11roLDAR11iLDIR1J_10g選擇000NOP00iALU_B010RO_B011保留00保留101保由110PC_B111保留876選擇000NOP001P&

5、lt;1>010保留011保囹100保留101LDPC110保留1X1保留表5-1-1微指令格式系統(tǒng)涉及到的微程序流程見圖5-1-4所示,當擬定?取指?微指令時,該微指令的判別測試字段為P<1>測試。指令譯碼原理見圖3-2-3所示,由于?取指?微指令是所有微程序都使用的公用微指令,因此P<1>的測試結果出現(xiàn)多路分支。本機用指令寄存器的高6位(IR7IR2)作為測試條件,出現(xiàn)5路分支,占用5個固定微地址單元,剩下的其它地方就可以一條微指令占用控存一個微地址單元隨意填寫,微程序流程圖上的單元地址為16進制。PC-AR歸:一H3tP圖5-1-4簡單模型機微程序流程圖PC

6、->ARPCfiUlRO-A地址十六進制高五位S3-S0A字段B字段C字段MA5-MA00000000100000000000000000000000101006D4300000000011011010100001103107070000100000111000001110000040021050000000000100100000001010504B2010000010010110010000000011D1051110001000001010001010000013000110400000000000101000000010032183001000110000011000000000

7、00133280401001010000000010000000001350000350000000000000000001101013C006D5D000000000110110101011101當全部微程序設計完畢后,按微指令格式轉(zhuǎn)化而成的應將每條微指令代碼化,?二進制微代碼表?(表5-1-2即為將圖5-1-4的微程序流程圖表5-1-2二進制微代碼表設計一段機器程序,要求從IN單元讀入一個數(shù)據(jù),存于R0,將R0和自身相加,結果存于R0,再將R0的值送OUT單元顯示。根據(jù)要求可以得到如下程序,地址和內(nèi)容均為二進制數(shù)。地址內(nèi)#助圮符說明0.)00000000100000;START:INR0從

8、儂單元讀入數(shù)據(jù)送R。uC'OOuOQl:'j1j1jL<O;ADDRO,ROR0和自身相加,結果送R00000001000110000;OUTR0R0的值送。二T單元顯示0000001111100000;JKPSTART跳轉(zhuǎn)至DOH地址00000.0000000000VtuGOOulul01010000;HLT停機1 .按圖5-1-5連接實驗線路。2 .寫入實驗程序,并進行校驗,分兩種方式,手動寫入和聯(lián)機寫入。1)手動寫入和校驗(1)手動寫入微程序?qū)r序與操作臺單元的開關KK1谿為停止檔,KK3谿為編程'檔,KK4谿為控存檔,KK5谿為谿數(shù)檔。使用CON單元的SD

9、05SD00給出微地址,IN單元給出低8位應寫入的數(shù)據(jù),連續(xù)兩次按動時序與操作臺的開關ST,將IN單元的數(shù)據(jù)寫到該單元的低8位。將時序與操作臺單元的開關KK5谿為力口1'檔。IN單元給出中8位應寫入的數(shù)據(jù),連續(xù)兩次按動時序與操作臺的開關ST,將IN單元的實驗步驟數(shù)據(jù)寫到該單元的中8位。IN單元給出高8位應寫入的數(shù)據(jù),連續(xù)兩次按動時序與操作臺的開關ST,將IN單元的數(shù)據(jù)寫到該單元的高8位。重復、四步,將表5-1-2的微代碼寫入2816芯片中。(2)手動校驗微程序?qū)r序與操作臺單元的開關KK1谿為停止檔,KK3谿為校驗'檔,KK4谿為控存檔,KK5谿為谿數(shù)檔。使用CON單元的SD0

10、5SD00給出微地址,連續(xù)兩次按動時序與操作臺的開關ST,MC單元的指數(shù)據(jù)指示燈M7M0顯示該單元的低8位。將時序與操作臺單元的開關KK5谿為力口1'檔。連續(xù)兩次按動時序與操作臺的開關ST,MC單元的指數(shù)據(jù)指示燈M15M8顯示該單元的中8位,MC單元的指數(shù)據(jù)指示燈M23M16顯示該單元的高8位。重復、四步,完成對微代碼的校驗。如果校驗出微代碼寫入錯誤,重新寫入、校驗,直至確認微指令的輸入無誤為止。(3)手動寫入機器程序?qū)r序與操作臺單元的開關KK1谿為停止檔,KK3谿為編程檔,KK4谿為主存檔,KK5谿為谿數(shù)檔。使用CON單元的SD07SD00給出地址,IN單元給出該單元應寫入的數(shù)據(jù),

11、連續(xù)兩次按動時序與操作臺的開關ST,將IN單元的數(shù)據(jù)寫到該存儲器單元。將時序與操作臺單元的開關KK5谿為力口1'檔。IN單元給出下一地址(地址自動加1)應寫入的數(shù)據(jù),連續(xù)兩次按動時序與操作臺的開關ST,將IN單元的數(shù)據(jù)寫到該單元中。然后地址會又自加1,只需在IN單元輸入后續(xù)地址的數(shù)據(jù),連續(xù)兩次按動時序與操作臺的開關ST,即可完成對該單元的寫入。亦可重復、兩步,將所有機器指令寫入主存芯片中。(4)手動校驗機器程序?qū)r序與操作臺單元的開關KK1谿為停止檔,KK3谿為校驗檔,KK4谿為主存檔,KK5谿為谿數(shù)檔。使用CON單元的SD07SD00給出地址,連續(xù)兩次按動時序與操作臺的開關ST,CP

12、U內(nèi)總線的指數(shù)據(jù)指示燈D7D0顯示該單元的數(shù)據(jù)。將時序與操作臺單元的開關KK5谿為力口1'檔。連續(xù)兩次按動時序與操作臺的開關ST,地址自動加1,CPU內(nèi)總線的指數(shù)據(jù)指示燈D7D0顯示該單元的數(shù)據(jù)。此后每兩次按動時序與操作臺的開關ST,地址自動加1,CPU內(nèi)總線的指數(shù)據(jù)指示燈D7D0顯示該單元的數(shù)據(jù),繼續(xù)進行該操作,直至完成校驗,如發(fā)現(xiàn)錯誤,則返回寫入,然后校驗,直至確認輸入的所有指令準確無誤。亦可重復、兩步,完成對指令碼的校驗。如果校驗出指令碼寫入錯誤,重新寫入、校驗,直至確認指令碼的輸入無誤為止。2)聯(lián)機寫入和校驗聯(lián)機軟件提供了微程序和機器程序下載功能,以代替手動讀寫微程序和機器程序

13、,但是微程序和機器程序得以指定的格式寫入到以TXT為后綴的文件中,微程序和機器程序的格式如下:機器指令格式說明:SPXXXXTT匚機器指令代碼十六進制地址1機器指令標志微指令格式說明:XXXXXXXXT微指令代碼十六進制地址微指令標志本次實驗程序如下,程序中分號;'為注釋符,分號后面的內(nèi)容在下載時將被忽略掉:/dfd#*±“*Jl-*,*U*T*/CJFD與簡單模型機實驗指令文件/ByTangDlxCO.工HD/*占山0IT:#*/StartOfMainM&mc-ryData*、*、0020;START:INRJ從工M單元讀入數(shù)婚送RU0100fADDP.0,&

14、;0旦©和自導相加,魚吉果送直。二F230;OUTRORC的值送OOT單元顯示OSE0;.JMPSTART跳轉(zhuǎn)至。比地址00;WE95so;HIT停機/4*EndOfMaint*I*moryData*/J4A-3tartOfMicroCont-rollerDataA4*/二兄00000001;NOPSMOuCD43;p二一fjm,pctlDL10707'j,運002405;RO->B*05C4B201;A1HB->ROID105141力300140432183001;IN->RU33二;RO->OUT35::;;NOP3C006D5D;PC-JPC加1

15、/EndOfKicroControllerData'3選擇聯(lián)機軟件的?【轉(zhuǎn)儲】一【裝載】?功能,在打開文件對話框中選擇上面所保存的文件,軟件自動將機器程序和微程序?qū)懭胫付▎卧?。選擇聯(lián)機軟件的?【轉(zhuǎn)儲】一【刷新指令區(qū)】?可以讀出下位機所有的機器指令和微指令,并在指令區(qū)顯示,對照文件檢查微程序和機器程序是否正確,如果不正確,則說明寫入操作失敗,應重新寫入,可以通過聯(lián)機軟件單獨修改某個單元的指令,以修改微指令為例,先用鼠標左鍵單擊指令區(qū)的微存'TAB按鈕,然后再單擊需修改單元的數(shù)據(jù),此時該單元變?yōu)榫庉嬁?,輸?位數(shù)據(jù)并回車,編輯框消失,并以紅色顯示寫入的數(shù)據(jù)。3.運行程序方法一:本機

16、運行將時序與操作臺單元的開關KK1、KK3谿為運行檔,按動CON單元的總清按鈕CLR,將使程序計數(shù)器PC、地址寄存器AR和微程序地址為00H,程序可以從頭開始運行,暫存器A、B,指令寄存器IR和OUT單元也會被清零。將時序與操作臺單元的開關KK2谿為單步檔,每按動一次ST按鈕,即可單步運行一條微指令,對照微程序流程圖,觀察微地址顯示燈是否和流程一致。每運行完一條微指令,觀測一次CPU內(nèi)總線和地址總線,對照數(shù)據(jù)通路圖,分析總線上的數(shù)據(jù)是否正確。當模型機執(zhí)行完JMP指令后,檢查OUT單元顯示的數(shù)是否為IN單元值的2倍,按下CON單元的總清按鈕CLR,改變IN單元的值,再次執(zhí)行機器程序,從OUT單元

17、顯示的數(shù)判別程序執(zhí)行是否正確。方法二:聯(lián)機運行將時序與操作臺單元的開關KK1和KK3谿為運行檔,進入軟件界面,選擇菜單命令?【實驗】一【簡單模型機】?,打開簡單模型機數(shù)據(jù)通路圖。按動CON單元的總清按鈕CLR,然后通過軟件運行程序,選擇相應的功能命令,即可聯(lián)機運行、監(jiān)控、調(diào)試程序,當模型機執(zhí)行完JMP指令后,檢查OUT單元顯示的數(shù)是否為IN單元值的2倍。在數(shù)據(jù)通路圖和微程序流中觀測指令的執(zhí)行過程,并觀測軟件中地址總線、數(shù)據(jù)總線以及微指令顯示和下位機是否一致。時序與操作白單角r-O-fl.r.-j|TIFI1-0毗中元UI.MI:l)t'爾RD啊v.rnI)-OEh"Io-6-

18、O-陽:11岫-O“EH-iiirxQ-opI、Q-o(X伸元LIRR獷展單元CMFl0-O-訓Ai:'YI7XFTXII:xrc流刷總飛o17A7o-n-oain口口一,ri7oit.rn1:I)pfUI不;口:叩IT內(nèi)爐tor.2地kL總出圖5-1-5實驗接線圖實驗結果輸入數(shù)據(jù)助記符機器指令代碼結果備注00010001IN00100000R0=11從IN單元讀入數(shù)據(jù)到R0中ADD00000000R0=22R0和自身相加結果送到R0中OUT00110000OUT=22把R0的數(shù)據(jù)傳送到OUT單元顯示JMP11100000跳轉(zhuǎn)到00H地址HLT01010000停機操作實驗結果如圖所示:結果分析在IN單元中輸入數(shù)據(jù)00010001,使用CON單元的SD27SD20給出指令IN、ADD、OUT、TMP、HLT的數(shù)據(jù)00100000、00000000、00110000、11100000、01010000,連續(xù)按動時序與操作臺的開關ST,觀察電腦中的數(shù)據(jù)通路圖記錄數(shù)據(jù)。(1)當CON單元輸入指令代碼00100000時,數(shù)據(jù)通路圖中IN中的數(shù)據(jù)傳送到R0中,R0中顯示R0=11,實現(xiàn)了從IN單元讀入數(shù)據(jù)傳送到R0中過程。(2)當CON單元輸入指令代碼00000000時,數(shù)據(jù)通路圖中A=11、B=11通過ALU運算器實現(xiàn)自加后

溫馨提示

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

評論

0/150

提交評論