計算機組成原理課程設計(全)_第1頁
計算機組成原理課程設計(全)_第2頁
計算機組成原理課程設計(全)_第3頁
計算機組成原理課程設計(全)_第4頁
計算機組成原理課程設計(全)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、沈陽理工大學課程專用紙成 績 評 定 表學生姓名劉建成班級學號1103050115專 業(yè)計算機科學與技術課程設計題目多寄存器減法右移位輸入輸出等指令實驗計算機設計評語組長簽字:成績日期 2013 年6月21 日課程設計任務書學 院信息學院專 業(yè)計算機科學與技術學生姓名劉建成班級學號 1103050115 課程設計題目多寄存器減法右移位輸入輸出等指令實驗計算機設計實踐教學要求與任務:利用EL-JY-II型計算機組成原理實驗儀提供的硬件資源,通過設計(包括整機結構設計、指令設計、微程序設計、微指令設計、調試程序設計等)、組裝、調試三個步驟完成一臺微程序控制的復雜實驗計算機的設計。具體要求如下:1、

2、 掌握實驗計算機的整機結構。熟悉實驗計算機的組裝和調試方法。2、 設計如下幾條機器指令的格式,指令格式可以采用單字長或雙字長設計。算術減法運算指令:SUB rs,rd (功能rs - rd - rd)輸入輸出指令:IN #DATA,rd (功能DATA - rd) OUT Ri (功能Ri的值 - LED輸出)轉移指令: JMP ADDR (功能ADDR - PC) 右移位運算指令:RRC rs,rd(功能rs的值帶進位循環(huán)右移一位- rd) 3、 設計微指令的格式, 編寫上述每條機器指令所對應的微程序,并上機調試。4、通過如下程序的編寫調試,驗收機器指令、微指令、微程序的設計結果。IN #d

3、ata,R0 IN #data,R2SUB R0, R2RRC R2, R0OUT R0JMP 00H工作計劃與進度安排: 第17周:布置課程設計任務,查閱資料,分組設計,實驗室組裝與調試。 第20周:調試,驗收,答辯,編寫課程設計報告。指導教師: 2013年 6月21日專業(yè)負責人: 2013年 6 月22日學院教學副院長: 2013年6 月22日沈陽理工大學課程專用紙目錄1. 實驗計算機的設計11.1整機邏輯框圖設計及整機的邏輯框圖11.2指令系統的設計31.3微操作控制部件的設計51.3.1微指令編碼的格式設計51.3.2微操作控制信號設計61.3.3微程序順序控制方式設計71.4編寫調試

4、程序152 實驗計算機的組裝153 實驗計算機的調試163.1 調試前準備163.2調試步驟和調試結果193.3心得體會194、參考文獻201. 實驗計算機的設計1.1整機邏輯框圖設計及整機的邏輯框圖輸入設備數據暫存器LT2數據暫存器LT174299寄存器R2寄存器R2寄存器R2程序計數器PC地址寄存器AR存儲器(MEM)脈沖源及時序指令寄存器IR微控器輸出設備 此模型機是由運算器,控制器,存儲器,輸入設備,輸出設備五大部分組成。圖1.1模型機結構圖1.運算器又是有299,74LS181完成控制信號功能的算邏部件,暫存器LDR1,LDR2,及三個通用寄存器R0,R2等組成。2.控制器由程序計數

5、器PC、指令寄存器、地址寄存器、時序電路、控制存儲器及相應的譯碼電路組成。3.存儲器RAM是通過CE和W/R兩個微命令來完成數據和程序的的存放功能的。4輸入設備是由置數開關SW控制完成的。5. 輸出設備有兩位LED數碼管和W/R控制完成的圖1-1中運算器ALU由U7-U10四片74LS181構成,暫存器1由U3、U4兩片74LS273構成,暫存器2由U5、U6兩片74LS273構成。微控器部分控存由U13-U15三片2816構成。除此之外,CPU的其他部分都由EP1K10集成。存儲器部分由兩片6116構成16位存儲器,地址總線只有低八位有效,因而其存儲空間為00H-FFH。輸出設備由底板上的四

6、個LED數碼管及其譯碼、驅動構成,當D-G和W/R均為低電平時將數據總線的數據送入數碼管顯示。在開關方式下,輸入設備由16位電平開關及兩個三態(tài)緩沖芯片74LS244構成,當DIJ-G為低電平時將16位開關狀態(tài)送上數據總線。在鍵盤方式或聯機方式下,數據可由鍵盤或上位機輸入,然后由監(jiān)控程序直接送上數據總線,因而外加的數據輸入電路可以不用。本系統的數據總線為16位,指令、地址和程序計數器均為8位。當數據總線上的數據打入指令寄存器、地址寄存器和程序計數器時,只有低八位有效。1.2指令系統的設計Rs或rd選定寄存器00R001R110R2規(guī)定:表1.1寄存器表 (1)存儲器訪問及轉移指令 設計的2條訪問

