計算機(jī)組成原理_第1頁
計算機(jī)組成原理_第2頁
計算機(jī)組成原理_第3頁
計算機(jī)組成原理_第4頁
計算機(jī)組成原理_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上計算機(jī)組成原理實驗報告學(xué)生姓名:高彥萌 班級序號:-03學(xué) 號:一、實驗電路1.TEC4計算機(jī)組成原理實驗系統(tǒng)的時序電路如下圖所示。電路采用2片GAL22V10(U6、U7),可產(chǎn)生兩級等間隔時序信號T1T4和W1W4,其中一個W由一輪T1T4循環(huán)組成,它相當(dāng)于一個微指令周期或硬布線控制器的一拍,而一輪W1W4循環(huán)可供硬布線控制器執(zhí)行一條機(jī)器指令。二、 微指令的設(shè)計:根據(jù)給定的12條機(jī)器指令功能和數(shù)據(jù)通路總體圖的控制信號,采用的微指令格式。微指令字長共35位。其中順序控制部分10位,后繼微地址6位,判別字段4位,操作控制字段25位,各位進(jìn)行直接控制。微指令格式中,信號

2、名帶有后綴“#”的信號為低有效信號,不帶有后綴“#”的信號為高有效信號。對應(yīng)微指令格式,微程序控制器的組成見圖11。控制存儲器采用5片EEPROM28C64(U8,U9,U10,U11,U12)。微地址寄存器6位,用一片6D觸發(fā)器74HC174(U1)組成,帶有清零端。兩級與門、或門構(gòu)成微地址轉(zhuǎn)移邏輯,用于產(chǎn)生下一微指令的地址。在每一個T1上升沿時刻,新的微指令地址會打入微地址寄存器中,控制存儲器隨即輸出相應(yīng)的微命令代碼。微地址轉(zhuǎn)移邏輯生成下一地址,等下一個T1上升沿時打入微地址寄存器。跳轉(zhuǎn)開關(guān)JUMP(J1)是一組6個跳線開關(guān)。當(dāng)用短路子將它們連通時,微地址寄存器µAR從本實驗系統(tǒng)

3、提供的微程序地址譯碼電路得到新的微程序地址µD0-µD5。當(dāng)它們被斷開時,用戶提供自己的新微程序地址µD0-µD5。這樣用戶能夠使用自己設(shè)計的微程序地址譯碼電路。5片28C64的地址A6(引腳4)直接與控制臺開關(guān)SWC連接,當(dāng)SWC=1時,微地址大于或者等于40H,當(dāng)SWC=0時,微地址小于40H。SWC主要用于實現(xiàn)讀寄存器堆的功能。微地址轉(zhuǎn)移邏輯的多個輸入信號中。INTQ是中斷請求,本實驗中可以不理會。SWA,SWB是控制臺的兩個二進(jìn)制開關(guān)信號,實驗臺上線已接好。C是進(jìn)位信號,IR7-IR4是機(jī)器指令代碼,由于本次實驗不連接數(shù)據(jù)通路,這些信號都接到二進(jìn)

4、制開關(guān)K0-K15上。三、機(jī)器指令與微程序為教學(xué)中簡單明了,本試驗儀使用12條機(jī)器指令,均為單字長(8位)指令。指令功能及格式如表5所示。指令的高4位提供給微程序控制器,低4位提供給數(shù)據(jù)通路。應(yīng)當(dāng)指出,用以上12條指令來編寫實際程序是不夠的。好在我們的目的不是程序設(shè)計,而主要是為了教學(xué)目的,通過CPU執(zhí)行一些最簡單的程序來掌握微程序控制器的工作原理。上述12條指令的微程序流程設(shè)計所示。每條微指令可按前述的微指令格式轉(zhuǎn)換成二進(jìn)制代碼,然后寫入5個28C64中。指令功能與格式名稱 助記符功能 指令格式R7 R6 R5 R4R2 R3R1 R0加法ADD Rd, RsRd+RsàRd0 0

