計(jì)算機(jī)組成原理課程設(shè)計(jì)微程序的分析與設(shè)計(jì)宿遷學(xué)院實(shí)驗(yàn)報(bào)告_第1頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)微程序的分析與設(shè)計(jì)宿遷學(xué)院實(shí)驗(yàn)報(bào)告_第2頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)微程序的分析與設(shè)計(jì)宿遷學(xué)院實(shí)驗(yàn)報(bào)告_第3頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)微程序的分析與設(shè)計(jì)宿遷學(xué)院實(shí)驗(yàn)報(bào)告_第4頁
計(jì)算機(jī)組成原理課程設(shè)計(jì)微程序的分析與設(shè)計(jì)宿遷學(xué)院實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《計(jì)算機(jī)組成原理課程設(shè)計(jì)》簡單模型機(jī)的微程序設(shè)計(jì)學(xué)生姓名:學(xué)號:*********XX系別:三系班級:專業(yè):軟件工程指導(dǎo)教師:**一.課程設(shè)計(jì)的目的1.計(jì)算機(jī)的硬件基本組成2.計(jì)算機(jī)中機(jī)器指令的設(shè)計(jì)3.計(jì)算機(jī)中機(jī)器指令的執(zhí)行過程4.微程序控制器的工作原理5.微指令的格式設(shè)計(jì)原則在此基礎(chǔ)上設(shè)計(jì)可以運(yùn)行一些基本機(jī)器指令的微程序的設(shè)計(jì)二.課程設(shè)計(jì)的內(nèi)容和要求題目:①數(shù)據(jù)傳送指令MOVRD,RS:(RS)→(RD)②減法指令SUBRD,RS:(RS)減(RD)→(RD)③或指令ORRD,(addr):(RD)或(addr)→(RD)④異或指令XORRD,(addr):(addr)異或(RD)→(RD)⑤與指令A(yù)NDRD,RS:(RS)與(RD)→(RD)通過使用作者開發(fā)的微程序分析和設(shè)計(jì)仿真軟件,熟悉介紹的為基本模型機(jī)而設(shè)計(jì)的微程序的執(zhí)行過程。必須充分理解并正確解釋下些問題:(1)微程序中的微指令的各個(gè)字段的作用。哪些字段是不譯碼的,哪些字段是直接譯碼的,哪些字段又可以看成是字段間接編碼的。答:不譯碼:S3-B0,直接譯碼:C字段,間接譯碼:A,B字段,當(dāng)C字段進(jìn)行P(1)或LDPC時(shí)ua6-ua1也是間接。(2)微程序中的微指令是否是順序執(zhí)行的,如果不是,那么次地址是如何產(chǎn)生的。什么情況下,次地址字段才是將要執(zhí)行的微指令的地址。答:微程序中的微指令不是順序執(zhí)行的,如果遇到P(1)~P(4)測試時(shí),則根據(jù)機(jī)械指令,uA5~uA其他有關(guān)部件的內(nèi)容,產(chǎn)生下一條微指令在空存中的微地址,是微程序轉(zhuǎn)入相應(yīng)的微地址入口,從而實(shí)現(xiàn)微程序的順序、分支、循環(huán)運(yùn)行等。例如遇到P(1)測試,則下一條微指令在空存中的微地址的4~1位是用次地址字段NA(4~1位)或指令寄存器IR(8~5位)所產(chǎn)生,下一條微指令的微地址仍為NA字段的6~5位。如果沒有遇到P(1)~P(4)測試的話,那么次地址即為該微指令地址字段所指向的微地址。(3)在微程序中如何根據(jù)機(jī)器指令中的相關(guān)位實(shí)現(xiàn)分支,據(jù)此,在設(shè)計(jì)機(jī)器指令時(shí)應(yīng)如何避免和解決與其它指令的微指令的微地址沖突。答:微程序中是根據(jù)測試程序的機(jī)器指令中的8~5位和微程序中后六位進(jìn)行“或”運(yùn)算來實(shí)現(xiàn)分支的。避免和解決與其它指令的微指令的微地址沖突的方法就是不用已經(jīng)被其它微指令用過的微地址。(4)哪些微指令是執(zhí)行所有指令都要用到的。答:00:00000101111011011000000101:000001001100000001010000(5)解釋一條機(jī)器指令的微程序的各條微指令的微地址是否連續(xù)?這些微指令的微地址的安排的嚴(yán)重原則是什么?答:不連續(xù)。嚴(yán)重原則是將各條機(jī)器指令的入口微地址置于地址連續(xù)的地址單元中,避免其它微指令亂用這一段地址。(6)為什么讀寫一次內(nèi)存總要用兩條微指令完成?答:因?yàn)閃/R只有兩種狀態(tài),即要么是讀,要么是寫,所以,要完成一次讀寫總要用兩條微指令完成。(7)機(jī)器程序中用到的寄存器是R0,是由機(jī)器指令中哪些位決定的?如果要用R1或R2,是否要改寫微程序或改寫機(jī)器指令?如果要,應(yīng)如何改寫?答:是由機(jī)器指令中的2~1位決定。如果要用到R1或R2,那么不需要改寫微程序,但得改寫機(jī)器指令的低兩位,即2~1位,若要用到R1,則將其改為01,若要用R2,則將其改為10。三、指令微流程分析1、基本模型機(jī)的指令設(shè)計(jì)根據(jù)基本模型機(jī)的硬件設(shè)計(jì)五條機(jī)器指令:外設(shè)輸入指令I(lǐng)N、二進(jìn)制加法指令A(yù)DD、存數(shù)指令STA、輸出到外設(shè)指令OUT、無條件轉(zhuǎn)移指令JMP、數(shù)據(jù)傳送指令MOV、減法指令SUB、或指令OR、異或指令XOR、與指令A(yù)ND。2.流程圖用數(shù)據(jù)流表示的微程序流程圖00PC→ARPC+101RAM→BUSBUS→IRP(1)測試INADDSTAOUTJMPMOVSUBORXORAND10111213141516171819SW→PC→ARPC→ARPC→ARPC→ARRS→RS→PC→ARPC→ARRS→R0RDDR1DR1PC+1PC+1PC+1PC+1PC+1PC+1200E1C0206080CRAM→BRAM→BRAM→B0B00RD→RAM→BUSRAM→BUSRD→00USUSUSDR2DR2RAM→BUSBUS→ARBUS→ARBUS→ARBUS→ARBUS→AR0D03RAM→BUS0709BUS→PC(DR1-DR2)→RD21R0→BUSRAM0F1D(DR1與DR2)→RDBUS→R→BUSRAM→BUS00RAM→BUSBUS→DR2AMBUS→DR1BUS→DR2040ABUS→DR200R0→DR100DR1→L1AED1E0005RD→RS→(DR1+DR2)→R0DR1DR11B1F00(DR1或(DR1異DR2)→或DR2)→RD00RD0000該圖是運(yùn)行微程序的數(shù)據(jù)流圖,實(shí)際上并沒有分解到微命令一級。為了設(shè)計(jì)微程序,還應(yīng)該根據(jù)此圖進(jìn)一步細(xì)化到微命令(微操作)一級。例如PC→AR,實(shí)際上應(yīng)該同時(shí)發(fā)出PCB、LDAR兩個(gè)微命令;PC+1應(yīng)該發(fā)出LDPC微命令;SW→R0應(yīng)該發(fā)出SWB、LDRi(與指令碼中的相應(yīng)位共同譯碼產(chǎn)生LDR0微命令)兩個(gè)微命令;RAM→BUS應(yīng)該發(fā)出CE有效和讀存儲(chǔ)器兩個(gè)微命令;BUS→RAM應(yīng)該發(fā)出CE有效和寫存儲(chǔ)器兩個(gè)微命令;R0→××是指R0B微命令有效等等。據(jù)此可將該圖改畫成下圖:

