硬布線設(shè)計實驗報告_第1頁
硬布線設(shè)計實驗報告_第2頁
硬布線設(shè)計實驗報告_第3頁
硬布線設(shè)計實驗報告_第4頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機組成原理實驗報告實驗名稱:使用硬連線控制器的 CPU設(shè)計專業(yè)班級:計算機科學(xué)與技術(shù) 2010211301 學(xué)生:賈曉冬 宋麗君 嘉寧 肖迪月實驗時間: 2012.06.目錄1 教學(xué)目的、實驗設(shè)備與任務(wù)1.1教學(xué)目的 .31.2實驗設(shè)備.31.3設(shè)計與調(diào)試任務(wù).32 總體說明 .42.1硬連線控制器的基本原理 .42.2指令系統(tǒng).42.3控制臺指令.52.4數(shù)據(jù)通路.52.5控制器指令周期流程圖.52.6控制臺控制信號及作用.63 設(shè)計方案 .7.3.1 說明及流程圖.73.2 邏輯狀態(tài)表.84 設(shè)計的實現(xiàn) .104.1 ABEL 源代碼.104.2 組裝、調(diào)試及管腳連線.114.3 數(shù)據(jù)

2、測試及結(jié)果.135 本次設(shè)計的體會 .14一、 教學(xué)目的、實驗設(shè)備與任務(wù)· 教學(xué)目的1. 融會貫通計算機組成原理課程和計算機系統(tǒng)結(jié)構(gòu)課程的容,通過知識的綜合運用,加深對計算機系統(tǒng)各模塊的工作原理及相互聯(lián)系的認(rèn)識。.2. 掌握硬連線控制器的設(shè)計方法3. 學(xué)習(xí)運用大容量可編程器件開發(fā)技術(shù),掌握設(shè)計和調(diào)試的基本步驟和方法,體會 ISP 技術(shù)的優(yōu)點。4. 培養(yǎng)科學(xué)研究能力,取得設(shè)計與調(diào)試的實踐經(jīng)驗。· 實驗設(shè)備TEC-5計算機組成原理實驗系統(tǒng)一臺Pentium3 以上微型計算機一臺邏輯測試筆一支· 設(shè)計與調(diào)試任務(wù)1. 按給定的數(shù)據(jù)格式和指令系統(tǒng),利用大容量 ISP 可編程

3、器件,設(shè)計一臺硬布線控制器組成的處理機2. 根據(jù)設(shè)計,在 TEC-5 實驗系統(tǒng)中進(jìn)行調(diào)試。3. 在調(diào)試成功的基礎(chǔ)上,整理出設(shè)計圖紙和其他文件二、總體說明1、硬連線控制器的基本原理硬布線控制器的基本原理是,每個微操作控制信號 S 是一系列輸入量的邏輯函數(shù),即用組合邏輯電路來實現(xiàn),.S = f( Im, Mi, Tk, Bj )其中 Im 是機器指令操作碼譯碼器的輸出信號,Mi 是節(jié)拍信號發(fā)生器的節(jié)拍信號,Tk 是時序信號發(fā)生器的時序信號,Bj 是狀態(tài)條件判斷信號。在 TEC5 實驗系統(tǒng)中,時序信號Tk(T1 T4)已經(jīng)直接輸送給數(shù)據(jù)通路;因為機器指令系統(tǒng)比較簡單,操作碼只有位,省去操作碼譯碼器,

4、用Im 直接作為操作碼,即指令寄存器的IR4IR7 信號。 Mi 的來源就是時序模塊的節(jié)拍信號,例如 W3 W1。Bj 的信號包括:來自數(shù)據(jù)通路中運算器 ALU的進(jìn)位信號 C;來自控制臺的開關(guān)信號 SWC、 SWB、SWA;其他信號。其中 C、SWC、SWA和 SWB信號在微程序控制器中同樣存在。每個控制信號的函數(shù)式都是上述輸入信號的邏輯表達(dá)式,因此可以用組合邏輯構(gòu)造電路。只要對所有控制信號都設(shè)計出邏輯函數(shù)表達(dá)式,這個硬布線控制器的方案也就得到了。2、指令系統(tǒng),由老師幻燈片中給出名稱助記符功能指令格式R7 R6 R5 R4R2R3R1R0加法ADD Rb, RsRd+RsRd0000RS1 R