7、指令,即存數(STA),取數(LDA),2條轉移指令,即無條件轉移(JMP),結果為零或有進位轉移指令(BZC),指令格式見表1.2存儲器的訪問表:表1.2存儲器的訪問表7 65 43 21 000MOP-CODErdD其中OP-CODE為操作碼,rd為寄存器。M為尋址模式,D為位移量,D隨M的不同其定義也不相同(2)尋址方式見表1.3尋址模式表: 表1.3尋址模式表尋址模式M有效地址E說 明00E=D直接尋址01E=(D)間接尋址10E=(R1)+DR1變址尋址11E=(PC)+D相對尋址注:本機規(guī)定變址寄存器R1指定為寄存器R2。(3)I/O指令 輸入(IN)和輸出(OUT)指令采用單字節(jié)

8、指令,格式見表1.4I/O操作碼表:7 6 5 43 21 0OP-CODEaddrrd 表1.4I/O操作碼表其中,當OP-CODE=0100且addr=10時,從“數據輸入電路”中的開關組輸入數據;當OP-CODE=0100且addr=01時,將數據送到“輸出顯示電路”中的數碼管顯示。(4) 指令助記符,功能及格式見表1.5: 表1.5指令格式 匯編符號指令的格式功 能CLR rdMOV rs,rd ADC rs,rd SBC rs,rd 0111 00 rd 1000 rs rd 1001 rs rd 1010 rs rd 0 rdrs rd rs+rd+cy rdrs-rd-cy rd

9、INC rdAND rs,rdCOM rdRRC rs,rd 1011 rs rd 1100 rs rd 1101 rs rd 1110 rs rd rd+1 rdrsrd rdrd rd cy rs rs rdRLC rs,rd 1111 rs rd cy rs rs rdLDA M,D,rd 00 M 00 rd D E rs STA M,D,rd 00 M 01 rd D rd E JMP M,D 00 M 10 00 BZC M,D 00 M 11 00 當CY=1或Z=1時, E PC IN addr,rdOUT addr,rd 0100 01 rd 0101 10 rd addr

10、rd rd addrHALT 0110 00 00 停機(5) 指令編碼: 表1.6指令編碼表:地址(二進制)指令(二進制)指令(十六進制)助記符0000 00000100 01 0044IN #data, R00000 00010100 01 1046IN #data, R20000 00101010 00 10A2 SUB R0, R20000 00111110 10 00 E8RRC R2, R0 cy R2 rs rd0000 01000101 10 0058 OUT,R00000 01010000 10 0008JMP 00H0000 01100000 00 00001.3微操作控制

11、部件的設計1.3.1微指令編碼的格式設計設計三個控制操作微程序:存儲器讀操作(MRD):撥動清零開關CLR對地址、指令寄存器清零后,指令譯碼輸入CA1、CA2為“00”時,按“單步”鍵,可對RAM連續(xù)讀操作。存儲器寫操作(MWE):撥動清零開關CLR對地址、指令寄存器清零后,指令譯碼輸入CA1、CA2為“10”時,按“單步”鍵,可對RAM連續(xù)寫操作。啟動程序(RUN):撥動清零開關CLR對地址、指令寄存器清零后,指令譯碼輸入CA1、CA2為“11”時,按“單步”鍵,即可轉入到第01號“取指”微指令,啟動程序運行表1.7 本系統的微程序字長共24位,其控制順序242322212019181716

12、15 14 1312 11 109 8 7654321S3S2S1S0MCnWE1A1BF1F2F3uA5uA4uA3uA2uA1uA0其中uA5-uA0為6位后續(xù)地址,F1,F2,F3為三個譯碼字段,分別由三個控制位譯出多位,。1.3.2微操作控制信號設計微指令中個控制位的含義如下:S3、S2、S1、S0、M、CN是控制運算器的邏輯和算術運算的微命令。WE是寫內存的微命令,狀態(tài)“1”有效。1A、1B是輸入電路選通、內存RAM選通、輸出LED選通控制微命令,分別對應狀態(tài)“11”、“10”、“01”。 狀態(tài)“00”為無效。F1、F2、F3為三個譯碼字段,分別由三個控制位經指令譯碼電路74138譯

