5. 計算機組成和體系結(jié)構(gòu)華工實驗五 CPU組成與機器指令執(zhí)行周期實驗_第1頁
5. 計算機組成和體系結(jié)構(gòu)華工實驗五 CPU組成與機器指令執(zhí)行周期實驗_第2頁
5. 計算機組成和體系結(jié)構(gòu)華工實驗五 CPU組成與機器指令執(zhí)行周期實驗_第3頁
5. 計算機組成和體系結(jié)構(gòu)華工實驗五 CPU組成與機器指令執(zhí)行周期實驗_第4頁
5. 計算機組成和體系結(jié)構(gòu)華工實驗五 CPU組成與機器指令執(zhí)行周期實驗_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗五 CPU組成與機器指令執(zhí)行周期實驗一、實驗?zāi)康?. 將微程序控制器同執(zhí)行部件(整個數(shù)據(jù)通路)聯(lián)機,組成一臺模型計算機。2. 用微程序控制器控制模型計算機的數(shù)據(jù)通路。3. 通過TEC-5執(zhí)行由8條機器指令組成的簡單程序,掌握機器指令與微指令的關(guān)系,牢固建立計算機的整機概念。二、實驗電路l 本次實驗將前面幾個實驗中的所有電路,包括運算器、存儲器、通用寄存器堆、微程序控制器等模塊組合在一起,構(gòu)成一臺簡單的模型機。因此,在基本實驗中,這是最復(fù)雜的一個實驗,也將是最有收獲的一個實驗。在前面的實驗中,實驗者本身作為“控制器”,完成了對數(shù)據(jù)通路的控制。而在本次實驗中,數(shù)據(jù)通路的控制將交由微程序控制器來

2、完成。TEC-5從內(nèi)存中取出一條機器指令到執(zhí)行指令結(jié)束的一個指令周期,是由微程序完成的,即一條機器指令對應(yīng)一個微程序序列。三、實驗設(shè)備1. TEC-5計算機組成原理實驗系統(tǒng)1臺2. 邏輯測試筆一支(在TEC-5)上3. 雙蹤示波器一臺(公用)4. 直流萬用表一只(公用)四、實驗任務(wù)1. 對機器指令組成的簡單程序進行譯碼。將下表的程序按機器指令格式手工匯編成二進制機器代碼,此項任務(wù)請在預(yù)習(xí)時完成。內(nèi)存地址機器指令機器代碼(十六進制表示)00HADD R1, R001HJC R302HSTA R1, R203HLDA R2, R204HAND R2, R005HSUB R2, R306HOUT R

3、207HSTP 2. 按照下面框圖,參考前面實驗的電路圖完成連線,工作量大概是:控制臺、時序部件、數(shù)據(jù)通路和微程序控制器之間的連線??刂破魇强刂撇考?,數(shù)據(jù)通路是執(zhí)行部件,時序發(fā)生器是時序部件。注意通用寄存器堆RF的RD1、RD0、RS1、RS0、WR1、WR0與IR3-IR0間的連線。3. 將任務(wù)1中的程序代碼用控制臺指令存入內(nèi)存中,并根據(jù)程序的需要,用數(shù)碼開關(guān)SW7SW0設(shè)置通用寄存器的數(shù)據(jù)。注意:由于設(shè)置通用寄存器時會破壞存儲器單元的數(shù)據(jù),因此應(yīng)先設(shè)置寄存器中的數(shù)據(jù),再設(shè)置存儲器中的程序和數(shù)據(jù)。要求使用兩組寄存器數(shù)據(jù),一組寄存器數(shù)據(jù)在執(zhí)行 ADD R1,R0指令時產(chǎn)生進位,一組寄存器數(shù)據(jù)在

4、執(zhí)行ADD R1,R0指令時不產(chǎn)生進位,以觀察同一程序程序的不同執(zhí)行流程。4. 用單拍(DP)方式執(zhí)行一遍程序,記錄最后得到的四個寄存器的數(shù)據(jù),以及由STA指令存入RAM中的數(shù)據(jù),與理論分析值比較。執(zhí)行時注意觀察各個指示燈的顯示,以跟蹤程序執(zhí)行的詳細過程(可觀察到每一條微指令的執(zhí)行過程)。5. 用連續(xù)方式再次執(zhí)行程序。這種情況相當(dāng)于計算機正常的工作。程序執(zhí)行到STP指令后自動停機。讀出寄存器中的運算結(jié)果,與理論值比較。五、實驗要求1. 務(wù)必做好實驗預(yù)習(xí),這樣在實驗中才能做到頭腦清醒、思路清晰、忙而不亂、心中有數(shù)。2. 根據(jù)實驗任務(wù)的要求,預(yù)習(xí)時做好必要的準(zhǔn)備,填好相關(guān)表格、數(shù)據(jù)和理論分析值,以