5、S0RD1 RD0減法SUB Rd,RsRd-RsRd0001RS1 RS0RD1 RD0乘法MUL Rd,RsRd*RsRd0010RS1 RS0RD1 RD0邏輯與AND Rd,RsRd&RsRd0011RS1 RS0RD1 RD0存數(shù)STA Rd,RsRd Rs0100RS1 RS0RD1 RD0取數(shù)LDA Rd,RsRsRd0101RS1 RS0RD1 RD0無條件轉(zhuǎn)移JMP RsRsPC1000RS1 RS0XX條件轉(zhuǎn)移JC D若C=1則1001D3D2D1D0STPPC+DPC0110XXXX停機暫停運行中斷返回IRET返回斷點1010XXXX開中斷INTS允許中斷1011

6、XXXX關(guān)中斷INTC禁止中斷1100XXXX3、控制臺指令SWCSWBSWA操作000啟動程序( PR)001寫存儲器( WRM)010讀存儲器( RRM).011寫寄存器( WRF)100讀寄存器( RRF)4、數(shù)據(jù)通路5、控制器的指令周期流程圖由老師幻燈片給出.6、控制臺控制信號及作用控制信號信號有效條件C 在加法和減法運算時產(chǎn)生的進(jìn)位信號RAM-BUS_ 存儲器數(shù)據(jù)送數(shù)據(jù)總線 DBUS信號。為 0時將指令送往指令總線 IBUS ALU-BUS_ ALU輸出三態(tài)門使能信號,為 0時將 ALU運算結(jié)果送 DBUS通用寄存器右端口三態(tài)門使能信號。為0時將 RF的 B 端口數(shù)據(jù)送RS-BUS_

7、DBUSSW-BUS_將 SW7-SW0的數(shù)據(jù)送往 DBUS雙端口寄存器堆寫入信號。為1時將數(shù)據(jù)總線上的數(shù)據(jù)再T3的上升沿寫入由LDRiWR1/WR0指定的寄存器對操作數(shù)寄存器DR2進(jìn)行加載控制信號。為 1時在 T2的上升沿將由LDDR2RS1、RS0指定的寄存器中的數(shù)據(jù)打入DR2對操作數(shù)寄存器DR1進(jìn)行加載控制信號。為 1時在 T2的上升沿將由LDDR1RD1、RD0指定的寄存器中的數(shù)據(jù)打入DR1LDAR_對 AR進(jìn)行加載的控制信號,為0時在 T2的上升沿將數(shù)據(jù)總線上的數(shù).據(jù)打入 ARAR_1AR+1LDPC_程序計數(shù)器 PC接受來自 DBUS的地址PC_1PC+1LDIR將來自 RAM的指

8、令打入指令寄存器 IRTJ停機命令,關(guān)閉時序信號SKIP使節(jié)拍發(fā)生器在任意狀態(tài)下直接跳到最后1拍S3/S2/S1/選擇 ALU的運算類型S0M 選擇 ALU的運算模式: M=1時邏輯運算, M=0時算術(shù)運算Cn_ALU最低位的 +1信號,為 0時, ALU最低位LRW_當(dāng) LRW_=1且 CEL_=0時,對雙端口存儲器左端口進(jìn)行讀操作當(dāng) LRW_=0且 CEL_=0時在 T2節(jié)拍對左端口進(jìn)行寫操作CEL_雙端口存儲器左端口使能信號。為0時允許對左端口讀、寫CER_雙端口存儲器右端口使能信號。為0時將指令送往指令總線 IBUS三、設(shè)計方案1、說明硬布線控制器以節(jié)拍為時間單位,1 拍是從時序 T1

9、 的上升沿到 T4 的下降沿的一段時間。在硬布線控制流程圖中,1 個執(zhí)行框代表 1 拍。決定執(zhí)行一條指令需要的節(jié)拍數(shù),要根據(jù)所有指令而定。既不能只考慮某些需要最多節(jié)拍的指令,也不能只考慮節(jié)拍數(shù)最少的指令,一般要根據(jù)大多數(shù)機器指令所需的節(jié)拍數(shù)而定,設(shè)計才比較合理。在本實驗中,由于選用3 拍對大多數(shù)指令就夠用,所以節(jié)拍發(fā)生器產(chǎn)生 3 個節(jié)拍信號( W1W3)。統(tǒng)一用 3 拍執(zhí)行 1 條機器指令后,對于所需節(jié)拍較少的的指令,為減少浪費,在時序電路中加入了一個控制信號 SKIP 的輸入,該信號的作用是使節(jié)拍發(fā)生器在任意狀態(tài)下直接跳到最后1 拍( W3)。這樣,設(shè)計控制流程時,在所需節(jié)拍較少的的指令流程

