CPU 與簡(jiǎn)單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告_第1頁
CPU 與簡(jiǎn)單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告_第2頁
CPU 與簡(jiǎn)單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告_第3頁
CPU 與簡(jiǎn)單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告_第4頁
CPU 與簡(jiǎn)單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:CPU與簡(jiǎn)單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)日期:2015.11班級(jí):學(xué)號(hào):姓名:一、實(shí)驗(yàn)?zāi)康模海?)掌握一個(gè)簡(jiǎn)單CPU的組成原理。(2)在掌握部件單元電路的基礎(chǔ)上,進(jìn)一步將其構(gòu)造一臺(tái)基本模型計(jì)算機(jī)。(3)為其定義五條機(jī)器指令,編寫相應(yīng)的微程序,并上機(jī)調(diào)試掌握整機(jī)概念。二、實(shí)驗(yàn)內(nèi)容:本實(shí)驗(yàn)要實(shí)現(xiàn)一個(gè)簡(jiǎn)單的CPU,并且在此CPU的基礎(chǔ)上,繼續(xù)構(gòu)建一個(gè)簡(jiǎn)單的模型計(jì)算機(jī)。CPU由運(yùn)算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序計(jì)數(shù)器(PC)和地址寄存器(AR)組成,如圖2-1-1所示。這個(gè)CPU在寫入相應(yīng)的微指令后,就具備了執(zhí)行機(jī)器指令的功能,但是機(jī)器指令一般存放

2、在主存當(dāng)中,CPU必須和主存掛接后,才有實(shí)際的意義,所以還需要在該CPU的基礎(chǔ)上增加一個(gè)主存和基本的輸入輸出部件,以構(gòu)成一個(gè)簡(jiǎn)單的模型計(jì)算機(jī)。圖1-4-1基本CPU構(gòu)成原理圖除了程序計(jì)數(shù)器(PC),其余部件在前面的實(shí)驗(yàn)中都已用到,在此不再討論。系統(tǒng)的程序計(jì)數(shù)器(PC)由兩片74LS161和一片74LS245構(gòu)成,其原理如圖1-4-2所示。PC_B為三態(tài)門的輸出使能端,CLR連接至CON單元的總清端CLR,按下CLR按鈕,將使PC清零,LDPC和T2相與后作為計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘,當(dāng)LOAD為低時(shí),計(jì)數(shù)時(shí)鐘到來后將CPU內(nèi)總線上的數(shù)據(jù)打入PC。CPU內(nèi)總線B7.BOLDPCT2CLRLOAD圖1-4

3、-2程序計(jì)數(shù)器(PC)原理圖本模型機(jī)和前面微程序控制器實(shí)驗(yàn)相比,新增加一條跳轉(zhuǎn)指令JMP,共有五條指令:IN(輸入)、ADD(二進(jìn)制加法)、OUT(輸出)、JMP(無條件轉(zhuǎn)移),HLT(停機(jī)),其指令格式如下(高4位為操作碼):說明INR0R0+R0R0R0OUT助記符機(jī)器指令碼IN00100000ADD00000000OUT00110000JMPaddr11000000*addrPCHLT01010000停機(jī)其中JMP為雙字節(jié)指令,其余均為單字節(jié)指令,*為addr對(duì)應(yīng)的二進(jìn)制地址碼。微程序控制器實(shí)驗(yàn)的指令是通過手動(dòng)給出的,現(xiàn)在要求CPU自動(dòng)從存儲(chǔ)器讀取指令并執(zhí)行。根據(jù)以上要求,設(shè)計(jì)數(shù)據(jù)通路圖

4、,如圖1-4-3所示。本實(shí)驗(yàn)在前一個(gè)實(shí)驗(yàn)的基礎(chǔ)上增加了三個(gè)部件,一是PC(程序計(jì)數(shù)器),另一個(gè)是AR(地址寄存器),還有就是MEM(主存)。因而在微指令中應(yīng)增加相應(yīng)的控制位,其微指令格式如表1-4T所示。01圖1-4-3數(shù)據(jù)通路圖系統(tǒng)涉及到的微程序流程見圖1-4-4所示,當(dāng)擬定“取指”微指令時(shí),該微指令的判別測(cè)試字段為P測(cè)試。指令譯碼原理見圖1-3-3所示,由于“取指”微指令是所有微程序都使用的公用微指令,因此P的測(cè)試結(jié)果出現(xiàn)多路分支。本機(jī)用指令寄存器的高6位(IR7IR2)作為測(cè)試條件,出現(xiàn)5路分支,占用5個(gè)固定微地址單元,剩下的其它地方就可以一條微指令占用控存一個(gè)微地址單元隨意填寫,微程序

