復雜模型機設計計算機組成原理課程設計報告_第1頁
復雜模型機設計計算機組成原理課程設計報告_第2頁
復雜模型機設計計算機組成原理課程設計報告_第3頁
復雜模型機設計計算機組成原理課程設計報告_第4頁
復雜模型機設計計算機組成原理課程設計報告_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、-計算機組成原理課 程 設 計 任 務 書班級:*:成績:電子與信息工程學院計算機科學系目錄一、設計題目1二、模型機功能概述1三、總體設計23.1 模型機構造:23.2 微程序控制電路33.3 指令譯碼器電路5四、詳細設計64.1 數據格式:64.2指令格式:64.3指令系統74.4設計微代碼8五、實驗代碼:10六、實驗步驟:126.1實驗連線:126.2寫微代碼:126.3讀微代碼及校驗微代碼:146.4寫機器指令146.5讀機器指令及校驗機器指令:156.6運行程序15七、測試源程序及結果分析16八、認識體會16九、參考文獻16. z-計算機組成原理課程設計報告書一、設計題目復雜模型機設計

2、二、模型機功能概述以EL-JY-II計算機組成原理教學實驗系統為平臺,根據模型機的構造,及部的指令譯碼電路、微指令譯碼電路及微指令格式等設計一套指令系統,指令系統中包括傳送類指令、算術運算指令、邏輯運算指令、輸入/輸出及轉移指令;尋址方式包括存放器尋址、直接尋址及立即尋址等。設計機器指令格式以及微程序,按照模型機數據通路設計實現機器指令功能的微程序,裝載代碼到EL-JY-II實驗系統中并運行。系統采用“基板+擴展板CPU板形式;系統公共局部如數據輸入/輸出和顯示、單片機控制、與PC機通訊等電路放置在基板上,微程序控制器、運算器、各種存放器、譯碼器等電路放置在擴展板上。此模型機是由運算器,控制器

3、,存儲器,輸入設備,輸出設備五大局部組成。1.運算器又是有299,74LS181完成控制信號功能的算邏部件,暫存器LDR1,LDR2,及三個通用存放器A*,B*,C*等組成。2.控制器由程序計數器PC、指令存放器、地址存放器、時序電路、控制存儲器及相應的譯碼電路組成。3.存儲器RAM是通過CE和W/R兩個微命令來完成數據和程序的的存放功能的。4.輸出設備有兩位LED數碼管和W/R控制完成的。三、總體設計3.1模型機構造:圖1中運算器ALU由U7U10四片74LS181構成,暫存器1由U3、U4兩片74LS273構成,暫存器2由U5、U6兩片74LS273構成。微控器局部控存由U13U15三片2

4、816構成。除此之外,CPU的其它局部都由EP1K10集成其原理見系統介紹局部。存儲器局部由兩片6116構成16位存儲器,地址總線只有低八位有效,因而其存儲空間為00HFFH。輸出設備由底板上的四個LED數碼管及其譯碼、驅動電路構成,當D-G和W/R均為低電平時將數據總線的數據送入數碼管顯示。在開關方式下,輸入設備由16位電平開關及兩個三態緩沖芯片74LS244構成,當DIJ-G為低電平時將16位開關狀態送上數據總線。在鍵盤方式或聯機方式下,數據可由鍵盤或上位機輸入,然后由監控程序直接送上數據總線,因而外加的數據輸入電路可以不用。圖1 模型機構造框圖3.2微程序控制電路微程序控制電路電路中,由

5、三片2816作為24位微程序存儲器,EP1K10產生控制邏輯。開關K1、K2、K3的不同組合控制微程序的讀、寫和運行,六個黃色LED為微地址指示燈。微控器原理如下列圖除2816、74LS245和74LS374外,其余芯片功能均由EP1K10實現。不詳之處請查閱EP1K10的源程序。以微程序的運行為例:在T2時刻,將MS24MS1的24位微程序打入微指令存放器,然后由譯碼電路對MS24MS7進展譯碼,產生地址存放器、指令存放器等等電路的控制信號。MS6MS1指示下一個微地址,在T3時刻,由機器指令譯碼器產生的強制微地址信號對MS6MS1微地址的*幾位強行置位,形成下一個微地址輸出。微控器的外部接

