復(fù)雜模型機(jī)設(shè)計計算機(jī)組成原理課程設(shè)計_第1頁
復(fù)雜模型機(jī)設(shè)計計算機(jī)組成原理課程設(shè)計_第2頁
復(fù)雜模型機(jī)設(shè)計計算機(jī)組成原理課程設(shè)計_第3頁
復(fù)雜模型機(jī)設(shè)計計算機(jī)組成原理課程設(shè)計_第4頁
復(fù)雜模型機(jī)設(shè)計計算機(jī)組成原理課程設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計算機(jī)組成原理課程設(shè)計任務(wù)書班級:學(xué)號:姓名:成績:電子與信息工程學(xué)院計算機(jī)科學(xué)系目錄TOC\o"1-5"\h\z\o"CurrentDocument"一、設(shè)計題目 1\o"CurrentDocument"二、模型機(jī)功能概述 1\o"CurrentDocument"三、總體設(shè)計 2\o"CurrentDocument"模型機(jī)結(jié)構(gòu): 2\o"CurrentDocument"微程序控制電路 3\o"CurrentDocument"指令譯碼器電路 5\o"CurrentDocument"四、詳細(xì)設(shè)計 6\o"CurrentDocument"數(shù)據(jù)格式: 6\o"CurrentDocument"指令格式: 6\o"CurrentDocument"指令系統(tǒng) 7\o"CurrentDocument"設(shè)計微代碼 8\o"CurrentDocument"五、實(shí)驗代碼: 10\o"CurrentDocument"六、實(shí)驗步驟: 12\o"CurrentDocument"實(shí)驗連線: 12\o"CurrentDocument"寫微代碼: 12\o"CurrentDocument"讀微代碼及校驗微代碼: 14\o"CurrentDocument"寫機(jī)器指令 14\o"CurrentDocument"讀機(jī)器指令及校驗機(jī)器指令: 15\o"CurrentDocument"運(yùn)行程序 15七、測試源程序及結(jié)果分析 16八、認(rèn)識體會 16九、參考文獻(xiàn) 16三、總體設(shè)計模型機(jī)結(jié)構(gòu):圖1中運(yùn)算器ALU由U7—U10四片74LS181構(gòu)成,暫存器1由U3、U4兩片74LS273構(gòu)成,暫存器2由U5、U6兩片74LS273構(gòu)成。微控器部分控存由U13—U15三片2816構(gòu)成。除此之外,CPU的其它部分都由EP1K10集成(其原理見系統(tǒng)介紹部分)。存儲器部分由兩片6116構(gòu)成16位存儲器,地址總線只有低八位有效,因而其存儲空間為00H—FFH。輸出設(shè)備由底板上的四個LED數(shù)碼管及其譯碼、驅(qū)動電路構(gòu)成,當(dāng)D-G和W/R均為低電平時將數(shù)據(jù)總線的數(shù)據(jù)送入數(shù)碼管顯示。在開關(guān)方式下,輸入設(shè)備由16位電平開關(guān)及兩個三態(tài)緩沖芯片74LS244構(gòu)成,當(dāng)DIJ-G為低電平時將16位開關(guān)狀態(tài)送上數(shù)據(jù)總線。在鍵盤方式或聯(lián)機(jī)方式下,數(shù)據(jù)可由鍵盤或上位機(jī)輸入,然后由監(jiān)控程序直接送上數(shù)據(jù)總線,因而外加的數(shù)據(jù)輸入電路可以不用。圖中所有控制信號脈沖源及時序-CE微程序控制電路微程序控制電路電路中,由三片2816作為24位微程序存儲器,EP1K10產(chǎn)生控制邏輯。開關(guān)K1、K2、K3的不同組合控制微程序的讀、寫和運(yùn)行,六個黃色LED為微地址指示燈。微控器原理如下圖(除2816、74LS245和74LS374外,其余芯片功能均由EP1K10實(shí)現(xiàn)。不詳之處請查閱EP1K10的源程序)。以微程序的運(yùn)行為例:在T2時刻,將MS24—MS1的24位微程序打入微指令寄存器,然后由譯碼電路對MS24—MS7進(jìn)行譯碼,產(chǎn)生地址寄存器、指令寄存器等等電路的控制信號。MS6-MS1指示下一個微地址,在T3時刻,由機(jī)器指令譯碼器產(chǎn)生的強(qiáng)制微地址信號對MS6—MS1微地址的某幾位強(qiáng)行置位,形成下一個微地址輸出。微控器的外部接口有:uAJ1、LDRO1、LDRO2、ALU_GOUT、G_299OUT、AROUT、STATUS、AO1、BO1、WEO、WEI、LARI。在讀、寫微程序時,uAJ1用于從外部輸入微地址;LDRO1、LDRO2、ALU_GOUT、G_299OUT、AROUT、STATUS為運(yùn)算器電路的控制信號,只要將它們接至運(yùn)算器電路相應(yīng)的接口上(STATUS接S3-S1MCN)就能實(shí)現(xiàn)微程序?qū)\(yùn)算器的控制。AO1、BO1通常接至底板I/O控制電路的1A1B上,用于外部I/O設(shè)備的選通控制。WEO為微控器的讀寫輸出,WEI為外部讀寫控制電路的輸入,控制總線上的WR為外部讀寫控制電路的輸出,其控制電路為:圖2控制電路通常將WEO與WEI相連,實(shí)現(xiàn)微程序?qū)ν獠孔x寫的控制。LARI為地址控制器的輸入,以下另作介紹。除此以外其他控制信號都已接至相應(yīng)的控制電路。□mFd5vmtWicywD"1va-i\Kr-iIVO-I*12nSvTlSifA4i5STnJJT1154Vli5T審皿2m2加gIQEKES7*1-1旨IS3…耳sn侍:一《vG\WMN占yg\c芭ES7芭6寸n3.3指令譯碼器電路指令譯碼器電路由EP1K10]現(xiàn),其原理如下圖所示。RCG為微程序譯碼產(chǎn)生的控制信號,T3為時鐘,器指令的讀、寫、運(yùn)行的控制端,已分別接至控制總線的輸出至微控制器電路;LDR2—LDR0輸出至寄存器堆電路的其中P1、P2、P3、P4、LRi、RAG、RBG、I7—I0為指令寄存器的輸出 IR,CA1、CA2為機(jī)E4和E5。SA4-SA0為強(qiáng)制微地址信號,LR,R0B、R1B、R2B輸出至寄存器堆電路的 RG。Y10MH.1Y11MB1Y1ZMA2T13MB2YH3HG1MTZ1MG2M■TZZMTZ3MT10NY11MY12MY13MmuTZ1M■TZZMZ:+UECUDEF.3-2微控制器電路四、詳細(xì)設(shè)計4.1數(shù)據(jù)格式:本實(shí)驗計算機(jī)采用定點(diǎn)補(bǔ)碼表示法表示數(shù)據(jù),字長為16位,其格式如下:151413……...0符號尾數(shù)其中第16位為符號位,數(shù)值表示范圍是:-32768WX<32767。4.2指令格式:1)算術(shù)邏輯指令設(shè)計9條單字長算術(shù)邏輯指令,尋址方式采用寄存器直接尋址。其格式如下:76543210OP-CODErdrs其中OP-CODE為操作碼,rs為源寄存器,rd為目的寄存器,并規(guī)定:OP-CODE011110001001101010111100110111101111指令CLRMOVADDSUBINCANDNOTRORROLRs或rd選定寄存器00Ax01Bx10Cx9條算術(shù)邏輯指令的名稱、功能和具體格式見表8-2。2)存儲器訪問及轉(zhuǎn)移指令存儲器的訪問有兩種,即存數(shù)和取數(shù)。它們都使用助記符MOV,但其操作碼不同。轉(zhuǎn)移指令只有一種,即無條件轉(zhuǎn)移(JMP)。指令格式如下:7654321000MOP-CODErdD其中OP-CODE為操作碼,rd為寄存器。M為尋址模式,D隨M的不同其定義也不相同,如下表所示:

