計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn) 31 微程序版CPU 賴曉錚_第1頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn) 31 微程序版CPU 賴曉錚_第2頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn) 31 微程序版CPU 賴曉錚_第3頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn) 31 微程序版CPU 賴曉錚_第4頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn) 31 微程序版CPU 賴曉錚_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、QQ: 68046508掌握基于微程序控制器的掌握基于微程序控制器的CPUCPU結(jié)構(gòu)結(jié)構(gòu),了解,了解CPUCPU中斷工作機(jī)制。中斷工作機(jī)制。熟悉熟悉CPUCPU微指令設(shè)計(jì),掌握機(jī)器指令的微程序?qū)崿F(xiàn)方法。微指令設(shè)計(jì),掌握機(jī)器指令的微程序?qū)崿F(xiàn)方法。OP碼碼( I7 I6 I5 I4 )指令助記符指令助記符OP碼碼( I7 I6 I5 I4 )指令助記符指令助記符0111IRET1111OR/ORI0110MOV1110AND/ANDI0101OUT/OUTA1101ADD/ADDI0100IN1100SUB/SUBI0011SET1011XOR/XORI0010SOP (INC/DEC/NOT/T

2、HR)1010SHT (RLC/ LLC/ RRC/ LRC)0001JMP/JMPR/Jx/JxR1001STO/PUSH0000NOP/HLT1000LAD/POP一、系統(tǒng)指令:一、系統(tǒng)指令:匯編語言匯編語言功能功能I7 I6 I5 I4 I3 I2I1 I0NOP;無操作(延時(shí)無操作(延時(shí)4個(gè)個(gè)T)00000/0 x/0HLT;停機(jī)(斷點(diǎn))停機(jī)(斷點(diǎn))00000/0 x/1IRET;中斷返回中斷返回BP_PCPC;BP_PSWPSW01110/0 x/x匯編語言匯編語言注釋注釋I7 I6 I5 I4 I3 I2I1 I0MOV RA, RB;(RB)RA0110RARBSET RA, I

3、MM;IMMRA0011RAx/xIMM二、二、寄存器及寄存器及I/O操作操作指令:指令:匯編語言匯編語言功能功能I7 I6 I5 I4 I3 I2I1 I0IN RA, PORTx;(PORTx)RA0100RAPORTxOUT RA, PORTx;(RA)PORTx0101RA0/PORTxOUTA RA, PORTx;(RA)PORTx0101RA1/PORTx匯編語言匯編語言功能功能I7 I6 I5 I4I3 I2I1 I0LAD RA, ADDR;ADDRRA1000RA0/0ADDRPOP RA, RB;RBRA1000RARBSTO RA, ADDR;(RA)ADDR1001RA

4、0/0ADDRPUSH RA, RB;(RA)RB1001RARB三、三、存儲(chǔ)器及堆棧操作指令存儲(chǔ)器及堆棧操作指令:匯編語言匯編語言功能功能I7 I6 I5 I4I3 I2I1 I0JMP ADDR;ADDRPC00010/00/0ADDRJMPR RB;(RB)PC00010/0RBJC ADDR;IF CF=1, ADDRPC00010/10/0ADDRJCR RB;IF CF=1, (RB)PC00010/1RBJZ ADDR;IF ZF=1, ADDRPC00011/00/0ADDRJZR RB;IF ZF=1, (RB)PC00011/0RBJS ADDR;IF SF=1, ADDR

5、PC00011/10/0ADDRJSR RB;IF SF=1, (RB)PC00011/1RB四、四、跳轉(zhuǎn)系列指跳轉(zhuǎn)系列指令:令:五、五、算術(shù)邏輯運(yùn)算指令算術(shù)邏輯運(yùn)算指令:匯編語言匯編語言功能功能I7 I6 I5 I4I3 I2 I1 I0RLC RA;(RA)右邏輯移位右邏輯移位1010RA0/0LLC RA;(RA)左邏輯移位左邏輯移位1010RA1/0RRC RA;(RA)右循環(huán)移位右循環(huán)移位1010RA0/1LRC RA;(RA)左循環(huán)移位左循環(huán)移位1010RA1/1匯編語言匯編語言功能功能I7 I6 I5 I4I3 I2I1 I0INC RA;(RA)1RA0010RA0/0DEC

6、RA;(RA)1RA0010RA0/1NOT RA;#(RA)RA0010RA1/0THR RA;(RA)RA0010RA1/1五、五、算術(shù)邏輯運(yùn)算指令算術(shù)邏輯運(yùn)算指令:匯編語言格式匯編語言格式功能功能I7 I6 I5 I4I3 I2I1 I0ADD RA, RB;(RA) (RB)RA1101RARBADDI RA, IMM; (RA) IMMRA 1101RA0/0IMMSUB RA, RB;(RA)(RB)RA1100RARBSUBI RA, IMM;(RA)IMMRA1100RA0/0IMMAND RA, RB;(RA)(RB)RA1110RARBANDI RA, IMM;(RA)IM

7、MRA1110RA0/0IMMOR RA. RB;(RA)(RB)RA1111RARBORI RA, IMM;(RA)IMMRA1111RA0/0IMMXOR RA, RB;(RA) (RB)RA1011RARBXORI RA, IMM;(RA) IMMRA1011RA0/0IMM注:跳出注:跳出“斷點(diǎn)斷點(diǎn)”后后,CPUCPU進(jìn)入進(jìn)入HLTHLT指令指令的的后續(xù)下一條指令的取指周期后續(xù)下一條指令的取指周期。匯編助記符匯編助記符(M地址:機(jī)器指令地址:機(jī)器指令)SET R0, 03H00H:0011000001H:00000011SET R1, 30H02H:0011010003H:001100

8、00SET R2, F0H04H:0011100005H:11110000ADD R0, R106H:11010001ADD R2, R107H:11011001HLT08H:00000001匯編助記符匯編助記符(M地址:機(jī)器指令地址:機(jī)器指令)SET R0, 04H00H:0011000001H:00000100SET R1, 03H02H:0011010003H:00000011HLT04H:00000001SUB R0, R105H:11000001JS 0CH06H:0001110007H:00001100ADD R0, R108H:11010001OUT R0, PORT009H:0

9、1010000JMP 0DH0AH:000100000BH:00001101OUT R1, PORT00CH:01010100HLT0DH:00000001匯編助記符匯編助記符(M地址:機(jī)器指令地址:機(jī)器指令)SET R0, 000H:0011000001H:00000000SET R1, 002H:0011010003H:00000000ADD R0, R104H:11010001JC 0CH05H:0001010006H:00001100OUT R0, PORT007H:01010000SUB R0, R108H:11000001JC 0CH09H:000101000AH:00001100

10、OUT R0, PORT00BH:01010000HLT0CH:000000011 1) 單操作數(shù)運(yùn)算指令驗(yàn)證程序單操作數(shù)運(yùn)算指令驗(yàn)證程序SOP_JZSOP_JZ是典型的循環(huán)結(jié)構(gòu)程序,是典型的循環(huán)結(jié)構(gòu)程序,其功能類似于匯編語言的其功能類似于匯編語言的“LOOP”“LOOP”語句,實(shí)現(xiàn)了語句,實(shí)現(xiàn)了“1+2+ “1+2+ +9+10”+9+10”的連續(xù)十次相加求和的連續(xù)十次相加求和,代碼如后頁所示,代碼如后頁所示。2 2) 編譯、燒寫、自動(dòng)運(yùn)行編譯、燒寫、自動(dòng)運(yùn)行程序程序SOP_JZSOP_JZ。觀察自動(dòng)運(yùn)行過程中。觀察自動(dòng)運(yùn)行過程中的的“斷點(diǎn)斷點(diǎn)”暫停時(shí)刻,寄存器暫停時(shí)刻,寄存器R0R0、R1