5、 0 0RS1 RS0RD1 RD0減法SUB Rd,RsRd-RsàRd0 0 0 1RS1 RS0RD1 RD0乘法MUL Rd,RsRd*RsàRd0 0 1 0RS1 RS0RD1 RD0邏輯與AND Rd,RsRd&RsàRd0 0 1 1RS1 RS0RD1 RD0存數(shù)STA Rd,RsRdàRs0 1 0 0RS1 RS0RD1 RD0取數(shù)LDA Rd,RsRsàRd0 1 0 1RS1 RS0RD1 RD0無條件轉(zhuǎn)移JMP RsRsàPC1 0 0 0RS1 RS0X X條件轉(zhuǎn)移JC D若C=1則PC+D

6、24;PC1 0 0 1D3 D2D1 D0停機(jī) STP暫停運行0 1 1 0X XX X中斷返回IRET返回斷點1 0 1 0X XX X開中斷INTS允許中斷1 0 1 1X XX X關(guān)中斷INTC禁止中斷1 1 0 0X XX XTJS2S1S0M1LDDR1WRDLRWCEL#ALU-BUSRS-BUS#SW-BUS#IAR-BUS#LDERM3AR1-INCLDAR1LDIARM4PC-INCPC-ADDLDPCLDIRINTCINTSP3P2P1P0A5A4A3A2A1A035343332313029282726252423222120191817161514131211判斷條件后

7、繼微地址為了向RAM和寄存儲器堆中裝入程序和數(shù)據(jù),檢查寫入是否正確,并能啟動程序執(zhí)行,還設(shè)計了以下五個控制臺操作微程序:存儲器寫操作(KWE):按下復(fù)位按鈕CLR#后,微地址寄存器狀態(tài)為全零。此時置SWC=0,SWB=1,SWA=0,按啟動按鈕后微指令地址轉(zhuǎn)入27H,從而可對RAM連續(xù)進(jìn)行手動寫入。存儲器讀操作(KRD):按下復(fù)位按鈕CLR#后,置SWC=0,SWB=0,SWA=1,按啟動按鈕后微指令地址轉(zhuǎn)入17H,從而可對RAM連續(xù)進(jìn)行讀操作。啟動程序(PR):按下復(fù)位按鈕CLR#后,置SWC=0,SWB=0,SWA=0,用數(shù)據(jù)開關(guān)SW7-SW0設(shè)置內(nèi)存中程序的首地址,按啟動按鈕后微指令地址

8、轉(zhuǎn)入07H,然后轉(zhuǎn)到“取指”微指令。寫寄存器操作(KLD):按下復(fù)位按鈕CLR#后,置SWC=0,SWB=1,SWA=1,按啟動按鈕后微指令地址轉(zhuǎn)入37H,從而可對寄存器堆中的寄存器連續(xù)進(jìn)行寫操作。讀寄存器操作(KRR):按下復(fù)位按鈕CLR#后,置SWC=1,SWB=0,SWA=0,按啟動按鈕后微指令地址轉(zhuǎn)入47H,從而可對寄存器堆中的寄存器連續(xù)進(jìn)行讀操作。應(yīng)當(dāng)著重指出,在微指令格式的設(shè)計過程中,對數(shù)據(jù)通路所需的控制信號進(jìn)行了歸并和化簡。細(xì)心的同學(xué)可能已經(jīng)發(fā)現(xiàn),微程序控制器輸出的控制信號遠(yuǎn)遠(yuǎn)少于數(shù)據(jù)通路所需的控制信號。這里提供的微程序流程圖是沒有經(jīng)過歸并和化簡的。仔細(xì)研究一下微程序流程圖,就會