OP-CODE000110指令說明口存儲器口存儲器轉(zhuǎn)移指令尋址模式M有效地址ED定義說 明00E=(PC)+1立即數(shù)立即尋址10E=D直接地址直接尋址3)I/O指令輸入口 IN□和輸出( OUT)指令采用單字節(jié)指令,其格式如下:76543210OP-CODEaddrrd其中,當(dāng)OP-CODE=0100且addr=10時,從“數(shù)據(jù)輸入電路”中的開關(guān)組輸入數(shù)據(jù);當(dāng)OP-CODE=0100且addr=01。將數(shù)據(jù)送到“輸出顯示電路”中的數(shù)碼管顯示。4.3指令系統(tǒng)本實(shí)驗共有14本實(shí)驗共有14條基本指令,其中算術(shù)邏輯指令8條,訪問內(nèi)存指令和程序控制指令 4條。輸入輸出指令入輸出指令2條。表1列出了各條指令的格式、匯編符號和指令功能。4.4設(shè)計微代碼設(shè)計三個控制操作微程序:存儲器讀操作(MRD):撥動清零開關(guān)CLR對地址、指令寄存器清零后,指令譯碼輸入CA1、CA2為“00”時,按“單步”鍵,可對RAM連續(xù)讀操作。存儲器寫操作(MWEW撥動清零開關(guān)CLR對地址、指令寄存器清零后,指令譯碼輸入CA1、CA2為“10”時,按“單步”鍵,可對RAM連續(xù)寫操作。啟動程序(RUN):撥動開關(guān)CLR對地址、指令寄存器清零后,指令譯碼輸入CA1、CA2為“11”時,按“單步”鍵,即可轉(zhuǎn)入到第01號“取指”微指令,啟動程序運(yùn)行。注:CA1、CA2由控制總線的E4、E5給出。鍵盤操作方式時由監(jiān)控程序直接對E4、E5賦值,無需接線。開關(guān)方式時可將E4、E5接至控制開關(guān)CA1、CA2,由開關(guān)來控制。本系統(tǒng)設(shè)計的微程序字長共24位,其控制位順序如下:242322212019181716151413121110987654321S3S2S1S0MCnWE1A1BF1F2F3uA5uA4uA3uA2uA1uA02:2:表2編碼方案F1字段F2字段F3字段151413選擇121110選擇987選擇000LDRi000RAG000P1001LOAD001ALU-G001AR010LDR2010RCG010P3011自定義011自定義011自定義

100LDR1100RBG100P2101LAR101PC-G101LPC110LDIR110299-G110P4111無操作111無操作111無操作系統(tǒng)涉及到的微程序流程見圖2(圖中各方框內(nèi)為微指令所執(zhí)行的操作,方框外的標(biāo)號為該條微指令所處的八進(jìn)制微地址)??刂撇僮鳛镻4測試,它以CA1、CA2作為測試條件,出現(xiàn)了寫機(jī)器指令、讀機(jī)器指令和運(yùn)行機(jī)器指令3路分支,占用3個固定微地址單元。當(dāng)分支微地址單元固定后,剩下的其它地方就可以一條微指令占用控存一個微地址單元隨意填寫。機(jī)器指令的執(zhí)行過程如下:首先將指令在外存儲器的地址送上地址總線,然后將該地址上的指令傳送至指令寄存器,這就是“取指”過程。之后必須對操作碼進(jìn)行P1測試,根據(jù)指令的譯碼將后續(xù)微地址中的某幾位強(qiáng)制置位,使下一條微指令指向相應(yīng)的微程序首地址,這就是“譯碼”過程(其原理見圖5-4)。然后才順序執(zhí)行該段微程序,這是真正的指令執(zhí)行過程。在所有機(jī)器指令的執(zhí)行過程中,“取指”和“譯碼”是必不可少的,而且微指令執(zhí)行的操作也是相同的,這些微指令稱為公用微指令,對應(yīng)于圖8-2中01、02、75地址的微指令。75地址為“譯碼”微指令,該微指令的操作為P(1)測試,測試結(jié)果出現(xiàn)多路分支。本實(shí)驗用指令寄存器的前4位(17-14)作為測試條件,出現(xiàn)12路分支,占用12個固定微地址單元。如I7—14相同,則還需進(jìn)行P2測試,以指令寄存器的13、I2位作為測試條件,以區(qū)分不同的指令,如MOV指令和IN、OUT指表3即為將圖2的微程序流程按微程序格式轉(zhuǎn)化而成的二進(jìn)制微代碼表。開始.?一3立即)10(直接)IBr02|RAH二3立即)10(直接)IBr02|RAH二50詬三元illU101圖2的微程序流程五、實(shí)驗代碼:按程序流程圖譯出適合本實(shí)驗系統(tǒng)所有機(jī)器指令的微代碼,加深對較完整的模型機(jī)的認(rèn)識。這里提供以下實(shí)驗程序:地址(二進(jìn)制)指令(二進(jìn)制)助記符說明0000000001001000INAx,KIN “開關(guān)輸入”-Ax0000000100000101MOVBx,01H01H―?Bx000000100000001100000100000000011001010011110000ADDAx,BxROLAxAx+Bx *Ax* Ax|*00000101000001101101000000100101NOTAxMOVBx,[01H]取反直接尋址00000111000010000000000110000010MOVCx,AxAx *Cx0000100101000110OUTDISP,CxCx-LED0000101000001000JMP00H00H PC0000101100000000其中MOV、JMP為雙字長(32位),其余為單字長指令。對于雙字長指令,第一字為操作碼,第二字為操作數(shù);對于單字長指令只有操作碼,沒有操作數(shù)。上述所有指令的操作碼均為低8位有效,高八位默認(rèn)為0。而操作數(shù)8位和16位均可。KIN和DISP分別為本系統(tǒng)專用輸入、輸出設(shè)備。表3為根據(jù)本實(shí)驗程序流程圖設(shè)計的二進(jìn)制微代碼表:

