計(jì)算機(jī)組織與體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告_第1頁(yè)
計(jì)算機(jī)組織與體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告_第2頁(yè)
計(jì)算機(jī)組織與體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告_第3頁(yè)
計(jì)算機(jī)組織與體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告_第4頁(yè)
計(jì)算機(jī)組織與體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)組織與體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告學(xué) 號(hào): XXX姓 名: XXX班 級(jí): XXX指導(dǎo)教師: XXX時(shí) 間: 2013年01月中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院目錄一 基本運(yùn)算器實(shí)驗(yàn) 2 1、實(shí)驗(yàn)?zāi)康?2 2、實(shí)驗(yàn)設(shè)備 2 3、實(shí)驗(yàn)原理 2 4、實(shí)驗(yàn)步驟 3 5、實(shí)驗(yàn)結(jié)果 5 5、實(shí)驗(yàn)體會(huì) 5二 微程序控制實(shí)驗(yàn) 6 1、實(shí)驗(yàn)?zāi)康?6 2、實(shí)驗(yàn)設(shè)備 6 3、實(shí)驗(yàn)原理 6 4、實(shí)驗(yàn)步驟 12 5、實(shí)驗(yàn)體會(huì) 13三 CPU與簡(jiǎn)單模型機(jī)設(shè)計(jì)實(shí)驗(yàn) 13 1、實(shí)驗(yàn)?zāi)康?13 2、實(shí)驗(yàn)設(shè)備 13 3、實(shí)驗(yàn)原理 13 4、實(shí)驗(yàn)步驟 18 5、實(shí)驗(yàn)流圖 21 6、實(shí)驗(yàn)體會(huì) 25實(shí)驗(yàn)一 基本運(yùn)算器實(shí)驗(yàn)1. 實(shí)驗(yàn)?zāi)康?(1) 了解運(yùn)

2、算器的組成結(jié)構(gòu)。 (2) 掌握運(yùn)算器的工作原理。2. 實(shí)驗(yàn)設(shè)備 PC機(jī)一臺(tái),TD-CMA實(shí)驗(yàn)系統(tǒng)一套。3. 實(shí)驗(yàn)原理本實(shí)驗(yàn)的原理如下圖所示:運(yùn)算器內(nèi)部含有三個(gè)獨(dú)立運(yùn)算部件,分別為算術(shù)、邏輯和移位運(yùn)算部件,要處理的數(shù)據(jù)存于暫存器A和暫存器B,三個(gè)部件同時(shí)接受來(lái)自A和B的數(shù)據(jù)(有些處理器體系結(jié)構(gòu)把移位運(yùn)算器放于算術(shù)和邏輯運(yùn)算部件之前,如ARM),各部件對(duì)操作數(shù)進(jìn)行何種運(yùn)算由控制信號(hào)S3S0和CN來(lái)決定,任何時(shí)候,多路選擇開(kāi)關(guān)只選擇三部件中一個(gè)部件的結(jié)果作為ALU的輸出。如果是影響進(jìn)位的運(yùn)算,還將置進(jìn)位標(biāo)志FC,在運(yùn)算結(jié)果輸出前,置ALU零標(biāo)志。ALU中所有模塊集成在一片F(xiàn)PGA中。 邏輯運(yùn)算部件由

3、邏輯門構(gòu)成,較為簡(jiǎn)單,而后面又有專門的算術(shù)運(yùn)算部件設(shè)計(jì)實(shí)驗(yàn),在此對(duì)這兩個(gè)部件不再贅述。移位運(yùn)算采用的是桶形移位器,一般采用交叉開(kāi)關(guān)矩陣來(lái)實(shí)現(xiàn),交叉開(kāi)關(guān)的原理如圖1-1-2所示。圖中顯示的是一個(gè)4X4的矩陣(系統(tǒng)中是一個(gè)8X8的矩陣)。每一個(gè)輸入都通過(guò)開(kāi)關(guān)與一個(gè)輸出相連,把沿對(duì)角線的開(kāi)關(guān)導(dǎo)通,就可實(shí)現(xiàn)移位功能,即: (1) 對(duì)于邏輯左移或邏輯右移功能,將一條對(duì)角線的開(kāi)關(guān)導(dǎo)通,這將所有的輸入位與所使用的輸出分別相連,而沒(méi)有同任何輸入相連的則輸出連接0。 (2) 對(duì)于循環(huán)右移功能,右移對(duì)角線同互補(bǔ)的左移對(duì)角線一起激活。例如,在4位矩陣中使用右1和左3對(duì)角線來(lái)實(shí)現(xiàn)右循環(huán)1位。(3) 對(duì)于未連接的輸出位