13、碼輸出8種狀態(tài),前7種狀態(tài)分別對應一組互斥性微命令中的一個,狀態(tài)“111”為無效。F3字段包含P1- P4四個測試字位。其功能是根據機器指令代碼及相應微指令代碼進行譯碼測試,使微程序轉入相應的微地址入囗,從而實現微程序的順序、分支、循環(huán)運行??刂撇僮鳛镻4測試,它以CA1、CA2作為測試條件,出現了寫機器指令、讀機器指令和運行機器指令3路分支,占用3個固定微地址單元。當分支微地址單元固定后,剩下的其它地方就可以一條微指令占用控存一個微地址單元隨意填寫。機器指令的執(zhí)行過程如下:首先將指令在外存儲器的地址送上地址總線,然后將該地址上的指令傳送至指令寄存器,這就是“取指”過程。之后必須對操作碼進行P

14、1測試,根據指令的譯碼將后續(xù)微地址中的某幾位強制置位,使下一條微指令指向相應的微程序首地址,這就是“譯碼”過程。然后才順序執(zhí)行該段微程序,這是真正的指令執(zhí)行過程。在所有機器指令的執(zhí)行過程中,“取指”和“譯碼”是必不可少的,而且微指令執(zhí)行的操作也是相同的,這些微指令稱為公用微指令。表1.8、三個字段的編碼方案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 0LDR1

15、1 0 0RBG1 0 0P21 0 1LAR1 0 1PC-G1 0 1LPC1 1 0LDIR1 1 0299-G1 1 0P 4 1.3.3微程序順序控制方式設計1.微程序控制部件組成原理1 運算器單元(ALU UINT)運算器單元由以下部分構成:兩片74LS181構成了并串型8位ALU;兩個8位寄存器DR1和DR2為暫存工作寄存器,保存參數或中間運算結果。ALU的S0S3為運算控制端,Cn為最低進位輸入,M為狀態(tài)控制端。ALU的輸出通過三態(tài)門74LS245連到數據總線上,由ALU-B控制該三態(tài)門。2 寄存器堆單元(REG UNIT)該部分由3片8位寄存器R0、R1、R2組成,它們用來保

16、存操作數用中間運算結構等。三個寄存器的輸入輸出均以連入數據總線,由LDRi和RS-B根據機器指令進行選通。3 指令寄存器單元(INS UNIT)指令寄存器單元中指令寄存器(IR)構成模型機時用它作為指令譯碼電路的輸入,實現程序的跳轉,由LDIR控制其選通。4 時序電路單元(STATE UNIT)用于輸出連續(xù)或單個方波信號,來控制機器的運行。5 微控器電路單元(MICROCONTROLLER UNIT)微控器主要用來完成接受機器指令譯碼器送來的代碼,使控制轉向相應機器指令對應的首條微代碼程序,對該條機器指令的功能進行解釋或執(zhí)行的工作。由輸入的W/R信號控制微代碼的輸出鎖存。由程序計數器(PC)和

17、地址寄存器(AR)實現程序的取指功能。6 邏輯譯碼單元(LOG UNIT)用來根據機器指令及相應微代碼進行譯碼使微程序轉入相應的微地址入口,從而實現微程序的順序、分支、循環(huán)運行,及工作寄存器R0、R1、R2的選通譯碼。7 主存儲器單元(MAIN MEM)用于存儲實驗中的機器指令。8 輸入輸出單元(INPUT/OUTPUT DEVICE)輸入單元使用八個撥動開關作為輸入設備,SW-B控制選通信號。輸出單元將輸入數據置入鎖存器后由兩個數碼管顯示其值。 圖1.2微程序控制原理圖2.微程序入口地址形成方法由于每條機器指令都需要取指操作,所以將取指操作編制成一段公用微程序,通常安排在控存的0號或特定單元

18、開始的一段控存空間內。每一條機器指令對應著一段微程序,其入口就是初始微地址。首先由“取指令”微程序取出一條機器指令到IR中,然后根據機器指令操作碼轉換成該指令對應的微程序入口地址。這是一種多分支(或多路轉移)的情況,常用三種方式形成微程序入口地址。(1)一級功能轉移如果機器指令操作碼字段的位數和位置固定,可以直接使操作碼與入口地址碼的部分位相對應。例如,某計算機有16條機器指令,指令操作碼用4位二進制數表示,分別為0000、0001、1111?,F以字母Q表示操作碼,令微程序的入口地址為Q11B,例如000011B為MOV指令的入口地址,000111B為ADD指令的入口地址,001011B為SU