表3二進(jìn)制微代碼表微地址S3s2S1S0MCNWE1A1BF1F2F3UA5--UA0000000000000000111111110001000000001000000000101101101000010000010000000010110111111111101000110000000010101111111100101000111000000010101111111100101001000000000000101101101001010001001000000000101101101001100001010000000010100111111111011001011000000000111111111000001001100000000011100111111111100010000000000000101101101100101010010000000000101101101000111010011000000000101101101000110010101000000101111010111000001010111000000011000111111000001011000000000000000000111000001011001000000000100000111101010011010000000000100000111101100011011000000000100000111110010011100000000000100000111110011011101000000000100000111110110011110001100000111000111110111011111001100000000000111111001100000000000110111100111000001100001000000010000111111000001100010000000010001111101000001100101000000000111111100100000101010000000000010010111101011101011100101000000001111000001101100000000000010100111101101101101011000000000001111000001110010000000000000001111000001110011000000000010010111110101110101101110000000001111000001110110000011000000001111000001110111001000000111110111111000111000000000000000110111000001111001000100000111110111111010111010000000000000110111000001111011000001101111001111001000111100111111110111001111001001111101000000010110111000010000六、實(shí)驗步驟:單片機(jī)鍵盤操作方式實(shí)驗。在進(jìn)行單片機(jī)鍵盤控制實(shí)驗時,必須把K4開關(guān)置于“OFF”狀態(tài),否則系統(tǒng)處于自鎖狀態(tài),無法進(jìn)行實(shí)驗。實(shí)驗連線:實(shí)驗連線圖如圖8-3所示。連線時應(yīng)按如下方法:對于橫排座,應(yīng)使排線插頭上的箭頭面向自己插在橫排座上;對于豎排座,應(yīng)使排線插頭上的箭頭面向左邊插在豎排座上。寫微代碼:(1)將開關(guān)K1K2K3K4撥到寫狀態(tài)即K1off、K2on、K3off、K4off,其中K1、K2、K3在微程序控制電路,K4在24位微代碼輸入及顯示電路上。(2)在監(jiān)控指示燈滾動顯示【CLASSSELECt】狀態(tài)下按【實(shí)驗選擇】鍵,顯示【ES--__】輸入08或8,按【確認(rèn)】鍵,顯示為【ES08】,再按下【確認(rèn)】鍵。⑶監(jiān)控顯示為【。11=_】,輸入1顯示【CtL1_1】,按【確認(rèn)】。(4)監(jiān)控顯示【U-Addr】,此時輸入【000000】6位二進(jìn)制數(shù)表示的微地址,然后按【確認(rèn)】鍵,監(jiān)控指示燈顯示【U_CodE】,顯示這時輸入微代碼【007F88],注意輸入微代碼的順序,先右后左。按【確認(rèn)】鍵則顯示【PULSE】,按【單步】完成一條微代碼的輸入。(5)監(jiān)控重新顯示【U-Addr】提示輸入表4第二條微代碼地址。按照上面的方法輸入表4微代碼,觀察微代碼與微地址顯示燈的對應(yīng)關(guān)系(注意輸入微代碼的順序是由右至左)。