6、口有:uAJ1、LDRO1、LDRO2、ALU_GOUT、G_299OUT、AROUT、STATUS 、AO1、BO1、WEO、WEI、LARI。在讀、寫微程序時,uAJ1用于從外部輸入微地址;LDRO1、LDRO2、ALU_GOUT、G_299OUT、AROUT、STATUS為運算器電路的控制信號,只要將它們接至運算器電路相應的接口上STATUS接S3S1M就能實現微程序對運算器的控制。AO1、BO1通常接至底板I/O控制電路的1A1B上,用于外部I/O設備的選通控制。WEO為微控器的讀寫輸出,WEI為外部讀寫控制電路的輸入,控制總線上的WR為外部讀寫控制電路的輸出,其控制電路為:圖2控制電

7、路通常將WEO與WEI相連,實現微程序對外部讀寫的控制。LARI為地址控制器的輸入,以下另作介紹。除此以外其他控制信號都已接至相應的控制電路。3.3指令譯碼器電路指令譯碼器電路由EP1K10實現,其原理如下列圖所示。其中P1、P2、P3、P4、LRi、RAG、RBG、RCG為微程序譯碼產生的控制信號,T3為時鐘,I7I0為指令存放器的輸出IR,CA1、CA2為機器指令的讀、寫、運行的控制端,已分別接至控制總線的E4和E5。SA4SA0為強制微地址信號,輸出至微控制器電路;LDR2LDR0輸出至存放器堆電路的LR,R0B、R1B、R2B輸出至存放器堆電路的RG。圖3-2微控制器電路四、詳細設計4

8、.1數據格式:本實驗計算機采用定點補碼表示法表示數據,字長為16位,其格式如下:1514 13. 0符號尾 數其中第16位為符號位,數值表示圍是:-32768*32767。4.2指令格式:1算術邏輯指令 設計9條單字長算術邏輯指令,尋址方式采用存放器直接尋址。其格式如下:7 6 5 43 21 0OP-CODErdrs其中OP-CODE為操作碼,rs為源存放器,rd為目的存放器,并規定:OP-CODE011110001001101010111100110111101111指令CLRMOVADDSUBINCANDNOTRORROLRs或rd選定存放器00A*01B*10C*9條算術邏輯指令的名稱

9、、功能和具體格式見表8-2。 2存儲器及轉移指令 存儲器的有兩種,即存數和取數。它們都使用助記符MOV,但其操作碼不同。轉移指令只有一種,即無條件轉移JMP。指令格式如下: 7 65 43 21 000MOP-CODErdD其中OP-CODE為操作碼,rd為存放器。M為尋址模式,D隨M的不同其定義也不一樣,如下表所示:OP-CODE000110指令說明寫存儲器讀存儲器轉移指令尋址模式M有效地址ED定義說 明00E=PC+1立即數立即尋址10E=D直接地址直接尋址3I/O指令 輸入IN和輸出OUT指令采用單字節指令,其格式如下:7 6 5 43 21 0OP-CODEaddrrd其中,當OP-C

10、ODE=0100且addr=10時,從“數據輸入電路中的開關組輸入數據;當OP-CODE=0100且addr=01時,將數據送到“輸出顯示電路中的數碼管顯示。 4.3指令系統本實驗共有14條根本指令,其中算術邏輯指令8條,存指令和程序控制指令4條。輸入輸出指令2條。表1列出了各條指令的格式、匯編符號和指令功能。表1 指令格式 匯編符號指令的格式功 能MOV rd,rs ADD rd,rs SUB rd,rs 1000 rs rd 1001 rs rd 1010 rs rd rs rd rs+rd rdrd-rs rdINC rdAND rd,rsNOT rdROR rd 1011 rd rd