4、,移位時(shí)使用符號(hào)擴(kuò)展或是0填充,具體由相應(yīng)的指令控制。使用另外的邏輯進(jìn)行移位總量譯碼和符號(hào)判別。運(yùn)算器邏輯功能表4. 實(shí)驗(yàn)步驟(1) 按圖所示連接實(shí)驗(yàn)電路,并檢查無(wú)誤。(2) 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān)KK2置為單拍檔,開(kāi)關(guān)KK1、KK3置為運(yùn)行檔。 (3) 打開(kāi)電源開(kāi)關(guān),如果聽(tīng)到有嘀報(bào)警聲,說(shuō)明有總線競(jìng)爭(zhēng)現(xiàn)象,應(yīng)立即關(guān)閉電源,重新檢查接線,直到錯(cuò)誤排除。然后按動(dòng)CON單元的CLR按鈕,將運(yùn)算器的A、B和FC、FZ清零。 (4) 用輸入開(kāi)關(guān)向暫存器A置數(shù)。 撥動(dòng)CON單元的SD27SD20數(shù)據(jù)開(kāi)關(guān),形成二進(jìn)制數(shù)01100101(或其它數(shù)值),數(shù)據(jù)顯示亮為1,滅為0。 置LDA=1,LDB=0,連

5、續(xù)按動(dòng)時(shí)序單元的ST按鈕,產(chǎn)生一個(gè)T4上沿,則將二進(jìn)制數(shù)01100101置入暫存器A中,暫存器A的值通過(guò)ALU單元的A7A0八位LED燈顯示。 (5) 用輸入開(kāi)關(guān)向暫存器B置數(shù)。 撥動(dòng)CON單元的SD27SD20數(shù)據(jù)開(kāi)關(guān),形成二進(jìn)制數(shù)10100111(或其它數(shù)值)。 置LDA=0,LDB=1,連續(xù)按動(dòng)時(shí)序單元的ST按鈕,產(chǎn)生一個(gè)T4上沿,則將二進(jìn)制數(shù)10100111 置入暫存器B中,暫存器B的值通過(guò)ALU單元的B7B0八位LED燈顯示。(6) 改變運(yùn)算器的功能設(shè)置,觀察運(yùn)算器的輸出。置ALU_B=0、LDA=0、LDB=0,然后按表1-1-1置S3、S2、S1、S0和Cn的數(shù)值,并觀察數(shù)據(jù)總線

6、LED顯示燈顯示的結(jié)果。如置S3、S2、S1、S0為0010,運(yùn)算器作邏輯與運(yùn)算,置S3、S2、S1、S0為1001,運(yùn)算器作加法運(yùn)算。實(shí)驗(yàn)箱和PC聯(lián)機(jī)操作,可通過(guò)軟件中的數(shù)據(jù)通路圖來(lái)觀測(cè)實(shí)驗(yàn)結(jié)果,方法是:打開(kāi)軟件,選擇聯(lián)機(jī)軟件的“【實(shí)驗(yàn)】【運(yùn)算器實(shí)驗(yàn)】”,打開(kāi)運(yùn)算器實(shí)驗(yàn)的數(shù)據(jù)通路圖,如圖1-1-6所示。進(jìn)行上面的手動(dòng)操作,每按動(dòng)一次ST按鈕,數(shù)據(jù)通路圖會(huì)有數(shù)據(jù)的流動(dòng),反映當(dāng)前運(yùn)算器所做的操作,或在軟件中選擇“【調(diào)試】【單節(jié)拍】”,其作用相當(dāng)于將時(shí)序單元的狀態(tài)開(kāi)關(guān)KK2置為單拍檔后按動(dòng)了一次ST按鈕,數(shù)據(jù)通路圖也會(huì)反映當(dāng)前運(yùn)算器所做的操作。 數(shù)據(jù)通路圖5. 實(shí)驗(yàn)結(jié)果運(yùn)算類型ABS3 S2 S1

7、 S0CN結(jié)果邏輯結(jié)果65A70 0 0 0XF=(65) FC=( 0 ) FZ=( 0 )65A70 0 0 1XF=(A7) FC=( 0 ) FZ=( 0 )65A70 0 1 0XF=(25) FC=( 0 ) FZ=( 0 )65A70 0 1 1XF=(E7) FC=( 0 ) FZ=( 0 )65A70 1 0 0XF=(9A) FC=( 0 ) FZ=( 0 )移位運(yùn)算65A70 1 0 1XF=(CA) FC=( 0 ) FZ=( 0 )65A70 1 1 00F=(32) FC=( 0 ) FZ=( 0 )1F=(B2) FC=( 1 ) FZ=( 0 )65A70 1