11、R1和和R2R2的數(shù)據(jù)變化。的數(shù)據(jù)變化。3 3) 請(qǐng)問請(qǐng)問R0R0和和R1R1總共循環(huán)相加了幾次?為何統(tǒng)計(jì)次數(shù)的總共循環(huán)相加了幾次?為何統(tǒng)計(jì)次數(shù)的R2=09R2=09?最后最后R0R0輸出的結(jié)果是多少?輸出的結(jié)果是多少?“THR R2” “THR R2” 指令執(zhí)行的意義是指令執(zhí)行的意義是什么?能否只使用兩個(gè)通用寄存器完成連續(xù)相加求和的任什么?能否只使用兩個(gè)通用寄存器完成連續(xù)相加求和的任務(wù)?如果可以,程序要如何修改?務(wù)?如果可以,程序要如何修改?匯編助記符匯編助記符(M地址:機(jī)器指令地址:機(jī)器指令)SET R0, 01H00H:0011000001H:00000001SET R1, 02H02H

12、:0011010003H:00000010SET R2, 09H04H:0011100005H:00001001HLT06H:00000001ADD R0, R107H:11010001DEC R208H:00101001INC R109H:00100100匯編助記符匯編助記符(M地址:機(jī)器指令地址:機(jī)器指令)THR R20AH:00101011JZ 0FH0BH:000110000CH:00001111JMP 07H0DH:000100000EH:00000111OUT R0, PORT00FH:01010000HLT10H:00000001匯編助記符匯編助記符(M地址:機(jī)器指令地址:機(jī)器指

13、令)JMP 08H00H:0001000001H:00001000;vector02H:00000011HLT; sub03H:00000001OUT R0, PORT004H:01010000SET R0, 005H:0011000006H:00000000IRET07H:01110000SET R0, 02H; main08H:0011000009H:00000010ADDI R0, 02H0AH:110100000BH:00000010匯編助記符匯編助記符(M地址:機(jī)器指令地址:機(jī)器指令)JMP 0AH0CH:000100000DH:00001010HLT0EH:00000001中斷返回

