計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告_第1頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告_第2頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告_第3頁
計(jì)算機(jī)組成原理實(shí)驗(yàn)報(bào)告_第4頁
計(jì)算機(jī)組成原理實(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、精選優(yōu)質(zhì)文檔-傾情為你奉上計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告 指導(dǎo)教師:班級:姓名:學(xué)號:一、目的和要求 1.實(shí)驗(yàn)?zāi)康模荷钊肓私庥?jì)算機(jī)各種指令的執(zhí)行過程,以及控制器的組成,指令系統(tǒng)微程序設(shè)計(jì)的具體知識(shí),進(jìn)一步理解和掌握動(dòng)態(tài)微程序設(shè)計(jì)的概念;完成微程序控制的特定功能計(jì)算機(jī)的指令系統(tǒng)設(shè)計(jì)和調(diào)試。 2、實(shí)驗(yàn)要求:要進(jìn)行這項(xiàng)大型實(shí)驗(yàn),必須清楚地懂得: (1)TEC-2機(jī)的功能部件及其連接關(guān)系; (2)TEC-2機(jī)每個(gè)功能部件的功能與具體組成; (3)TEC-2機(jī)支持的指令格式; (4)TEC-2機(jī)的微指令格式,AM2910芯片的用法; (5)已實(shí)現(xiàn)的典型指令的執(zhí)行實(shí)例,即相應(yīng)的微指令與其執(zhí)行次序的安排與銜接;

2、 (6)要實(shí)現(xiàn)的新指令的格式與功能。二、實(shí)驗(yàn)環(huán)境 PC機(jī)模擬TEC-2機(jī)3、 具體內(nèi)容一、 實(shí)驗(yàn)內(nèi)容:選定指令格式、操作碼,設(shè)計(jì)如下指令:(1) 把用絕對地址表示的內(nèi)存單元ADDR1中的內(nèi)容與內(nèi)存單元ADDR2中的內(nèi)容相減,結(jié)果存于內(nèi)存單元ADDR3中。指令格式:D4××,ADDR1,ADDR2, ADDR3 四字指令(控存入口100H)功能: ADDR3=ADDR1-ADDR2(2) 將一通用寄存器內(nèi)容減去某內(nèi)存單元內(nèi)容,結(jié)果放在另一寄存器中。指令格式:E0 DR SR,ADDR (SR,DR源、目的寄存器各4位)雙字指令(控存入口130H)功能: DR=SR+ ADDR

3、(3) 轉(zhuǎn)移指令。判斷兩個(gè)通用寄存器內(nèi)容是否相等,若相等則轉(zhuǎn)移到指定絕對地址,否則順序執(zhí)行。指令格式:E5 DR SR,ADDR 雙字指令(控存入口140H)功能: if DR=SR goto ADDR else順序執(zhí)行。設(shè)計(jì):利用指令的CND字段,即IR108,令I(lǐng)R108=101,即CC=Z 則當(dāng)DR=SR時(shí)Z=1,微程序不跳轉(zhuǎn),接著執(zhí)行MEM PC(即ADDR PC) 而當(dāng)DR!=SR時(shí)Z=0,微程序跳轉(zhuǎn)至A4。二、 實(shí)驗(yàn)要求:(1) 根據(jù)內(nèi)容自行設(shè)計(jì)相關(guān)指令微程序;(務(wù)必利用非上機(jī)時(shí)間設(shè)計(jì)好微程序)(2) 設(shè)計(jì)測試程序、實(shí)驗(yàn)數(shù)據(jù)并上機(jī)調(diào)試。(3) 設(shè)計(jì)報(bào)告內(nèi)容:包括1、設(shè)計(jì)目的2、設(shè)計(jì)

4、內(nèi)容3、微程序設(shè)計(jì)(含指令格式、功能、設(shè)計(jì)及微程序) 4、實(shí)驗(yàn)數(shù)據(jù)(測試所設(shè)計(jì)指令的程序及結(jié)果)。(具體要求安最新規(guī)范為準(zhǔn))(4) 課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告必須打印成冊,各班班長收齊大型實(shí)驗(yàn)報(bào)告于18周星期六下午(15:00)前,交張芳老師辦公室。四、實(shí)驗(yàn)程序與分析: (一).把用絕對地址表示的內(nèi)存單元ADDR1中的內(nèi)容與內(nèi)存單元ADDR2中的內(nèi)容相減,結(jié)果存于內(nèi)存單元ADDR3中。指令格式:D4××,ADDR1,ADDR2, ADDR3 四字指令(控存入口100H)功能: ADDR3=ADDR1-ADDR2指令格式:D4XXADDR1ADDR2ADDR3 微程序: PCAR,PC

