計算機組成原理課程設(shè)計報告時序發(fā)生器_第1頁
計算機組成原理課程設(shè)計報告時序發(fā)生器_第2頁
計算機組成原理課程設(shè)計報告時序發(fā)生器_第3頁
計算機組成原理課程設(shè)計報告時序發(fā)生器_第4頁
計算機組成原理課程設(shè)計報告時序發(fā)生器_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機組成原理課程設(shè)計報告學(xué)院: 計算機學(xué)院 專業(yè):計算機科學(xué)與技術(shù) 13 / 13文檔可自由編輯打印目 錄1實驗?zāi)康?32實驗原理電路圖 33機器指令與微程序 54實驗設(shè)備 85實驗任務(wù) 86實驗結(jié)果 107實驗總結(jié) 11一、實驗?zāi)康?掌握時序產(chǎn)生器的組成原理2掌握微程序控制器的組成原理3掌握微指令格式的化簡和歸并4將微程序控制器同執(zhí)行部件(整個數(shù)據(jù)通路)聯(lián)機,組成一臺計算機5用微程序控制器控制模型機的數(shù)據(jù)通路6通過CPU運行九條機器指令(排除有關(guān)中斷的指令)組成的簡單程序,掌握機器指令與微指令的關(guān)系,牢固建立計算機整機概念二、實驗原理電路圖1時序發(fā)生器TEC-4計算機組成原理實驗的時序電路

2、如圖所示,電路采用2片GAL22V10(U6,U7),可產(chǎn)生兩級等間隔時序新號T1-T4和W1-W4。其中一個W由一輪T1-T4循環(huán)組成,相當(dāng)于一個微指令周期;而一輪W1-W4循環(huán)可供硬聯(lián)線控制器執(zhí)行一條機器指令。-= 時序信號發(fā)生器 =-本次實驗不涉及硬聯(lián)線控制器,因此時許產(chǎn)生器中的相關(guān)內(nèi)容也可以根據(jù)需要放到硬聯(lián)線控制器實驗中進行。CLR#為復(fù)位新號,低電位有效。試驗儀處于任何狀態(tài)下令CLR#=0,都會使時序發(fā)生器和微程序控制器復(fù)位;CLR#=0時,則可以正常運行。TJ是停機新號,是控制器的輸出新號之一。連續(xù)運行時,如果控制信號停機=1,會使機器停機,停止發(fā)送時序脈沖,從而暫停程序。QD是啟

3、動脈沖信號。DP,DZ,DB是來自控制臺的開關(guān)信號。DP表示單拍,當(dāng)DP=1時,每次只執(zhí)行一條微指令;DZ表示單指,當(dāng)DZ=1時,每次只執(zhí)行一條機器指令;當(dāng)DP,DB,DZ都為0時,機器連續(xù)運行。2數(shù)據(jù)通路微程序控制器是根據(jù)數(shù)據(jù)通路和指令系統(tǒng)來設(shè)計的。這里采用的數(shù)據(jù)通路是在綜合前面各實驗?zāi)K的基礎(chǔ)上,又增加程序計數(shù)器PC(U18)、地址加法器ALU2(U17)、地址緩沖寄存器R4(U25/U26)和中斷地址寄存器IAR(U19),PC和ALU2各采用一片GAL22V10,兩者配合使用,可完成程序地址的儲存、增1和加偏移量的功能。R4由兩片74HC298組成,帶二選一輸入端。IAR是一片74HC

4、734,用于中斷時保存斷點地址。3微指令格式與微程序控制器電路根據(jù)給定的12條機器指令功能和數(shù)據(jù)通路總體圖的控制信號,采用的微指令格式見下圖。微指令字長共35位。其中順序控制部分10位(后繼微地址6位,判別字段4位),操作控制字段25位,各位進行直接控制。微指令格式中,信號名帶有后綴“#”的信號為低有效信號,不帶有后綴“#”的信號為高有效信號。-= 微指令格式 =-對應(yīng)微指令格式,微程序控制器的組成如下圖所是示,控制存儲器采用5片EEPROM 28C64(U8,U9,U10,U11,U12)。28C64的輸出是D0D7,分別與引腳11、12、13、15、16、17、18、19相對應(yīng),CM0是最