10、的適當(dāng)位置使SKIP 控制信號有效,多余的節(jié)拍就可以跳過,從而提高了性能。機器指令選用 3 拍以后,將一條機器指令的執(zhí)行化為占用兩條(或者更多)機器指令的節(jié)拍,執(zhí)行一條指令就可以占用W1、W2、 W3、W1、W2、 W3。為了區(qū)分一條指令的兩個不同階段,我們加了個ST 部信號作為標(biāo)志位,當(dāng)ST0=0時,標(biāo)志執(zhí)行指令的前 3 個節(jié)拍,當(dāng) ST0=1時,標(biāo)志執(zhí)行指令的后3 個節(jié)拍。同時設(shè)置了一個 SSTO信號作為 ST 信號的觸發(fā)信號。.具體流程圖如下:2、邏輯狀態(tài)表.四、設(shè)計的實現(xiàn)(ABEL-HDL)1、ABEL語言源代碼如下:MODULE ControllerDECLARATIONS"

11、; 輸入管腳SWC,SWB,SWA PIN;IR7,IR6,IR5,IR4 PIN;W1,W2,W3,MF,T1,C,CLR PIN;" 輸出管腳RAM_BUS_,ALU_BUS_,RS_BUS_,SW_BUS_,LDIR,LDAR_,AR_1,LDPC_,PC_1,S3,S2,S1,S0 ,Cn_,M,LDDR2,LDDR1,TJ,SKIP,CEL_,CER_,LRW_, LDRi PIN;" 自定義MF1,SSTO NODE ISTYPE 'COM'RUN,STO NODE ISTYPE 'REG'RRF,WRF,RRM,WRM,RP,A

12、DD,SUB,AND,STA,LDA,JC,STP,OUT NODE ISTYPE 'COM'CLK=.C.;EQUATIONSMF1=!CLR&MF#T1&CLR;RUN:=CLR;RUN.CLK=MF1;STO:=CLR&SSTO#CLR&STO;STO.CLK=MF1;SSTO=!STO&W3&RUN;" 指令譯碼RRF=SWC&(!SWB)&(!SWA);WRF=(!SWC)&SWB&SWA;RRM=(!SWC)&SWB&(!SWA);WRM=(!SWC)&

13、(!SWB)&SWA;RP=(!SWC)&(!SWB)&(!SWA);ADD=(!IR7)&(!IR6)&(!IR5)&(!IR4)&RP&STO;SUB=(!IR7)&(!IR6)&(!IR5)&IR4&RP&STO;AND=(!IR7)&(!IR6)&IR5&(!IR4)&RP&STO;STA=(!IR7)&(!IR6)&IR5&IR4&RP&STO;LDA=(!IR7)&IR6&(!IR5)

14、&(!IR4)&RP&STO;JC=(!IR7)&IR6&(!IR5)&IR4&RP&STO;STP=(!IR7)&IR6&IR5&(!IR4)&RP&STO;OUT=(!IR7)&IR6&IR5&IR4&RP&STO;" 管腳譯碼LRW_=!(RRF#WRF#WRM)&STO&W1#STA&W3);CEL_=!(RRF#WRF#RRM#WRM)&W1&STO#(STA#LDA)&W3);.CE

