計算機組成原理 課程設(shè)計 微程序的分析與設(shè)計 宿遷學院 實驗報告_第1頁
計算機組成原理 課程設(shè)計 微程序的分析與設(shè)計 宿遷學院 實驗報告_第2頁
計算機組成原理 課程設(shè)計 微程序的分析與設(shè)計 宿遷學院 實驗報告_第3頁
計算機組成原理 課程設(shè)計 微程序的分析與設(shè)計 宿遷學院 實驗報告_第4頁
計算機組成原理 課程設(shè)計 微程序的分析與設(shè)計 宿遷學院 實驗報告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 計算機組成原理課程設(shè)計簡單模型機的微程序設(shè)計學生姓名: 學號: 201003111XX 系 別: 三系 班 級: 專 業(yè): 軟件工程 指導教師: 卞 利 一. 課程設(shè)計的目的計算機的硬件基本組成計算機中機器指令的設(shè)計計算機中機器指令的執(zhí)行過程微程序控制器的工作原理微指令的格式設(shè)計原則在此基礎(chǔ)上設(shè)計可以運行一些基本機器指令的微程序的設(shè)計二. 課程設(shè)計的內(nèi)容和要求題目: = 1 * GB3 數(shù)據(jù)傳送指令MOV RD,RS:(RS)(RD) = 2 * GB3 減法指令SUB RD,RS:(RS)減(RD)(RD) = 3 * GB3 或指令OR RD,(addr):(RD)或(addr)(RD)

2、 = 4 * GB3 異或指令XOR RD,(addr):(addr)異或(RD)(RD) = 5 * GB3 與指令A(yù)ND RD,RS:(RS)與(RD)(RD) 通過使用作者開發(fā)的微程序分析和設(shè)計仿真軟件,熟悉介紹的為基本模型機而設(shè)計的微程序的執(zhí)行過程。必須充分理解并正確解釋下些問題: (1) 微程序中的微指令的各個字段的作用。哪些字段是不譯碼的,哪些字段是直接譯碼的,哪些字段又可以看成是字段間接編碼的。 答:不譯碼:S3-B0,直接譯碼:C字段 ,間接譯碼:A,B字段,當C字段進行P(1)或LDPC時ua6-ua1也是間接。 (2)微程序中的微指令是否是順序執(zhí)行的,如果不是,那么次地址是

3、如何產(chǎn)生的。什么情況下,次地址字段才是將要執(zhí)行的微指令的地址。 答:微程序中的微指令不是順序執(zhí)行的,如果遇到P(1)P(4)測試時,則根據(jù)機械指令,uA5uA其他有關(guān)部件的內(nèi)容,產(chǎn)生下一條微指令在空存中的微地址,是微程序轉(zhuǎn)入相應(yīng)的微地址入口,從而實現(xiàn)微程序的順序、分支、循環(huán)運行等。例如遇到P(1)測試,則下一條微指令在空存中的微地址的41位是用次地址字段NA(41位)或指令寄存器IR(85位)所產(chǎn)生,下一條微指令的微地址仍為 NA字段的65位。如果沒有遇到P(1)P(4)測試的話,那么次地址即為該微指令地址字段所指向的微地址。 (3)在微程序中如何根據(jù)機器指令中的相關(guān)位實現(xiàn)分支,據(jù)此,在設(shè)計機

4、器指令時應(yīng)如何避免和解決與其它指令的微指令的微地址沖突。 答:微程序中是根據(jù)測試程序的機器指令中的85位和微程序中后六位進行“或”運算來實現(xiàn)分支的。避免和解決與其它指令的微指令的微地址沖突的方法就是不用已經(jīng)被其它微指令用過的微地址。 (4)哪些微指令是執(zhí)行所有指令都要用到的。 (5)解釋一條機器指令的微程序的各條微指令的微地址是否連續(xù)?這些微指令的微地址的安排的嚴重原則是什么? 答:不連續(xù)。嚴重原則是將各條機器指令的入口微地址置于地址連續(xù)的地址單 元中,避免其它微指令亂用這一段地址。 (6)為什么讀寫一次內(nèi)存總要用兩條微指令完成? 答:因為 W/R 只有兩種狀態(tài),即要么是讀,要么是寫,所以,要