8、1 10F=(CA) FC=( 1 ) FZ=( 0 )1F=(CA) FC=( 0 ) FZ=( 0 )算術(shù)運(yùn)算65A71 0 0 0XF=(65) FC=( 1 ) FZ=( 0 )65A71 0 0 1XF=(0C) FC=( 1 ) FZ=( 0 )65A71 0 1 0(FC=0)XF=(0C) FC=( 1 ) FZ=( 0 )1 0 1 0(FC=1)XF=(0D) FC=( 1 ) FZ=( 0 )65A71 0 1 1XF=(BE) FC=( 0 ) FZ=( 0 )65A71 1 0 0XF=(64) FC=( 0 ) FZ=( 0 )65A71 1 0 1XF=(66)

9、FC=( 0 ) FZ=( 0 )6. 實(shí)驗(yàn)體會(huì)這個(gè)實(shí)驗(yàn)是我們第一次接觸這個(gè)試驗(yàn)箱,剛開(kāi)始還是有些陌生,但是好在本次試驗(yàn)比較簡(jiǎn)單,在弄懂原理之后根據(jù)試驗(yàn)連線圖很快的就把線連接好了。在實(shí)驗(yàn)中,我通過(guò)和同學(xué)的探討,弄懂了各個(gè)運(yùn)算的實(shí)現(xiàn)原理和步驟,知道每個(gè)數(shù)據(jù)的用法。在實(shí)驗(yàn)中還是遇到了一些小問(wèn)題,那就是帶進(jìn)位循環(huán)移位和不帶進(jìn)位循環(huán)移位,經(jīng)過(guò)和同學(xué)探討還是解決了這一問(wèn)題。通過(guò)此次實(shí)驗(yàn)過(guò)程,我了解了計(jì)算機(jī)的主要的功能就是處理各種算數(shù)和邏輯運(yùn)算,而這個(gè)功能是由CPU的運(yùn)算器來(lái)完成。雖然我們計(jì)算機(jī)組織與體系結(jié)構(gòu)這門課已經(jīng)結(jié)束,但這更加加深了我對(duì)計(jì)算機(jī)內(nèi)部結(jié)構(gòu)的理解,對(duì)今后的學(xué)習(xí)和生活有很大的幫助。實(shí)驗(yàn)二 微

10、程序控制器實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?(1) 掌握微程序控制器的組成原理。 (2) 掌握微程序的編制、寫入,觀察微程序的運(yùn)行過(guò)程。 2、實(shí)驗(yàn)設(shè)備 PC機(jī)一臺(tái),TD-CMA實(shí)驗(yàn)系統(tǒng)一套。 3、實(shí)驗(yàn)原理微程序控制器的基本任務(wù)是完成當(dāng)前指令的翻譯和執(zhí)行,即將當(dāng)前指令的功能轉(zhuǎn)換成可以控制的硬件邏輯部件工作的微命令序列,完成數(shù)據(jù)傳送和各種處理操作。它的執(zhí)行方法就是將控制各部件動(dòng)作的微命令的集合進(jìn)行編碼,即將微命令的集合仿照機(jī)器指令一樣,用數(shù)字代碼的形式表示,這種表示稱為微指令。這樣就可以用一個(gè)微指令序列表示一條機(jī)器指令,這種微指令序列稱為微程序。微程序存儲(chǔ)在一種專用的存儲(chǔ)器中,稱為控制存儲(chǔ)器,微程序控制器原理框圖

11、如圖3-2-1所示??刂破魇菄?yán)格按照系統(tǒng)時(shí)序來(lái)工作的,因而時(shí)序控制對(duì)于控制器的設(shè)計(jì)是非常重要的,從前面的實(shí)驗(yàn)可以很清楚地了解時(shí)序電路的工作原理,本實(shí)驗(yàn)所用的時(shí)序由時(shí)序單元來(lái)提供,分為四拍TS1、TS2、TS3、TS4。 微程序控制器的組成見(jiàn)圖3-2-2,其中控制存儲(chǔ)器采用3片2816的E2PROM,具有掉電保護(hù)功能,微命令寄存器18位,用兩片8D觸發(fā)器(273)和一片4D(175)觸發(fā)器組成。微地址寄存器6位,用三片正沿觸發(fā)的雙D觸發(fā)器(74)組成,它們帶有清“0”端和預(yù)置端。在不判別測(cè)試的情況下,T2時(shí)刻打入微地址寄存器的內(nèi)容即為下一條微指令地址。當(dāng)T4時(shí)刻進(jìn)行測(cè)試判別時(shí),轉(zhuǎn)移邏輯滿足條件后