5、低字節(jié),CM4是最高字節(jié)。微地址寄存器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)提供的微程序地址譯碼電路得到新的微程序地址D0D5。當(dāng)他們被斷開時,用戶提供自已的新微程序地址D0D5。這樣用戶能夠使用自己設(shè)計的微程序地址譯碼電路。5片EEPROM的地址A6(引腳4

6、)直接與控制臺開關(guān)SWC連接,當(dāng)SWC = 1時,微地址大于或者等于40H,當(dāng)SWC = 0時,微地址的范圍00H3FH。SWC主要用于實現(xiàn)讀寄存器堆的功能。 -= 微程序控制器的組成 =-微地址轉(zhuǎn)移邏輯的多個輸入信號中,INTQ是中斷請求,本實驗中可以不理會它。SWA、SWB是控制臺的兩個二進制開關(guān)信號,實驗臺上線已接好。C是進位信號,IR7IR4是機器指令代碼,由于本次實驗不連接數(shù)據(jù)通路,這些信號都接到二進制開關(guān)K0Kl5上。三、機器指令與微程序 為了簡單明了,本實驗儀使用12條機器指令,均為單字長(8位)指令。指令格式如下表所示:指令的高4位提供給微程序控制器,低4位提供給數(shù)據(jù)通路。指令

7、功能與格式名  稱助記符功   能指  令  格  式IR7 IR6 IR5 IR4IR3    IR2  IR1    IR0加法ADD Rd, RsRd+Rs->Rd  0    0    0   0  RS1   RS0  RD1   RD0減法SUB Rd, RsRd-Rs->R

8、d   0    0    0   1    RS1   RS0  RD1   RD0乘法MUL Rd, RsRd*Rs->Rd  0    0    1   0  RS1   RS0  RD1   RD0邏輯與AND Rd, RsRd&Rs->Rd 

9、; 0    0    1   1  RS1   RS0  RD1   RD0存數(shù)STA Rd, RsRd->Rs  0    1    0   0  RS1   RS0   RD1   RD0取數(shù)LDA Rd, RsRs->Rd  0    1 

10、   0   1   RS1   RS0  RD1   RD0無條件轉(zhuǎn)移JMP RsRs->PC  1    0    0   0   RS1   RS0  X X條件轉(zhuǎn)移JC D若 C = 1 則 PC+D->PC  1    0    0   1  D3

11、    D2      D1    D0停機STP暫停運行  0    1    1   0   X     X   X     X中斷返回IRET返回中斷  1    0    1   0 

12、;  X     X    X     X開中斷INTS允許中斷  1    0    1   1    X     X   X     X關(guān)中斷INTC禁止中斷  1    1    0  

13、; 0    X     X   X     X應(yīng)當(dāng)指出,用以上12條指令來編寫實際程序是不夠的。通過CPU執(zhí)行一些最簡單的程序來掌握微程序控制器的工作原理。上述12條指令的微程序流程設(shè)計如下圖所示。每條微指令可按前述的微指令格式轉(zhuǎn)換成二進制代碼,然后寫入5個28C64中。為了向RAM中裝入程序和數(shù)據(jù),檢查寫入是否正確,并能啟動程序執(zhí)行,還設(shè)計了以下五個控制臺操作微程序:存儲器寫操作(KWE):按下復(fù)位按鈕CLR#后,微地址寄存器狀態(tài)為全零。此時置SWC = 0、SWB =1