9、發(fā)現(xiàn)有些信號的出現(xiàn)的位置完全一樣,這樣的信號用其中一個信號就可以代表。請看信號LDPC和LDR4,這兩個信號都在微程序地址07H,1AH,1FH,26H出現(xiàn),而在其他的微程序地址都不出現(xiàn),因此這兩個信號產(chǎn)生的邏輯條件是完全一樣的。從邏輯意義上看,這兩個信號的作用是產(chǎn)生新的PC,完全出現(xiàn)在相同的微指令中是很正常的,因此用LDPC完全可以代替LDR4。還有另一些信號,例如LDDR1和LDDR2,出現(xiàn)的位置基本相同。LDDR2和LDDR1的唯一不同是在地址14H的微指令中,出現(xiàn)了LDDR2信號,但是沒有出現(xiàn)LDDR1信號。LDDR1和LDDR2是否也可以歸并成一個信號呢?答案是肯定的。微程序流程圖中

10、只是指出了在微指令中必須出現(xiàn)的信號,并沒有指出出現(xiàn)其他信號行不行,這就要根據(jù)具體情況具體分析。在地址14H的微指令中,出現(xiàn)LDDR1信號行不行呢?完全可以。在地址14H出現(xiàn)的LDDR1是一個無用的信號,同時也是一個無害的信號,它的出現(xiàn)完全沒有副作用,因此LDDR1和LDDR2可以歸并為一個信號LDDR1。根據(jù)以上兩條原則,我們對下列信號進(jìn)行了歸并和化簡:LDIR(CER) 為1時,允許對IR加載,此信號也可用于作為雙端口存儲器右端口選擇CER。LDPC(LDR4) 為1時,允許對程序計數(shù)器PC加載,此信號也可用于作為R4的加載允許信號LDR4。LDAR1(LDAR2) 為1時,允許對地址寄存器

11、AR1加載,此信號也可用于作為對地址寄存器AR2加載。LDDR1(LDDR2) 為1時,允許對操作數(shù)寄存器DR1加載,此信號也可用于作為對操作數(shù)寄存器DR2加載。M1(M2) 當(dāng)M1=1時,操作數(shù)寄存器DR1從數(shù)據(jù)總線DBUS接收數(shù)據(jù);當(dāng)M1=0時,操作數(shù)寄存器DR1從寄存器堆RF接收數(shù)據(jù)。此信號也可用于作為操作數(shù)寄存器DR2的數(shù)據(jù)來源選擇信號。在對微指令格式進(jìn)行歸并和化簡的過程中,我們有意保留了一些信號,沒有化簡,同學(xué)們可以充分發(fā)揮創(chuàng)造性,提出更為簡單的微指令格式。還要說明的是,為什么微指令格式可以化簡,而試驗臺數(shù)據(jù)通路的控制信號為什么不進(jìn)行化簡?最主要的原因是前面進(jìn)行的各個實驗的需要,例如

12、LDDR1和LDDR2這兩個信號,在做運算器數(shù)據(jù)通路實驗時,是不能設(shè)計成一個信號的。還有一個原因是考慮到實驗時易于理解,對某些可以歸并的信號也沒有予以歸并。四實驗任務(wù):常規(guī)型微程序控制器組成實驗A:(1)按實驗要求,連接試驗臺的數(shù)碼開關(guān)K0-K15、控制開關(guān)、按鈕開關(guān)、時鐘信號源和微程序控制器。注意:本次實驗只做微程序控制器本身的實驗,故微程序控制器輸出的微命令信號與執(zhí)行部件(數(shù)據(jù)通路)的連線暫不連接。連線完成后應(yīng)仔細(xì)檢查一遍,然后才可加上電源。(2)觀察時序信號用雙蹤示波器觀測時序產(chǎn)生器的輸入輸出信號:MF,W1-W4,T1-T4。比較相位關(guān)系,畫出其波形,并標(biāo)注測量所得的脈沖寬度。觀察時需

13、將TJ1接低電平,DB,DZ,DP開關(guān)均置為0狀態(tài),然后按QD按鈕,則連續(xù)產(chǎn)生T1,T2,T3,T4,W1,W2,W3,W4。了解啟??刂菩盘柕墓δ埽⑹炀毜厥褂眠B接這些控制信號的按鈕或開關(guān)。(3)熟習(xí)微指令格式的定義,按此定義將控制臺指令微程序的8條微指令按十六進(jìn)制編碼,列于下表。三種控制臺指令的功能由SWC,SWB,SWA三個二進(jìn)制開關(guān)的狀態(tài)來指定(KRD=001B,KWE=010B,PR=000B)。此表必須在預(yù)習(xí)時完成。微指令地址微指令編碼微指令地址微指令編碼00H3CH07H17H27H3FH3DH3EH單拍(DP)方式執(zhí)行控制臺微程序,讀出上述八條微指令,用P字段和微地址指示燈跟蹤