14、指令中斷返回指令I(lǐng)RETIRET只能在中斷子程序出現(xiàn),不允許在主程只能在中斷子程序出現(xiàn),不允許在主程序使用序使用。請(qǐng)請(qǐng)說明原因,并且說明原因,并且設(shè)計(jì)一個(gè)硬件電路的保護(hù)機(jī)制:設(shè)計(jì)一個(gè)硬件電路的保護(hù)機(jī)制:若在主程序中出現(xiàn)若在主程序中出現(xiàn)IRETIRET指令,則指令,則CPUCPU不執(zhí)行打入不執(zhí)行打入PCPC的操作,的操作,避免系統(tǒng)崩潰?避免系統(tǒng)崩潰?可否修改硬件電路和微指令列表,只用一個(gè)可否修改硬件電路和微指令列表,只用一個(gè)CPUCPU周期實(shí)現(xiàn)周期實(shí)現(xiàn)微微 程序版程序版CPUCPU的取指周期和中斷處理周期的取指周期和中斷處理周期?(提示:拆分獨(dú)立的數(shù)據(jù)存儲(chǔ)器ROM/RAM和程序存儲(chǔ)器PROGRA

15、M,數(shù)據(jù)存儲(chǔ)器的地址寄存器仍為AR,程序計(jì)數(shù)器PC則作為程序存儲(chǔ)器的地址寄存器,不再直連到總線BUS。注意,因?yàn)槿≈钢芷谥挥幸粋€(gè)CPU周期,需要謹(jǐn)慎考慮取指周期末尾PC+1的問題,以及取指周期開頭把IR寄存器輸出的OP碼清零,從而避免影響微地址P1跳轉(zhuǎn)的問題。)在在上述上述思考題思考題的的基礎(chǔ)上,可否利用節(jié)省出來的空閑微指令基礎(chǔ)上,可否利用節(jié)省出來的空閑微指令地址安排新的微指令或增加指令功能?例如使地址安排新的微指令或增加指令功能?例如使OUT/OUTAOUT/OUTA指指令既令既可以可以輸出通用寄存器輸出通用寄存器RxRx內(nèi)容(單字節(jié)指令),也內(nèi)容(單字節(jié)指令),也可以可以輸出立即數(shù)輸出立即