14、、SWA = 0,按啟動按鈕后微指令地址轉(zhuǎn)入27H,從而可對RAM連續(xù)進行手動寫入。存儲器讀操作(KRD):按下復(fù)位按鈕CLR#后,置SWC = 0,SWB = 0,SWA = 1,按啟動按鈕后微指令地址轉(zhuǎn)入17H,從而可對RAM連續(xù)進行讀操作。寫寄存器操作(KLD):按下復(fù)位按鈕CLR#后,置SWC = 0,SWB = 1,SWA = 1,按啟動按鈕后微指令地址轉(zhuǎn)入37H,從而可對寄存器堆中的寄存器連續(xù)進行寫操作。-= 微程序流程圖=-讀寄存器操作(KRR):按下復(fù)位按鈕CLR#后,置SWC = 1,SWB = 0,SWA = 0,按啟動按鈕后微指令地址轉(zhuǎn)入47H,從而可對寄存器堆中的寄存器

15、連續(xù)進行讀操作。啟動程序(PR):按下復(fù)位按鈕CLR#后,置SWC = 0,SWB = 0,SWA = 0,用數(shù)據(jù)開關(guān)SW7SW0設(shè)置內(nèi)存中程序的首地址,按啟動按鈕后微指令地址轉(zhuǎn)入07H,然后轉(zhuǎn)到“取指”微指令。在微指令格式的設(shè)計過程中,對數(shù)據(jù)通路所需的控制信號進行了歸并和化簡。微程序控制器輸出的控制信號遠遠少于數(shù)據(jù)通路所需的控制信號。這里的微程序流程圖是沒有經(jīng)過歸并和化簡的。有些信號出現(xiàn)的位置完全一樣,這樣的信號用其中一個信號就可以代表。還有另一些信號,出現(xiàn)的位置基本相同。微程序流程圖中只是指出了在微指令中必須出現(xiàn)的信號,并沒有指出出現(xiàn)其他信號行不行,這就要根據(jù)具體情況具體分析。對下列信號進

16、行了歸并和化簡:LDIR(CER) 為1時,允許對IR加載,此信號也可用于作為雙端口存儲器右端口選擇CER。LDPC(LDR4) 為l時,允許對程序計數(shù)器PC加載,此信號也可用于作為R4的加載允許信號LDR4。LDAR1(LDAR2) 為l時,允許對地址寄存器AR1加載,此信號也可用于作為對地址寄存器AR2加載。LDDR1(LDDR2) 為1時允許對操作數(shù)寄存器DR1加載。此信號也可用于作為對操作數(shù)寄存器DR2加載。Ml(M2)           當(dāng)M1 = l時,操作數(shù)寄存器DR1從數(shù)據(jù)總線

17、DBUS接收數(shù)據(jù);當(dāng)M1 = 0時,操作數(shù)寄存器DR1從 寄存器堆RF接收數(shù)據(jù)。此信號也可用于作為操作數(shù)寄存器DR2的數(shù)據(jù)來源選擇信號。 微指令格式可以化簡,而實驗臺數(shù)據(jù)通路的控制信號為什么不進行化簡最主要的原因是前面進行的各個實驗的需要。還有一個原因是考慮到實驗時易于理解,對某些可以歸并的信號也沒有予以歸并。四、實驗設(shè)備1TEC4計算機組成原理實驗系統(tǒng)一臺2直流萬用表一只3邏輯測試筆一支4導(dǎo)線若干五、實驗任務(wù)常規(guī)型微程序控制器組成實驗1按實驗要求,連接實驗臺的開關(guān)K0K15、按鈕開關(guān)、時鐘信號源和微程序控制器。2熟悉微指令格式的定義,按此定義將控制臺指令微程序的8條微指令按十六進制編碼,列于

18、下表。三種控制臺指令的功能由SWC,SWB,SWA三個二進制開關(guān)的狀態(tài)來指定(KRD = 001B,KWE = 010B,PR = 000B)。3單拍(DP)方式執(zhí)行控制臺微程序,讀出微指令,用P字段和微地址指示燈跟蹤微指令執(zhí)行情況。4用P3和SWC、SWB、SWA的狀態(tài)組合,觀察驗證三種控制臺指令KRD、KWE、PR微地址轉(zhuǎn)移邏輯功能的實現(xiàn)。5熟悉05H、10H兩條微指令的功能和P2測試的狀態(tài)條件(IR4IR7),用二進制開關(guān)設(shè)置IR7IR4的不同狀態(tài),觀察SUB、LDA、STA、JUMP機器指令微地址轉(zhuǎn)移邏輯功能的實現(xiàn)。6設(shè)置IR7IR4的不同組合,用單拍方式執(zhí)行機器指令微程序,用微地址和

