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

下載本文檔

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

文檔簡介

1、計(jì)算機(jī)組織與體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告學(xué) 號: XXX姓 名: XXX班 級: XXX指導(dǎo)教師: XXX時(shí) 間: 2013年01月中國礦業(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)體會 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)體會 13三 CPU與簡單模型機(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)體會 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ī)一臺,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í)接受來自A和B的數(shù)據(jù)(有些處理器體系結(jié)構(gòu)把移位運(yùn)算器放于算術(shù)和邏輯運(yùn)算部件之前,如ARM),各部件對操作數(shù)進(jìn)行何種運(yùn)算由控制信號S3S0和CN來決定,任何時(shí)候,多路選擇開關(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)成,較為簡單,而后面又有專門的算術(shù)運(yùn)算部件設(shè)計(jì)實(shí)驗(yàn),在此對這兩個(gè)部件不再贅述。移位運(yùn)算采用的是桶形移位器,一般采用交叉開關(guān)矩陣來實(shí)現(xiàn),交叉開關(guān)的原理如圖1-1-2所示。圖中顯示的是一個(gè)4X4的矩陣(系統(tǒng)中是一個(gè)8X8的矩陣)。每一個(gè)輸入都通過開關(guān)與一個(gè)輸出相連,把沿對角線的開關(guān)導(dǎo)通,就可實(shí)現(xiàn)移位功能,即: (1) 對于邏輯左移或邏輯右移功能,將一條對角線的開關(guān)導(dǎo)通,這將所有的輸入位與所使用的輸出分別相連,而沒有同任何輸入相連的則輸出連接0。 (2) 對于循環(huán)右移功能,右移對角線同互補(bǔ)的左移對角線一起激活。例如,在4位矩陣中使用右1和左3對角線來實(shí)現(xiàn)右循環(huán)1位。(3) 對于未連接的輸出位

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

5、續(xù)按動時(shí)序單元的ST按鈕,產(chǎn)生一個(gè)T4上沿,則將二進(jìn)制數(shù)01100101置入暫存器A中,暫存器A的值通過ALU單元的A7A0八位LED燈顯示。 (5) 用輸入開關(guān)向暫存器B置數(shù)。 撥動CON單元的SD27SD20數(shù)據(jù)開關(guān),形成二進(jìn)制數(shù)10100111(或其它數(shù)值)。 置LDA=0,LDB=1,連續(xù)按動時(shí)序單元的ST按鈕,產(chǎn)生一個(gè)T4上沿,則將二進(jìn)制數(shù)10100111 置入暫存器B中,暫存器B的值通過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ī)操作,可通過軟件中的數(shù)據(jù)通路圖來觀測實(shí)驗(yàn)結(jié)果,方法是:打開軟件,選擇聯(lián)機(jī)軟件的“【實(shí)驗(yàn)】【運(yùn)算器實(shí)驗(yàn)】”,打開運(yùn)算器實(shí)驗(yàn)的數(shù)據(jù)通路圖,如圖1-1-6所示。進(jìn)行上面的手動操作,每按動一次ST按鈕,數(shù)據(jù)通路圖會有數(shù)據(jù)的流動,反映當(dāng)前運(yùn)算器所做的操作,或在軟件中選擇“【調(diào)試】【單節(jié)拍】”,其作用相當(dāng)于將時(shí)序單元的狀態(tài)開關(guān)KK2置為單拍檔后按動了一次ST按鈕,數(shù)據(jù)通路圖也會反映當(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)體會這個(gè)實(shí)驗(yàn)是我們第一次接觸這個(gè)試驗(yàn)箱,剛開始還是有些陌生,但是好在本次試驗(yàn)比較簡單,在弄懂原理之后根據(jù)試驗(yàn)連線圖很快的就把線連接好了。在實(shí)驗(yàn)中,我通過和同學(xué)的探討,弄懂了各個(gè)運(yùn)算的實(shí)現(xiàn)原理和步驟,知道每個(gè)數(shù)據(jù)的用法。在實(shí)驗(yàn)中還是遇到了一些小問題,那就是帶進(jìn)位循環(huán)移位和不帶進(jìn)位循環(huán)移位,經(jīng)過和同學(xué)探討還是解決了這一問題。通過此次實(shí)驗(yàn)過程,我了解了計(jì)算機(jī)的主要的功能就是處理各種算數(shù)和邏輯運(yùn)算,而這個(gè)功能是由CPU的運(yùn)算器來完成。雖然我們計(jì)算機(jī)組織與體系結(jié)構(gòu)這門課已經(jīng)結(jié)束,但這更加加深了我對計(jì)算機(jī)內(nèi)部結(jié)構(gòu)的理解,對今后的學(xué)習(xí)和生活有很大的幫助。實(shí)驗(yàn)二 微

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

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

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

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

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

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