14、微指令執(zhí)行情況,并與上表數(shù)據(jù)對照。用連續(xù)方式執(zhí)行KWE和KRD(將TJ1接地),畫出µA0(28C64的地址A0)信號波形,作出解釋。(4)用P3和SWC,SWB,SWA的狀態(tài)組合,觀察驗證三種控制臺指令KWE,KRD,PR微地址轉(zhuǎn)移邏輯功能的實現(xiàn)。(5)熟習(xí)05H,10H兩條微指令的功能和P2測試的狀態(tài)條件(IR4-IR7),用二進(jìn)制開關(guān)設(shè)置IR7-IR4的不同狀態(tài),觀察ADD至STP九條機(jī)器指令微地址轉(zhuǎn)移邏輯功能的實現(xiàn)。(用邏輯筆測試有關(guān)邏輯電路的電平,分別做出測試記錄,自行設(shè)計表格。)(6)設(shè)置IR7-IR4的不同組合,用單拍方式執(zhí)行ADD至STP九條機(jī)器指令微程序,用微地址和

15、P字段指示燈跟蹤微程序轉(zhuǎn)移和執(zhí)行情況。用邏輯筆測試小插座上輸出的微命令信號,記錄ADD,SUB,LDA,STA四條機(jī)器指令的微命令信號,B:實驗步驟:第一步,接線跳線開關(guān)J1用短路子短接??刂破鞯妮斎隒接K0,IR4接K1,IR5接K2,IR6接K3,IR7接K4,TJI接K5,SKIP接GND。合上電源。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài)。第二步,觀察時序信號波形令K5(TJI)= 0,置DP = 0,DZ = 0,DB =0。按QD按鈕,則時序部分開始不停止的運行,直到按CLR#按鈕為止。用雙蹤示波器觀察MF、T1、T2、T3、T4、W1、W2、W3、W4信號。觀察的方法是同時觀察兩路

16、信號,以便比較相位。可按下述順序進(jìn)行:MF和T1,T1和T2,T2和T3,T3和T4,T1和W1,W1和W2,W2和W3,W3和W4。根據(jù)觀察的結(jié)果,可畫出波形圖。波形圖的圖形請參看第一節(jié)圖3的基本時序圖。MF的周期為1000毫秒,占空比為50%。第三步,微地址轉(zhuǎn)移演示控制存儲器地址0號單元存放的第一條微指令,其判斷測試字段P3P2P1P0=1000,下地址字段0111B(07H)1.置SWC = 0、SWB = 0、SWA = 1,開機(jī),按CLR#按鈕后,使實驗系統(tǒng)處于初始狀態(tài),控制存儲器地址為0, 取出第一條微指令.經(jīng)P3測試地址轉(zhuǎn)換邏輯產(chǎn)生下一條微指令的地址為B(17H),按一次QD按鈕

17、(產(chǎn)生T1),將17H打入uAR,加至控制存儲器的地址線上,微地址17H單元存放的微命令輸出.17H單元開始的是一段從雙端口RAM左端口讀數(shù)的微程序(KWE).2.置SWC = 0、SWB = 1、SWA = 0,按CLR#按鈕后,控制存儲器地址為0, 取出第一條微指令.經(jīng)P3測試地址轉(zhuǎn)換邏輯產(chǎn)生下一條微指令的地址為B(27H),按一次QD按鈕(產(chǎn)生T1),將27H打入uAR,加至控制存儲器的地址線上,微地址27H單元存放的微命令輸出.27H單元開始的是一段向雙端口RAM左端口寫數(shù)的微程序(KWE).3.置SWC = 0、SWB = 1、SWA = 1,開機(jī),按CLR#按鈕后,控制存儲器地址為