用為命令表示的執(zhí)行五條基本指令的微程序流程圖00PCBLDARLDPC01CE有效W/R=0LDIRP(1)測試INADDSTAOUTJMPMOVSUBORXORAND10111213141516171819SWBPCBPCBPCBPCBRSBRSBLDDR1PCBPCBRSB有效LDARLDARLDPCLDARLDPCLDARLDPCLDRiLDARLDPCLDARLDPCLDDR1LDRiLDPC0206080C0E1C20CE有效CE有效CE有效0B00RDBCE有效CE有效RDB00W/R=0LDARW/R=0LDARW/R=0LDARCE有效LDDR2W/R=0W/R=0LDARW/R=0LDARLDDR2030709LOAD0D0F1D21CE有效R0BCE有效ALU做CE有效CE有效ALU做W/R=0LDDR2CE有效W/R=0減法LDRi00W/R=0LDDR2W/R=0“與”W/R=1LDDR1LDDR2LDRiALUBALUB040A1A1ER0B有效00ALUBLEDBRDB有效RSB有效LDDR10000LDDR1LDDR105ALU=AW/R=1ALU做加法LDRi1B1FALUBALU做ALU做00“或”LDRiALUB“異或”LDRi00ALUB0000該圖中每個(gè)框上的數(shù)字表示該條微指令在控存中的地址(與指令格式有關(guān),也與設(shè)計(jì)者的意愿有關(guān))。如何在一條微指令中實(shí)現(xiàn)一個(gè)框中的微操作與微指令的格式密切相關(guān)。四、基本模型機(jī)的微指令格式本模型機(jī)的微指令長共24位,基本采用水平型微指令字段直接編碼方式,其控制位順序如下:五、編寫微程序編寫的機(jī)器指令代碼如下:00H:00000000;置數(shù)開關(guān)SW(KD0~KD7)的狀態(tài)→R001H:00010000;ADD:(R0)+(10)→(R0)02H:0001000003H:00100000;STA:(R0)→(14)04H:0001010005H:00110000;OUT:(11)→輸出設(shè)備"LED"06H: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:00→PC0FH:0000000010H:1100101011H:0010001112H:0011001113H:00010001微指令代碼如下:00:00000101111011011000000101:00000100110000000101000002:00000100111000000000001103:00000100101100000000010004:00000101101000100000010105:10010101100110100000000006:00000100111000000000011107:00000110100000100000000008:00000100111000000000100109:0000010010100000000010100A:0000011100001010000000000B:0000010011010001100000000C:0000010110110100000011010D:0110000110011010000000000E:0000010011100000000011110F:00000100101100000001101010:00000100000100000000000011:00000101111011011000001012:00000101111011011000011013:00000101111011011000100014:000001011110110110001011