12、輸出的負(fù)脈沖通過(guò)強(qiáng)置端將某一觸發(fā)器置為“1”狀態(tài),完成地址修改。 在實(shí)驗(yàn)平臺(tái)中設(shè)有一組編程控制開(kāi)關(guān)KK3、KK4、KK5(位于時(shí)序與操作臺(tái)單元),可實(shí)現(xiàn)對(duì)存儲(chǔ)器(包括存儲(chǔ)器和控制存儲(chǔ)器)的三種操作:編程、校驗(yàn)、運(yùn)行??紤]到對(duì)于存儲(chǔ)器(包括存儲(chǔ)器和控制存儲(chǔ)器)的操作大多集中在一個(gè)地址連續(xù)的存儲(chǔ)空間中,實(shí)驗(yàn)平臺(tái)提供了便利的手動(dòng)操作方式。以向00H單元中寫入332211為例,對(duì)于控制存儲(chǔ)器進(jìn)行編輯的具體操作步驟如下:首先將KK1撥至停止檔、KK3撥至編程檔、KK4撥至控存檔、KK5撥至置數(shù)檔,由CON單元的SD05SD00開(kāi)關(guān)給出需要編輯的控存單元首地址(000000),IN單元開(kāi)關(guān)給出該控存單元數(shù)

13、據(jù)的低8位(00010001),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)單元的開(kāi)關(guān)ST(第一次按動(dòng)后MC單元低8位顯示該單元以前存儲(chǔ)的數(shù)據(jù),第二次按動(dòng)后顯示當(dāng)前改動(dòng)的數(shù)據(jù)),此時(shí)MC單元的指示燈MA5MA0顯示當(dāng)前地址(000000),M7M0顯示當(dāng)前數(shù)據(jù)(00010001)。然后將KK5撥至加1檔,IN單元開(kāi)關(guān)給出該控存單元數(shù)據(jù)的中8位(00100010),連續(xù)兩次按動(dòng)開(kāi)關(guān)ST,完成對(duì)該控存單元中8位數(shù)據(jù)的修改,此時(shí)MC單元的指示燈MA5MA0顯示當(dāng)前地址(000000),M15M8顯示當(dāng)前數(shù)據(jù)(00100010);再由IN單元開(kāi)關(guān)給出該控存單元數(shù)據(jù)的高8位(00110011),連續(xù)兩次按動(dòng)開(kāi)關(guān)ST,完成對(duì)

14、該控存單元高8位數(shù)據(jù)的修改此時(shí)MC單元的指示燈MA5MA0顯示當(dāng)前地址(000000),M23M16顯示當(dāng)前數(shù)據(jù)(00110011)。此時(shí)被編輯的控存單元地址會(huì)自動(dòng)加1(01H),由IN單元開(kāi)關(guān)依次給出該控存單元數(shù)據(jù)的低8位、中8位和高8位配合每次開(kāi)關(guān)ST的兩次按動(dòng),即可完成對(duì)后續(xù)單元的編輯。編輯完成后需進(jìn)行校驗(yàn),以確保編輯的正確。以校驗(yàn)00H單元為例,對(duì)于控制存儲(chǔ)器進(jìn)行校驗(yàn)的具體操作步驟如下:首先將KK1撥至停止檔、KK3撥至校驗(yàn)檔、KK4撥至控存檔、KK5撥至置數(shù)檔。由CON單元的SD05SD00開(kāi)關(guān)給出需要校驗(yàn)的控存單元地址(000000),連續(xù)兩次按動(dòng)開(kāi)關(guān)ST,MC單元指示燈M7M0顯

15、示該單元低8位數(shù)據(jù)(00010001);KK5撥至加1檔,再連續(xù)兩次按動(dòng)開(kāi)關(guān)ST,MC單元指示燈M15M8顯示該單元中8位數(shù)據(jù)(00100010);再連續(xù)兩次按動(dòng)開(kāi)關(guān)ST,MC單元指示燈M23M16顯示該單元高8位數(shù)據(jù)(00110011)。再連續(xù)兩次按動(dòng)開(kāi)關(guān)ST,地址加1,MC單元指示燈M7M0顯示01H單元低8位數(shù)據(jù)。如校驗(yàn)的微指令出錯(cuò),則返回輸入操作,修改該單元的數(shù)據(jù)后再進(jìn)行校驗(yàn),直至確認(rèn)輸入的微代碼全部準(zhǔn)確無(wú)誤為止,完成對(duì)微指令的輸入。位于實(shí)驗(yàn)平臺(tái)MC單元左上角一列三個(gè)指示燈MC2、MC1、MC0用來(lái)指示當(dāng)前操作的微程序字段,分別對(duì)應(yīng)M23M16、M15M8、M7M0。實(shí)驗(yàn)平臺(tái)提供了比較