5、便與實驗值對照。3. 本次實驗接線較多,務(wù)必仔細,以免因接線錯誤導(dǎo)致控制出錯,影響實驗進度。4. 寫出實驗報告,內(nèi)容是:(1) 實驗?zāi)康摹?2) 實驗任務(wù)15中的數(shù)據(jù)表格。(3) 值得討論的其他問題。六、實驗步驟和實驗結(jié)果(1)按照表1中的指令格式與功能對表2中的機器指令組成的簡單程序進行譯碼。表1 指令格式與功能名稱助記符功能指令格式IR7 IR6 IR5 IR4IR3 IR2IR1 IR0加法ADD Rd, RsRd + RsRd0 0 0 0Rs1 Rs0Rd1 Rd0減法SUB Rd, RsRd - RsRd0 0 0 1Rs1 Rs0Rd1 Rd0邏輯與AND Rd, RsRd &a

6、mp; RsRd0 0 1 0Rs1 Rs0Rd1 Rd0存數(shù)STA Rd, RsRdRs0 0 1 1Rs1 Rs0Rd1 Rd0取數(shù)LDA Rd, RsRsRd0 1 0 0Rs1 Rs0Rd1 Rd0條件轉(zhuǎn)移JC R3若C1 則R3PC0 1 0 11 1× × 停機STP暫停執(zhí)行0 1 1 0× ×× ×輸出OUT RsRsDBUS0 1 1 1Rs1 Rs0× ×表2 機器指令程序內(nèi)存地址機器指令機器代碼(十六進制表示)00HADD R1, R001HJC R302HSTA R1, R203HLDA R2

7、, R204HAND R2, R005HSUB R2, R306HOUT R207HSTP (2)接線 本實驗接線比較多,需仔細。接線表LDIRPC+1LDPC#AR+1LDAR#LDDR1LDDR2LDRi數(shù)據(jù)通路LDIRPC+1LDPC#AR+1LDAR#LDDR1LDDR2LDRi控制器SW_BUS#Rs_BUS#ALU_BUS#RAM_BUS#CER#CEL#數(shù)據(jù)通路SW_BUS#Rs_BUS#ALU_BUS#RAM_BUS#CER#CEL#控制器LR/W#Cn#M S0 S1 S2 S3數(shù)據(jù)通路LR/W#Cn# M S0 S1 S2 S3控制器進位CIR7IR6IR5IR4數(shù)據(jù)通路進

8、位CIR7IR6IR5IR4數(shù)據(jù)通路IR3IR2IR1IR0IR1IR0數(shù)據(jù)通路RS1RS0RD1RD0WR1WR0控制器TJ時序電路TJ只要把上表種同列的信號用線連接即可,一共接線33條。接好線后,將編程開關(guān)撥到“正常位置”。合上電源,按CLR#按鈕,使TEC-5實驗實驗系統(tǒng)處于初始狀態(tài)。(3)存程序代碼,設(shè)置通用寄存器R0、R1、R2和R3的第一組值及存儲器相關(guān)單元的數(shù)據(jù)。本組的寄存器數(shù)據(jù)是R0=35H,R1=43H,R2=10H,R3=07H。存儲器10H單元的內(nèi)容為55H。選擇這組數(shù)據(jù)的目的是執(zhí)行ADD R1,R0指令時不產(chǎn)生進位C,從而在執(zhí)行JC R3指令時不產(chǎn)生跳轉(zhuǎn),而是順序執(zhí)行。

9、 設(shè)置通用寄存器R0、R1、R2和R3的值在本操作中,我們打算使R0=35H,R1=43H,R2=10H,R3=07H1令DP=0,DB=0,使系統(tǒng)處于連續(xù)運行狀態(tài)。令SWC=0,SWB=1,SWA=1,使系統(tǒng)處于寫寄存器狀態(tài)WRF。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài)。2 在SW7SW0上設(shè)置一個存儲器地址,該存儲器地址供設(shè)置通用寄存器使用。該存儲器地址最好是不常用的一個地址,以免設(shè)置通用寄存器操作破壞重要的存儲器單元的內(nèi)容。例如可將該地址設(shè)置為0FFH。按一次QD按鈕,將0FFH寫入左端口地址寄存器AR。3 在SW7SW0上設(shè)置00H,作為通用寄存器R0的寄存器號。按一次QD按鈕,將00