15、R_=!(RRF#WRF)&W2&STO#W1&RP&STO);RAM_BUS_=!(RRM&W1&STO#W3&LDA);ALU_BUS_=!(W3&(ADD#SUB#AND#STA);RS_BUS_=!(W3&(RRF&STO#OUT#JC&C)#W2&(STA#LDA);SW_BUS_=!(W3&(!STO)&(RRF#WRF#RRM#WRM#RP)#W3&STO&WRF#W1&STO&(RRF#WRF#WRM );LDRi=W3&(WR

16、F&STO#ADD#SUB#AND#LDA);LDDR2=W2&(ADD#SUB#AND);LDDR1=W2&(ADD#SUB#AND#STA);LDAR_=!(W3&(!STO)&(RRF#WRF#RRM#WRM)#W2&(STA#LDA);AR_1=W3&STO&(RRM#WRM);LDPC_=!(W3&(!STO&(RRF#WRF#RP)#JC&C);PC_1=W3&(ADD#SUB#AND#STA#LDA#STP#OUT)#W2&JC;LDIR=!CER_;TJ=W1&STO

17、&RRM#W2&STO&WRF#W3&(!STO)&(RRF#WRF#WRM)#STO&(RRF#WRF#WRM)#STP#OUT);SKIP=W1&(!STO)&(RRF#WRF#RRM#WRM#RP)#STO&(RRM#WRM);S3=W3&(ADD#AND#STA);S2=W3&(SUB#STA);S1=W3&(SUB#AND#STA);S0=W3&(ADD#AND#STA);M=W3&(AND#STA);Cn_=!(W3&SUB);END2、組裝與調(diào)試對程序進(jìn)行編譯,

18、無誤后下載到芯片連線,調(diào)試連線按照 ABEL程序里面對管腳的定義連線第一步:檢查全部硬布線控制流程,以單拍( DP)方式執(zhí)行指令。進(jìn)行的順序也是先執(zhí)行控制臺命令,然后執(zhí)行機器指令。當(dāng)全部控制流程圖檢查完畢后,數(shù)據(jù)通路的執(zhí)行部件(運算器,存儲器等)功能正確;第二步:在存中裝入包括有全部指令系統(tǒng)的一段程序和有關(guān)數(shù)據(jù),進(jìn)一步可采用單步( DB)方式或連續(xù)方式執(zhí)行,以驗證機器執(zhí)行指令的正確性;第三步:編寫一段表演程序,令機器運行。管腳連線:Pin NamePin AssignmentPin Type, Pin Attribute.TJ3Output, PULLUPCLR4Input, PULLUPLD

19、IR5Output, PULLUPLDAR_6Output, PULLUPRAM_BUS_7Output, PULLUPCER_8Output, PULLUPT19Input, PULLUPS210Output, PULLUPLRW_11Output, PULLUPLDDR212Output, PULLUPM13Output, PULLUPW214Input, PULLUPSWA15Input, PULLUPSWC16Input, PULLUPIR418Input, PULLUPPC_126Output, PULLUPIR527Input, PULLUPRS_BUS_28Output, PUL

20、LUPLDPC_29Output, PULLUPSKIP30Output, PULLUPCEL_31Output, PULLUPSW_BUS_32Output, PULLUPIR633Input, PULLUPLDDR135Output, PULLUPALU_BUS_37Output, PULLUPS154Output, PULLUPS346Output, PULLUPCN_47Output, PULLUPLDRI48Output, PULLUPS050Output, PULLUPMF57Input, PULLUPC59Input, PULLUP.SWB60Input, PULLUPIR769

21、Input, PULLUPW370Input, PULLUPAR_171Output, PULLUPW173Input, PULLUP寄存器和存單元容:RAM 地址指令機器代碼寄存器數(shù)據(jù)00 HLDA R0,R258 HR 26 0 H01 HLDA R1,R35D HR 36 1 H02 HADD R0,R104 HRAM 地址數(shù)據(jù)03 HJC +595 H6 0 H2 4 H04 HAND R0,R134 H6 1 H8 3 H05 HSUB R0,R31C H06 HMUL R0,R124 H07 HSTA R0,R144 H08 HSTP60 H09 HJMPR184 H計算結(jié)果:.五

22、、本次設(shè)計的體會賈曉冬:這次小組做實驗其實還是挺開心的,而且在開始做之前有一個大體的計劃,所以等到真正開始做的時候沒有手忙腳亂,而且合作的很好。不過做的過程中也確實發(fā)現(xiàn)了很多問題,比如說 ABEL語言的標(biāo)識符只能有字母、數(shù)字和下劃線組成,或者里面的一個小小的逗號由于格式不對都能導(dǎo)致錯誤,各種奇奇怪怪的錯誤都在做的過程中出現(xiàn)了,不過幸好在大家的合作下都能找出來,雖然有時候找的過程很痛苦。其實我的主要任務(wù)就是各種找錯,比如說在譯碼表和程序出來之后找錯啊什么的,還有就是參與討論,理清原理。說起來很簡單,但是其實做起來還是比較費時的,因為程序或者表格做出來,然后就需要一個一個的去對流程圖,稍有不慎就有可能把錯誤忽略過去,不過由于是大家一起在做,所以也沒有覺得有多難,還是那句話吧,三個臭皮匠頂一個諸葛亮,雖然幾個人的水平都沒那么高,但是一起合作可以找出很多忽略的地方,糾正很多一個人想不到的錯誤,所以效率也就提高。總之這次試驗做的很成功也很高興,全都仰仗大家的合作。宋麗君:硬布線控制器是依賴于組合邏輯而實現(xiàn)的,而老師在課堂上對微程序控制器講解得比較多,所以在微程序控制器方面掌握的知識對我們研究硬布線控制器是很有幫助的。因為在數(shù)字邏輯課上,老師講授的是 VHDL語言,所以大多數(shù)同學(xué)選擇用VHDL語言編寫代碼。但是,經(jīng)我們小組的仔細(xì)研究討論,我們

溫馨提示

  • 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

提交評論