11、1100 rs rd 1101 rd rd 1110 rd rd rd+1 rdrsrd rdrd rdrdROL rd 1111 rd rd rdMOV D,rs 00 10 00 rs D rs D MOV rd, D 00 10 01 rd D D rd MOV rd, D 00 00 01 rd D D rd JMP D 00 00 10 00 DIN rd, KINOUT DISP,rd 0111 10 rd 0101 01 rd KIN rd rd DISP4.4設計微代碼設計三個控制操作微程序:存儲器讀操作MRD:撥動清零開關CLR對地址、指令存放器清零后,指令譯碼輸入CA1、C

12、A2為“00時,按“單步鍵,可對RAM連續讀操作。 存儲器寫操作MWE:撥動清零開關CLR對地址、指令存放器清零后,指令譯碼輸入CA1、CA2為“10時,按“單步鍵,可對RAM連續寫操作。啟動程序RUN:撥動開關CLR對地址、指令存放器清零后,指令譯碼輸入CA1、CA2為“11時,按“單步鍵,即可轉入到第01號“取指微指令,啟動程序運行。注:CA1、CA2由控制總線的E4、E5給出。鍵盤操作方式時由監控程序直接對E4、E5賦值,無需接線。開關方式時可將E4、E5接至控制開關CA1、CA2,由開關來控制。本系統設計的微程序字長共24位,其控制位順序如下:24232221201918171615

13、14 1312 11 109 8 7654321S3S2S1S0MWE1A1BF1F2F3uA5uA4uA3uA2uA1uA0、三個字段的編碼方案如表2: 表2 編碼方案F1字段F2字段F3字段15 14 13選擇12 11 10選擇9 8 7選擇0 0 0LDRi0 0 0RAG0 0 0P10 0 1LOAD0 0 1ALU-G0 0 1AR0 1 0LDR20 1 0RCG0 1 0P30 1 1自定義0 1 1自定義0 1 1自定義1 0 0LDR11 0 0RBG1 0 0P21 0 1LAR1 0 1PC-G1 0 1LPC1 1 0LDIR1 1 0299-G1 1 0P41 1

14、 1無操作1 1 1無操作1 1 1無操作系統涉及到的微程序流程見圖2圖中各方框為微指令所執行的操作,方框外的標號為該條微指令所處的八進制微地址。控制操作為P4測試,它以CA1、CA2作為測試條件,出現了寫機器指令、讀機器指令和運行機器指令3路分支,占用3個固定微地址單元。當分支微地址單元固定后,剩下的其它地方就可以一條微指令占用控存一個微地址單元隨意填寫。機器指令的執行過程如下:首先將指令在外存儲器的地址送上地址總線,然后將該地址上的指令傳送至指令存放器,這就是“取指過程。之后必須對操作碼進展P1測試,根據指令的譯碼將后續微地址中的*幾位強制置位,使下一條微指令指向相應的微程序首地址,這就是

15、“譯碼過程其原理見圖5-4。然后才順序執行該段微程序,這是真正的指令執行過程。在所有機器指令的執行過程中,“取指和“譯碼是必不可少的,而且微指令執行的操作也是一樣的,這些微指令稱為公用微指令,對應于圖8-2中01、02、75地址的微指令。75地址為“譯碼微指令,該微指令的操作為P1測試,測試結果出現多路分支。本實驗用指令存放器的前4位I7-I4作為測試條件,出現12路分支,占用12個固定微地址單元。如I7I4一樣,則還需進展P2測試,以指令存放器的I3、I2位作為測試條件,以區分不同的指令,如MOV指令和IN、OUT指表3即為將圖2的微程序流程按微程序格式轉化而成的二進制微代碼表。圖2的微程序

16、流程控制開關00P(4)測試 MWE01 MRD(00) RUN(11)PC AR,PC+111 PC AR,PC+110 13(D_INPUT) D_BUS LT114 RAM D_BUS LT1 12 01LT1 RAM74LT1LED73圖3微程序流程圖五、實驗代碼:按程序流程圖譯出適合本實驗系統所有機器指令的微代碼,加深對較完整的模型機的認識。這里提供以下實驗程序:地址二進制 指令二進制 助記符 說 明0000 0000 0100 1000 IN A*, KIN “開關輸入 A*0000 0001 0000 0101 MOV B*, 01H 01H B*0000 0010 0000 0