16、靈活的手動(dòng)操作方式,比如在上述操作中在對(duì)地址置數(shù)后將開(kāi)關(guān)KK4撥至減1檔,則每次隨著開(kāi)關(guān)ST的兩次撥動(dòng)操作,字節(jié)數(shù)依次從高8位到低8位遞減,減至低8位后,再按動(dòng)兩次開(kāi)關(guān)ST,微地址會(huì)自動(dòng)減一,繼續(xù)對(duì)下一個(gè)單元的操作。 微指令字長(zhǎng)共24位,控制位順序如表3-2-1:其中MA5MA0為6位的后續(xù)微地址,A、B、C為三個(gè)譯碼字段,分別由三個(gè)控制位譯碼出多位。C字段中的P為測(cè)試字位。其功能是根據(jù)機(jī)器指令及相應(yīng)微代碼進(jìn)行譯碼,使微程序轉(zhuǎn)入相應(yīng)的微地址入口,從而實(shí)現(xiàn)完成對(duì)指令的識(shí)別,并實(shí)現(xiàn)微程序的分支,本系統(tǒng)上的指令譯碼原理如圖3-2-3所示,圖中I7I2為指令寄存器的第72位輸出,SE5SE0為微控器單

17、元微地址鎖存器的強(qiáng)置端輸出,指令譯碼邏輯在IR單元的INS_DEC(GAL20V8)中實(shí)現(xiàn)。本實(shí)驗(yàn)除了用到指令寄存器(IR)和通用寄存器R0外,還要用到IN和OUT單元,從微控器出來(lái)的信號(hào)中只有IOM、WR和RD三個(gè)信號(hào),所以對(duì)這兩個(gè)單元的讀寫信號(hào)還應(yīng)先經(jīng)過(guò)譯碼,其譯碼原理如圖3-2-4所示。IR單元的原理圖如圖3-2-5所示,R0單元原理如圖3-2-7所示,IN單元的原理圖見(jiàn)圖2-1-3所示,OUT單元的原理圖見(jiàn)圖3-2-6所示。 本實(shí)驗(yàn)安排了四條機(jī)器指令,分別為ADD(0000 0000)、IN(0010 0000)、OUT(0011 0000)和HLT(0101 0000),括號(hào)中為各指

18、令的二進(jìn)制代碼,指令格式如下:實(shí)驗(yàn)中機(jī)器指令由CON單元的二進(jìn)制開(kāi)關(guān)手動(dòng)給出,其余單元的控制信號(hào)均由微程序控制器自動(dòng)產(chǎn)生,為此可以設(shè)計(jì)出相應(yīng)的數(shù)據(jù)通路圖,見(jiàn)圖3-2-8所示。幾條機(jī)器指令對(duì)應(yīng)的參考微程序流程圖如圖3-2-9所示。圖中一個(gè)矩形方框表示一條微令,方框中的內(nèi)容為該指令執(zhí)行的微操作,右上角的數(shù)字是該條指令的微地址,右下角的數(shù)字是該條指令的后續(xù)微地址,所有微地址均用16進(jìn)制表示。向下的箭頭指出了下一條要執(zhí)行的指令。P為測(cè)試字,根據(jù)條件使微程序產(chǎn)生分支。將全部微程序按微指令格式變成二進(jìn)制微代碼,可得到表3-2-2的二進(jìn)制代碼表。4、實(shí)驗(yàn)步驟1. 按圖3-2-10所示連接實(shí)驗(yàn)線路,仔細(xì)查線無(wú)

19、誤后接通電源。如果有滴報(bào)警聲,說(shuō)明總線有競(jìng)爭(zhēng)現(xiàn)象,應(yīng)關(guān)閉電源,檢查接線,直到錯(cuò)誤排除。2. 對(duì)微控器進(jìn)行讀寫操作,手動(dòng)讀寫。 (1) 手動(dòng)對(duì)微控器進(jìn)行編程(寫) 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān)KK1置為停止檔,KK3置為編程檔,KK4置為控存檔,KK5置為置數(shù)檔。 使用CON單元的SD05SD00給出微地址,IN單元給出低8位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān)ST,將IN單元的數(shù)據(jù)寫到該單元的低8位。 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān)KK5置為加1檔。 IN單元給出中8位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān)ST,將IN單元的數(shù)據(jù)寫到該單元的中8位。IN單元給出高8位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按

20、動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān)ST,將IN單元的數(shù)據(jù)寫到該單元的高8位。 重復(fù)、四步,將表3-2-2的微代碼寫入2816芯片中。 (2) 手動(dòng)對(duì)微控器進(jìn)行校驗(yàn)(讀) 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān)KK1置為停止檔,KK3置為校驗(yàn)檔,KK4置為控存檔,KK5置為置數(shù)檔。 使用CON單元的SD05SD00給出微地址,連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān)ST,MC單元的指數(shù)據(jù)指示燈 M7M0顯示該單元的低8位。 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān)KK5置為加1檔。 連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān)ST,MC單元的指數(shù)據(jù)指示燈 M15M8顯示該單元的中8位,MC單元的指數(shù)據(jù)指示燈 M23M16顯示該單元的高8位。 重復(fù)、四步,完成對(duì)微

