《计算机组成原理》课程设计报告——TEC-2实验系统——微程序设计
課程設(shè)計(jì)任務(wù)書:《計(jì)算機(jī)組成原理》課程設(shè)計(jì)任務(wù)書——TEC-2實(shí)驗(yàn)系統(tǒng)——微程序設(shè)計(jì)
一、目的和要求
深入了解計(jì)算機(jī)各種指令的執(zhí)行過程,以及控制器的組成,指令系統(tǒng)微程序設(shè)計(jì)的具體知識(shí),進(jìn)一步理解和掌握動(dòng)態(tài)微程序設(shè)計(jì)的概念;完成微程序控制的特定功能計(jì)算機(jī)的指令系統(tǒng)設(shè)計(jì)和調(diào)試。
二、實(shí)驗(yàn)環(huán)境
1.??? TEC-2機(jī)一臺(tái)
2.??? 電腦一臺(tái)
3.??? TEC-2模擬軟件一套
三、具體內(nèi)容
1、分析TEC-2機(jī)的功能部件組成,分析TEC-2機(jī)支持的指令格式等。
1.TEC-2機(jī)的控制器部件的組成
TEC2機(jī)控制器部件的關(guān)鍵內(nèi)容包括:
(1)由7片S6116隨機(jī)讀寫存儲(chǔ)器芯片組成的56位字長的徽程序控制存儲(chǔ)器,用于存放TEC-2機(jī)的微程序。其內(nèi)容在剛加電時(shí)不定,加電后將首先從2片ROM(LS2716芯片)中讀出固化的、用于實(shí)現(xiàn)53條機(jī)器指令的做程序,經(jīng)組織后寫入這一控制存器,這一過程稱為裝入微碼。裝入完成后,將從監(jiān)控程序的零地扯執(zhí)行指令,完成TEC-2機(jī)的啟動(dòng)過程。這之后,還可以用LDMC指令按規(guī)定的辦法向控制存?zhèn)`器寫入新的微程序,以實(shí)現(xiàn)新的機(jī)器指令。從簡化邏輯框圖上可以看到,控制存儲(chǔ)器的地址為μRA9~O,讀出的信息送微指令流水線寄存器PLR。
(2)做指令寄存器PLR由7片8位的寄存器芯片(6片LS374和1片LS273)組成,用于存放當(dāng)前做指令的內(nèi)容,更具體的說明將在后面給出。
(3)微程序定序器AM2910芯片(其內(nèi)部結(jié)構(gòu)、引腳信號(hào)和運(yùn)行原理等稍候詳細(xì)說明),是做程序控制器中非常關(guān)鍵、也是稍微難懂一點(diǎn)的部分。在學(xué)習(xí)中要正確理解。它的核心功能是依據(jù)機(jī)器的運(yùn)行狀態(tài)與當(dāng)前微指令的有關(guān)內(nèi)容等,正確地形成下一條微指令的地址,以保證微程序按要求的微指令序列關(guān)系自動(dòng)地逐條銜接執(zhí)行。
(4)程序計(jì)數(shù)器PC和當(dāng)前指令地址寄存器IP,是用運(yùn)算器通用寄存器組中的兩個(gè)選定的寄存器R5和R6實(shí)現(xiàn)的,這在圖上見不到。
(5)指令寄存器IR,用于存放當(dāng)前正在執(zhí)行的指令內(nèi)容。
(6)為AM2910提供輸入地址信號(hào)的配套線路,包括
①由兩片S2716ROM芯片組成的MAPROM,它變指令寄存器中的操作碼轉(zhuǎn)換成一段微程序的入口地;
②由片S125和1片S244組成的接收內(nèi)部總線的IB9~O信號(hào)的選擇門電路,它把由水平板上的開關(guān)提供的微指令地址送AM2910的地址輸入端;
③由1片LS125和微指令寄存器的PLR55~48組成的一組地址輸入,把當(dāng)前微指令中的后續(xù)地址B55~46送入AM2910的地址輸入端:請注意,1片LS125(共4位獨(dú)立的輸入和輸出端)分成兩組(每組兩位)分別用于②和③兩項(xiàng)用途。
這三組信號(hào)均為10位寬,且為互斥關(guān)系,分別由AM2910芯片提供的3個(gè)互斥控制信號(hào)/MAP、/VECT和/PL加以選通。
(7)由AM2910芯片的10位地址輸出信號(hào)驅(qū)動(dòng)的配套電路,包括
①由一片LSI75和一片LS374寄存器組構(gòu)成的記億電路,用于保存當(dāng)前微指令的地址,其輸出僅送往顯示燈部分,以顯示當(dāng)前微指令的地址
②由3片LS257(四位的二選一電路)芯片構(gòu)成的微控存的地址選擇形成電路,它實(shí)現(xiàn)在AM2910的10位輸出地址與存儲(chǔ)器地址寄存器的低10位地址之間的選擇,結(jié)果送往微控存的地址輸入端,用于完成微控存單元的讀寫操作;選擇信號(hào)是Smux。
③與此有關(guān)的還有3片計(jì)數(shù)器芯片1s161組成的地址計(jì)數(shù)器電路,其輸出(共10位)通過兩片LS244與剛提到的3片LS257的10位輸出形成“線或"關(guān)系,用計(jì)數(shù)器的一個(gè)輸出端Y11實(shí)現(xiàn)二者之間的選擇,Y11為0時(shí),pRA9pRAO是計(jì)數(shù)器的輸出信號(hào),提供完成裝入微碼過程的微控存的地址,Y11為1時(shí),表明裝入微碼的過程已結(jié)束,微控存的地址uRA9uRA0為3片LS257的輸出信號(hào),以完成機(jī)器指令運(yùn)行過程中的微控存的讀、寫(寫僅用于LDMC指令)操作。
(8)由2片LS2716ROM芯片組成的、固化的微碼保存電路及讀寫控制電路。這是為機(jī)器加電后完成裝入微碼所配備的專用線路,除2片LにS2716外,還有前邊提到的3片LS161芯片(計(jì)數(shù)器),1片LS61芯片,2片LS244、1片Gal20v8、1片LS74、1片LS23和1片LS00.其連接關(guān)系在邏輯線路圖(二)的右下部分。
2、TEC-2機(jī)支持的指令格式
TEC-2機(jī)指令系統(tǒng),采用6位操作碼,故最多支持64條基本指令,其中53條指令已由設(shè)計(jì)者實(shí)現(xiàn),微程序固化在ROM芯片中,其余11條留給實(shí)驗(yàn)人員執(zhí)行實(shí)現(xiàn)。
TEC-2機(jī)的基本指令格式比較固定。從指令長度區(qū)分,有單字指令和雙字指令,用戶也可以實(shí)現(xiàn)三字指令;從操作數(shù)的個(gè)數(shù)區(qū)分,有無操作數(shù)指令、單操作數(shù)指令和雙操作數(shù)指令;從支持的基本尋址方式區(qū)分,有寄存器尋址、寄存器間接尋址、立即數(shù)尋址、變址尋址、相對尋址、絕對尋址和堆棧尋址等方式;從指令功能上看,最常用的指令類型和運(yùn)算是比較齊全的。
為了方便理解和記憶,把TEC-2機(jī)的指令格式歸納為如下形式:
單字指令僅用一個(gè)指令字。
雙字指令用兩個(gè)指令字,此時(shí)第二個(gè)指令字的內(nèi)容可能是立即數(shù)、一個(gè)絕對地址或一個(gè)變址位移量。
第一個(gè)指令字分為三個(gè)主要部分。
最高6位是操作碼。從這個(gè)意義上講,TEC-2機(jī)的基本指令是固定長度的操作碼結(jié)構(gòu)。最多支持64條基本指令。
中間的兩位,即9、8兩位是條件碼,只能把他用作條件轉(zhuǎn)移指令的判斷條件。這兩位的值為00、01、10和11時(shí),分別選擇以處理機(jī)狀態(tài)字中的C、Z、V和S的值作為判斷條件。從這個(gè)意義上講,我們也可以認(rèn)為這兩位是指令的擴(kuò)展操作碼。由于除了條件轉(zhuǎn)移指令之外,其余的指令均不使用這兩位,故我們可以用這兩位擴(kuò)展新的指令,而不會(huì)影響原來的指令功能。
最低的8位有多種用法:
(1)這8位用于給出入/出指令的入/出端口地址。例如,已規(guī)定第一個(gè)串行口地址為80h和81h,第二個(gè)串行口地址為82h和83h。并行口、DMA口等都可以被分配幾個(gè)合理的地址,以實(shí)現(xiàn)入/出接口的各種實(shí)驗(yàn)。
(2)這8位用于給出相對尋址的位移量,其范圍是從-128到+127之間,因此相對地址應(yīng)在當(dāng)前指令地址向前向后總共256個(gè)字的范圍之內(nèi)。實(shí)現(xiàn)相對地址計(jì)算時(shí),這個(gè)位移量的最高位用符號(hào)位,補(bǔ)碼形式,與16位的當(dāng)前指令地址(放在IP寄存器中,即增量前的PC值)相加時(shí),這一符號(hào)位要擴(kuò)展到15~8這高8位上去。
(3)這8位被分為兩個(gè)4位的字段,用于給出的所用的通用寄存器編號(hào)。對雙操作數(shù)指令,這里可是給出目的與源兩個(gè)操作數(shù)所在的寄存器編號(hào)。對單操作數(shù)指令,只用源或目的中的一個(gè)操作數(shù),此時(shí),可能用到某一個(gè)4位字段,另一個(gè)4位字段不用。需要強(qiáng)調(diào)的一點(diǎn)是,寄存器用于給出操作數(shù)、操作數(shù)地址,或用作變址寄存器。
2、使用TEC-2仿真軟件進(jìn)行微指令級(jí)的設(shè)計(jì)和調(diào)試,完成微程序控制的特定功能計(jì)算機(jī)的指令設(shè)計(jì)。
(1)把用絕對地址表示的內(nèi)存單元ADDR1中的內(nèi)容與內(nèi)存單元ADDR2中的內(nèi)容相加,結(jié)果存于內(nèi)存單元ADDR1中。
指令格式:D8××,ADDR1,ADDR2,?? 三字指令(控存入口110H)
功能:??? [ADDR1]=[ADDR1] + [ADDR2]
畫出微指令流程圖
微指令詳細(xì)設(shè)計(jì)
設(shè)計(jì)分析:
根據(jù)指令的功能和指令格式,先讀取地址ADDR1單元內(nèi)容暫時(shí)放置于Q寄存器中,然后把PC指向的地址給AR,然后再讀取地址ADDR2單元內(nèi)容,同時(shí)與Q寄存器內(nèi)容相加,結(jié)果也暫存放在Q寄存器中,此時(shí)進(jìn)行PC-1→AR操作,將PC指向地址的上一個(gè)地址給AR,此時(shí)由于地址寄存器AR中存放的是地址ADDR2,因此只要將Q寄存器內(nèi)容寫入存儲(chǔ)器就可以完成指令功能。此外,微程序中必須實(shí)現(xiàn)兩次PC+1→PC操作,才能確保PC的正確走向。
微程序:
PC→AR,PC+1→PC:?? 0000?? 0E00?? A0B5?? 5402
MEM→AR:??????????? 0000?? 0E00?? 10F0?? 0002
MEM→Q:???????????? 0000??? 0E00?? 00F0?? 0000
PC→AR:? ????????????0000??? 0E00?? 90B0?? 5002
MEM→AR:?????????? ?0000??? 0E00?? 10F0?? 0002
MEM+Q→Q:???????? ??0000??? 0E01?? 00E0?? 0000
PC-1→AR:?????????? ??0000?? 0E00?? 91B0?? 5402
PC+1→PC:????? ???????0000?? 0E00?? B0B0?? 5400
MEM→AR:??????????? 0000?? 0E00?? 10F0?? 0002
Q→MEM,CC#=0: ?????????????? 0029?? 0300?? 1020?? 0010
指令分析:
PC→AR,PC+1→PC: 0000 0E00 A0B5 5402? 程序計(jì)數(shù)器加1,開辟1個(gè)內(nèi)存單元
??? 0???? 0???? ?0???? E????? 0???? ?0???? A??? ?0?? ???B???? 5?? ???5???? ?4?? ??0??? ?2
| 0000 | 0000 | 0000 | 1110 | 0000 | 0000 | 1010 | 0000 | 1011 | 0101 | 0101 | 0100 | 0000 | 0010 |
(B2-B0)DC2:2/GAR地址寄存器接收,故DC2為010
(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000
(B7)SA=0,作Am2901,即0000
(B3)SB=0,作Am2901,即0000
(B9 B8)SSH:未移位,即00
(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:有返回值,且返回值返回至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í)行,并未使用下地址,故下地址為0
?
MEM→AR:??????? 0000 0E00 10F0 0002? 將指令地址送AR(ADDR1)
? 0????? 0???? 0????? E???? 0????? 0????? 1???? 0 ?????F ????0????? 0????? 0??? ?0??? ??2
| 0000 | 0000 | 0000 | 1110 | 0000 | 0000 | 0001 | 0000 | 1111 | 0000 | 0000 | 0000 | 0000 | 0010 |
(B2-B0)DC2:地址寄存器接收,故DC2為010
(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
(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)行控制,故為000
(B35)備用位為0
(B36)SC? ??????CC#始終低電平有效,即SC=000,CC=0
(B39-B37)SCC???
(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行
(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0
[MEM]→Q: 0000 0E00 00F0 0000? 將內(nèi)存單元中的數(shù)據(jù)送入Q寄存器
? 0????? 0????? 0?? ??E?? ??0????? 0 ?????0???? 0 ?????F??? ??0? ???0? ????0??? ??0? ???0
| 0000 | 0000 | 0000 | 1110 | 0000 | 0000 | 0000 | 0000 | 1111 | 0000 | 0000 | 0000 | 0000 | 0000 |
(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
(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í)行,并未使用下地址,故下地址為0
PC→AR:? ????????????0000??? 0E00?? 90B0 ?5002??? 開辟1個(gè)內(nèi)存單元
? 0????? 0???? 0????? E???? 0????? 0????? 9???? 0 ?????B ????0????? 5????? 0??? ?0??? ??2
| 0000 | 0000 | 0000 | 1110 | 0000 | 0000 | 1001 | 0000 | 1011 | 0000 | 0101 | 0000 | 0000 | 0010 |
(B2-B0)DC2:2/GAR地址寄存器接收,故DC2為010
(B6-B4)DC1:未向IB總線發(fā)送控制,故DC1為000
(B7)SA=0,作Am2901,即0000
(B3)SB=0,作Am2901,即0000
(B9 B8)SSH:未移位,即00
(B11 B10)SCI:未移位,即00
(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101
(B19-B16)A口:未使用寄存器,故為0000
(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B
(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行0+B
(B30-B28)BI8-6:沒有返回值, Y的輸出選擇為F
(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í)行,并未使用下地址,故下地址為0
MEM→AR:?????????? ?0000? ?0E00? 10F0? 0002 將指令地址送AR(ADDR2)
? 0????? 0???? 0????? E???? 0????? 0????? 1???? 0 ?????F ????0????? 0????? 0??? ?0??? ??2
| 0000 | 0000 | 0000 | 1110 | 0000 | 0000 | 0001 | 0000 | 1111 | 0000 | 0000 | 0000 | 0000 | 0010 |
略
MEM+Q→Q:???? ??0000 0E01 00E0 0000 完成加法([ADDR1] + [ADDR2]→Q)
? 0????? 0???? 0????? E???? 0????? 1????? 0???? 0 ?????E ????0????? 0????? 0??? ?0??? ??0
| 0000 | 0000 | 0000 | 1110 | 0000 | 0001 | 0000 | 0000 | 1110 | 0000 | 0000 | 0000 | 0000 | 0000 |
(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端輸入為Q
(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行D+Q
(B30-B28)BI8-6:有返回值,且返回值返回至Q,而Y的輸出選擇為F???? ,故此處為000
(B31 B27 B23)MI0#,REQ,WE#:存儲(chǔ)器讀即取001
(B34-B32)SST:狀態(tài)位控制,接受ALU的標(biāo)志位輸出值故為001
(B35)備用位為0
(B36)SC?? ?????CC#始終低電平有效,即為0000
(B39-B37)SCC???
(B43-B40)CI3-CI0:Am2901命令第14#命令,即為順序執(zhí)行,
(B55-B44)下地址:由于順序執(zhí)行,并未使用下地址,故下地址為0
PC-1→AR:?????? 0000? 0E00? 91B0 ?5402 將PC指向地址的上一個(gè)地址給AR
? 0????? 0???? 0????? E???? 0????? 0??? ??9???? 1 ?????B ????0????? 5????? 4??? ?0??? ??2
| 0000 | 0000 | 0000 | 1110 | 0000 | 0000 | 1001 | 0001 | 1011 | 0000 | 0101 | 0100 | 0000 | 0010 |
(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:未移位,即00
(B11 B10)SCI:自加1
(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101
(B19-B16)A口:未使用寄存器,故為0000
(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B
(B26-B24)MI5-3:運(yùn)算功能選擇為“S-R”,即執(zhí)行-1功能
(B30-B28)BI8-6:沒有返回值, Y的輸出選擇為F
(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í)行,并未使用下地址,故下地址為0
PC+1→PC:?????????? ??0000?? 0E00?? B0B0?? 5400 程序計(jì)數(shù)器加1
? 0????? 0???? 0????? E???? 0????? 0????? B???? 0 ?????B ????0????? 5????? 4??? ?0?? ???0
| 0000 | 0000 | 0000 | 1110 | 0000 | 0000 | 1011 | 0000 | 1011 | 0000 | 0101 | 0100 | 0000 | 0000 |
(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:自加1
(B15-B12)B口:使用了寄存器R5,即程序計(jì)數(shù)器PC,即0101
(B19-B16)A口:未使用寄存器,故為0000
(B22-B20)MI2-0:此時(shí)ALU的R端輸入為0,S端輸入為B
(B26-B24)MI5-3:運(yùn)算功能選擇為“R+S”,即執(zhí)行+1功能
(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為F
(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í)行,并未使用下地址,故下地址為0
MEM→AR:?????? ??0000?? 0E00?? 10F0?? 0002 將指令地址送AR(ADDR1)
? 0????? 0???? 0????? E???? 0????? 0????? 1???? 0 ?????F ????0????? 0????? 0??? ?0??? ??2
| 0000 | 0000 | 0000 | 1110 | 0000 | 0000 | 0001 | 0000 | 1111 | 0000 | 0000 | 0000 | 0000 | 0010 |
略
Q→MEM,CC#=0:0029 ?0300? 1020 ?0010 將結(jié)果送入ADDR3,低電平有效
? 2????? 9????? 0????? 3???? 0????? 0??? ?1??? ??0????? 2?? ??0????? 0????? 0? ???1?? ??0
| 0010 | 1001 | 0000 | 0011 | 0000 | 0000 | 0001 | 0000 | 0010 | 0000 | 0000 | 0000 | 0001 | 0000 |
(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口:未使用寄存器,故為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命令第3#命令,即為條件轉(zhuǎn)移,低電平有效,有效時(shí),轉(zhuǎn)入下地址
(B55-B44)下地址:此命令為最后一條命令,若指令跳轉(zhuǎn),將轉(zhuǎn)入A4H,即下地址為29
?
?
(2)將一通用寄存器內(nèi)容減去某內(nèi)存單元內(nèi)容,結(jié)果放在另一寄存器中。
指令格式:E0 DR SR,ADDR (SR,DR源、目的寄存器各4位)雙字指令(控存入口130H)
功能:??? DR=SR-[ADDR]
畫出微指令流程圖
微指令詳細(xì)設(shè)計(jì)
設(shè)計(jì)分析:
根據(jù)指令的功能和指令格式,先讀取地址ADDR單元內(nèi)容暫時(shí)放置于Q寄存器中,然后再讀取內(nèi)存單元中的DATA,同時(shí)與Q寄存器內(nèi)容相減,結(jié)果存放在DR寄存器中。
微程序:
PC→AR,PC+1→PC: ???? ?????? 0000? 0E00? A0B5 ?5402?
當(dāng)前程序計(jì)數(shù)器內(nèi)容送地址寄存器,為讀取操作數(shù)地址做準(zhǔn)備;程序計(jì)數(shù)器指向下一單元地址
MEM→AR:????????????? ???? 0000? 0E00? 10F0?? 0002?
從主存讀取第一個(gè)操作數(shù)地址送AR,為讀取操作數(shù)做準(zhǔn)備
SR - MEM →DR:?? ??????? 0029? 0301? 31D0? ?? 0088?
寄存器SR存放的操作數(shù)減去ADDR單元內(nèi)容,并存入DR
指令分析:
PC→AR,PC+1→PC: 0000? 0E00? A0B5? 5402? 程序計(jì)數(shù)器加1
? 0????? 0????? 0????? E?? ??0????? 0????? A? ???0??? ?B ????5????? 5????? 4? ???0???? ?2
| 0000 | 0000 | 0000 | 1110 | 0000 | 0000 | 1010 | 0000 | 1011 | 0101 | 0101 | 0100 | 0000 | 0010 |
(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:有返回值,且返回值返回至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í)行,并未使用下地址,故下地址為0
②MEM→AR:?????????????????? 0000? 0E00? 10F0?? 0002? 將指令地址送AR
? 0????? 0????? 0????? E? ???0????? 0?? ??1????? 0???? F?? ???0? ???0?? ???0? ???0???? ?2
| 0000 | 0000 | 0000 | 1110 | 0000 | 0000 | 0001 | 0000 | 1111 | 0000 | 0000 | 0000 | 0000 | 0010 |
(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
(B19-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í)行,并未使用下地址,故下地址為0
③SR - MEM →DR:?? 0029? 0301? 31D0? 0088? 完成減法,最后結(jié)果送寄存器
? 2????? 9????? 0????? 3??? ??0? ???1? ???3????? 0???? D ?????0? ???0????? 0???? 8? ????8
| 0010 | 1001 | 0000 | 0011 | 0000 | 0001 | 0011 | 0000 | 1101 | 0000 | 0000 | 0000 | 1000 | 1000 |
(B2-B0)DC2:在本條微碼中,,寄存器未接收,故DC2為000
(B6-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ù)總線的讀和寫,此處是讀取內(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,即下地址為29
?
(3)轉(zhuǎn)移指令。判斷兩個(gè)通用寄存器內(nèi)容是否相等,若不相等則轉(zhuǎn)移到指定絕對地址,否則順序執(zhí)行。
指令格式:E9 DR SR,ADDR? 雙字指令(控存入口150H)
功能:??? if? DR!=SR goto? ADDR? else 順序執(zhí)行。
畫出微指令流程圖
微指令詳細(xì)設(shè)計(jì)
設(shè)計(jì)設(shè)計(jì):
利用指令的CND字段,即IR10~8,令I(lǐng)R10~8=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-SR???????????????? ???????? ?????? 0000 0E01 9190 0088
PC→AR,PC+1→PC,CC#=CND??? ?? 0029 03E0 A0B5 5402
MEM→PC,CC#=0??????????? ??????? 0029 0300 20F0 5000
指令分析:
DR - SR→DR ????????0000? 0E01? 9190? 0088?
SR內(nèi)容減DR內(nèi)容,若相等,則標(biāo)志符Z=1,否則Z=0
??? 0????? 0????? 0???? E??? ?0??? ?1??? ??B???? 1??? ??9????? 0??? ?0?? ???0?? ??8??? ??8
| 0000 | 0000 | 0000 | 1110 | 0000 | 0001 | 1011 | 0001 | 1001 | 0000 | 0000 | 0000 | 1000 | 1000 |
(B2-B0)DC2:在本條微碼中,,寄存器未接收,故DC2為000
(B6-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端輸入為A,S端輸入為B,即為001
(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)保存,故為001
(B35)備用位為0
(B36)SC???????? 此處低電平有效,故取SCC為000,SC為0
(B39-B37)SCC???
(B43-B40)CI3-CI0:由于順序執(zhí)行,并未使用下地址,故下地址為0
PC→AR,PC+1→PC,CC#=CND??? ?0029? 03E0? A0B5? 5402
當(dāng)前程序計(jì)數(shù)器內(nèi)容送地址寄存器,條件轉(zhuǎn)移信號(hào)CC#=CND,即判斷Z是否為1,若為0則中斷條件成立;程序計(jì)數(shù)器指向下一單元地址
?? ?2???? 9???? 0????? 3??? ??E???? ?0???? A???? 0???? ?B???? 5???? 5????? 4????? 0???? 2
| 0010 | 1001 | 0000 | 0011 | 1110 | 0000 | 1010 | 0000 | 1011 | 0101 | 0101 | 0100 | 0000 | 0010 |
((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:有返回值,且返回值返回至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,即下地址為29
MEM→PC,CC#=0 ????????0029? 0300? 30F0? 5000
取內(nèi)存單元ADDR中的地址送PC
?? 2? ????9???? ?0???? 3??? ??0????? 0???? 2???? ?0????? F???? 0???? 5????? 0??? ??0???? 0
| 0010 | 1001 | 0000 | 0011 | 0000 | 0000 | 0010 | 0000 | 1111 | 0000 | 0101 | 0000 | 0000 | 0000 |
(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口:未使用寄存器,故為0000
(B22-B20)MI2-0:R端數(shù)據(jù)來自主存(外部),S端為0,即為111
(B26-B24)MI5-3:運(yùn)算功能選擇為“S+R”
(B30-B28)BI8-6:有返回值,且返回值返回至B,而Y的輸出選擇為A
(B31 B27 B23)MI0#,REQ,WE#:三位用于控制內(nèi)外數(shù)據(jù)總線的讀和寫,此處不操作,故取10X
(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)移
(B55-B44)下地址: 此命令為最后一條命令,若指令跳轉(zhuǎn),將轉(zhuǎn)入A4H,即下地址為29
?
3、測試程序設(shè)計(jì)及調(diào)試。
(1)
(一)用E命令輸入微碼:(將微碼輸入到由900H開始的內(nèi)存單元中)
0000?0E00?A0B5?5402?0000?
0E00?10F0?0002?0000?0E00?
00F0?0000?0000?0E00?90B0?
5002?0000?0E00?10F0?0002?
0000?0E01?00E0?0000?0000?
0E00?91B0?5402?0000?0E00?
B0B0?5400?0000?0E00?10F0?
0002?0029?0300?1020?0010
(二)用D命令查看輸入的微碼:
(三)用A命令輸入加載微碼的程序:(將微碼加載到微控存中)
>A800?????????? ;TEC-2機(jī)主存儲(chǔ)器中RAM地址分配為0800H-0FFFH
0800: MOV R1,900 ;微碼在內(nèi)存中的首地址
0802: MOV R2,10? ;共10條微指令
0804: MOV R3,100;微碼在微控存中的首地址,題目規(guī)定為100H
0806: LDMC???? ;加載微碼指令
0807: RET?????? ;返回
0808:
(四)用G命令運(yùn)行加載微碼的程序:
>G800
(五)用A命令輸入程序:
>A820
0820: MOV R0,0023 ;將立即數(shù)23賦給寄存器R0
0822: MOV R1,0020 ;將立即數(shù)20賦給寄存器R1
0824: MOV [A00],R0;將寄存器R0中數(shù)據(jù)賦值給內(nèi)存單元0A00
0826: MOV [A01],R1;將寄存器R0中數(shù)據(jù)賦值給內(nèi)存單元0A01
0828: NOP??????? ;NOP起等待作用,因?yàn)橹噶钫妓膫€(gè)字節(jié),所以用4個(gè)NOP
0829: NOP
082A: NOP
082B: ?RET?????? ;返回\
(六)用E命令輸入新指令:
>E828;因?yàn)榈谝粋€(gè)空操作的地址是0A00所以此處輸入0A01
0828??? 0000:D400? 0000:0A00? 0000:0A01?
(七)用U命令查看輸入的程序:(反編譯觀察操作過程)
>U820?????????????????????????????????????? ;查看
(八)用“G”命令運(yùn)行程序:
>G820?????????????????????????????????????? ;運(yùn)行
(九)用“D”命令查看運(yùn)行結(jié)果:
? 在命令行提示符狀態(tài)下輸入:
?? DA00 (回車)
R
(2)
(一)用E命令輸入微碼:(將微碼輸入到由900H開始的內(nèi)存單元中)
>E900
0900??? 0000:0000? 0000:0E00? 0000:A0B5? 0000:5402? 0000:0000
0905??? 0000:0E00? 0000:10F0? 0000:0002? 0000:0029? 0000:0301
090A??? 0000:31D0? 0000:0088
;將微程序的16進(jìn)制代碼輸入到從900H開始的內(nèi)存單元中
(二)用D命令查看輸入的微碼:
>D900 ??;查看單元內(nèi)容是否正確
(三)用A命令輸入加載微碼的程序:(將微碼加載到微控存中)
>A800
0800: MOV R1,900?????????????????????????? ;微碼在內(nèi)存中的首地址為900H
0802: MOV R2,3??????????????????????? ;微程序一共有9條微指令
0804: MOV R3,130?????????????????????????? ;微碼加載到微控存中的首地址
0806: LDMC????????????????????????????? ;加載微碼指令
0807: RET???????????????????????????????? ;返回
0808:
(四)用G命令運(yùn)行加載微碼的程序:
>G800?????????????????????????????????????? ;執(zhí)行加載微碼程序
(五)用A命令輸入程序:
>A820
0820: MOV R0,0023?????????????????? 將減數(shù)放到通用寄存器R0
0822: MOV R3,0027?????????????????? 將被減數(shù)放到通用寄存器R3
0824: MOV [A00],R0???????????????? 將R0中減數(shù)放到0A00單元
0826: NOP
0827: NOP
0828: RET
0829:
(六)用E命令輸入新指令:
>E826??????????????????????????????????????
;編輯0826開始到0827單元,將新指令輸入,其中SR為R3, DR為R2
0826??? 0000:E023? 0000:0A00
(七)用U命令查看輸入的程序:(反編譯觀察操作過程)
>U820?????????????????????????????????????? ;查看
(八)用“G”命令運(yùn)行程序:
>G820?????????????????????????????????????? ;運(yùn)行
(九)用“D”命令查看運(yùn)行結(jié)果:
? 在命令行提示符狀態(tài)下輸入:
DA00 (回車)
R
(3)
(一)用E命令輸入微碼:(將微碼輸入到由900H開始的內(nèi)存單元中)
>E900
0900??? 0000:0000? 0000:0E01? 0000:9190? 0000:0088? 0000:0029
0905??? 0000:03E0? 0000:A0B5? 0000:5402? 0000:0029? 0000:0300
090A??? 0000:20F0? 0000:5000
(二)用D命令查看輸入的微碼:
(三)用A命令輸入加載微碼的程序:(將微碼加載到微控存中)
>A800
0800: MOV R1,900
0802: MOV R2,3
0804: MOV R3,140
0806: LDMC
0807: RET
0808:
(四)用G命令運(yùn)行加載微碼的程序:
>G800?????????????????????????????????????? ;執(zhí)行加載微碼程序
(五)用A命令輸入程序:
兩數(shù)相等時(shí);
>A820
0820: MOV R1,0026
0822: MOV R2,0026
0824: NOP
0825: NOP
0826: MOV R1,0023
0828: RET
0829:
(六)用E命令輸入新指令:
>E824
0824??? 0000:E512? 0000:0828
(七)用U命令查看輸入的程序:(反編譯觀察操作過程)
>U820
(八)用“G”命令運(yùn)行程序:
>G820
(九)用“D”命令查看運(yùn)行結(jié)果:
? 在命令行提示符狀態(tài)下輸入:
R
(五)*用A命令輸入程序:
兩數(shù)不相等時(shí):
>A820
0820: MOV R1,0025
0822: MOV R2,0024
0824: NOP
0825: NOP
0826: MOV R1,0023
0828: RET
0829:
(六)*用E命令輸入新指令:
>E824
0824??? 0000:E512? 0000:0828
(七)*用U命令查看輸入的程序:(反編譯觀察操作過程)
>U820
(八)用“G”命令運(yùn)行程序:
>G820
(九)用“D”命令查看運(yùn)行結(jié)果:
? 在命令行提示符狀態(tài)下輸入:
R
4、寫出自己在小組中承擔(dān)的任務(wù)及發(fā)揮的作用。
一人獨(dú)立完成
?
四、實(shí)驗(yàn)心得
這個(gè)課程設(shè)計(jì)是對整個(gè)學(xué)期對計(jì)算機(jī)組成原理學(xué)習(xí)的回顧,由于書中內(nèi)容較多,剛開始時(shí),有點(diǎn)云里霧里的感覺。并且由于對微程序控制器的組成和工作原理不了解,導(dǎo)致覺得實(shí)驗(yàn)非常的難,不知從何下手,后來雖然仔細(xì)的看了一遍書,又認(rèn)真聽老師把原理說了一遍,但還是不太知道怎么做,只是大致了解了微程序控制器是如何工作的,后來通過一個(gè)微程序設(shè)計(jì)實(shí)例的講解,才基本上知道了該如何設(shè)計(jì)指令。因?yàn)樵O(shè)計(jì)微碼要求對運(yùn)算器、控制器都要有很深的了解,不僅僅是照著書本上的步驟去做,而是要真真正正去設(shè)計(jì)一些計(jì)算機(jī)能運(yùn)行的最底層的指令,因此,做這個(gè)課程設(shè)計(jì)要在短時(shí)間內(nèi)突擊是很困難的,需要平時(shí)注意聽老師講的細(xì)節(jié)上的問題。比如,AM2901外部數(shù)據(jù)只能從A口進(jìn)入,結(jié)果回存只能通過B口等老師常常強(qiáng)調(diào)的,如果沒有注意,實(shí)驗(yàn)起來就會(huì)很麻煩。設(shè)計(jì)過程中與同學(xué)有不少的交流,遇到難于理解的地方時(shí)就會(huì)相互交流各自的想法。
在之前做微程序控制實(shí)驗(yàn)的時(shí)候,其實(shí)還有一些地方很模糊,比如為什么測試新指令的時(shí)候要輸入一定數(shù)量的NOP空操作,新指令和程序在運(yùn)行時(shí)是怎么聯(lián)系在一起的,下地址字段的意義,等等。但是通過課程設(shè)計(jì),更推動(dòng)了我對這些問題加深了解,對計(jì)算機(jī)的運(yùn)行原理比之前要更加透徹了。從這一次實(shí)驗(yàn)中印證一個(gè)道理只有通過實(shí)踐才能真正的掌握一門知識(shí)。
參考文章
https://blog.csdn.net/qq_43594913/article/details/106735166
http://blog.sina.com.cn/s/blog_6392df880100j7ro.html
https://wenku.baidu.com/view/952dc0f648649b6648d7c1c708a1284ac850059f.html
https://blog.csdn.net/denglaiyou4326/article/details/102433098/
總結(jié)
以上是生活随笔為你收集整理的《计算机组成原理》课程设计报告——TEC-2实验系统——微程序设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《计算机网络》实验报告——使用SNORT
- 下一篇: JAVA——基于HttpClient的通