10、H寫入指令寄存器IR。4 在SW7SW0設(shè)置35H,按一次QD按鈕,將35H寫入IR指定的R0寄存器。5 在SW7SW0上設(shè)置01H,作為通用寄存器R1的寄存器號。按一次QD按鈕,將01H寫入指令寄存器IR。6 在SW7SW0設(shè)置43H,按一次QD按鈕,將43H寫入IR指定的R1寄存器。7 在SW7SW0上設(shè)置02H,作為通用寄存器R2的寄存器號。按一次QD按鈕,將02H寫入指令寄存器IR。8 在SW7SW0設(shè)置10H,按一次QD按鈕,將10H寫入IR指定的R2寄存器。9 在SW7SW0上設(shè)置03H,作為通用寄存器R3的寄存器號。按一次QD按鈕,將03H寫入指令寄存器IR。10. 在SW7SW

11、0設(shè)置07H,按一次QD按鈕,將07H寫入IR指定的R3寄存器。設(shè)置寄存器內(nèi)容完畢。按CLR#按鈕,使系統(tǒng)恢復(fù)到初始狀態(tài)。注意:設(shè)置完R0、R1、R2、R3的值后,最好用讀寄存器控制臺操作檢查一下寫入的內(nèi)容是否正確。讀寄存器內(nèi)容的控制臺操作見第一章的第七部分控制臺。 存程序機器代碼本操作中,我們從00地址開始存8個機器代碼:01H,5CH,39H,4AH,22H,1EH,78H,60H。在10H單元存入55H,作為10H單元的初值,以檢查LDA和STA兩條指令的作用。1 令DP = 0,DB = 0,使實驗系統(tǒng)處于連續(xù)運行狀態(tài)。令SWC = 0、SWB = 0、SWA = 1,使實驗系統(tǒng)處于寫

12、雙端口存儲器工作方式WRM。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài)。2置SW7SW0為00H,按QD按鈕,將00H寫入左端口地址寄存器AR。3置SW7SW0 為01H,按QD按鈕,將01H寫入存儲器00H單元。AR自動加1,變?yōu)?1H。4置SW7SW0 為5CH,按QD按鈕,將5CH寫入存儲器01H單元。AR自動加1,變?yōu)?2H。5置SW7SW0 為39H,按QD按鈕,將39H寫入存儲器02H單元。AR自動加1,變?yōu)?3H。6置SW7SW0 為4AH,按QD按鈕,將4AH寫入存儲器03H單元。AR自動加1,變?yōu)?4H。7置SW7SW0 為22H,按QD按鈕,將22H寫入存儲器04H單元。AR自

13、動加1,變?yōu)?5H。8置SW7SW0 為1EH,按QD按鈕,將1EH寫入存儲器05H單元。AR自動加1,變?yōu)?6H。7置SW7SW0 為78H,按QD按鈕,將78H寫入存儲器06H單元。AR自動加1,變?yōu)?7H。8置SW7SW0 為60H,按QD按鈕,將60H寫入存儲器07H單元。AR自動加1,變?yōu)?8H。9按CLR#按鈕,使實驗系統(tǒng)恢復(fù)到初始狀態(tài)。10置SW7SW0為10H,按QD按鈕,將10H寫入左端口地址寄存器AR。11置SW7SW0 為55H,按QD按鈕,將55H寫入存儲器10H單元。AR自動加1,變?yōu)?1H。往存儲器輸入程序和數(shù)據(jù)結(jié)束,按CLR#按鈕,使實驗系統(tǒng)恢復(fù)到初始狀態(tài)。注意:

14、設(shè)置完存0儲器的程序和數(shù)據(jù)后,最好用存儲器器控制臺操作檢查一下寫入的內(nèi)容是否正確。讀存儲器內(nèi)容的控制臺操作見第一章的第七部分控制臺。用單拍(DP)方式執(zhí)行一遍程序。置SWC=0,SWB=0,SWA=0,DP=1,DB=0,使實驗系統(tǒng)處于單拍運行狀態(tài)。置SW7SW0=00H,使程序從地址00H開始執(zhí)行。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài),然后一次一次按QD按鈕,使程序一拍一拍的執(zhí)行。在單拍執(zhí)行過程中,首先要隨時監(jiān)測AR、PC、µA5µA0和IR的值,以判定程序執(zhí)行到何處,正在執(zhí)行哪條指令和微指令。對照微程序流程圖,可以判斷出微指令的地址和正在進行的微操作。程序執(zhí)行的結(jié)果如

