版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、評(píng)語:課中檢查完成的題號(hào)及題數(shù): 課后完成的題號(hào)與題數(shù):成績:自評(píng)成績:95實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:1.4 CPU 與簡單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)日期:2015.11.16班級(jí):10011303學(xué)號(hào):2013302534姓名:楊添文1、 實(shí)驗(yàn)?zāi)康模?1) 掌握一個(gè)簡單CPU 的組成原理。(2) 在掌握部件單元電路的基礎(chǔ)上,進(jìn)一步將其構(gòu)造一臺(tái)基本模型計(jì)算機(jī)。(3) 為其定義五條機(jī)器指令,編寫相應(yīng)的微程序,并上機(jī)調(diào)試掌握整機(jī)概念。2、 實(shí)驗(yàn)內(nèi)容:1、 實(shí)驗(yàn)原理:本實(shí)驗(yàn)要實(shí)現(xiàn)一個(gè)簡單的CPU,并且在此CPU 的基礎(chǔ)上,繼續(xù)構(gòu)建一個(gè)簡單的模型計(jì)算機(jī)。CPU 由運(yùn)算器(ALU)、微程序控制器(MC)、通用寄存器(R0)
2、,指令寄存器(IR)、程序計(jì)數(shù)器(PC)和地址寄存器(AR)組成,如圖2-1-1 所示。這個(gè)CPU 在寫入相應(yīng)的微指令后,就具備了執(zhí)行機(jī)器指令的功能,但是機(jī)器指令一般存放在主存當(dāng)中,CPU 必須和主存掛接后,才有實(shí)際的意義,所以還需要在該CPU 的基礎(chǔ)上增加一個(gè)主存和基本的輸入輸出部件,以構(gòu)成一個(gè)簡單的模型計(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,按
3、下CLR 按鈕,將使PC 清零,LDPC 和T2 相與后作為計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘,當(dāng)LOAD 為低時(shí),計(jì)數(shù)時(shí)鐘到來后將CPU 內(nèi)總線上的數(shù)據(jù)打入PC。圖1-4-2 程序計(jì)數(shù)器(PC)原理圖本模型機(jī)和前面微程序控制器實(shí)驗(yàn)相比,新增加一條跳轉(zhuǎn)指令JMP,共有五條指令:IN(輸入)、ADD(二進(jìn)制加法)、OUT(輸出)、JMP(無條件轉(zhuǎn)移),HLT(停機(jī)),其指令格式如下(高位為操作碼):助記符機(jī)器指令碼說明IN0010 0000INR0ADD 0000 0000R0 + R0R0OUT 0011 0000R0OUTJMP addr 1100 0000 * addr PCHLT0101 0000停機(jī)其中
4、JMP 為雙字節(jié)指令,其余均為單字節(jié)指令,*為addr 對應(yīng)的二進(jìn)制地址碼。微程序控制器實(shí)驗(yàn)的指令是通過手動(dòng)給出的,現(xiàn)在要求CPU 自動(dòng)從存儲(chǔ)器讀取指令并執(zhí)行。根據(jù)以上要求,設(shè)計(jì)數(shù)據(jù)通路圖,如圖1-4-3 所示。本實(shí)驗(yàn)在前一個(gè)實(shí)驗(yàn)的基礎(chǔ)上增加了三個(gè)部件,一是PC(程序計(jì)數(shù)器),另一個(gè)是AR(地址寄存器),還有就是MEM(主存)。因而在微指令中應(yīng)增加相應(yīng)的控制位,其微指令格式如表1-4-1 所示。圖1-4-3 數(shù)據(jù)通路圖表1-4-1 微指令格式232221201918-1514-1211-98-65-0M23M22WRRDIOMS3-S0A字段B字段C字段MA5-MA0141312選擇000NO
5、P001LDA010LDB011LDR0100保留101LOAD110LDAR111LDIR141312選擇000NOP001P<1>010保留011保留100保留101LDPC110保留111保留141312選擇000NOP001ALU-B010R0-B011保留100保留101保留110PC-B111保留 系統(tǒng)涉及到的微程序流程見圖1-4-4 所示,當(dāng)擬定“取指”微指令時(shí),該微指令的判別測試字段為P<1>測試。指令譯碼原理見圖1-3-3 所示,由于“取指”微指令是所有微程序都使用的公用微指令,因此P<1> 的測試結(jié)果出現(xiàn)多路分支。本機(jī)用指令寄存器的高6
6、位(IR7IR2)作為測試條件,出現(xiàn)路分支,占用個(gè)固定微地址單元,剩下的其它地方就可以一條微指令占用控存一個(gè)微地址單元隨意填寫,微程序流程圖上的單元地址為16 進(jìn)制。當(dāng)全部微程序設(shè)計(jì)完畢后,應(yīng)將每條微指令代碼化,表1-4-2 即為將圖1-4-2 的微程序流程圖按微指令格式轉(zhuǎn)化而成的“二進(jìn)制微代碼表”。圖1-4-4 簡單模型機(jī)微程序流程圖表1-4-2 二進(jìn)制微代碼表地址十六進(jìn)制高五位S3-S0A字段B字段C 字段MA5-MA00000 00 010000000000000000000000010100 6D 430000000001101101010000110310 70 7000010000
7、01110000011100000400 24 050000000000100100000001010504 B2 010000010010110010000000011D10 51 410001000001010001010000013000 14 040000000000010100000001003218 30 010001100000110000000000013328 04 010010100000000100000000013500 00 350000000000000000001101013C00 6D 5D000000000110110101011101設(shè)計(jì)一段機(jī)器程序,要求從
8、IN 單元讀入一個(gè)數(shù)據(jù),存于R0,將R0 和自身相加,結(jié)果存于R0,再將R0 的值送OUT 單元顯示。根據(jù)要求可以得到如下程序,地址和內(nèi)容均為二進(jìn)制數(shù)。地址 內(nèi)容 助記符 說明0000000000100000; START: IN R0從 IN 單元讀入數(shù)據(jù)送 R00000000100000000; ADD R0,R0R0 和自身相加,結(jié)果送 R00000001000110000; OUT R0R0 的值送 OUT 單元顯示0000001111100000; JMP START跳轉(zhuǎn)至 00H 地址00000100000000000000010101010000; HLT停機(jī)2、 實(shí)驗(yàn)步驟:1.
9、 按圖1-4-5 連接實(shí)驗(yàn)線路。圖1-4-5 實(shí)驗(yàn)接線圖2. 寫入實(shí)驗(yàn)程序,并進(jìn)行校驗(yàn),分兩種方式,手動(dòng)寫入和聯(lián)機(jī)寫入,本次實(shí)驗(yàn)采用聯(lián)機(jī)寫入。聯(lián)機(jī)軟件提供了微程序和機(jī)器程序下載功能,以代替手動(dòng)讀寫微程序和機(jī)器程序,但是微程序和機(jī)器程序得以指定的格式寫入到以TXT 為后綴的文件中,微程序和機(jī)器程序的格式如下:本次實(shí)驗(yàn)程序如下,程序中分號(hào);為注釋符,分號(hào)后面的內(nèi)容在下載時(shí)將被忽略掉:; /*/; / /; / CPU與簡單模型機(jī)實(shí)驗(yàn)指令文件 /; / /; /*/; /* Start Of Main Memory Data */ $P 00 20 ; START: IN R0 從IN單元讀入數(shù)據(jù)送
10、R0 $P 01 00 ; ADD R0,R0 R0和自身相加,結(jié)果送R0 $P 02 30 ; OUT R0 R0的值送OUT單元顯示 $P 03 E0 ; JMP START 跳轉(zhuǎn)至00H地址 $P 04 00 ; $P 05 50 ; HLT 停機(jī); /* End Of Main Memory Data */; /* Start Of MicroController Data */ $M 00 000001 ; NOP $M 01 006D43 ; PC->AR,PC加1 $M 03 107070 ; MEM->IR, P<1> $M 04 002405 ; R0
11、->B $M 05 04B201 ; A加B->R0 $M 1D 105141 ; MEM->PC $M 30 001404 ; R0->A $M 32 183001 ; IN->R0 $M 33 280401 ; R0->OUT $M 35 000035 ; NOP $M 3C 006D5D ; PC->AR,PC加1; /* End Of MicroController Data */選擇聯(lián)機(jī)軟件的“【轉(zhuǎn)儲(chǔ)】【裝載】”功能,在打開文件對話框中選擇上面所保存的文件,軟件自動(dòng)將機(jī)器程序和微程序?qū)懭胫付▎卧?。選擇聯(lián)機(jī)軟件的“【轉(zhuǎn)儲(chǔ)】【刷新指令區(qū)】”可以讀
12、出下位機(jī)所有的機(jī)器指令和微指令,并在指令區(qū)顯示,對照文件檢查微程序和機(jī)器程序是否正確,如果不正確,則說明寫入操作失敗,應(yīng)重新寫入,可以通過聯(lián)機(jī)軟件單獨(dú)修改某個(gè)單元的指令,以修改微指令為例,先用鼠標(biāo)左鍵單擊指令區(qū)的微存TAB 按鈕,然后再單擊需修改單元的數(shù)據(jù),此時(shí)該單元變?yōu)榫庉嬁?,輸? 位數(shù)據(jù)并回車,編輯框消失,并以紅色顯示寫入的數(shù)據(jù)。3. 運(yùn)行程序?qū)C 單元的編程開關(guān)置為運(yùn)行檔,MEM 單元的編程開關(guān)也置為運(yùn)行檔,進(jìn)入軟件界面,選擇菜單命令“【實(shí)驗(yàn)】【簡單模型機(jī)】”,打開簡單模型機(jī)數(shù)據(jù)通路圖。按動(dòng)CON 單元的總清按鈕CLR,然后通過軟件運(yùn)行程序,選擇相應(yīng)的功能命令,即可聯(lián)機(jī)運(yùn)行、監(jiān)控、調(diào)
13、試程序,當(dāng)模型機(jī)執(zhí)行完JMP 指令后,檢查OUT 單元顯示的數(shù)是否為IN 單元值的2 倍。在數(shù)據(jù)通路圖和微程序流中觀測指令的執(zhí)行過程,并觀測軟件中地址總線、數(shù)據(jù)總線以及微指令顯示和下位機(jī)是否一致。3、 項(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。2. 利用修改后的指令系統(tǒng)編寫一段程序,完成十六位二進(jìn)制數(shù)的加減法運(yùn)算。 分析:(1) 根據(jù)ADD指令:R0 + R0R0,就是將寄存器中的數(shù)加兩次,現(xiàn)在題目要求將兩個(gè)不
14、同的數(shù)A與B進(jìn)行相加減,可以另外設(shè)計(jì)一個(gè)方案:A的值還是來自寄存器,但B的值可以設(shè)計(jì)來自于存儲(chǔ)器,即增加存數(shù)、取數(shù)指令,從存儲(chǔ)器中取數(shù),將取出的數(shù)存入運(yùn)算單元。即:1、將R0的值送入ALU的A端; 2、將另一個(gè)數(shù)B存入內(nèi)存中; 具體內(nèi)容為: 從IN單元讀取要存儲(chǔ)的數(shù)據(jù)地址; 將地址送到地址寄存器AR; 從IN單元讀取要存儲(chǔ)的數(shù)據(jù); 將數(shù)據(jù)送到內(nèi)存中的相應(yīng)存儲(chǔ)單元。3、計(jì)算另一個(gè)數(shù)B的內(nèi)存地址;4、利用取數(shù)指令取出相應(yīng)數(shù)B: 具體內(nèi)容為: 從IN單元讀入數(shù)據(jù)的存儲(chǔ)地址; 將存儲(chǔ)地址送至地址寄存器AR; 將取出的數(shù)送至RO。5、寄存器R0中的數(shù)送到ALU的B;6、進(jìn)行加減法運(yùn)算,結(jié)果送回R0;7、
15、連接OUT單元,顯示結(jié)果輸出。(2) 要進(jìn)行兩個(gè)16位的二進(jìn)制數(shù)加減,可以先將兩個(gè)二進(jìn)制數(shù)的高八位與低八位分別存入不同的地址中,接著取出兩個(gè)數(shù)的低八位相加,送到OUT單元顯示,進(jìn)位要進(jìn)行存儲(chǔ);然后進(jìn)行兩個(gè)數(shù)的高八位相加,結(jié)果在數(shù)據(jù)總線顯示,其中,最高位的進(jìn)位忽略。具體操做: 1、根據(jù)已經(jīng)構(gòu)思好的指令變化具體步驟(要添加的指令有STA、LAD、SUB以及需更新的ADD),變化微指令,微指令結(jié)構(gòu)為232221201918-1514-1211-98-65-0M23M22WRRDIOMS3-S0A字段B字段C字段MA5-MA0其中,S3-S0為控制信號(hào),1010表示A+B+CN,1011表示A-B,0
16、000為直通;MA5-MA0為后續(xù)微地址;A、B、C字段分別如下表示:141312選擇 000NOP001LDA010LDB011LDR0100保留101保留110保留111LDIR141312選擇000NOP001ALU-B010R0-B011保留100保留101保留110保留111保留141312選擇000NOP001P<1>010保留011保留100保留101保留110保留111保留 指令譯碼原理圖如下,操做碼00、60、70、80分別映射成微地址為30、36、37、38。畫出微程序流程圖如下: 00 NOP01PC->AR PC+1 02 MEN->IR 30P
17、<1> ADD IN OUT HLT JMP LAD STA SUB 30 32 33 35 3C 37 36 38R0->A IN->R0 RO->OUT NOP PC->AR IN->R0 IN->R0 RO->A 17 PC+1 15 11 2CIN->R0 01 01 01 1D R0->AR R0->AR IN->R0 18 MEM->PC 16 12 2DR0->AR MEM->R0 IN->RO R0->AR 19 01 13 2EMEM->B 01 R0->M
18、EM MEM->B 05 2FA+B->R0 01 A-B->R0 01 01改變后的二進(jìn)制微代碼表為:地址十六進(jìn)制高五位 S3-S0A字段B字段C字段MA5-MA00000 00 0100000 0000 000 000 0000000010100 6D 4200000 0000 110 110 1010000100210 70 7300010 0000 111 000 0010000110305 32 0100000 1010 011 001 0000000011100 64 1200000 0000 110 010 0000100101218 30 1300011 00
19、00 011 000 0000100111320 04 0100100 0000 000 010 0000000011500 64 16 00000 0000 110 010 0000101101610 30 0100010 0000 011 000 0000000011718 30 1800011 0000 011 000 0000110001800 64 1900000 0000 110 010 0000110011910 20 0500010 0000 010 000 0000001011D10 51 4100010 0000 101 000 1010000012C18 30 2D000
20、11 0000 011 000 0001011012D00 64 2E00000 0000 110 010 0001011102E10 20 2F00010 0000 010 000 0001011112F05 B2 0100000 1011 011 001 0000000013000 14 1700000 0000 001 010 0000101113218 30 0100011 0000 011 000 0000000013328 04 0100101 0000 000 010 0000000013500 00 3500000 0000 000 000 0001101013618 30 1
21、100011 0000 011 000 000 0100013718 30 1500011 0000 011 000 0000101013800 14 2C00000 0000 001 010 0001011003C00 6D 5D00000 0000 110 110 1010111014、 具體實(shí)現(xiàn):由設(shè)計(jì)的微程序流程圖,可以很容易寫出以下兩個(gè)16位二進(jìn)制數(shù)的加法程序: ; /* Start Of Main Memory Data */ $P 00 60 ; STA A0 存儲(chǔ)A的低八位 $P 01 60 ; STA B0 存儲(chǔ)B的低八位 $P 02 60 ; STA A1 存儲(chǔ)A的高八位
22、$P 03 60 ; STA B1 存儲(chǔ)B的高八位 $P 04 70 ; LDA A0 取出A的低八位存入R0中 $P 05 00 ; ADD R0,A0,B0 A和B的低八位相加 $P 06 30 ; OUT 低八位相加的結(jié)果在OUT單元輸出顯示 $P 07 70 ; LDA 取出A的高八位存入R0中 $P 08 00 ; ADD R0,A1,B1 A和B的高八位相加 $P 09 50 ; HLT 停機(jī); /* End Of Main Memory Data */; /* Start Of MicroController Data */ $M 00 000001 ;NOP $M 01 006
23、D42 ;PC->AR,PC+1 $M 02 107073 ;MEM->IR, P<1> $M 03 053201 ; $M 11 006412 ;R0->AR $M 12 183013 ;IN->R0 $M 13 200401 ;R0->MEM $M 15 006416 ;R0->AR $M 16 103001 ;MEM->R0 $M 17 183018 ;IN->R0 $M 18 006419 ;R0->AR $M 19 102005 ;MEM->B $M 1D 105141 ;MEM->PC $M 2C 18302D ;IN->R0 $M 2D 00642E ;R0->AR $M 2E 10202F ;MEM->B $
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)環(huán)境下的情緒管理促進(jìn)健康的職場關(guān)系
- 2024施工現(xiàn)場環(huán)境監(jiān)測與治理技術(shù)支持合同2篇
- 客服崗位季度工作計(jì)劃
- 2025年中國功能性近紅外腦成像系統(tǒng)行業(yè)發(fā)展監(jiān)測及發(fā)展趨勢預(yù)測報(bào)告
- 2025年度水電安裝工程節(jié)能環(huán)保材料采購及保修協(xié)議3篇
- 2019-2025年中國氯化鉀緩釋片行業(yè)發(fā)展趨勢預(yù)測及投資戰(zhàn)略咨詢報(bào)告
- 家用醫(yī)療設(shè)備的使用與維護(hù)手冊
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)的企業(yè)級(jí)應(yīng)用案例分析
- 2024-2030年中國抗菌肽獸藥行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃報(bào)告
- 2025年中國帶燈吊架皮帶線行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 監(jiān)理日志表(標(biāo)準(zhǔn)模版)
- 視頻監(jiān)控系統(tǒng)PPT幻燈片課件(PPT 168頁)
- 線纜包覆擠塑模設(shè)計(jì)和原理
- GM∕T 0045-2016 金融數(shù)據(jù)密碼機(jī)技術(shù)規(guī)范
- 人力資源部年度工作計(jì)劃表(超級(jí)詳細(xì)版)
- 《輪機(jī)英語》試題(二三管輪)
- 部編版二年級(jí)語文下冊《蜘蛛開店》
- 北師大二年級(jí)數(shù)學(xué)上教學(xué)反思
- 200m3╱h凈化水處理站設(shè)計(jì)方案
- 空調(diào)系統(tǒng)維保記錄表格模板
- 《數(shù)學(xué)廣角——數(shù)與形》評(píng)課稿
評(píng)論
0/150
提交評(píng)論