5、完成一次讀寫 總要用兩條微指令完成。 (7)機器程序中用到的寄存器是R0,是由機器指令中哪些位決定的?如果要用R1或R2,是否要改寫微程序或改寫機器指令?如果要,應(yīng)如何改寫? 答:是由機器指令中的21位決定。如果要用到R1或R2,那么不需要改寫微程序,但得改寫機器指令的低兩位,即21位,若要用到R1,則將其改為01,若要用R2,則將其改為10。三、指令微流程分析1、基本模型機的指令設(shè)計根據(jù)基本模型機的硬件設(shè)計五條機器指令:外設(shè)輸入指令I(lǐng)N、二進制加法指令A(yù)DD、存數(shù)指令STA、輸出到外設(shè)指令OUT、無條件轉(zhuǎn)移指令JMP、數(shù)據(jù)傳送指令MOV、減法指令SUB、或指令OR、異或指令XOR、與指令A(yù)N

6、D。用數(shù)據(jù)流表示的微程序流程圖 00PC ARPC+1 01RAM BUSBUS IRP(1)測試ANDXORORSUBMOVJMPOUTSTAADDIN17181916151413121110RSDR1PCARPC+1RSDR1PCARPC+1RSRDPCARPC+1PCARPC+1PCARPC+1SWR0PCARPC+1 20 1C 0E0C020806RAMBUSBUSARRDDR2RAMBUSBUSARRAMBUSBUSARRAMBUSBUSARRAMBUSBUSAR000BRDDR2RAMBUSBUSPCC00 0D(DR1-DR2)RD09 21RAMBUSBUSDR1R0BUSB

7、USRAM0703 1D 0FRAMBUSBUSDR2(DR1與DR2) RDRAMBUSBUSDR2RAMBUSBUSDR2000A0004R0 DR1 1A00DR1LED 1E00RSDR1RDDR105(DR1+DR2)R0 1F 1B(DR1異或DR2) RD(DR1或DR2) RD00000000 該圖是運行微程序的數(shù)據(jù)流圖,實際上并沒有分解到微命令一級。為了設(shè)計微程序,還應(yīng)該根據(jù)此圖進一步細化到微命令(微操作)一級。例如PCAR,實際上應(yīng)該同時發(fā)出PCB、LDAR兩個微命令;PC+1應(yīng)該發(fā)出LDPC微命令;SWR0應(yīng)該發(fā)出SWB、LDRi(與指令碼中的相應(yīng)位共同譯碼產(chǎn)生LDR0微

8、命令)兩個微命令;RAMBUS應(yīng)該發(fā)出CE有效和讀存儲器兩個微命令;BUSRAM應(yīng)該發(fā)出CE有效和寫存儲器兩個微命令;R0是指R0B微命令有效等等。據(jù)此可將該圖改畫成下圖: 用為命令表示的執(zhí)行五條基本指令的微程序流程圖 00PCBLDARLDPC01CE有效W/R=0LDIRP(1)測試ANDXORORSUBMOVJMPOUTSTAADDIN18191716151413121110PCBLDARLDPCRSBLDDR1PCBLDARLDPCRSBLDDR1RSBLDRiPCBLDARLDPCPCBLDARLDPCPCBLDARLDPCSWB有效LDRiPCBLDARLDPC201C0E0C08

9、0602RDBLDDR2CE有效W/R=0LDARCE有效W/R=0LDAR000BCE有效W/R=0LDARRDBLDDR2CE有效W/R=0LDARCE有效W/R=0LDAR00CE有效W/R=0LOAD0D211D0F090703ALU做減法LDRiALUBALUBCE有效W/R=0LDDR2CE有效W/R=0LDDR2CE有效W/R=0LDDR2ALU做“與”LDRiALUBCE有效W/R=0LDDR1R0BCE有效W/R=1000A041E1AR0B有效LDDR100RSB有效LDDR1RDB有效LDDR100ALUBLEDBALU=AW/R=100051F1BALU做加法LDRiA

10、LUBALU做“異或”LDRiALUBALU做“或”LDRiALUB00000000 該圖中每個框上的數(shù)字表示該條微指令在控存中的地址(與指令格式有關(guān),也與設(shè)計者的意愿有關(guān))。如何在一條微指令中實現(xiàn)一個框中的微操作與微指令的格式密切相關(guān)。四、基本模型機的微指令格式 本模型機的微指令長共24位,基本采用水平型微指令字段直接編碼方式,其控制位順序如下:五、編寫微程序編寫的機器指令代碼如下:00H:00000000;置數(shù)開關(guān)SW(KD0KD7)的狀態(tài)R001H:00010000;ADD:(R0)+(10)(R0)02H:0001000003H:00100000;STA:(R0)(14)04H:000

11、1010005H:00110000;OUT:(11)輸出設(shè)備LED06H:0001000107H:01010001;MOV:(R0)(R1)08H:01100001;SUB:(R0)-(R1)(R1)09H:01110000;OR:(R0)或(12)(R0) 0AH:000100100BH:10000000;XOR:(R0)異或(13)(R0) 0CH:000100110DH:10010001;AND:(R0)與(R1)(R1)0EH:01000000;JMP:00PC0FH:00000000 10H:1100101011H:0010001112H:0011001113H:00010001微指

