(完整word版)CPU與簡單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告_第1頁
(完整word版)CPU與簡單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余10頁可下載查看

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)報(bào)告CPUCPU 與簡單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)日期: 2015.112015.11實(shí)驗(yàn)?zāi)康模海?)掌握一個(gè)簡單 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è)簡單的 CPU 并且在此 CPU 的基礎(chǔ)上,繼續(xù)構(gòu)建一個(gè)簡單的模型計(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è)簡單的模型計(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)總線上的

3、數(shù)據(jù)打入 PG班級(jí):學(xué)號(hào):姓名:實(shí)驗(yàn)名稱:LOADB7.rB4 B3.,. BO內(nèi)總線內(nèi)總線圖 1-4-2 程序計(jì)數(shù)器(PC)原理圖本模型機(jī)和前面微程序控制器實(shí)驗(yàn)相比,新增加一條跳轉(zhuǎn)指令JMP 共有五條指令:IN(輸入)、ADD(二進(jìn)制加法)、OUT(輸出)、JMP(無條件轉(zhuǎn)移),HLT(停機(jī)),其指令格式如下(高4位為操作碼):助記符機(jī)器指令碼說明IN0010 0000INTR0ADD0000 0000R0 + R0TR0OUT0011 0000R0TOUTJMP addr1100 0000 * addr宀 PCHLT0101 0000停機(jī)其中 JMP 為雙字節(jié)指令,其余均為單字節(jié)指令,*

4、為 addr 對(duì)應(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 所示。朋朋Q0計(jì)數(shù)計(jì)數(shù)H(161)D3DOnTT-D-iLDPCT2CLR01圖 1-4-3 數(shù)據(jù)通路圖系統(tǒng)涉及到的微程序流程見圖1-4-4 所示,當(dāng)擬定“取指”微指令時(shí),該微指令的判別測試字段為 P測試。指令譯碼原理見圖 1-3-3 所示,

5、由于“取指”微指令是所有微程序 都使用的公用微指令,因此 P的測試結(jié)果出現(xiàn)多路分支。本機(jī)用指令寄存器的高 6 位(IR7IR2 )作為測試條件,出現(xiàn)5路分支,占用5個(gè)固定微地址單元,剩下的其它地方就可以 一條微指令占用控存一個(gè)微地址單元隨意填寫,微程序流程圖上的單元地址為16 進(jìn)制。當(dāng)全部微程序設(shè)計(jì)完畢后,應(yīng)將每條微指令代碼化,表 1-4-2 即為將圖 1-4-2 的微程序流程圖按微指令格式轉(zhuǎn)化而成的“二進(jìn)制微代碼表”。00圖 1-4-4 簡單模型機(jī)微程序流程圖表 1-4-2 二進(jìn)制微代碼表地址十六進(jìn)制高五位S3-S0A 字段 B 字段 C 字段MA5-MA00000 00 010000000

6、000000000000000010100 6D 430000000001101101010000110310 70 700001000001110000011100000400 24 050000000000100100000001010504 B2 010000010010110010000000011D10 51 410001000001010001010000013000 14 040000000000010100000001003218 30 0100011000001100000000000128 04 010010100000000100000000013500 00 35000

7、0000000000000001101013C00 6D 5D000000000110110101011101設(shè)計(jì)一段機(jī)器程序, 要求從 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

8、;JMP START跳轉(zhuǎn)至 00H 地址00000100000000000000010101010000;HLT停機(jī)三.實(shí)驗(yàn)步驟:聯(lián)機(jī)寫入和校驗(yàn)聯(lián)機(jī)軟件提供了微程序和機(jī)器程序下載功能,以代替手動(dòng)讀寫微程序和機(jī)器程序,但是微 程序和機(jī)器程序得以指定的格式寫入到以TXT 為后綴的文件中,微程序和機(jī)器程序的格式如下:機(jī)器指令格式說叩:5P XX XX T匚機(jī)器指令代碼-十六進(jìn)制地址-機(jī)器指令標(biāo)忐本次實(shí)驗(yàn)程序如下,程序中分號(hào);為注釋符,分號(hào)后面的內(nèi)容在下載時(shí)將被忽略掉:;*;/;II CPU與簡單模型機(jī)實(shí)驗(yàn)指令文件II;IIII;*;* Start Of Mai n Memory Data *M xx

9、心咖1儆捋令代碼1-十六進(jìn)制地址-燉指令尿忐;* End Of Main Memory Data */* Start Of MicroC on troller Data */;NOP;PC-AR,PC 加 1;MEM-IR, P;R0-B;A 加 B-R0;MEM-PC;R0-A;IN-R0;R0-OUT;NOP;PC-AR,PC 加 1;/* End Of MicroC on troller Data */選擇聯(lián)機(jī)軟件的“【轉(zhuǎn)儲(chǔ)】一【裝載】”功能,在打開文件對(duì)話框中選擇上面所保存 的文件,軟件自動(dòng)將機(jī)器程序和微程序?qū)懭胫付▎卧?。選擇聯(lián)機(jī)軟件的“【轉(zhuǎn)儲(chǔ)】一【刷新指令區(qū)】”可以讀出下位機(jī)所有的機(jī)

