計算機組織與體系結(jié)構(gòu)實驗報告_第1頁
計算機組織與體系結(jié)構(gòu)實驗報告_第2頁
計算機組織與體系結(jié)構(gòu)實驗報告_第3頁
計算機組織與體系結(jié)構(gòu)實驗報告_第4頁
計算機組織與體系結(jié)構(gòu)實驗報告_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

14、該控存單元高8位數(shù)據(jù)的修改此時MC單元的指示燈MA5MA0顯示當前地址(000000),M23M16顯示當前數(shù)據(jù)(00110011)。此時被編輯的控存單元地址會自動加1(01H),由IN單元開關(guān)依次給出該控存單元數(shù)據(jù)的低8位、中8位和高8位配合每次開關(guān)ST的兩次按動,即可完成對后續(xù)單元的編輯。編輯完成后需進行校驗,以確保編輯的正確。以校驗00H單元為例,對于控制存儲器進行校驗的具體操作步驟如下:首先將KK1撥至停止檔、KK3撥至校驗檔、KK4撥至控存檔、KK5撥至置數(shù)檔。由CON單元的SD05SD00開關(guā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ù)。如校驗的微指令出錯,則返回輸入操作,修改該單元的數(shù)據(jù)后再進行校驗,直至確認輸入的微代碼全部準確無誤為止,完成對微指令的輸入。位于實驗平臺MC單元左上角一列三個指示燈MC2、MC1、MC0用來指示當前操作的微程序字段,分別對應(yīng)M23M16、M15M8、M7M0。實驗平臺提供了比較

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

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

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

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

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

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

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

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

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

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

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

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

28、為將圖 5-1-4 的微程序流程圖按微指令格式轉(zhuǎn)化而成的“二進制微代碼表”。設(shè)計一段機器程序,要求從 IN 單元讀入一個數(shù)據(jù),存于 R0,將 R0 和自身相加,結(jié)果存于R0,再將 R0 的值送 OUT 單元顯示。 根據(jù)要求可以得到如下程序,地址和內(nèi)容均為二進制數(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 停機 4、實驗步驟1. 按圖 5-1-5 連接實驗線路。 2. 寫入實驗程序,并進行校驗,分兩種方式,手動寫入和聯(lián)機寫入。 1) 手動寫入和校驗 (1) 手動寫入微程序 將時序與操作臺單元的開關(guān) KK1 置為停止檔,KK3 置為編程檔,KK4 置為控存檔,KK5 置為置數(shù)檔。 使用 CON 單元的 SD05SD00 給出微地址,IN 單元給出低 8 位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動時序與操作臺的開關(guān) ST,將 IN 單元的數(shù)據(jù)寫到該單元的低 8 位。 將時

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

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

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

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

34、程序和機器程序下載功能,以代替手動讀寫微程序和機器程序,但是微程序和機器程序得以指定的格式寫入到以 TXT 為后綴的文件中,微程序和機器程序的格式如下: 本次實驗程序如下,程序中分號;為注釋符,分號后面的內(nèi)容在下載時將被忽略掉: ; /* / ; / / ; / CPU 與簡單模型機實驗指令文件 / ; / / ; / 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 停機 ; /* 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論