21、代碼的校驗(yàn)。如果校驗(yàn)出微代碼寫入錯(cuò)誤,重新寫入、校驗(yàn),直至確認(rèn)微指令的輸入無(wú)誤為止。3. 運(yùn)行微程序 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān)KK1、KK3置為運(yùn)行檔,按動(dòng)CON單元的CLR按鈕,將微地址寄存器(MAR)清零,同時(shí)也將指令寄存器(IR)、ALU單元的暫存器A和暫存器B清零。 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān)KK2置為單拍檔,然后按動(dòng)ST按鈕,體會(huì)系統(tǒng)在T1、 T2、T3、T4節(jié)拍中各做的工作。T2節(jié)拍微控器將后續(xù)微地址(下條執(zhí)行的微指令的地址)打入微地址寄存器,當(dāng)前微指令打入微指令寄存器,并產(chǎn)生執(zhí)行部件相應(yīng)的控制信號(hào);T3、T4節(jié)拍根據(jù)T2節(jié)拍產(chǎn)生的控制信號(hào)做出相應(yīng)的執(zhí)行動(dòng)作,如果測(cè)試位有效,還要根據(jù)

22、機(jī)器指令及當(dāng)前微地址寄存器中的內(nèi)容進(jìn)行譯碼,使微程序轉(zhuǎn)入相應(yīng)的微地址入口,實(shí)現(xiàn)微程序的分支。 按動(dòng)CON單元的CLR按鈕,清微地址寄存器(MAR)等,并將時(shí)序與單元的開(kāi)關(guān)KK2置為單步檔。 置IN單元數(shù)據(jù)為00100011,按動(dòng)ST按鈕,當(dāng)MC單元后續(xù)微地址顯示為000001時(shí),在CON單元的SD27SD20模擬給出IN指令00100000并繼續(xù)單步執(zhí)行,當(dāng)MC單元后續(xù)微地址顯示為000001時(shí),說(shuō)明當(dāng)前指令已執(zhí)行完;在CON單元的SD27SD20給出ADD指令00000000,該指令將會(huì)在下個(gè)T3被打入指令寄存器(IR),它將R0中的數(shù)據(jù)和其自身相加后送R0;接下來(lái)在CON單元的SD27SD

23、20給出OUT指令00110000并繼續(xù)單步執(zhí)行,在MC單元后續(xù)微地址顯示為000001時(shí),觀查OUT單元的顯示值是否為01000110。5、實(shí)驗(yàn)體會(huì)在實(shí)驗(yàn)開(kāi)始的時(shí)候老師就給我們說(shuō)這個(gè)實(shí)驗(yàn)比較發(fā)雜,讓我們?cè)谧龅臅r(shí)候耐心點(diǎn),當(dāng)時(shí)還沒(méi)怎么有感覺(jué),在讀原理的時(shí)候也沒(méi)怎么發(fā)現(xiàn)復(fù)雜。在做手動(dòng)讀寫的時(shí)候沒(méi)怎么發(fā)現(xiàn)難,順利的將一個(gè)數(shù)謝了進(jìn)去,也讀了出來(lái),在運(yùn)行微程序的時(shí)候困難來(lái)了,這才發(fā)現(xiàn)原來(lái)對(duì)實(shí)驗(yàn)原理的了解并不透徹。之后又把實(shí)驗(yàn)原理好好看了一遍。后來(lái)老師在一個(gè)同學(xué)的機(jī)器上給我們演示了一下,深入的給我們講解了一遍,我發(fā)現(xiàn)我理解的并不透徹,在老師演示后再次自己驗(yàn)證,終于在五點(diǎn)多的時(shí)候成功了。 通過(guò)實(shí)驗(yàn)我知道了