16、靈活的手動操作方式,比如在上述操作中在對地址置數(shù)后將開關(guān)KK4撥至減1檔,則每次隨著開關(guān)ST的兩次撥動操作,字節(jié)數(shù)依次從高8位到低8位遞減,減至低8位后,再按動兩次開關(guān)ST,微地址會自動減一,繼續(xù)對下一個(gè)單元的操作。 微指令字長共24位,控制位順序如表3-2-1:其中MA5MA0為6位的后續(xù)微地址,A、B、C為三個(gè)譯碼字段,分別由三個(gè)控制位譯碼出多位。C字段中的P為測試字位。其功能是根據(jù)機(jī)器指令及相應(yīng)微代碼進(jìn)行譯碼,使微程序轉(zhuǎn)入相應(yīng)的微地址入口,從而實(shí)現(xiàn)完成對指令的識別,并實(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單元,從微控器出來的信號中只有IOM、WR和RD三個(gè)信號,所以對這兩個(gè)單元的讀寫信號還應(yīng)先經(jīng)過譯碼,其譯碼原理如圖3-2-4所示。IR單元的原理圖如圖3-2-5所示,R0單元原理如圖3-2-7所示,IN單元的原理圖見圖2-1-3所示,OUT單元的原理圖見圖3-2-6所示。 本實(shí)驗(yàn)安排了四條機(jī)器指令,分別為ADD(0000 0000)、IN(0010 0000)、OUT(0011 0000)和HLT(0101 0000),括號中為各指

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

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

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

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

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

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

24、我對微程序控制器的了解還不透徹,還有很多欠缺,能在試驗(yàn)中發(fā)現(xiàn)這一點(diǎn)我很欣慰,要是在考試是才發(fā)現(xiàn)自己對微程序控制器的了解不深刻恐怕一切都晚了。實(shí)驗(yàn)三 CPU與簡單模型機(jī)設(shè)計(jì)實(shí)驗(yàn)1、實(shí)驗(yàn)?zāi)康?(1) 掌握一個(gè)簡單 CPU 的組成原理。 (2) 在掌握部件單元電路的基礎(chǔ)上,進(jìn)一步將其構(gòu)造一臺基本模型計(jì)算機(jī)。 (3) 為其定義五條機(jī)器指令,編寫相應(yīng)的微程序,并上機(jī)調(diào)試掌握整機(jī)概念。 2、實(shí)驗(yàn)設(shè)備 PC 機(jī)一臺,TD-CMA 實(shí)驗(yàn)系統(tǒng)一套。3、實(shí)驗(yàn)原理 本實(shí)驗(yàn)要實(shí)現(xiàn)一個(gè)簡單的 CPU,并且在此 CPU 的基礎(chǔ)上,繼續(xù)構(gòu)建一個(gè)簡單的模型計(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è)簡單的模型計(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í)鐘到來后將 CPU 內(nèi)總線上的數(shù)據(jù)打入 PC。 本模型機(jī)和前面微程序控制器實(shí)驗(yàn)相比,新增加一條跳轉(zhuǎn)指令 JMP,共有五條指令:IN(輸入)、ADD(二進(jìn)制加法)、OUT(輸出)、JMP(無條件轉(zhuǎn)移),HLT(停機(jī)),其指令格式如下(高位為操作碼):其中 JMP 為雙字節(jié)指令,其余均為單字節(jié)指令,*為 addr 對應(yīng)的二進(jìn)制地址碼。微程序控制器實(shí)驗(yàn)的指令是通過手動給出的,現(xiàn)在要求 CPU 自動從存儲器讀取指令并執(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)涉及到的微程序流程見圖 5-1-4 所示,當(dāng)擬定“取指”微指令時(shí),該微指令的判別測試字段為 P測試。指令譯碼原理見圖 3-2-3 所示,由于“取指”微指令是所有微程序都使用的公用微指令,因此 P 的測試結(jié)果出現(xiàn)多路分支。本機(jī)用指令寄存器的高6 位(IR7IR2)作為測試條件,出現(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) 容 助記符 說 明 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),分兩種方式,手動寫入和聯(lián)機(jī)寫入。 1) 手動寫入和校驗(yàn) (1) 手動寫入微程序 將時(shí)序與操作臺單元的開關(guān) KK1 置為停止檔,KK3 置為編程檔,KK4 置為控存檔,KK5 置為置數(shù)檔。 使用 CON 單元的 SD05SD00 給出微地址,IN 單元給出低 8 位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動時(shí)序與操作臺的開關(guān) ST,將 IN 單元的數(shù)據(jù)寫到該單元的低 8 位。 將時(shí)

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

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

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

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

34、程序和機(jī)器程序下載功能,以代替手動讀寫微程序和機(jī)器程序,但是微程序和機(jī)器程序得以指定的格式寫入到以 TXT 為后綴的文件中,微程序和機(jī)器程序的格式如下: 本次實(shí)驗(yàn)程序如下,程序中分號;為注釋符,分號后面的內(nèi)容在下載時(shí)將被忽略掉: ; /* / ; / / ; / CPU 與簡單模型機(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論