5、流程圖上的單元地址為16進(jìn)制。當(dāng)全部微程序設(shè)計(jì)完畢后,應(yīng)將每條微指令代碼化,表1-4-2即為將圖1-4-2的微程序流程圖按微指令格式轉(zhuǎn)化而成的“二進(jìn)制微代碼表”。ADDIN3032R0-A04R0-BIN-RO05A加B-R0NOP-00-r于1rPC-AR01PC加1rMEM-IR0330vOUTRO-OUT33HLTNOP3535JMP3CPC-ARPC加1MEM-PC1D圖1-4-4簡(jiǎn)單模型機(jī)微程序流程圖表1-4-2二進(jìn)制微代碼表地址十六進(jìn)制高五位S3-S0A字段B字段C字段MA5-MA00000000100000000000000000000000101006D430000000001

6、1011010100001103107070000100000111000001110000040024050000000000100100000001010504B2010000010010110010000000011D1051410001000001010001010000013000140400000000000101000000010032183001000110000011000000000001280401001010000000010000000001350000350000000000000000001101013C006D5D000000000110110101011101

7、設(shè)計(jì)一段機(jī)器程序,要求從IN單元讀入一個(gè)數(shù)據(jù),存于R0,將R0和自身相加,結(jié)果存于R0,再將R0的值送OUT單元顯示。根據(jù)要求可以得到如下程序,地址和內(nèi)容均為二進(jìn)制數(shù)。地址內(nèi)容助記符說明0000000000100000;START:INR0從IN單元讀入數(shù)據(jù)送R00000000100000000;ADDR0,R0R0和自身相加,結(jié)果送R00000001000110000;OUTR0R0的值送OUT單元顯示0000001111100000;JMPSTART跳轉(zhuǎn)至00H地址00000100000000000000010101010000;HLT停機(jī)三實(shí)驗(yàn)步驟:聯(lián)機(jī)寫入和校驗(yàn)聯(lián)機(jī)軟件提供了微程序和機(jī)

8、器程序下載功能,以代替手動(dòng)讀寫微程序和機(jī)器程序,但是微程序和機(jī)器程序得以指定的格式寫入到以TXT為后綴的文件中,微程序和機(jī)器程序的格式如下:機(jī)器指令格式說明:微指令格式說明:$pXXXXT匚機(jī)器指令代碼十六進(jìn)制地址機(jī)器指令標(biāo)志$MXXXXXXXXT微指令代碼十六進(jìn)制地址微扌旨令標(biāo)志本次實(shí)驗(yàn)程序如下,程序中分號(hào);為注釋符,分號(hào)后面的內(nèi)容在下載時(shí)將被忽略掉:TOC o 1-5 h z/*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4/CPU與簡(jiǎn)單模型機(jī)實(shí)驗(yàn)指令文件/*4*4*4*4*4*4*4*4*4*4*4*4*4*4*

9、4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*4*A*A*A*A*A*A*/*StartOfMainMemoryData*/$P0020;START:INR0從IN單元讀入數(shù)據(jù)送R0$P0100;ADDR0,R0R0和自身相加,結(jié)果送R0$P0230;OUTR0R0的值送OUT單元顯示$P03E0;JMPSTART跳轉(zhuǎn)至00H地址$P0400$P0550;HLT停機(jī)/*EndOfMainMemoryData*/*StartOfMicroControllerData*/$M00000001$M01006D43$M03107070$M04002405$M0504B201$M1D1

10、05141$M30001404$M32183001$M33280401$M35000035$M3C006D5DNOPPC-AR,PC加1MEMIR,PR0-BA加B-R0MEM-PCR0-AIN-R0R0-OUTNOPPC-AR,PC加1;/*EndOfMicroControllerData*/選擇聯(lián)機(jī)軟件的“【轉(zhuǎn)儲(chǔ)】一【裝載】”功能,在打開文件對(duì)話框中選擇上面所保存的文件,軟件自動(dòng)將機(jī)器程序和微程序?qū)懭胫付▎卧_x擇聯(lián)機(jī)軟件的“【轉(zhuǎn)儲(chǔ)】一【刷新指令區(qū)】”可以讀出下位機(jī)所有的機(jī)器指令和微指令,并在指令區(qū)顯示,對(duì)照文件檢查微程序和機(jī)器程序是否正確,如果不正確,則說明寫入操作失敗,應(yīng)重新寫入,可以