24、我對(duì)微程序控制器的了解還不透徹,還有很多欠缺,能在試驗(yàn)中發(fā)現(xiàn)這一點(diǎn)我很欣慰,要是在考試是才發(fā)現(xiàn)自己對(duì)微程序控制器的了解不深刻恐怕一切都晚了。實(shí)驗(yàn)三 CPU與簡(jiǎn)單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?(1) 掌握一個(gè)簡(jiǎn)單 CPU 的組成原理。 (2) 在掌握部件單元電路的基礎(chǔ)上,進(jìn)一步將其構(gòu)造一臺(tái)基本模型計(jì)算機(jī)。 (3) 為其定義五條機(jī)器指令,編寫相應(yīng)的微程序,并上機(jī)調(diào)試掌握整機(jī)概念。 2、實(shí)驗(yàn)設(shè)備 PC 機(jī)一臺(tái),TD-CMA 實(shí)驗(yàn)系統(tǒng)一套。3、實(shí)驗(yàn)原理 本實(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)、通用寄存器(

25、R0),指令寄存器(IR)、程序計(jì)數(shù)器(PC)和地址寄存器(AR)組成,如圖 5-1-1 所示。這個(gè) CPU 在寫入相應(yīng)的微指令后,就具備了執(zhí)行機(jī)器指令的功能,但是機(jī)器指令一般存放在主存當(dāng)中,CPU 必須和主存掛接后,才有實(shí)際的意義,所以還需要在該 CPU 的基礎(chǔ)上增加一個(gè)主存和基本的輸入輸出部件,以構(gòu)成一個(gè)簡(jiǎn)單的模型計(jì)算機(jī)。除了程序計(jì)數(shù)器(PC),其余部件在前面的實(shí)驗(yàn)中都已用到,在此不再討論。系統(tǒng)的程序計(jì)數(shù)器(PC)和地址寄存器(AR)集成在一片 FPGA 芯片中 。CLR 連接至 CON 單元的總清端 CLR,按下 CLR 按鈕,將使 PC 清零,LDPC 和 T3 相與后作為計(jì)數(shù)器的計(jì)數(shù)

26、時(shí)鐘,當(dāng) LOAD 為低時(shí),計(jì)數(shù)時(shí)鐘到來(lái)后將 CPU 內(nèi)總線上的數(shù)據(jù)打入 PC。 本模型機(jī)和前面微程序控制器實(shí)驗(yàn)相比,新增加一條跳轉(zhuǎn)指令 JMP,共有五條指令:IN(輸入)、ADD(二進(jìn)制加法)、OUT(輸出)、JMP(無(wú)條件轉(zhuǎn)移),HLT(停機(jī)),其指令格式如下(高位為操作碼):其中 JMP 為雙字節(jié)指令,其余均為單字節(jié)指令,*為 addr 對(duì)應(yīng)的二進(jìn)制地址碼。微程序控制器實(shí)驗(yàn)的指令是通過(guò)手動(dòng)給出的,現(xiàn)在要求 CPU 自動(dòng)從存儲(chǔ)器讀取指令并執(zhí)行。根據(jù)以上要求,設(shè)計(jì)數(shù)據(jù)通路圖,如圖 5-1-3 所示。 本實(shí)驗(yàn)在前一個(gè)實(shí)驗(yàn)的基礎(chǔ)上增加了三個(gè)部件,一是 PC(程序計(jì)數(shù)器),另一個(gè)是 AR(地址寄存

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

28、為將圖 5-1-4 的微程序流程圖按微指令格式轉(zhuǎn)化而成的“二進(jìn)制微代碼表”。設(shè)計(jì)一段機(jī)器程序,要求從 IN 單元讀入一個(gè)數(shù)據(jù),存于 R0,將 R0 和自身相加,結(jié)果存于R0,再將 R0 的值送 OUT 單元顯示。 根據(jù)要求可以得到如下程序,地址和內(nèi)容均為二進(jìn)制數(shù)。 地 址 內(nèi) 容 助記符 說(shuō) 明 00000000 00100000 ; START: IN R0 從 IN 單元讀入數(shù)據(jù)送 R0 00000001 00000000 ; ADD R0,R0 R0 和自身相加,結(jié)果送 R0 00000010 00110000 ; OUT R0 R0 的值送 OUT 單元顯示 00000011 1110

29、0000 ; JMP START 跳轉(zhuǎn)至 00H 地址 00000100 00000000 ; 00000101 01010000 ; HLT 停機(jī) 4、實(shí)驗(yàn)步驟1. 按圖 5-1-5 連接實(shí)驗(yàn)線路。 2. 寫入實(shí)驗(yàn)程序,并進(jìn)行校驗(yàn),分兩種方式,手動(dòng)寫入和聯(lián)機(jī)寫入。 1) 手動(dòng)寫入和校驗(yàn) (1) 手動(dòng)寫入微程序 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān) KK1 置為停止檔,KK3 置為編程檔,KK4 置為控存檔,KK5 置為置數(shù)檔。 使用 CON 單元的 SD05SD00 給出微地址,IN 單元給出低 8 位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān) ST,將 IN 單元的數(shù)據(jù)寫到該單元的低 8 位。 將時(shí)