5、+1PC:0000 0E00 A0B5 5402; 程序計(jì)數(shù)器加1,開辟1個(gè)內(nèi)存單元MEMAR:0000 0E00 10F0 0002; 將指令地址送AR(ADDR1)MEMQ:0000 0E00 00F0 0000; 將內(nèi)存單元中的數(shù)據(jù)送入Q寄存器 PCAR,PC+1PC: 0000 0E00 A0B5 5402; PC加1,開辟第二個(gè)內(nèi)存單元MEMAR:0000 0E00 10F0 0002; 將指令地址送AR(ADDR2)Q-MEMQ: 0000 0E01 01E0 0000; 完成減法(Q內(nèi)容-ADDR2內(nèi)容Q寄存器) PCAR,PC+1PC: 0000 0E00 A0B5 5402;

6、 PC加1,開辟第三個(gè)內(nèi)存單元MEM AR: 0000 0E00 10F0 0002; 將指令地址送AR(ADDR3) QMEM,CC#=0: 0029 0300 1020 0010; 將結(jié)果送入ADDR3,低電平有效指令分析: PCAR,PC+1PC: 0000 0E00 A0B5 5402 程序計(jì)數(shù)器加1,開辟1個(gè)內(nèi)存單元 0 0 0 E 0 0 A 0 B 5 5 4 0 20000000000001110000000001010000010110101010101 0000000010B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-