11、通過聯(lián)機(jī)軟件單獨(dú)修改某個(gè)單元的指令,以修改微指令為例,先用鼠標(biāo)左鍵單擊指令區(qū)的微存TAB按鈕,然后再單擊需修改單元的數(shù)據(jù),此時(shí)該單元變?yōu)榫庉嬁?,輸?位數(shù)據(jù)并回車,編輯框消失,并以紅色顯示寫入的數(shù)據(jù)。運(yùn)行程序聯(lián)機(jī)運(yùn)行將MC單元的編程開關(guān)置為運(yùn)行檔,MEM單元的編程開關(guān)也置為運(yùn)行檔,進(jìn)入軟件界面,選擇菜單命令“【實(shí)驗(yàn)】一【簡(jiǎn)單模型機(jī)】”,打開簡(jiǎn)單模型機(jī)數(shù)據(jù)通路圖。按動(dòng)CON單元的總清按鈕CLR,然后通過軟件運(yùn)行程序,選擇相應(yīng)的功能命令,即可聯(lián)機(jī)運(yùn)行、監(jiān)控、調(diào)試程序,當(dāng)模型機(jī)執(zhí)行完JMP指令后,檢查OUT單元顯示的數(shù)是否為IN單元值的2倍。在數(shù)據(jù)通路圖和微程序流中觀測(cè)指令的執(zhí)行過程,并觀測(cè)軟件中地

12、址總線、數(shù)據(jù)總線以及微指令顯示和下位機(jī)是否一致。四、具體實(shí)現(xiàn):(1)打開IN單元,輸入操作數(shù)(以03為例),啟動(dòng)程序計(jì)數(shù)器(PC),然后自動(dòng)啟動(dòng)加1操作,將指令地址放到地址寄存器(AR)(2)從存儲(chǔ)器當(dāng)中讀取指令,并將它存到指令寄存器(IR)當(dāng)中,然后對(duì)指令進(jìn)行編譯處理,形成控制信號(hào),來控制各個(gè)部件的工作;(3)啟動(dòng)讀操作,將IN單元當(dāng)中的操作數(shù)(03)讀到R0寄存器中(4)接著從PC中取出第二條指令的地址,并自動(dòng)加1,并將它存放到AR當(dāng)中;(5)從存儲(chǔ)器中取出第一條指令,并將它存放到IR中,并進(jìn)行編譯(6)將存儲(chǔ)器R0的03值送到A和B中MEM71CPUr(7)啟動(dòng)ALU運(yùn)算器,執(zhí)行加操作,

13、并將運(yùn)算結(jié)果送往RO當(dāng)中;CPU=TT1廠1TS1H.JlI.;,;lh;Na;LLih曲1(8)同樣從PC當(dāng)中第三條(將運(yùn)算結(jié)果OUT單元顯示),取指令流程與上述指令上述類似;rp旳WA-*lljIDA*Finn弓CPU五、項(xiàng)目要求及分析:1、試修改現(xiàn)有的指令系統(tǒng),將加法指令的功能修改為R0的內(nèi)容和某個(gè)存儲(chǔ)單元的內(nèi)容相加;增加存數(shù)、取數(shù)和減法三條機(jī)器指令,指令助記符分別為STA、LAD和SUB,指令操作碼分別為十六進(jìn)制的60、70和80。設(shè)計(jì)流程圖如下:(紅筆為修改的重點(diǎn)部分)地址十六進(jìn)制咼五位S3-S0A字段B字段C字段MA5-MA00000000100000000000000000000

14、000101006D43000000000110110101000011031070700001000001110000011100000400240500000000001001000000010104006D450000000001101101010001010504B201000001001011001000000001051024060001000000100100000001100604B20100000100101100100000000107006D48000000000110110101001000081024090001000000100100000010010905B201

15、0000010110110010000000010A2030010010000000110000000000010B1004010001000000000100000000011D1051410001000001010001010000013000140400000000000101000000010032183001000110000011000000000001332804010010100000000100000000013500003500000000000000000011010136006D4A00000000011011010100101037006D4B0000000001101101010010113C006D5D000000000110110101011101六、所遇問題及解決方法:這次實(shí)驗(yàn)含有部分的驗(yàn)證性實(shí)驗(yàn),此部分與以往無較大差別,較為好做,易于完成。但同時(shí)此實(shí)驗(yàn)還含有難度較高的設(shè)計(jì)性部分,因而做起來較為頭痛辛苦。在設(shè)計(jì)程序流程圖時(shí)遇到很多困難,在編程時(shí)亦遇到匯編語言和

溫馨提示

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

評(píng)論

0/150

提交評(píng)論