30、序與操作臺(tái)單元的開(kāi)關(guān) KK5 置為加 1檔。 IN 單元給出中 8 位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān) ST,將 IN 單元的數(shù)據(jù)寫到該單元的中 8 位。IN 單元給出高 8 位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān) ST,將 IN 單元的數(shù)據(jù)寫到該單元的高 8 位。 重復(fù)、四步,將表 5-1-2 的微代碼寫入 2816 芯片中。 (2) 手動(dòng)校驗(yàn)微程序 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān) KK1 置為停止檔,KK3 置為校驗(yàn)檔,KK4 置為控存檔,KK5 置為置數(shù)檔。 使用 CON 單元的 SD05SD00 給出微地址,連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān) ST,MC單元的指數(shù)據(jù)指示燈 M

31、7M0 顯示該單元的低 8 位。 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān) KK5 置為加 1檔。 連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān) ST,MC 單元的指數(shù)據(jù)指示燈 M15M8 顯示該單元的中 8 位,MC 單元的指數(shù)據(jù)指示燈 M23M16 顯示該單元的高 8 位。 重復(fù)、四步,完成對(duì)微代碼的校驗(yàn)。如果校驗(yàn)出微代碼寫入錯(cuò)誤,重新寫入、校驗(yàn),直至確認(rèn)微指令的輸入無(wú)誤為止。 (3) 手動(dòng)寫入機(jī)器程序 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān) KK1 置為停止檔,KK3 置為編程檔,KK4 置為主存檔,KK5 置為置數(shù)檔。 使用 CON 單元的 SD07SD00 給出地址,IN 單元給出該單元應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的

32、開(kāi)關(guān) ST,將 IN 單元的數(shù)據(jù)寫到該存儲(chǔ)器單元。 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān) KK5 置為加 1檔。 IN 單元給出下一地址(地址自動(dòng)加 1)應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān) ST,將 IN 單元的數(shù)據(jù)寫到該單元中。然后地址會(huì)又自加 1,只需在 IN 單元輸入后續(xù)地址的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān) ST,即可完成對(duì)該單元的寫入。 亦可重復(fù)、兩步,將所有機(jī)器指令寫入主存芯片中。 (4) 手動(dòng)校驗(yàn)機(jī)器程序 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān) KK1 置為停止檔,KK3 置為校驗(yàn)檔,KK4 置為主存檔,KK5 置為置數(shù)檔。 使用 CON 單元的 SD07SD00 給出地址,連續(xù)兩次按動(dòng)時(shí)序

33、與操作臺(tái)的開(kāi)關(guān) ST,CPU內(nèi)總線的指數(shù)據(jù)指示燈 D7D0 顯示該單元的數(shù)據(jù)。 將時(shí)序與操作臺(tái)單元的開(kāi)關(guān) KK5 置為加 1檔。 連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān) ST,地址自動(dòng)加 1,CPU 內(nèi)總線的指數(shù)據(jù)指示燈 D7D0 顯示該單元的數(shù)據(jù)。此后每?jī)纱伟磩?dòng)時(shí)序與操作臺(tái)的開(kāi)關(guān) ST,地址自動(dòng)加 1,CPU 內(nèi)總線的指數(shù)據(jù)指示燈 D7D0 顯示該單元的數(shù)據(jù),繼續(xù)進(jìn)行該操作,直至完成校驗(yàn),如發(fā)現(xiàn)錯(cuò)誤,則返回寫入,然后校驗(yàn),直至確認(rèn)輸入的所有指令準(zhǔn)確無(wú)誤。 亦可重復(fù)、兩步,完成對(duì)指令碼的校驗(yàn)。如果校驗(yàn)出指令碼寫入錯(cuò)誤,重新寫入、校驗(yàn),直至確認(rèn)指令碼的輸入無(wú)誤為止。2) 聯(lián)機(jī)寫入和校驗(yàn) 聯(lián)機(jī)軟件提供了微

34、程序和機(jī)器程序下載功能,以代替手動(dòng)讀寫微程序和機(jī)器程序,但是微程序和機(jī)器程序得以指定的格式寫入到以 TXT 為后綴的文件中,微程序和機(jī)器程序的格式如下: 本次實(shí)驗(yàn)程序如下,程序中分號(hào);為注釋符,分號(hào)后面的內(nèi)容在下載時(shí)將被忽略掉: ; /* / ; / / ; / CPU 與簡(jiǎn)單模型機(jī)實(shí)驗(yàn)指令文件 / ; / / ; / By TangDu CO.,LTD / ; / / ; /* / ; /* Start Of Main Memory Data * / $P 00 20 ; START: IN R0 從 IN 單元讀入數(shù)據(jù)送 R0 $P 01 00 ; ADD R0,R0 R0 和自身相加,結(jié)

35、果送 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 $M 04 002405 ; R0-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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論