18、0, 取出第一條微指令.經(jīng)P3測試地址轉(zhuǎn)換邏輯產(chǎn)生下一條微指令的地址為B(37H),按一次QD按鈕(產(chǎn)生T1),將37H打入uAR,加至控制存儲器的地址線上,微地址37H單元存放的微命令輸出.37H單元開始的是一段向寄存器堆寫數(shù)的微程序(KLD).4.置SWC = 1、SWB = 0、SWA = 0,開機(jī),按CLR#按鈕后,控制存儲器地址為0, 取出第一條微指令.經(jīng)P3測試地址轉(zhuǎn)換邏輯產(chǎn)生下一條微指令的地址為B(47H),按一次QD按鈕(產(chǎn)生T1),將47H打入uAR,加至控制存儲器的地址線上,微地址47H單元存放的微命令輸出.47H單元開始的是一段從寄存器堆讀數(shù)的微程序(KRR).5.置SW

19、C = 0、SWB = 0、SWA = 0,開機(jī),按CLR#按鈕后,控制存儲器地址為0, 取出第一條微指令.經(jīng)P3測試地址轉(zhuǎn)換邏輯產(chǎn)生下一條微指令的地址為B(07H),按一次QD按鈕(產(chǎn)生T1),將07H打入uAR,加至控制存儲器的地址線上,微地址07H單元存放的微命令輸出.07H單元存放的是一條輸入機(jī)器語言程序首地址并傳給PC的微指令.第四步,微程序的執(zhí)行過程一條機(jī)器指令的從取指到執(zhí)行需要經(jīng)過執(zhí)行多條微指令來完成.TEC-4計算機(jī)取指微指令存放在控制器05H的單元.取出指令以后,根據(jù)機(jī)器指令的操作碼轉(zhuǎn)到不同的微地址執(zhí)行.下面以加法指令為例,說明微指令的執(zhí)行過程.1.第一條指令(05H單元)輸

20、出的微命令有:置M3=0,LDAR2=1(將PC的值打入AR2);置CER=1,LDIR=1(從RAM的右端口取出機(jī)器指令放入IR);置PC-INC=1(PC+1->PC).由于這條微指令的P3P2P1P0=0100,下地址字段為B,取出的操作碼IR7IR4=0000,經(jīng)P2測試地址轉(zhuǎn)移產(chǎn)生下一條微指令的地址為B(10H),按QD按鈕(產(chǎn)生T1),將10H打入uAR,加至控制存儲器的地址線上,微地址10H單元存放的微命令輸出.2.第二條指令(10H單元)輸出的微命令有:置M1=0,LDAR1=1(將寄存器堆B端口的數(shù)據(jù)打入DR1);置M2=0,LDIR2=1(將寄存器堆A端口的數(shù)據(jù)打入D

21、R1).由于這條微指令的P3P2P1P0=0000,下地址字段為B(3BH),下一條微指令的地址為3BH.按QD按鈕(產(chǎn)生T1),將3BH打入uAR,加至控制存儲器的地址線上,微地址3BH單元存放的微命令輸出.3.第三條指令(3BH單元)輸出的微命令有:使S2=0,S1=1,S0=0(ALU進(jìn)行加法運算);ALU_BUS=1(運算結(jié)果送往數(shù)據(jù)總線DBUS).LDER=1(將DBUS上的數(shù)據(jù)打入暫存寄存器ER).由于這條微指令的P3P2P1P0=0000,下地址字段為B(34H),下一條微指令的地址為B(34H),按QD按鈕(產(chǎn)生T1),將34H打入uAR,加至控制存儲器的地址線上,微地址34H