16、數(shù)IMMIMM(雙字節(jié)指令)(雙字節(jié)指令),從而,從而在在I/OI/O端口端口的操作中的操作中減少對(duì)寄存器資源的占用。減少對(duì)寄存器資源的占用。取指周期、中斷處理周期及系統(tǒng)指令取指周期、中斷處理周期及系統(tǒng)指令 寄存器及寄存器及I/OI/O操作指令操作指令存儲(chǔ)器及堆棧操作指令存儲(chǔ)器及堆棧操作指令跳轉(zhuǎn)系列指令跳轉(zhuǎn)系列指令算術(shù)邏輯運(yùn)算系列指令算術(shù)邏輯運(yùn)算系列指令狀態(tài)狀態(tài)微程序控制器通路微程序控制器通路數(shù)據(jù)通路數(shù)據(jù)通路T1T1使能當(dāng)使能當(dāng)前微指令的微命令信號(hào)有效前微指令的微命令信號(hào)有效信息從源部件輸出到總線信息從源部件輸出到總線BUSBUST2T2微指令下址取址;根據(jù)微指令下址取址;根據(jù)OPOP碼決定微

17、指碼決定微指令下址令下址0I0I7 7I I6 6I I5 5I I4 4 (?。ㄈ≈肝⒅噶睿┲肝⒅噶睿┬畔目偩€信息從總線BUSBUS打入目的部件;打入目的部件;程序計(jì)數(shù)器程序計(jì)數(shù)器PC+1PC+1(?。ㄈ≈肝⒅噶睿┲肝⒅噶睿顟B(tài)狀態(tài)數(shù)據(jù)通路數(shù)據(jù)通路T1T1信息從源部件輸出到信息從源部件輸出到總線總線BUSBUST2T2信息從總線信息從總線BUSBUS打入打入目的部件;目的部件;程序計(jì)數(shù)器程序計(jì)數(shù)器PC+1PC+1(?。ㄈ≈肝⒅噶睿┲肝⒅噶睿┪⒚钭侄沃忻恳晃槐硎疽粋€(gè)微命令:微命令字段中每一位表示一個(gè)微命令: 第第N位位=1 有有微操作微操作0 無微操作無微操作 微指令結(jié)構(gòu)圖微指令結(jié)構(gòu)圖24

18、23 22 21 20 19 18 17 1615141312111098 7 65 4 32 INTRPC_INCJMP_CLR P2uA4 uA3 uA2 uA1 uA0微命令字段微命令字段下址字段下址字段 1BUSP字段字段 S3 S2 S1 S0 MSOP_ENSHT_ENBUS P1 P3 “BUS”字段“BUS”字段151413微命令121110微命令000000100PC_BUS100LDAR010MEM_OE010LDIR110IO_R110LDD001RA_BUS001LDR101RB_BUS101RAM_WE011ALU_BUS011IO_W111IRET111LDPC狀態(tài)

19、狀態(tài)微程序控制器微程序控制器通路通路T1T1使能當(dāng)使能當(dāng)前微指前微指令的微命令信令的微命令信號(hào)有效號(hào)有效T2T2微指令下址取微指令下址取址;根據(jù)址;根據(jù)OPOP碼碼決定微指令下決定微指令下址址0I0I7 7I I6 6I I5 5I I4 4 (?。ㄈ≈肝⒅噶睿┲肝⒅噶睿〢ddr24232221201918171615-1312-10987654321000000000000001001000000101011010100000001101001001000000010000000000010000100000011110111100000000010101110010000000011100

20、0000001111111001000000微指令代碼表微指令代碼表微指令代碼表微指令代碼表Addr24232221201918171615-1312-109876543210011000000000010100100100000000011000000000100100000010010100100000000010100010010000000010000000000011000100100000000101000000000001011001000000存儲(chǔ)器及堆棧操作指令存儲(chǔ)器及堆棧操作指令微指令代碼表微指令代碼表Addr24232221201918171615-1312-109876543210100000000000010010000011101011010000000001010100000011101110110000000001011000000111011110100000000001000100100000001001000000000100100000110110101100000000010101000000100011011100000000010110000001000110001000000000001101001000000跳轉(zhuǎn)系列指令的微指令代碼表跳轉(zhuǎn)系列指令的微指令代碼表Ad

溫馨提示

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