19、P字段指示燈跟蹤微程序轉(zhuǎn)移和執(zhí)行情況。實驗中的具體問題為編寫機器代碼計算y=x2+3x+1的值。首先編寫出解決該問題的微指令用R0,R1,R2,R3來代替函數(shù)的4個參數(shù)x,x,3,1。這樣函數(shù)就可以用簡單的加法和乘法來完成:具體執(zhí)行步驟為:R0*R1R0; R2*R1R2; RO+R2R0; RO+R3R0對應(yīng)指令編碼如下:地址指令描述機器代碼00 HR0*R1R00010 01 0001 HR2*R1R20010 01 1002 HRO+R2R00000 10 0003 HRO+R3R00000 11 00令x=2,,則寄存器中數(shù)據(jù)如下表所示寄存器數(shù)據(jù)R0R1R2R3CPU組成與機器指令執(zhí)行

20、實驗1對機器指令系統(tǒng)組成的簡單程序進行譯碼。將下表的程序按指令格式手工匯編成十六進制機器代碼。地址指令機器代碼00HLDA R0,R201HLDA R1,R302HADD R0,R103HJC +504HAND R2,R305HSUB R3,R206HSTA R3,R207HMUL R0,R108HSTP0110XXXX09HJMP R1100001XX2按照框圖,參考前面實驗的電路圖完成連線。其中,為把操作數(shù)攢送給通用寄存器組RF,數(shù)據(jù)通路上的RS1、RS0、RD1、RD0應(yīng)分別與IR3至IR0連接,WR1、WR0也應(yīng)連接到IR1、IR0上。3將表中的程序機器代碼用控制臺操作存入內(nèi)存中,并根

21、據(jù)程序的需要,用數(shù)碼開關(guān)SW7-SW0設(shè)置通用寄存器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指示燈、微地址指示燈和判別字段指示燈的值(可以觀察到每一條微指令)。5 以單指(DZ)方式重新執(zhí)行程序一遍,注意觀察IR/DBUS指示燈、AR2/AR1指示燈的值(可以觀察到每一條機器指令)

22、。列表記錄RF中四個寄存器的數(shù)據(jù),以及由STA指令存入RAM中的數(shù)據(jù),與理論分析值作對比。(注:單指方式執(zhí)行程序時,四個通用寄存器和RAM中的原始數(shù)據(jù)與第一遍執(zhí)行程序的結(jié)果有關(guān)。)6以連續(xù)方式(DB,DP,DZ都設(shè)為0)再次執(zhí)行程序。由于程序中有停機指令STP,程序執(zhí)行到該指令時自動停機。列表記錄RF中四個寄存器的數(shù)據(jù),以及由STA指令存入RAM中的數(shù)據(jù),與理論分析值作對比。(注:程序執(zhí)行前的原始數(shù)據(jù)與第二遍執(zhí)行結(jié)果有關(guān)。)按照要求,執(zhí)行相應(yīng)的指令,然后跳出程序,讀出結(jié)果,觀察結(jié)果與標(biāo)準(zhǔn)結(jié)果是否一致。六、實驗結(jié)果1計算y=x2+3x+1 將寫好的二進制代碼輸入到內(nèi)存(堆)中,控制KRD、KWE、KLD、KRR、PR的值來輸入指令、數(shù)據(jù),并檢驗所輸入的指令和數(shù)據(jù)是否正確,調(diào)節(jié)PR進行運行程序,當(dāng)DP置一,其它置零時,按QD則可以進行一步一步的運行程序。觀察當(dāng)前正在運行的程序以及每一步程序運行的過程和結(jié)果,運行程序完成后,通過讀寄存器中數(shù)據(jù)的值檢驗程序運行的結(jié)果。 經(jīng)檢驗

溫馨提示

  • 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

提交評論