10、器指令和微 指令,并在指令區(qū)顯示,對(duì)照文件檢查微程序和機(jī)器程序是否正確,如果不正確,則說明 寫入操作失敗,應(yīng)重新寫入,可以通過聯(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)】一【簡單模型機(jī)】”,打開簡單模型機(jī)數(shù)據(jù)通路圖。按動(dòng) CON 單元的總清按鈕 CLR 然后通過軟件運(yùn)行程序,選擇相應(yīng)的功能命令,即可聯(lián)機(jī) 運(yùn)行、監(jiān)控、

11、調(diào)試程序,當(dāng)模型機(jī)執(zhí)行完 JMP 指令后,檢查 OUT 單元顯示的數(shù)是否為 IN 單 元值的 2 倍。在數(shù)據(jù)通路圖和微程序流中觀測指令的執(zhí)行過程,并觀測軟件中地址總線、 數(shù)據(jù)總線以及微指令顯示和下位機(jī)是否一致。$P 00 20; START: IN RO$P 01 00; ADD R0,R0 RO$P 02 30; OUT R0 R0$P 03 E0 ; JMP START$P 04 00;$P 05 50; HLT從 IN 單元讀入數(shù)據(jù)送 R0和自身相加,結(jié)果送 R0的值送 OU 單元顯示跳轉(zhuǎn)至 00H 地址停機(jī)$M 00 000001$M 01 006D43$M 03 107070$M 0

12、4 002405$M 05 04B201$M 1D 105141$M 30 001404$M 32 183001$M 33 280401$M 35 000035$M 3C 006D5D四、具體實(shí)現(xiàn):打開 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)中

13、;(5)從存儲(chǔ)器中取出第一條指令,并將它存放到IR 中,并進(jìn)行編譯(6 )將存儲(chǔ)器 R0 的 03 值送到 A 和 B 中;(7)啟動(dòng) ALU 運(yùn)算器,執(zhí)行加操作,并將運(yùn)算結(jié)果送往R0 當(dāng)中;cpyAR =( 8 ) 同 樣 從P C 當(dāng) 中 第 三 條 ( 將 運(yùn) 算 結(jié) 果O U T 單 元 顯 示 ) , 取 指 令 流 程 與 上 述 指 令 上 述 類 似 ;1r -CPU1I11 jfjtjnr *1里* H T 亠才!電j- r*5五、項(xiàng)目要求及分析:1、試修改現(xiàn)有的指令系統(tǒng),將加法指令的功能修改為 R0 的內(nèi)容和某個(gè)存儲(chǔ)單元 的內(nèi)容相加;增加存數(shù)、取數(shù)和減法三條機(jī)器指令,指令助

14、記符分別為STA LAD和 SUB 指令操作碼分別為十六進(jìn)制的 60、70 和 80。設(shè)計(jì)流程圖如下:(紅筆為修改的重點(diǎn)部分)地址 十六進(jìn)制咼五位S3-S0 A 字段 B 字段 C 字段MA5-MA00000 00 010000000000000000000000010100 6D 430000000001101101010000110310 70 700001000001110000011100000400 24 050000000000100100000001010400 6D 450000000001101101010001010504 B2 0100000100101100100000

15、00010510 24 060001000000100100000001100604 B2 010000010010110010000000010700 6D 480000000001101101010010000810 24 090001000000100100000010010905 B2 010000010110110010000000010A20 30 010010000000110000000000010B10 04 010001000000000100000000011D10 51 410001000001010001010000013000 14 0400000000000101

16、00000001003218 30 010001100000110000000000013328 04 010010100000000100000000013500 00 350000000000000000001101013600 6D 4A0000000001101101010010103700 6D 4B0000000001101101010010113C00 6D 5D000000000110110101011101六、所遇問題及解決方法:這次實(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)論