19、B指令的入口地址。由此可見,相鄰兩段微程序的入口地址相差4個單元(2)二級功能轉移若各類指令的操作碼的位數和位置不固定時,需采用分級轉移,第一次先按指令類型標志轉移,以區(qū)分出指令屬于哪一類,如單操作數指令、雙操作數指令等。在每一類機器指令中的操作碼的位數和位置應當是固定的,第二次即可按操作碼區(qū)分出具體是哪條指令,以便轉移到相應微程序入口。(3)通過PLA電路實現功能轉移可編程邏輯陣列PLA實質上是一種譯碼-編碼陣列,具有多個輸入和多個輸出,PLA的輸入是機器操作碼和其他判別條件,PLA的輸出就是相應微程序的入口地址,這種方法對于變長度、變位置的操作碼的處理更為有效而且轉移速度較快。3.控存的下

20、地址確定方法在轉移到一條機器指令對應的微程序入口地址后,則開始執(zhí)行微程序,每條微指令執(zhí)行完畢時,需根據其中的順序控制字段的要求形成后繼微指令地址。(1)增量方式(順序-轉移型微地址) 這種方式和機器指令的控制方式相類似,它也有順序執(zhí)行、轉移和轉子之分。順序執(zhí)行時,后繼微地址就是現行微地址加上一個增量(通常為“1”);轉移或轉子時,由微指令的順序控制字段產生轉移微地址。因此,微程序控制器中應當有一個微程序計數器(PC)。為了降低成本,一般情況下部是將微地址寄存器AR改為具有計數功能的寄存器以代替PC。在非順序執(zhí)行微指令時,用轉移微指令實現轉移。轉移微指令的順序控制字段分成兩部分:轉移控制字段(B

21、CF)與轉移地址字段(BAF) “起始和轉移地址發(fā)生器”的功能有兩個:其一是當一條新的機器指令裝入IR時,它就形成機器指令的微程序段的起始地址且裝入PC,而且隨著節(jié)拍電位信號的到來,PC自動地增加一個增量,以便連續(xù)地從CM中讀出微指令,相應的微操作控制信號按規(guī)定順序發(fā)送到CPU的各個部分。第二個功能是當微指令指示其測試狀態(tài)標志、條件代碼或機器指令的某些位時,它就對指定的條件進行測試,若滿足轉移條件,就把新的轉移地址裝入PC,實現轉移;否則不裝入新地址,微程序就順序執(zhí)行。所以,每次從CM中取出一條新的微指令時,PC都增加,只有下列情況例外: 遇到END微指令時,就把“取指”微程序的入口地址裝入P

22、C,開始取指令周期; 當一條新的指令裝入IR時,就把該指令的微程序的入口地址裝入PC; 遇到轉移微指令且滿足轉移條件時,就把轉移地址裝入PC。 增量方式的優(yōu)點是簡單,易于掌握,編制微程序容易,每條機器指令所對應的一段微程序一般安排在CM的連續(xù)單元中;其缺點是這種方式不能實現兩路以上的并行微程序轉移,因而不利于提高微程序的執(zhí)行速度。(2)斷定方式 斷定方式與增量方式不同,它不采用PC,微指令地址由微地址寄存器AR提供。在微指令格式中,設置一個下地址字段,用于指明下一條要執(zhí)行的微指令地址。當一條微指令被取出時,下一條微指令的地址(即下地址字段)送AR。它相當于每條微指令都具有轉移微指令的功能。采用

23、這種方法就不必設置專門的轉移微指令,但增加了微指令字的長度。 (3)增量方式與斷定方式的結合這種控制方式中,微地址寄存器AR有計數的功能(斷定方式中的微地址寄存器AR無計數功能),但在微指令中仍設置一個順序控制字段,這是一種增量方式與斷定方式相結合的方式。其順序控制字段一般由兩部分組成:順序地址字段和測試字段。 順序地址字段??捎稍O計者指定一般是微地址的高位部分,用來指定后繼微地址在CM中的某個區(qū)域內。 測試字段。根據有關狀態(tài)的測試結果確定其地址值,一般對應于微地址的低位部分,相當于在指定區(qū)域內確定具體的分支。所依據的測試狀態(tài)可能是指定的開關狀態(tài)、指令操作碼、狀態(tài)字等。測試字段如果只有一位,則