22、單元存放的微命令輸出.4.第四條指令(34H單元)輸出的微命令有:使WRD=1(將暫存寄存器ER中的數(shù)據(jù)寫入WR1,WR0選中的寄存器中).由于這條微指令的P3P2P1P0=0000,下地址字段為B(0FH),下一條微指令的地址為B(0FH),按QD按鈕(產(chǎn)生T1),將0FH打入uAR,加至控制存儲器的地址線上,微地址0FH單元存放的微命令輸出.第五步 置DP=1,DB=0,DZ=0(單拍運行,每次只運行一條微指令)每按一次QD按鈕,順序產(chǎn)生T1,T2,T3,T4各一個脈沖.用邏輯筆分別觀測T1T4.第六步置SWC=0,SWB=0,SWA=0(啟動程序PR),通過單拍運行方式觀測驗證各條機(jī)器指

23、令的微地址轉(zhuǎn)移邏輯功能CPU組成與機(jī)器指令執(zhí)行實驗A:(1)對機(jī)器指令系統(tǒng)組成的簡單程序進(jìn)行譯碼。將下表的程序按指令格式手工匯編成十六進(jìn)制機(jī)器代碼,此項任務(wù)應(yīng)在預(yù)習(xí)時完成。地址指令機(jī)器代碼00HLDA R0,R20 1 0 1 1 0 0 001HLDA R1,R30 1 0 1 1 1 0 102HADD R0,R10 0 0 0 0 1 0 003HJC+51 0 0 1 0 1 0 104HAND R2,R30 0 1 1 1 1 1 005HSUB R3,R20 0 0 1 1 0 1 106HSTA R3,R20 1 0 0 1 0 1 107HMUL R0,R10 0 1 0 0

24、1 0 008HSTP0 1 1 0 ××××09HJMPR11 0 0 0 0 1 ××(2)按照下面框圖,參考前面實驗的電路圖完成連線,控制器是控制部件,數(shù)據(jù)通路(包括上面各模塊)是執(zhí)行部件,時序發(fā)生器是時序部件。連線包括控制臺、時序部分、數(shù)據(jù)通路和微程序控制器之間的連接。其中,為把操作數(shù)傳送給通用寄存器組RF,數(shù)據(jù)通路上的RS1,RS0,RD1,RD0應(yīng)分別與IR3至IR0連接,WR1,WR0也應(yīng)接到IR1,IR0上。(3)將上述任務(wù)(1)中的程序機(jī)器代碼用控制臺操作存入內(nèi)存中,并根據(jù)程序的需要,用數(shù)碼開關(guān)SW7-SW0設(shè)置通用

25、寄存器R2,R3及內(nèi)存相關(guān)單元的數(shù)據(jù)。注意:由于設(shè)置通用寄存器時會破壞內(nèi)存單元的數(shù)據(jù),因此應(yīng)先設(shè)置寄存器的數(shù)據(jù),再設(shè)置內(nèi)存數(shù)據(jù)。(4)用單拍(DP)方式執(zhí)行一遍程序,列表記錄通用寄存器堆RF中四個寄存器的數(shù)據(jù),以及由STA指令存入RAM中的數(shù)據(jù)(程序結(jié)束后從RAM的相應(yīng)單元中讀出),與理論分析值作對比。單拍方式執(zhí)行時,注意觀察微地址指示燈、IR/DBUS指示燈、AR2/AR1指示燈、微地址指示燈和判斷字段指示燈的值,以跟蹤程序中取指令和執(zhí)行指令的詳細(xì)過程(可觀察到每一條微指令)。(5)以單指(DZ)方式重新執(zhí)行程序一遍,注意觀察IR/DBUS指示燈、AR2/AR1指示燈的值(可觀察到每一條機(jī)器

26、指令)。列表記錄RF中四個寄存器的數(shù)據(jù),以及由STA指令存入RAM中的數(shù)據(jù),與理論分析值作對比。注意:單指方式執(zhí)行程序時,四個通用寄存器和RAM中的原始數(shù)據(jù)與第一遍執(zhí)行程序的結(jié)果有關(guān)。(6)以連續(xù)方式(DB,DP,DZ都設(shè)為0)再次執(zhí)行程序。這種情況相當(dāng)于計算機(jī)正常運行程序。由于程序中有停機(jī)指令STP,程序執(zhí)行到該指令時自動停機(jī)。列表記錄RF中四個寄存器的數(shù)據(jù),以及由STA指令存入RAM中的數(shù)據(jù),與理論分析值作對比。注意,程序執(zhí)行前的原始數(shù)據(jù)與第二遍執(zhí)行結(jié)果有關(guān)。請修改程序,RF數(shù)據(jù)由主存加載。B:實驗步驟:第一步,對機(jī)器指令系統(tǒng)組成的簡單程序進(jìn)行譯碼。地址指令機(jī)器代碼00HLDAR0,R25