7、B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3(B2-B0)DC2:2/GAR地址寄存器接收,故DC2為010(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000(B7)SA=0,作Am2901(B3)SB=0,作Am2901(B9 B8)SSH:未移位(B11 B10)SCI:自加1(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101(B19-B16)A口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B(B26-

8、B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行+1功能(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為A(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X(B34-B32)SST:狀態(tài)位不需進(jìn)行判斷,即為000(B35)備用位為0(B36)SC CC#始終低電平有效,即SC=000,CC=0(B39-B37)SCC (B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0MEMAR: 0000 0E00 10F0 00

9、02 將指令地址送AR(ADDR1) 0 0 0 E 0 0 1 0 F 0 0 0 0 20000000000001110000000000001000011110000000000 0000000010 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3(B2-B0)DC2:地址寄存器接收,故DC2為010(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000(B7)SA=0,作Am2901,即000

10、0(B3)SB= 0,作Am2901,即0000(B9 B8)SSH:未移位,即00(B11 B10)SCI:未進(jìn)位.,即00(B15-B12)B口:未使用寄存器,故為0000(B19-B16)A口:未使用寄存器,故為0000(B22-B20)MI2-0:此時(shí)ALU的R端輸入為D(外部數(shù)據(jù)),S端輸入為0(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行D+0(B30-B28)BI8-6:沒有返回值, Y的輸出選擇為F(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處為存儲(chǔ)器讀,故取001(B34-B32)SST:狀態(tài)位不需進(jìn)行控制,故為00

11、0(B35)備用位為0(B36)SC CC#始終低電平有效,即SC=000,CC=0(B39-B37)SCC (B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0MEMQ:0000 0E00 00F0 0000 將內(nèi)存單元中的數(shù)據(jù)送入Q寄存器 0 0 0 E 0 0 0 0 F 0 0 0 0 00000000000001110000000000000000011110000000000 0000000000 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24

12、B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3(B2-B0)DC2:寄存器未接收,故DC2為000(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000(B7)SA=0,作Am2901,即0000(B3)SB=0,作Am2901,即0000(B9 B8)SSH:未移位,為00(B11 B10)SCI:未進(jìn)位,為00(B15-B12)B口:未使用寄存器,故為0000(B19-B16)A口:未使用寄存器,故為0000(B22-B20)MI2-0:此時(shí)ALU的R端輸入為D(外部數(shù)據(jù)),S端輸入為0(

13、B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行D+0(B30-B28)BI8-6:有返回值,且返回值返回至Q,而Y的輸出選擇為F,故此處為000(B31 B27 B23)MI0#,REQ,WE#:存儲(chǔ)器讀即取001(B34-B32)SST:狀態(tài)位不需進(jìn)行控制,故為000(B35)備用位為0(B36)SC CC#始終低電平有效,即為0000(B39-B37)SCC (B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行,(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0PCAR,PC+1PC: 0000 0E00 A0B5 5402 PC加1

14、,開辟第二個(gè)內(nèi)存單元 0 0 0 E 0 0 A 0 B 5 5 4 0 20000000000001110000000001010000010110101010101 0000000010 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3MEMAR: 0000 0E00 10F0 0002 將指令地址送AR(ADDR2) 0 0 0 E 0 0 1 0 F 0 0 0 0 20000000000001110

15、000000000001000011110000000000 0000000010 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3這兩條指令同。MEM-QQ: 0000 0E01 01E0 0000 完成減法(ADD2內(nèi)容-Q內(nèi)容Q寄存器) 0 0 0 E 0 1 0 1 E 0 0 0 0 00000000000001110000000010000000111100000000000 0000000000

16、 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3(B2-B0)DC2:寄存器未接收,故DC2為000(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000(B7)SA:為0,作Am2901(B3)SB:為0,作Am2901(B9 B8)SSH:未移位,即00(B11 B10)SCI:未進(jìn)位,即00(B15-B12)B口:未使用寄存器,故為0000(B19-B16)A口:未使用寄存器,故為0000(B2

17、2-B20)MI2-0:此時(shí)ALU的R端輸入為D(外部數(shù)據(jù)),S端輸入為Q(B26-B24)MI5-3:運(yùn)算功能選擇為“S-R”,即執(zhí)行D-Q(B30-B28)BI8-6:有返回值,且返回值返回至Q,而Y的輸出選擇為F,故此處為000(B31 B27 B23)MI0#,REQ,WE#:存儲(chǔ)器讀即取001(B34-B32)SST:由運(yùn)算帶來的狀態(tài)保存,故為001(B35)備用位為0(B36)SC CC#始終低電平有效,即為0000(B39-B37)SCC (B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為

18、0PCAR,PC+1PC: 0000 0E00 A0B5 5402 PC加1,開辟第三個(gè)內(nèi)存單元 0 0 0 E 0 0 A 0 B 5 5 4 0 20000000000001110000000001010000010110101010101 0000000010 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3MEM AR: 0000 0E00 10F0 0002 將指令地址送AR(ADDR3) 0 0

19、0 E 0 0 1 0 F 0 0 0 0 20000000000001110000000000001000011110000000000 0000000010 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3這兩條指令同。QMEM,CC#=0: 0029 0300 1020 0010 將結(jié)果送入ADDR3,低電平有效 2 9 0 3 0 0 1 0 2 0 0 0 1 0001010010000001100

20、0000000001000000100000000000 0000010000 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3(B2-B0)DC2:寄存器未接收,故DC2為000(B6-B4)DC1:向IB總線發(fā)送運(yùn)算器的指令,故DC1為001(B7)SA=0,作Am2901(B3)SB=0,作Am2901(B9 B8)SSH:未移位,即00(B11 B10)SCI:未進(jìn)位,即00(B15-B12)B口:未

21、使用寄存器,故為0000(B19-B16)A口:未使用寄存器,故為0000(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為Q(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行0+Q(B30-B28)BI8-6:沒有返回值,Y的輸出選擇為F(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處為將Q寄存器中值寫入內(nèi)存單元,故取000(B34-B32)SST:未用狀態(tài),故為000(B35)備用位為0(B36)SC 此處低電平有效,故取SCC為000,SC為0(B39-B37)SCC (B43-B40)CI3-CI0:Am2901命令

22、第3#命令,即為條件轉(zhuǎn)移,低電平有效,有效時(shí),轉(zhuǎn)入下地址(B55-B44)下地址:此命令為最后一條命令,若指令跳轉(zhuǎn),將轉(zhuǎn)入A4H,即下地址為29程序調(diào)試:(1) 用E命令輸入微碼:(將微碼輸入到由900H開始的內(nèi)存單元中) (2) 用D命令查看輸入的微碼:(3) 用A命令輸入加載微碼的程序:(將微碼加載到微控存中)>A800 ;TEC-2機(jī)主存儲(chǔ)器中RAM地址分配為0800H-0FFFH0800: MOV R1,900 ;微碼在內(nèi)存中的首地址0802: MOV R2,9 ;共9條微指令0804: MOV R3,100;微碼在微控存中的首地址,題目規(guī)定為100H0806: LDMC ;加載

23、微碼指令0807: RET ;返回0808:(4)用G命令運(yùn)行加載微碼的程序:>G800(5)用A命令輸入程序:>A8200820: MOV R0,0023 ;將立即數(shù)23賦給寄存器R00822: MOV R1,0020 ;將立即數(shù)20賦給寄存器R10824: MOV A00,R0;將寄存器R0中數(shù)據(jù)賦值給內(nèi)存單元0A000826: MOV A01,R1;將寄存器R0中數(shù)據(jù)賦值給內(nèi)存單元0A010828: NOP ;NOP起等待作用,因?yàn)橹噶钫妓膫€(gè)字節(jié),所以用4個(gè)NOP0829: NOP082A: NOP082B: NOP082C: RET ;返回082D:(6)用E命令輸入新指令

24、:>E828;因?yàn)榈谝粋€(gè)空操作的地址是0828所以此處輸入08280828 0000:D401 0000:0A00 0000:0A01 0000:0A02(4) (5)(6)的實(shí)現(xiàn)如下圖:(7) 用U命令查看輸入的程序:(反編譯觀察操作過程)(8) 用“G”命令運(yùn)行程序:(9) 用“D”命令查看運(yùn)行結(jié)果: 在命令行提示符狀態(tài)下輸入: DA00 (回車) (二)將一通用寄存器內(nèi)容減去某內(nèi)存單元內(nèi)容,結(jié)果放在另一寄存器中。指令格式:E0 DR SR,ADDR (SR,DR源、目的寄存器各4位)雙字指令(控存入口130H)功能: DR=SR - ADDR指令分析:根據(jù)指令的功能和指令格式,先讀

25、取地址ADDR單元內(nèi)容暫時(shí)放置于Q寄存器中,然后再讀取內(nèi)存單元中的DATA,同時(shí)與Q寄存器內(nèi)容相減,結(jié)果存放在DR寄存器中。每條指令系統(tǒng)微操作詳細(xì):PCAR,PC+1PC: 0000 0E00 A0B5 5402 程序計(jì)數(shù)器加1 0 0 0 E 0 0 A 0 B 5 5 4 0 20000000000001110000000001010000010110101010101 0000000010 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B2

26、7 B23 B10 B8 B7 B3(B2-B0)DC2:在本條微碼中,地址寄存器接收,故DC2為010(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000(B7)SA:為0,作Am2901(B3)SB:為0,作Am2901(B9 B8)SSH:未移位(B11 B10)SCI:未進(jìn)位(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC(B19-B16)A口:使用了寄存器R5,即程序計(jì)數(shù)器PC(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行+1功能(B30-B28)BI8-6:有返回值,且返回值返回至

27、B,而Y的輸出選擇為A(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X(B34-B32)SST:未用狀態(tài),故為000(B35)備用位為0(B36)SC 未用條件碼,故為0(B39-B37)SCC (B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0MEMAR: 0000 0E00 10F0 0002 將指令地址送AR 0 0 0 E 0 0 1 0 F 0 0 0 0 20000000000001110000000000001000011110

28、000000000 0000000010 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3(B2-B0)DC2:在本條微碼中,地址寄存器接收,故DC2為010(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000(B7)SA:為0,作Am2901(B3)SB:為0,作Am2901(B9 B8)SSH:未移位,即00(B11 B10)SCI:未進(jìn)位,即00(B15-B12)B口:未使用寄存器,故為0(B1

29、9-B16)A口:未使用寄存器,故為0(B22-B20)MI2-0:此時(shí)ALU的R端輸入為D(外部數(shù)據(jù)),S端輸入為0(B26-B24)MI5-3:運(yùn)算功能選擇為“+S”,即執(zhí)行D+0(B30-B28)BI8-6:沒有返回值, Y的輸出選擇為F(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處為存儲(chǔ)器讀,故取001(B34-B32)SST:未用狀態(tài),故為000(B35)備用位為0(B36)SC 未用條件碼,故為0(B39-B37)SCC (B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行(B55-B44)下地址:由于順序執(zhí)行,并

30、未使用下地址,故下地址為0SR - MEM DR: 0029 0301 31D0 0088 完成減法,最后結(jié)果送寄存器 2 9 0 3 0 1 3 0 D 0 0 0 8 80010100100000011000000010011000011010000000000 0010001000 B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3(B2-B0)DC2:在本條微碼中,寄存器未接收,故DC2為000(B6-

31、B4)DC1:未向IB總線發(fā)送控制,故DC1為000(B7)SA:用指令給ALU的R端賦值,故為1(B3)SB:用指令給ALU的S端賦值,故為1(B9 B8)SSH:未移位(B11 B10)SCI:未進(jìn)位(B15-B12)B口:未使用寄存器,故為0000(B19-B16)A口:未使用寄存器,故為0000(B22-B20)MI2-0:此時(shí)ALU的R端輸入為D(外部數(shù)據(jù)),S端輸入為A,即為101(B26-B24)MI5-3:運(yùn)算功能選擇為“S-R”(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為F(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總

32、線的讀和寫,此處是讀取內(nèi)存單元內(nèi)容,并被SR減,故取001(B34-B32)SST:由運(yùn)算帶來的狀態(tài)保存,故為001(B35)備用位為0(B36)SC 此處低電平有效,故取SCC為000,SC為0(B39-B37)SCC (B43-B40)CI3-CI0:Am2901命令第3#命令,即為條件轉(zhuǎn)移,低電平有效,有效時(shí),轉(zhuǎn)入下地址 (B55-B44)下地址:此命令為最后一條命令,若指令跳轉(zhuǎn),將轉(zhuǎn)入A4H,即下地址為291. 微程序(1) PCAR,PC+1PC0000 0E00 A0B5 5402當(dāng)前程序計(jì)數(shù)器內(nèi)容送地址寄存器,為讀取操作數(shù)地址做準(zhǔn)備;程序計(jì)數(shù)器指向下一單元地址B55-B00000

33、0000000011100000000010100000101101010101010000000010(2) MEMAR0000 0E00 10F0 0002從主存讀取第一個(gè)操作數(shù)地址,為讀取操作數(shù)做準(zhǔn)備B55-B000000000000011100000000000010000111100000000000000000010(3) SR-ADDR DR0029 0301 31D0 0088寄存器SR存放的操作數(shù)減去ADDR單元內(nèi)容,并存入DRB55-B000101001000000110000000100110001110100000000000010001000MIO# REQ WE#為

34、000,BI8-6為011,MI5-3為001,MI2-0為101,SA(B7)=1,SB(B3)=1,表示將寄存器SR(A口)存放的操作數(shù)減去ADDR單元內(nèi)容,并存入DR(通過B口);B55-B46為(4AH),即下地址,CI3-0為0011(3號命令,條件轉(zhuǎn)移),SCC為00(CC#),表示轉(zhuǎn)移到4AH中斷。2. 輸入微碼>E9000900 0000:0000 0000:0E00 0000:A0B5 0000:5402 0000:00000905 0000:0E00 0000:10F0 0000:0002 0000:0029 0000:0301090A 0000:31D0 0000:

35、0088;將微程序的16進(jìn)制代碼輸入到從900H開始的內(nèi)存單元中3. 查看微碼>D9000900 0000 0E00 A0B5 5402 0000 0E00 10F0 00020908 0029 0301 31D0 0088 0000 0000 0000 0000;查看單元內(nèi)容是否正確4. 加載微碼>A8000800: MOV R1,900;微碼在內(nèi)存中的首地址為900H0802: MOV R2,3;微程序一共有9條微指令0804: MOV R3,130;微碼加載到微控存中的首地址0806: LDMC;加載微碼指令0807: RET;返回0808:>G800;執(zhí)行加載微碼程序

36、5. 輸入程序,測試新指令>A8200820: MOV R0,0023將減數(shù)放到通用寄存器R00822: MOV R3,0027將被減數(shù)放到通用寄存器R30824: MOV A00,R0將R0中減數(shù)放到0A00單元0826: NOP0827: NOP0828: RET0829:>E826編輯0826開始到0827單元,將新指令輸入,其中SR為R3,DR為R20826 0000:E023 0000:0A00>U820查看0820: 2C00 0023 MOV R0, 00230822: 2C30 0027 MOV R3, 00270824: 3400 0A00 MOV 0A00

37、, R00826: E023 DW E0230827: 0A00 ADC R0, R00828: AC00 RET>G820運(yùn)行6. 運(yùn)算結(jié)果>RR0=0023 R1=090C R2=0004 R3=0027 SP=FFFF PC=0820 IP=0828 R7=0000 R8=0000R9=0000 R10=0000 R11=0000 R12=0000 R13=0000 R14=0000 R15=0000 F=0820: 2C00 0023 MOV R0, 0023;源寄存器為R3,目的寄存器為R2,被減數(shù)為0023,減數(shù)為0027,結(jié)果為0004存放于R2,正確(三)轉(zhuǎn)移指令。

38、判斷兩個(gè)通用寄存器內(nèi)容是否相等,若相等則轉(zhuǎn)移到指定絕對地址,否則順序執(zhí)行。指令格式:E5 DR SR,ADDR 雙字指令(控存入口140H)功能: if DR=SR goto ADDR else順序執(zhí)行。設(shè)計(jì):利用指令的CND字段,即IR108,令I(lǐng)R108=101,即CC=Z 則當(dāng)DR=SR時(shí)Z=1,微程序不跳轉(zhuǎn),接著執(zhí)行MEM PC(即ADDR PC) 而當(dāng)DR!=SR時(shí)Z=0,微程序跳轉(zhuǎn)至A4。微程序設(shè)計(jì):DR-SRDR :0000 0E01 B190 0088 PCAR,PC+1PC,CC#=CND :0029 03E0 A0B5 5402 MEMPC,CC#=0 :0029 0300

39、 20F0 50001、 DR - SRDR 0 0 0 E 0 1 B 1 9 0 0 0 8 800000000000011100000000110110001100100000000000010001000B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3(B2-B0)DC2:在本條微碼中,寄存器未接收,故DC2為000(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000(B7)SA:用指令給AL

40、U的R端賦值,故為1(B3)SB:用指令給ALU的S端賦值,故為1(B9 B8)SSH:未移位(B11 B10)SCI:未進(jìn)位(B15-B12)B口:未使用寄存器,故為0000(B19-B16)A口:未使用寄存器,故為0000(B22-B20)MI2-0:此時(shí)ALU的R端輸入為A,S端輸入為B,即為011(B26-B24)MI5-3:運(yùn)算功能選擇為“S-R”(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為F(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X(B34-B32)SST:由運(yùn)算帶來的狀態(tài)保存,故為00

41、1(B35)備用位為0(B36)SC 此處低電平有效,故取SCC為000,SC為0(B39-B37)SCC (B43-B40)CI3-CI0:由于順序執(zhí)行,并未使用下地址,故下地址為02、PCAR,PC+1PC,CC#=CND 2 9 0 3 E 0 A 0 B 5 5 4 0 20010100100000011111000001010000010110101010101 0000000010B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27

42、B23 B10 B8 B7 B3(B2-B0)DC2:2/GAR地址寄存器接收,故DC2為010(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000(B7)SA=0,作Am2901(B3)SB=0,作Am2901(B9 B8)SSH:未移位(B11 B10)SCI:自加1(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101(B19-B16)A口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行+1功能(B30-B28)BI8-6:有返回值,且

43、返回值返回至B,而Y的輸出選擇為A(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X(B34-B32)SST:狀態(tài)位不需進(jìn)行判斷,即為000(B35)備用位為0(B36)SC 用到IR10-8則SC置0 (B39-B37)SCC 題中需要用到IR10-8所以SCC選擇7則為111 (B43-B40)CI3-CI0:Am2901命令第3#命令,即為條件轉(zhuǎn)移 (B55-B44)下地址:由于條件轉(zhuǎn)移,若判斷相等,則順序執(zhí)行,若不相等,則指令跳轉(zhuǎn),將轉(zhuǎn)入A4H,即下地址為293、 MEMPC,CC#=0 2 9 0 3 0 0 2 0 F 0

44、5 0 0 00010100100000011000000000010000011110000010100 0000000000B55-B44 B43-B40 B39-B37 B34-B32 B30-B28B26-B24 B22-B20B19-B16B15-B12B11 B9 B6-B4 B2-B0 B36B35 B31 B27 B23 B10 B8 B7 B3(B2-B0)DC2:在本條微碼中,寄存器未接收,故DC2為000(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000(B7)SA=0,作Am2901(B3)SB=0,作Am2901(B9 B8)SSH:未移位(B11 B10)SCI:未進(jìn)位(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101(B19-B16)A口:未使用寄存器,故為0

溫馨提示

  • 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

提交評論