24、微地址特產生兩路分文;若有兩位,則最多可產生四路分支;依此類推,測試字段為n位為最多可產生2n路分支。 若無轉移要求,則微地址寄存器計數得到后繼微指令的地址。1.3.4微程序設計:每條指令對應的微程序流程圖:開始PC-AR,PC+1RAM-D_BUS-LRP(1)測試rs-D_BUSD_BUS-LT2rd-D_BUSD_BUS-LT1LT1-LT1LT1-LT1LT1+1-D_BUS-LT1LT1-LT1LT1+LT2-D_BUS-rdrs-299帶進位左移位299-rdrd-LEDPC-AR,PC+1LT1-D_BUS,D_BUS-PCD_INPUT-D_BUSD_BUS-rd 圖1.3總流

25、程圖(1) 輸入指令IN 圖1.4 IN指令的微程序流程圖(2) 輸出指令OUT圖1.5 OUT指令的微程序流程圖(3) 轉移指令JMP圖1.6 JMP指令相 對尋址的微程序流程圖(3) 減法指令SUB 圖1.7 SUB指令相對尋址的微程序流程圖(4) 移位指令RRC rs 299帶進位右環(huán)移299 rd 圖1.8 移位指令相對尋址的微程序流程圖1.3.5微程序中各微指令的二進制編碼、16進制編碼表5 微指令代碼位地址(八進制)位地址(二進制)微代碼(十六進制)00000000007F8801000001005B4202000010016FFD03000011014FC404000100015

26、F2005000101015FC606000110014FC707000111015F2010001000005B4A11001001005B4C12001010014FFC11400110001CFFCE160011100025CF170011119453E520010000005B4321010001005B4522010010005B4D23010011005B6624010100018FC12501010102F5C126010110007FD6270101113C03C1300110000001C1310110010041EA320

27、110100021EC330110110041F2340111000041F3350111010041F6360111103001F7370111113001F940100000010FC1411000010379C142100010011F4143100011007EA444100100007FC14510010184492046100110014FE747100111002BE850101009459E951101001944920521010100025EB531010119403FE541011000049ED551011010449EE561011100C49EF5710111100

28、49F0601100000C7F31611100019403C1621100100003C1631100110025F56411010004134165110101B803C1661101100C03C167110111287DF870111000000DC171111001187DFA72111010000D3C874111100FF73C975111101016E10761111100041C11.4編寫調試程序(1)具體代碼以每條指令代碼所對應的機器碼(16進制編碼)和地址碼:IN #data,R0 IN #data,R2SUB R0-R2R2RRC R2 R0

29、 OUT R0JMP 00H (2)每條指令代碼所對應的機器碼和地址碼:地址(十六進制) 機器碼(十六進制)00 4401 4602 A203 E804 5805 0806 002 實驗計算機的組裝連接硬件系統連接硬件系統,如圖2.1連線圖: 圖2.1連線圖3 實驗計算機的調試3.1 調試前準備1、按照實驗指導說明書連接硬件系統如圖3.1圖3.1 2、啟動實驗軟件,打開實驗課題菜單,選中實驗課題打開實驗課題參數對話窗口:微指令操作如圖3.2微指令操作圖:啟動實驗軟件,打開實驗課題菜單,選中實驗課題打開實驗課題參數對話窗口: 圖3.2微指令操作圖微指令操作:1)寫:在微指令操作編輯框(如圖3.2

30、)中輸入實驗指導書中的微指令程序(格式:兩位八進制微地址+空格+六位十六進制微代碼),或直接打開隨機附帶的程序EX8.MSM,將實驗箱上的K4K3K2K1撥至“0010”寫狀態(tài),然后按寫入按鈕,微程序寫入控制存儲器電路;2)讀:將實驗箱上的K4K3K2K1撥至“0100”讀狀態(tài),在“讀出微地址”欄中填入兩位八進制地址,按讀出按鈕,則相應的微代碼顯示在“讀出微代碼”欄中;3)保存:按保存按鈕,微程序代碼保存在一給定文件(*.MSM)中;4)打開:按打開按鈕,打開已有的微程序文件,并顯示在編輯框中 圖3.3機器指令操作機器指令操作:1)寫:在機器指令編輯框(如圖3.3)中輸入實驗指導書中機器指令程序(格式:兩位十六進制地址+空格+2位或 4位十六進制代碼),或直接打開隨機附帶的程序EX8.ASM,將實驗箱上的K4K3K2K1撥至 “0101”運行狀態(tài),撥動“CLR”開關對地址和微地址清零,然后按寫入按鈕,機器指令寫 入存儲器電路;注:對于8位機,十六進制代碼為2位;對于16位機,十六進制代碼可以是2位,也可以是

溫馨提示

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

評論

0/150

提交評論