12、令代碼如下:00001110A0C0F1A1C1F執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDIR,P(1)測試:NA(30)或(IR7IR4),轉(zhuǎn)微地址:10執(zhí)行的操作是:輸入開關(guān)SWB有效,LDR0,轉(zhuǎn)微地址:00執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDAR,轉(zhuǎn)微地址:03執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDDR2,轉(zhuǎn)微地址:04執(zhí)行的操作是:R0B,LDDR1,轉(zhuǎn)微地址:05執(zhí)行的操作是:算術(shù):A加B,ALUB,LDR0,轉(zhuǎn)微地址:00執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微

13、地址:01執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDIR,P(1)測試:NA(30)或(IR7IR4),轉(zhuǎn)微地址:11執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:02執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDAR,轉(zhuǎn)微地址:03執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDDR2,轉(zhuǎn)微地址:04執(zhí)行的操作是:R0B,LDDR1,轉(zhuǎn)微地址:05執(zhí)行的操作是:算術(shù):A加B,ALUB,LDR0,轉(zhuǎn)微地址:00執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDIR,P(1)測試:NA(30)或(IR7I

14、R4),轉(zhuǎn)微地址:12執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:06執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDAR,轉(zhuǎn)微地址:07執(zhí)行的操作是:存儲器CE有效,寫存儲器,R0B,轉(zhuǎn)微地址:00執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDIR,P(1)測試:NA(30)或(IR7IR4),轉(zhuǎn)微地址:13執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:08執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDAR,轉(zhuǎn)微地址:09執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDDR1

15、,轉(zhuǎn)微地址:0A執(zhí)行的操作是:算術(shù):A,數(shù)碼管LEDB有效,寫LED,ALUB,轉(zhuǎn)微地址:00執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDIR,P(1)測試:NA(30)或(IR7IR4),轉(zhuǎn)微地址:15執(zhí)行的操作是:R0B,LDR1,轉(zhuǎn)微地址:00執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDIR,P(1)測試:NA(30)或(IR7IR4),轉(zhuǎn)微地址:16執(zhí)行的操作是:R0B,LDDR1,轉(zhuǎn)微地址:0C執(zhí)行的操作是:R1B,LDDR2,轉(zhuǎn)微地

16、址:0D執(zhí)行的操作是:算術(shù):A減B,ALUB,LDR1,轉(zhuǎn)微地址:00執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDIR,P(1)測試:NA(30)或(IR7IR4),轉(zhuǎn)微地址:17執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:0E執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDAR,轉(zhuǎn)微地址:0F執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDDR2,轉(zhuǎn)微地址:1A執(zhí)行的操作是:R0B,LDDR1,轉(zhuǎn)微地址:1B執(zhí)行的操作是:邏輯:A+B,ALUB,LDR0,轉(zhuǎn)微地址:00執(zhí)行的操作是:PCB,LDA

17、R,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDIR,P(1)測試:NA(30)或(IR7IR4),轉(zhuǎn)微地址:18執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:1C執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDAR,轉(zhuǎn)微地址:1D執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDDR2,轉(zhuǎn)微地址:1E執(zhí)行的操作是:R0B,LDDR1,轉(zhuǎn)微地址:1F執(zhí)行的操作是:邏輯:A異或B,ALUB,LDR0,轉(zhuǎn)微地址:00執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDIR

18、,P(1)測試:NA(30)或(IR7IR4),轉(zhuǎn)微地址:19執(zhí)行的操作是:R0B,LDDR1,轉(zhuǎn)微地址:20執(zhí)行的操作是:R1B,LDDR2,轉(zhuǎn)微地址:21執(zhí)行的操作是:邏輯:AB,ALUB,LDR1,轉(zhuǎn)微地址:00執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01執(zhí)行的操作是:存儲器CE有效,存儲器讀,LDIR,P(1)測試:NA(30)或(IR7IR4),轉(zhuǎn)微地址:14執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:0B執(zhí)行的操作是:存儲器CE有效,存儲器讀,PCLOAD,允許PC加1(LDPC=1),轉(zhuǎn)微地址:00執(zhí)行的操作是:PCB,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01六、總結(jié) 在這次的課程中我感覺收獲很多。在第一天我先熟悉了仿真軟件的使用和實驗第一部分的流程圖的思考。剛開始接觸指令的格式設(shè)計覺得很棘手,仔細看了課程

溫馨提示

  • 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

提交評論