17、0010000 0011 1001 0100 ADD A*,B* A*+B* A* 0000 0100 1111 0000 ROL A* A* 0000 0101 1101 0000 NOT A* 取反0000 0110 0010 0101 MOV B*,01H 直接尋址0000 0111 0000 00010000 1000 1000 0010 MOV C*, A* A* C*0000 1001 0100 0110OUT DISP, C* C* LED 0000 1010 0000 1000 JMP 00H 00H PC0000 1011 0000 0000其中MOV、JMP為雙字長32位,

18、其余為單字長指令。對于雙字長指令,第一字為操作碼,第二字為操作數;對于單字長指令只有操作碼,沒有操作數。上述所有指令的操作碼均為低8位有效,高八位默認為0。而操作數8位和16位均可。KIN和DISP分別為本系統專用輸入、輸出設備。表3為根據本實驗程序流程圖設計的二進制微代碼表:表3 二進制微代碼表微地址S3S2S1 S0 M WE 1A 1BF1F2F3UA5-UA00000000000000001111111100010000000010000000001011011010000100000100000000101101111111111010001100000000101011111111

19、001010001110000000101011111111001010010000000000001011011010010100010010000000001011011010011000010100000000101001111111110110010110000000001111111110000010011000000000111001111111111000100000000000001011011011001010100100000000001011011010001110100110000000001011011010001100101010000001011110101110

20、000010101110000000110001111110000010110000000000000000001110000010110010000000001000001111010100110100000000001000001111011000110110000000001000001111100100111000000000001000001111100110111010000000001000001111101100111100011000001110001111101110111110011000000000001111110011000000000001101111001110

21、000011000010000000100001111110000011000100000000100011111010000011001010000000001111111001000001010100000000000100101111010111010111001010000000011110000011011000000000000101001111011011011010110000000000011110000011100100000000000000011110000011100110000000000100101111101011101011011100000000011110

22、00001110110000011000000001111000001110111001000000111110111111000111000000000000000110111000001111001000100000111110111111010111010000000000000110111000001111011000001101111001111001000111100111111110111001111001001111101000000010110111000010000六、實驗步驟:單片機鍵盤操作方式實驗。在進展單片機鍵盤控制實驗時,必須把K4開關置于“OFF狀態,否則系統處于

23、自鎖狀態,無法進展實驗。6.1實驗連線:實驗連線圖如圖8-3所示。連線時應按如下方法:對于橫排座,應使排線插頭上的箭頭面向自己插在橫排座上;對于豎排座,應使排線插頭上的箭頭面向左邊插在豎排座上。6.2寫微代碼:(1) 將開關K1K2K3K4撥到寫狀態即K1 off、K2 on、K3 off、K4 off,其中K1、K2、K3在微程序控制電路,K4在24位微代碼輸入及顯示電路上。(2) 在監控指示燈滾動顯示【CLASS SELECt】狀態下按【實驗選擇】鍵,顯示【ES-_ _ 】輸入08或8,按【確認】鍵,顯示為【ES08】,再按下【確認】鍵。(3)監控顯示為【CtL1=_】,輸入1顯示【CtL

24、1_1】,按【確認】。(4)監控顯示【U-Addr】,此時輸入【000000】6位二進制數表示的微地址,然后按【確認】鍵,監控指示燈顯示【U_CodE】,顯示這時輸入微代碼【007F88】,注意輸入微代碼的順序,先右后左。按【確認】鍵則顯示【PULSE】,按【單步】完成一條微代碼的輸入。(5) 監控重新顯示【U-Addr】提示輸入表4第二條微代碼地址。按照上面的方法輸入表4微代碼,觀察微代碼與微地址顯示燈的對應關系注意輸入微代碼的順序是由右至左。表4 微代碼表微地址八進制微地址二進制微代碼十六進制00000000007F8801000001005B4202000010016FFD0600011