27、8H01HLDA R1,R35DH02HADD R0,R104H03HJC +596H04HAND R2,R33EH05HSUB R3,R21BH06HSTA R3,R24BH07HMUL R0,R124H08HSTP60H09HJMP R184H第二步,接線本實驗的接線比較多,需仔細(xì)。1將跳線開關(guān)J1用短路子短接。時序發(fā)生器的輸入TJI接控制存儲器的輸出TJ??刂破鞯妮斎隒接運算器ALU的C??刂破鞯妮斎隝R7、IR6、IR5、IR4依次指令寄存器IR的輸出IR7、IR6、IR5、IR4。共6條線。2控制器的輸出LDIR(CER)、LDPC(LDR4)、PC_ADD、PC_INC、M4、LD

28、IAR、LDAR1(LDAR2)、AR1_INC、M3、LDER、IAR_BUS#、SW_BUS#、RS_BUS#、ALU_BUS、CEL#、LRW、WRD、LDDR1(LDDR2)、M1(M2)、S2、S1、S0 依次與數(shù)據(jù)通路的對應(yīng)信號連接。共27條線。3指令寄存器IR的輸出IR0接雙端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。共6條線。合上電源。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài)。第三步,利用設(shè)置通用寄存器R2、R3的值在本操作中,我們打算使R2 = 60H,R3 = 61H。1令DP = 0,DB = 0,DZ =0,使實驗系統(tǒng)處于連續(xù)運行

29、狀態(tài)。令SWC = 0、SWB = 1、SWA = 1,使實驗系統(tǒng)處于寄存器加載工作方式KLD。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài)。2 在SW7SW0上設(shè)置一個存儲器地址,該存儲器地址供設(shè)置通用寄存器使用。該存儲器地址最好是不常用的一個地址,以免設(shè)置通用寄存器操作破壞重要的存儲器單元的內(nèi)容。例如可將該地址設(shè)置為0FFH。按一次QD按鈕,將0FFH寫入AR1和AR2。3 在SW7SW0上設(shè)置02H,作為通用寄存器R2的寄存器號。按一次QD按鈕,則將02H寫入IR。4 在SW7SW0設(shè)置60H,作為R2的值。按一次QD按鈕,將60H寫入IR指定的R2寄存器。5 在SW7SW0上設(shè)置03H,作為

30、通用寄存器R3的寄存器號。按一次QD按鈕,將03H寫入IR。6 在SW7SW0設(shè)置61H,作為R3的值。按一次QD按鈕,將61H寫入R3。7 設(shè)置R2、R3結(jié)束,按CLR#按鈕,使實驗系統(tǒng)恢復(fù)到初始狀態(tài)。第四步,利用存程序機(jī)器代碼本操作中,我們從00地址開始存10個機(jī)器代碼:58H,5DH,04H,95H,3EH,1BH,4BH,24H,60H,84H。在60H存入24H,用于給R0置初值;在61H存入83H,用于給R0置初值。1 令DP = 0,DB = 0,DZ =0,使實驗系統(tǒng)處于連續(xù)運行狀態(tài)。令SWC = 0、SWB = 1、SWA = 0,使實驗系統(tǒng)處于寫雙端口存儲器工作方式KWE,