15:00000101100100100000000016:00000101101000100000110017:00000101111011011000111018:00000101111011011001110019:0000010110100010001000001A:0000010110100100000110111B:1110110110011010000000001C:0000010011100000000111011D:0000010010110000000111101E:0000010110100010000111111F:01101101100110100000000020:00000101101101000010000121:101111011001101000000000微指令000001011110110110000001執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01微指令000001001100000001010000執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDIR,P(1)測試:NA(3~0)或(IR7~I(xiàn)R4),轉(zhuǎn)微地址:10微指令000001000001000000000000執(zhí)行的操作是:輸入開關(guān)SWB有效,LDR0,轉(zhuǎn)微地址:00微指令000001001110000000000011執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDAR,轉(zhuǎn)微地址:03微指令000001001011000000000100執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDDR2,轉(zhuǎn)微地址:04微指令000001011010001000000101執(zhí)行的操作是:R0→B,LDDR1,轉(zhuǎn)微地址:05微指令100101011001101000000000執(zhí)行的操作是:算術(shù):A加B,ALU→B,LDR0,轉(zhuǎn)微地址:00微指令000001011110110110000001執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01微指令000001001100000001010000執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDIR,P(1)測試:NA(3~0)或(IR7~I(xiàn)R4),轉(zhuǎn)微地址:11微指令000001011110110110000010執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:02微指令000001001110000000000011執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDAR,轉(zhuǎn)微地址:03微指令000001001011000000000100執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDDR2,轉(zhuǎn)微地址:04微指令000001011010001000000101執(zhí)行的操作是:R0→B,LDDR1,轉(zhuǎn)微地址:05微指令100101011001101000000000