25、0015FE507000111015FE510001000005B4A11001001005B4C12001010014FFC11400110001CFFC20010000005B6522010010005B4723010011005B462501010102F5C127010111018FC1300110000001C1310110010041EA320110100041EC330110110041F2340111000041F3350111010041F6360111103071F7370111113001F9401000000379C141100001010FC

26、142100010011F4145100101007F20521010100029EB531010119403C1541011000029ED551011013003C1621100100003C1631100110025F565110101B803C1661101100C03C167110111207DF870111000000DC171111001107DFA72111010000D3C874111100FF73C975111101016E106.3讀微代碼及校驗微代碼:(3) 先將開關K1K2K3K4撥到讀狀態即K1 off、K2 off、K3 on、K4 of

27、f,按【RESET】按鈕對單片機復位,使監控指示燈滾動顯示【CLASS SELECt】狀態。(4) 按【實驗選擇】鍵,顯示【ES-_ _ 】輸入08或8,按【確認】鍵,顯示【ES08】。再按【確認】。(5) 監控顯示【CtL1=_】時,輸入2,按【確認】顯示【U_Addr】 ,此時輸入6位二進制微地址,進入讀代碼狀態。再按【確認】顯示【PULSE】,此時按【單步】鍵,顯示【U_Addr】,微地址指示燈顯示輸入的微地址,微代碼顯示電路上顯示該地址對應的微代碼,至此完成一條微指令的讀過程。(6) 對照表3表檢查微代碼是否有錯誤,如有錯誤,可按步驟2重新輸入微代碼。6.4寫機器指令(1) 先將K1K

28、2K3K4撥到運行狀態即K1 on、K2 off、K3 on、K4 off,按【RESET】按鈕對單片機復位,使監控指示燈滾動顯示【CLASS SELECt】狀態。(2) 按【實驗選擇】鍵,顯示【ES-_ _ 】輸入08或8,按【確認】鍵,顯示【ES08】,再按【確認】。(3) 監控顯示【CtL1=_】,按【取消】鍵,監控指示燈顯示【CtL2=_】,輸入1顯示【CtL2_1】表示進入對機器指令操作狀態,此時撥動CLR清零開關在控制開關電路上,注意對應的JUI應短接對地址存放器、指令存放器清零。確定清零后,按【確認】顯示閃爍【PULSE】。連續按【單步】鍵,當微地址顯示燈顯示“001100時,按

29、【確認】鍵,監控指示燈顯示【data】,提示輸入機器指令“48或“0048兩位或4位十六進制數,輸入后按【確認】,顯示【PULSE】,再按【單步】,微地址顯示燈顯示“111100,數據總線顯示燈顯示“0000000001001000至此完成第一條機器指令。(4) 再連續按【單步】,微地址顯示燈顯示“001100時,按【確認】輸入第二條機器指令。依此規律逐條輸入表5的機器指令,輸完后,可連續按【取消】或【RESET】鍵退出寫機器指令狀態。表5 機器指令表地址十六進制機器指令十六進制0000480100050200010300940400F00500D00600050700820800460900

30、080A00006.5讀機器指令及校驗機器指令:在監控指示燈顯示【CtL2=_】狀態下,輸入2,顯示【CtL2_2】,表示進入讀機器指令狀態,按步驟4的方法撥動CLR開關對地址存放器和指令存放器進展清零,然后按【確認】鍵,顯示【PULSE】,連續按【單步】鍵,微地址顯示燈顯示從“000000開場,然后按“001000、 “001010 、“111011方式循環顯示。當微地址燈再次顯示為“001000時,輸出顯示數碼管上顯示寫入的機器指令。讀的過程注意微地址顯示燈,地址顯示燈和數據總線指示燈的對應關系。如果發現機器指令有誤,則需重新輸入機器指令。注意:機器指令存放在RAM里,掉電喪失,故斷電后需重新輸入。6.6運行程序在監控指示燈顯示【CtL2=_】狀態下,輸入3,顯示【CtL2_3】,表示進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論