31、。按CLR#按鈕,使實驗系統(tǒng)處于初始狀態(tài)。2 置SW7SW0為00H,按QD按鈕,將00H寫入AR1。3 置SW7SW0 為58H,按QD按鈕,將58H寫入存儲器00H單元。AR1自動加1,變?yōu)?1H。4 置SW7SW0為5DH,按QD按鈕,將5DH寫入存儲器01H單元。AR1自動加1,變?yōu)?2H。5 按QD按鈕,使AR1+1。AR1此時為02H。6 重復(fù)進(jìn)行下去,一直到將84H寫入存儲器09H單元。按CLR#按鈕,使實驗系統(tǒng)恢復(fù)到初始狀態(tài)。7 置SW7SW0為60H,按QD按鈕,將60H寫入AR1。8 置SW7SW0 為24H,按QD按鈕,將24H寫入存儲器60H單元。AR1自動加1,變?yōu)?

32、1H。9 置SW7SW0 84H,按QD按鈕,將83H寫入存儲器61H單元。按CLR#按鈕,使實驗系統(tǒng)恢復(fù)到初始狀態(tài)。第五步,用單拍(DP)方式執(zhí)行一遍程序。在單拍執(zhí)行過程中,首先要隨時監(jiān)測AR2的值和IR的值,以判定程序執(zhí)行到何處,正在執(zhí)行哪條指令。監(jiān)測微地址指示燈和判斷字段指示燈,對照微程序流程圖,可以判斷出微指令的地址和正在進(jìn)行的微操作。程序執(zhí)行的結(jié)果如下:初值:R0未定,R1未定,R2 = 60H,R3 = 61H。存儲器60H單元的內(nèi)容是24H,61H單元的內(nèi)容是83H。1 LDA R0,R2執(zhí)行結(jié)果 R2 = 60H,R0 = 24H。2 LDA R1,R3執(zhí)行結(jié)果 R3 = 61

33、H,R1 = 83H。3 ADD R0,R1執(zhí)行結(jié)果 R0 = 0A7H,R1 = 83H,C = 0。4JC +5執(zhí)行結(jié)果轉(zhuǎn)移到03H,因為C = 0。5AND R2,R3執(zhí)行結(jié)果 R2 =60 H,R3 =61H。6SUB R3,R2執(zhí)行結(jié)果 R2 = 60H,R3 = 01H7STA R3,R2執(zhí)行結(jié)果 R2 = 60H,R3 = 01H,存儲器60單元的內(nèi)容為01H。8MUL R0,R1執(zhí)行結(jié)果 R0 = 15H,R1 = 83H9STP執(zhí)行結(jié)果:無變化10JMP R1執(zhí)行結(jié)果 轉(zhuǎn)移到83H。第一遍執(zhí)行結(jié)束。執(zhí)行結(jié)果是R0 = 15H,R1 = 83H,R2 = 60H,R3 = 01

34、H,存儲器60H單元的內(nèi)容是01H,61H單元的內(nèi)容是83H。第六步,用單指(DZ)方式執(zhí)行一遍程序。初值: R0 = 15H,R1 = 83H,R2 = 60H,R3 = 01H,存儲器60H單元的內(nèi)容是01H,61H單元的內(nèi)容是83H。1LDA R0,R2執(zhí)行結(jié)果 R2 = 60H,R0 = 01H。2LDA R1,R3執(zhí)行結(jié)果 R3 = 01H,R1 = 5DH。3ADD R0,R1執(zhí)行結(jié)果 R0 = 5EH,R1 = 5DH,C = 044JC +5執(zhí)行結(jié)果轉(zhuǎn)移到03H,因為C = 0。5AND R2,R3執(zhí)行結(jié)果 R2 =00 H,R3 =01H。6SUB R3,R2執(zhí)行結(jié)果 R2 = 00H,R3 = 01H7STA R3,R2執(zhí)行結(jié)果 R2 = 00H,R3 = 01H,存儲器00單元的內(nèi)容為01H。8MUL R0,R1執(zhí)行結(jié)果 R0 = 0B6H,R1 = 5DH9STP執(zhí)行結(jié)果:無變化10JMP R1執(zhí)行結(jié)果 轉(zhuǎn)移到5C

溫馨提示

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

評論

0/150

提交評論