表4微代碼表微地址(八進(jìn)制)微地址(二進(jìn)制)微代碼(十六進(jìn)制)00000000007F8801000001005B4202000010016FFD06000110015FE507000111015FE510001000005B4A11001001005B4C12001010014FFC11400110001CFFC20010000005B6522010010005B4723010011005B462501010102F5C127010111018FC1300110000001C1310110010041EA320110100041EC330110110041F2340111000041F3350111010041F6360111103071F7370111113001F9401000000379C141100001010FC142100010011F4145100101007F20521010100029EB531010119403C1541011000029ED551011013003C1621100100003C1631100110025F565110101B803C1661101100C03C167110111207DF870111000000DC171111001107DFA72111010000D3C874111100FF73C975111101016E10讀微代碼及校驗微代碼:(3)先將開關(guān) K1K2K3K4撥到讀狀態(tài)即 K1off、K2off、K3on、K4off□按口 RESET】按鈕對單片機(jī)復(fù)位,使監(jiān)控指示燈滾動顯示口 CLASSSELECtDODD(4)按【實(shí)驗選擇】口,顯示口ES--__】輸入08或8,按【確認(rèn)】口,顯示【ES08】。再按【確認(rèn)】(5)監(jiān)控顯示口 CtL1=_DDDD0 2,按【確認(rèn)】顯示【 U_Addr】,此時輸入6位二進(jìn)制微地址,進(jìn)入口代碼狀態(tài)。再按【確認(rèn)】顯示【 PULSE】,此時按【單步】口,顯示【 U_Addr】,微地址指示燈顯示輸入的微地址, 微代碼顯示電路上顯示該地址對應(yīng)的微代碼, 至此完成一條微指令的讀過程。對照表3表檢查微代碼是否有錯誤,如有錯誤,可按步驟 2重新輸入微代碼。寫機(jī)器指令(1)先將K1K2K3K4撥到運(yùn)行狀態(tài)即 K1on、K2off、K3on、K4off□按口 RESET】按鈕對單片機(jī)復(fù)位,使監(jiān)控指示燈滾動顯示口 CLASSSELECtDODD(2)按【實(shí)驗選擇】鍵,顯示口 ES--__】輸入08或8,按【確認(rèn)】鍵,顯示口 ES08D,再按【確認(rèn)】。(3)監(jiān)控顯示【CtL1=_】,按【取消】鍵,監(jiān)控指示燈顯示【CtL2=_】,輸入 1顯示口 CtL2_1】表示進(jìn)入對機(jī)器指令操作狀態(tài),此時撥動 CLR清零開關(guān)(在控制開關(guān)電路上, 注意對應(yīng)的 JUI應(yīng)短接)對地址寄存器、指令寄存器清零。確定清零后,按【確認(rèn)】顯示閃爍【PULSE】。連續(xù)按【單步】鍵,當(dāng)微地址顯示燈顯示“001100”時,按【確認(rèn)】口,監(jiān)控指示燈顯示【 data】,提示輸入機(jī)器指令“48”或“ 0048”(兩位或 4位十六進(jìn)制數(shù)),輸入后按【確認(rèn)】 ,顯示【 PULSE】,再按【單步】 ,微地址顯示燈顯示“111100”,數(shù)據(jù)總線顯示燈顯示“0000000001001000”至此完成第一條機(jī)器指令。(4)再連續(xù)按【單步】,微地址顯示燈顯示“001100”時,按【確認(rèn)】輸入第二條機(jī)器指令。依此規(guī)律逐條輸入表5的機(jī)器指令,輸完后,可連續(xù)按【取消】或【表5RESET】鍵退出口機(jī)器指令狀態(tài)。機(jī)器指令表地址(十六進(jìn)口)機(jī)器指令(十六進(jìn)口)000102030405060708090A004800050001009400F000D000050082004600080000讀機(jī)器指令及校驗機(jī)器指令:在監(jiān)控指示燈顯示【CtL2=_】狀態(tài)下,輸入2,顯示【CtL2_2】,表示進(jìn)入讀機(jī)器指令狀態(tài),按步驟4的方法撥動CLR開關(guān)對地址寄存器和指令寄存器進(jìn)行清零,然后按【確認(rèn)】鍵,顯示【PULSE】,連續(xù)按【單步】鍵,微地址顯示燈顯示從“000000”開始,然后按“001000”、“001010”、“111011”方式循環(huán)顯示。當(dāng)微地址燈再次顯示為“001000”時,輸出顯示數(shù)碼管上顯示寫入的機(jī)器指令。讀的過程注意微地址顯示燈,地址顯示燈和數(shù)據(jù)總線指示燈的對應(yīng)關(guān)系。如果發(fā)現(xiàn)機(jī)器指令有誤,則需重新輸入機(jī)器指令。注意:機(jī)器指令存放在RAM里,掉電丟失,故斷電后需重新輸入。運(yùn)行程序在監(jiān)控指示燈顯示【CtL

溫馨提示

  • 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

提交評論