執(zhí)行的操作是:算術(shù):A加B,ALU→B,LDR0,轉(zhuǎn)微地址:微指令000001011110110110000001執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:0001微指令000001001100000001010000執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDIR,P(1)測試:NA(3~0)或(IR7~I(xiàn)R4),轉(zhuǎn)微地址:12微指令000001011110110110000110執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:06微指令000001001110000000000111執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDAR,轉(zhuǎn)微地址:07微指令000001101000001000000000執(zhí)行的操作是:存儲(chǔ)器CE有效,寫存儲(chǔ)器,R0→B,轉(zhuǎn)微地址:00微指令000001011110110110000001執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01微指令000001001100000001010000執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDIR,P(1)測試:NA(3~0)或(IR7~I(xiàn)R4),轉(zhuǎn)微地址:13微指令000001011110110110001000執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:08微指令000001001110000000001001執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDAR,轉(zhuǎn)微地址:09微指令000001001010000000001010執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDDR1,轉(zhuǎn)微地址:0A微指令000001110000101000000000執(zhí)行的操作是:算術(shù):A,數(shù)碼管LEDB有效,寫LED,ALU→B,轉(zhuǎn)微地址:00微指令000001011110110110000001執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01微指令000001001100000001010000執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDIR,P(1)測試:NA(3~0)或(IR7~I(xiàn)R4),轉(zhuǎn)微地址:15微指令000001011001001000000000執(zhí)行的操作是:R0→B,LDR1,轉(zhuǎn)微地址:00微指令000001011110110110000001執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01微指令000001001100000001010000執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDIR,P(1)測試:NA(3~0)或(IR7~I(xiàn)R4),轉(zhuǎn)微地址:16微指令000001011010001000001100執(zhí)行的操作是:R0→B,LDDR1,轉(zhuǎn)微地址:0C微指令000001011011010000001101執(zhí)行的操作是:R1→B,LDDR2,轉(zhuǎn)微地址:0D微指令011000011001101000000000執(zhí)行的操作是:算術(shù):A減B,ALU→B,LDR1,轉(zhuǎn)微地址:00微指令000001011110110110000001

執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:微指令000001001100000001010000執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDIR,P(1)測試:NA(3~0)或(IR7~I(xiàn)R4),01轉(zhuǎn)微地址:17微指令000001011110110110001110執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:0E微指令000001001110000000001111執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDAR,轉(zhuǎn)微地址:0F微指令000001001011000000011010執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDDR2,轉(zhuǎn)微地址:1A微指令000001011010010000011011執(zhí)行的操作是:R0→B,LDDR1,轉(zhuǎn)微地址:微指令111011011001101000000000執(zhí)行的操作是:邏輯:A+B,ALU→B,LDR0,轉(zhuǎn)微地址:微指令0000010111101101100000011B00執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01微指令000001001100000001010000執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDIR,P(1)測試:NA(3~0)或(IR7~I(xiàn)R4),轉(zhuǎn)微地址:18微指令000001011110110110011100執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:1C微指令000001001110000000011101執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDAR,轉(zhuǎn)微地址:1D微指令000001001011000000011110執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDDR2,轉(zhuǎn)微地址:1E微指令000001011010001000011111執(zhí)行的操作是:R0→B,LDDR1,轉(zhuǎn)微地址:微指令011011011001101000000000執(zhí)行的操作是:邏輯:A異或B,ALU→B,LDR0,轉(zhuǎn)微地址:微指令0000010111101101100000011F00執(zhí)行的操作是:PC→B,LDAR,允許PC加1(LDPC=1),轉(zhuǎn)微地址:01微指令000001001100000001010000執(zhí)行的操作是:存儲(chǔ)器CE有效,存儲(chǔ)器讀,LDIR,P(1)測試:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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

提交評論