15、下:初值:R0=35H,R1=43H,R2=10H,R3=07H。存儲器10H單元的內(nèi)容為55H。1ADD R1,R0執(zhí)行結(jié)果 R0=35H,R1=78H,R2=10H,R3=07H。存儲器10H單元的內(nèi)容為55H。無進位C。2JC R3執(zhí)行結(jié)果 R0=35H,R1=78H,R2=10H,R3=07H。存儲器10H單元的內(nèi)容為55H。PC為02H。進位C不變。3STA R1,R2執(zhí)行結(jié)果 R0=35H,R1=78H,R2=10H,R3=07H。存儲器10H單元的內(nèi)容為78H。4LDA R2,R2執(zhí)行結(jié)果 R0=35H,R1=78H,R2=78H,R3=07H。存儲器10H單元的內(nèi)容為78H。5

16、AND R2,R0執(zhí)行結(jié)果 R0=35H,R1=78H,R2=30H,R3=07H。存儲器10H單元的內(nèi)容為78H。6SUB R2,R3執(zhí)行結(jié)果 R0=35H,R1=78H,R2=29H,R3=07H。存儲器10H單元的內(nèi)容為78H。進位C為1。7OUT R2執(zhí)行結(jié)果 R0=35H,R1=78H,R2=29H,R3=07H。存儲器10H單元的內(nèi)容為78H??稍跀?shù)據(jù)總線DBUS指示燈上觀察到29H。8STP執(zhí)行結(jié)果 R0=35H,R1=78H,R2=29H,R3=07H。存儲器10H單元的內(nèi)容為78H。最后的執(zhí)行結(jié)果可通過控制臺的讀寄存器操作和讀存儲器操作觀察到,在觀察最后結(jié)果之前,首先應(yīng)按CL

17、R#按鈕,使實驗系統(tǒng)處于初始狀態(tài)。用連續(xù)方式執(zhí)行一遍程序。1由于上面的單拍執(zhí)行程序,已破壞了寄存器R1、R2和存儲器10單元的內(nèi)容(程序沒有破壞),因此需要重新設(shè)置寄存器R1、R2和存儲器10單元的值。初值:R0=35H,R1=43H,R2=10H,R3=07H。存儲器10H單元的內(nèi)容為55H。2置SWC=0,SWB=0,SWA=0,DP=0,DB=0,使實驗系統(tǒng)處于連續(xù)運行狀態(tài)。置SW7SW0=00H,使程序從地址00H開始執(zhí)行。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài),然后按一次QD按鈕,則程序自動連續(xù)運行到地址為07H的STP指令。執(zhí)行結(jié)果 R0=35H,R1=78H,R2=29H,R3=

18、07H。存儲器10H單元的內(nèi)容為78H。最后的執(zhí)行結(jié)果可通過控制臺的讀寄存器操作和讀存儲器操作觀察到,在觀察最后結(jié)果之前,首先應(yīng)按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài)。(4)存程序代碼,設(shè)置通用寄存器R0、R1、R2和R3的第二組值及存儲器相關(guān)單元的數(shù)據(jù)。本組的寄存器數(shù)據(jù)是R0=86H,R1=88H,R2=10H,R3=07H。存儲器10H單元的內(nèi)容為55H。選擇這組數(shù)據(jù)的目的是執(zhí)行ADD R1,R0指令時產(chǎn)生進位C,從而在執(zhí)行JC R3指令時產(chǎn)生跳轉(zhuǎn),而不是順序執(zhí)行。 設(shè)置通用寄存器R0、R1、R2和R3的值在本操作中,我們打算使R0=86H,R1=88H,R2=10H,R3=07H1令DP

19、=0,DB=0,使系統(tǒng)處于連續(xù)運行狀態(tài)。令SWC=0,SWB=1,SWA=1,使系統(tǒng)處于寫寄存器狀態(tài)WRF。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài)。2在SW7SW0上設(shè)置一個存儲器地址,該存儲器地址供設(shè)置通用寄存器使用。該存儲器地址最好是不常用的一個地址,以免設(shè)置通用寄存器操作破壞重要的存儲器單元的內(nèi)容。例如可將該地址設(shè)置為0FFH。按一次QD按鈕,將0FFH寫入左端口地址寄存器AR。3在SW7SW0上設(shè)置00H,作為通用寄存器R0的寄存器號。按一次QD按鈕,將00H寫入指令寄存器IR。4在SW7SW0設(shè)置86H,按一次QD按鈕,將86H寫入IR指定的R0寄存器。5在SW7SW0上設(shè)置01H,

20、作為通用寄存器R1的寄存器號。按一次QD按鈕,將01H寫入指令寄存器IR。6在SW7SW0設(shè)置88H,按一次QD按鈕,將88H寫入IR指定的R1寄存器。7在SW7SW0上設(shè)置02H,作為通用寄存器R2的寄存器號。按一次QD按鈕,將02H寫入指令寄存器IR。8在SW7SW0設(shè)置10H,按一次QD按鈕,將10H寫入IR指定的R0寄存器。9SW7SW0上設(shè)置03H,作為通用寄存器R3的寄存器號。按一次QD按鈕,將03H寫入指令寄存器IR。10在SW7SW0設(shè)置07H,按一次QD按鈕,將07H寫入IR指定的R3寄存器。設(shè)置寄存器內(nèi)容完畢。按CLR#按鈕,使系統(tǒng)恢復(fù)到初始狀態(tài)。注意:設(shè)置完R0、R1、R

21、2、R3的值后,最好用讀寄存器控制臺操作檢查一下寫入的內(nèi)容是否正確。讀寄存器內(nèi)容的控制臺操作見第一章的第七部分控制臺。 存程序機器代碼本操作中,我們從00地址開始存8個機器代碼:01H,5CH,39H,4AH,22H,1EH,78H,60H。在10H單元存入55H,作為10H單元的初值,以檢查LDA和STA兩條指令的作用。1 令DP = 0,DB = 0,使實驗系統(tǒng)處于連續(xù)運行狀態(tài)。令SWC = 0、SWB = 0、SWA = 1,使實驗系統(tǒng)處于寫雙端口存儲器工作方式WRM。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài)。2置SW7SW0為00H,按QD按鈕,將00H寫入左端口地址寄存器AR。3置SW

22、7SW0 為01H,按QD按鈕,將01H寫入存儲器00H單元。AR自動加1,變?yōu)?1H。4置SW7SW0 為5CH,按QD按鈕,將5CH寫入存儲器01H單元。AR自動加1,變?yōu)?2H。5置SW7SW0 為39H,按QD按鈕,將39H寫入存儲器02H單元。AR自動加1,變?yōu)?3H。6置SW7SW0 為4AH,按QD按鈕,將4AH寫入存儲器03H單元。AR自動加1,變?yōu)?4H。7置SW7SW0 為22H,按QD按鈕,將22H寫入存儲器04H單元。AR自動加1,變?yōu)?5H。8置SW7SW0 為1EH,按QD按鈕,將1EH寫入存儲器05H單元。AR自動加1,變?yōu)?6H。7置SW7SW0 為78H,按Q

23、D按鈕,將78H寫入存儲器06H單元。AR自動加1,變?yōu)?7H。8置SW7SW0 為60H,按QD按鈕,將60H寫入存儲器07H單元。AR自動加1,變?yōu)?8H。9按CLR#按鈕,使實驗系統(tǒng)恢復(fù)到初始狀態(tài)。10置SW7SW0為10H,按QD按鈕,將10H寫入左端口地址寄存器AR。11置SW7SW0 為55H,按QD按鈕,將55H寫入存儲器10H單元。AR自動加1,變?yōu)?1H。往存儲器輸入程序和數(shù)據(jù)結(jié)束,按CLR#按鈕,使實驗系統(tǒng)恢復(fù)到初始狀態(tài)。注意:設(shè)置完存儲器的程序和數(shù)據(jù)后,最好用存儲器器控制臺操作檢查一下寫入的內(nèi)容是否正確。讀存儲器內(nèi)容的控制臺操作見第一章的第七部分控制臺。用單拍(DP)方式執(zhí)行一遍程序。置SWC=0,SWB=0,SWA=0,DP=1,DB=0,使實驗系統(tǒng)處于單拍運行狀態(tài)。置SW7SW0=00H,使程序從地址00H開始執(zhí)行。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài),然后一次一

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論