組成原理課程設(shè)計(jì)-模型機(jī)設(shè)計(jì).doc_第1頁
組成原理課程設(shè)計(jì)-模型機(jī)設(shè)計(jì).doc_第2頁
組成原理課程設(shè)計(jì)-模型機(jī)設(shè)計(jì).doc_第3頁
組成原理課程設(shè)計(jì)-模型機(jī)設(shè)計(jì).doc_第4頁
組成原理課程設(shè)計(jì)-模型機(jī)設(shè)計(jì).doc_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

此文檔收集于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除河南科技大學(xué)課 程 設(shè) 計(jì) 說 明 書課程名稱 組成原理課程設(shè)計(jì) 題 目 模型機(jī)設(shè)計(jì) 院 系 班 級(jí) 學(xué)生姓名 指導(dǎo)教師 日 期 課程設(shè)計(jì)任務(wù)書(指導(dǎo)教師填寫)課程設(shè)計(jì)名稱 組成原理課程設(shè)計(jì) 專業(yè)班級(jí) 電信科07 設(shè)計(jì)題目 模型機(jī)設(shè)計(jì) 一、 課程設(shè)計(jì)目的1.掌握整機(jī)動(dòng)態(tài)工作過程2.了解微程序控制器的設(shè)計(jì),構(gòu)建指令系統(tǒng)3.組建模型機(jī),編寫應(yīng)用程序進(jìn)行調(diào)試二、設(shè)計(jì)內(nèi)容、技術(shù)條件和要求1.設(shè)計(jì)內(nèi)容(1)設(shè)計(jì)指令系統(tǒng)(2)編寫微程序(3)實(shí)驗(yàn)接線(4)編寫應(yīng)用程序,選擇實(shí)現(xiàn)下列要求的一種功能輸入兩個(gè)一位十進(jìn)制數(shù),計(jì)算兩數(shù)之和,并以BCD碼輸出輸入一個(gè)一位十進(jìn)制數(shù),將其擴(kuò)大5倍后以BCD碼輸出輸入一個(gè)兩位十進(jìn)制數(shù),求其負(fù)值的補(bǔ)碼輸入一個(gè)兩位十進(jìn)制數(shù),輸出八進(jìn)制結(jié)果輸入幾個(gè)數(shù),統(tǒng)計(jì)大于10的數(shù)的個(gè)數(shù)輸入幾個(gè)數(shù),找出最大數(shù)2.設(shè)計(jì)要求(1)指令在8條以上(2)尋址方式包括:寄存器尋址、直接尋址、立即數(shù)尋址(3)數(shù)據(jù)由鍵盤輸入(4)由數(shù)碼管顯示數(shù)據(jù)三、時(shí)間進(jìn)度安排2010-6-21:布置題目2010-6-22:熟悉實(shí)驗(yàn)原理,編寫微程序和應(yīng)用程序2010-6-232010-7-1:實(shí)驗(yàn)調(diào)試2010-7-22010-7-4:編寫課程設(shè)計(jì)報(bào)告四、主要參考文獻(xiàn)1.張新榮,于瑞國.計(jì)算機(jī)組成原理.天津大學(xué)出版社2.白中英.計(jì)算機(jī)組成原理.科學(xué)出版社指導(dǎo)教師簽字: 2010年 6 月 20 日模型機(jī)設(shè)計(jì)一、設(shè)計(jì)目的1.掌握整機(jī)動(dòng)態(tài)工作過程2.了解微程序控制器的設(shè)計(jì),構(gòu)建指令系統(tǒng)3.組建模型機(jī),編寫應(yīng)用程序進(jìn)行調(diào)試二、設(shè)計(jì)器材 EL-JY-II型計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)一套,排線若干。三、設(shè)計(jì)要求(1)指令在8條以上(2)尋址方式包括:寄存器尋址、直接尋址、立即數(shù)尋址(3)數(shù)據(jù)由鍵盤輸入(4)由數(shù)碼管顯示結(jié)果四、模型機(jī)結(jié)構(gòu)圖1模型機(jī)結(jié)構(gòu)框圖圖1中運(yùn)算器ALU由U7U10四片74LS181構(gòu)成,暫存器1由U3、U4兩片74LS273構(gòu)成,暫存器2由U5、U6兩片74LS273構(gòu)成。微控器部分控存由U13U15三片2816構(gòu)成。除此之外,CPU的其它部分都由EP1K10集成(其原理見系統(tǒng)介紹部分)。存儲(chǔ)器部分由兩片6116構(gòu)成16位存儲(chǔ)器,地址總線只有低八位有效,因而其存儲(chǔ)空間為00HFFH。輸出設(shè)備由底板上的四個(gè)LED數(shù)碼管及其譯碼、驅(qū)動(dòng)電路構(gòu)成,當(dāng)D-G和W/R均為低電平時(shí)將數(shù)據(jù)總線的數(shù)據(jù)送入數(shù)碼管顯示。在開關(guān)方式下,輸入設(shè)備由16位電平開關(guān)及兩個(gè)三態(tài)傳輸芯片74LS244構(gòu)成,當(dāng)DIJ-G為低電平時(shí)將16位開關(guān)狀態(tài)送上數(shù)據(jù)總線。在鍵盤方式或聯(lián)機(jī)方式下,數(shù)據(jù)可由鍵盤或串口輸入,然后由監(jiān)控程序直接送上數(shù)據(jù)總線,因而外加的數(shù)據(jù)輸入電路可以不用。注:本系統(tǒng)的數(shù)據(jù)總線為16位,指令、地址和程序計(jì)數(shù)器均為8位。當(dāng)數(shù)據(jù)總線上的數(shù)據(jù)打入指令寄存器、地址寄存器和程序計(jì)數(shù)器時(shí),只有低8位有效。五、指令編碼及微程序1數(shù)據(jù)格式本實(shí)驗(yàn)計(jì)算機(jī)采用定點(diǎn)補(bǔ)碼表示法表示數(shù)據(jù),字長(zhǎng)為16位,其格式如下:1514 13 0符號(hào)尾 數(shù)其中第16位為符號(hào)位,數(shù)值表示范圍是:-32768X32767。2指令格式(1)算術(shù)邏輯指令設(shè)計(jì)9條單字長(zhǎng)算術(shù)邏輯指令,尋址方式采用寄存器直接尋址。其格式如下:7 6 5 43 21 0OP-CODErsrd其中OP-CODE為操作碼,rs為源寄存器,rd為目的寄存器,并規(guī)定:OP-CODE011110001001101010111100110111101111指令CLRMOVADDSUBINCANDNOTRORROLrs或rd選定寄存器00Ax01Bx10Cx9條算術(shù)邏輯指令的名稱、功能和具體格式見表1。(2)存儲(chǔ)器訪問及轉(zhuǎn)移指令 存儲(chǔ)器的訪問有兩種,即存數(shù)和取數(shù)。它們都使用助記符MOV,但其操作碼不同。轉(zhuǎn)移指令只有一種,即無條件轉(zhuǎn)移(JMP)。指令格式如下:7 65 43 21 000MOP-CODErdD其中OP-CODE為操作碼,rd為寄存器。M為尋址模式,D隨M的不同其定義也不相同,如下表所示:OP-CODE000110指令說明寫存儲(chǔ)器讀存儲(chǔ)器轉(zhuǎn)移指令尋址模式M有效地址ED定義說 明00E=(PC)+1立即數(shù)立即尋址10E=D直接地址直接尋址11E=100H +D直接地址擴(kuò)展直接尋址注:擴(kuò)展直接尋址用于面包板上擴(kuò)展的存儲(chǔ)器的尋址。(3)I/O指令 輸入(IN)和輸出(OUT)指令采用單字節(jié)指令,其格式如下:7 6 5 43 21 0OP-CODEaddrrd其中,當(dāng)OP-CODE=0100且addr=10時(shí),從“數(shù)據(jù)輸入電路”中的開關(guān)組輸入數(shù)據(jù);當(dāng)OP-CODE=0100且addr=01時(shí),將數(shù)據(jù)送到“輸出顯示電路”中的數(shù)碼管顯示。3指令系統(tǒng)有14條基本指令,其中算術(shù)邏輯指令8條,訪問內(nèi)存指令和程序控制指令4條。輸入輸出指令2條。表1列出了各條指令的格式、匯編符號(hào)和指令功能。表1 指令格式匯編符號(hào)指令的格式功 能MOV rd,rs1000 rs rdrsrdADD rd,rs1001 rs rdrs+rdrdSUB rd,rs1010 rs rdrd-rsrdINC rd1011 rd rdrd+1rdAND rd,rs1100 rs rdrsrdrdNOT rd1101 rd rd/rdrdROR rd1110 rd rdrdROL rd1111 rd rdrdMOV D,rd00 10 00 rdrdDDMOV rd, D00 10 01 rdDrdDMOV rd,D00 00 01 rdDrdDJMP D00 00 10 00DPCDIN rd, KIN0100 10 rdKINrdOUT DISP,rd0100 01 rdrdDISP 4設(shè)計(jì)微代碼微程序設(shè)計(jì)的關(guān)鍵技術(shù)之一是處理好每條微指令的下地址,以保證程序正確高效地進(jìn)行。本系統(tǒng)采用分段編碼的指令格式,采用斷定方式確定下一條微指令的地址??刂茍?chǎng) 下地址場(chǎng)微指令寄存器MIR微地址形成電路控存CM微操作控制信號(hào)指令操作碼狀態(tài)條件微指令微地址圖2 斷定方式微程序控制部件示圖每條微指令由24位組成,其控制位順序如下:24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWE1A1BF1F2F3uA5uA4uA3uA2uA1uA0MS24MS16對(duì)應(yīng)于微指令的第2416位,S3S2S1S0MCn為運(yùn)算器的方式控制, WE為外部器件的讀寫信號(hào),1表示寫,0表示讀;控制總線上的WR為外部讀寫控制電路的輸出,其控制電路為: 圖3控制電路1A、1B用于選通外部器件,通常接至底板IO控制電路的1A1B端,四個(gè)輸出Y0Y1Y2Y3接外部器件的片選端。(注:Y3被系統(tǒng)占用,用于輸入中斷,Y0Y1Y2能被用戶使用)。I/O控制電路由一片74LS139構(gòu)成,用于為外部器件提供選通信號(hào)。其原理和邏輯關(guān)系如下圖所示:圖4 I/O控制電路輸 入輸 出1A1BY0Y1Y2Y3000111101011011101111110微指令中的uA5-uA0為6位的后續(xù)微地址。、三個(gè)字段的編碼方案如表2:表2 、編碼方案F1字段F2字段F3字段15 14 13選擇12 11 10選擇9 8 7選擇0 0 0LRi0 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 1無操作1 1 1無操作1 1 1無操作 MS15MS13對(duì)應(yīng)于微指令中的F1,經(jīng)鎖存譯碼后產(chǎn)生6個(gè)輸出信號(hào):LRi、LDR1、LDR2、LDIR、LOAD、LAR。其中LDR1、LDR2為運(yùn)算器的兩個(gè)鎖存控制;LDIR為指令寄存器的鎖存控制;LRi為寄存器堆的寫控制,它與指令寄存器的第0位和第1位共同決定對(duì)哪個(gè)寄存器進(jìn)行寫操作;LOAD為程序計(jì)數(shù)器的置數(shù)控制,LAR為地址寄存器的鎖存控制(見系統(tǒng)介紹中程序計(jì)數(shù)器和地址寄存器電路)。以上6個(gè)輸出信號(hào)均為1有效。MS12MS10對(duì)應(yīng)于微指令中的F2,經(jīng)鎖存譯碼后產(chǎn)生6個(gè)輸出信號(hào):RAG、RBG、RCG、299-G、ALU-G、PC-G。其中RAG、RBG、RCG分別為寄存器Ax、Bx、Cx的輸出控制(見系統(tǒng)介紹中寄存器堆電路);299-G為移位寄存器的輸出控制;ALU-G為運(yùn)算器的輸出控制;PC-G為程序計(jì)數(shù)器的輸出控制(見系統(tǒng)介紹中程序計(jì)數(shù)器和地址寄存器電路)。以上信號(hào)均為0有效。移位運(yùn)算實(shí)驗(yàn)電路結(jié)構(gòu)如圖5所示: 圖5 移位運(yùn)算器電路結(jié)構(gòu)功能由S1、S0、M控制,具體功能如下表: G-299S1S0MT4功 能000保持0100循環(huán)右移0101帶進(jìn)位循環(huán)右移0010循環(huán)左移0011帶進(jìn)位循環(huán)左移111置數(shù)(進(jìn)位保持)0110置數(shù)(進(jìn)位清零)0111置數(shù)(進(jìn)位置1)MS9MS7對(duì)應(yīng)于微指令中的F3,經(jīng)鎖存譯碼后產(chǎn)生6個(gè)輸出信號(hào):P1、P2、P3、P4、AR、LPC。其中P1、P2、P3、P4位測(cè)試字,其功能是對(duì)機(jī)器指令進(jìn)行譯碼,使微程序轉(zhuǎn)入相應(yīng)的微地址入口,從而實(shí)現(xiàn)微程序的順序、分支和循環(huán)運(yùn)行;AR為運(yùn)算器的進(jìn)位輸出控制;LPC為程序計(jì)數(shù)器的時(shí)鐘控制。以上信號(hào)均為1有效。六、微程序設(shè)計(jì)流程存儲(chǔ)器讀操作(MRD):撥動(dòng)清零開關(guān)CLR對(duì)地址、指令寄存器清零后,指令譯碼輸入CA1、CA2為“00”時(shí),按“單步”鍵,可對(duì)RAM連續(xù)讀操作。 存儲(chǔ)器寫操作(MWE):撥動(dòng)清零開關(guān)CLR對(duì)地址、指令寄存器清零后,指令譯碼輸入CA1、CA2為“10”時(shí),按“單步”鍵,可對(duì)RAM連續(xù)寫操作。啟動(dòng)程序(RUN):撥動(dòng)開關(guān)CLR對(duì)地址、指令寄存器清零后,指令譯碼輸入CA1、CA2為“11”時(shí),按“單步”鍵,即可轉(zhuǎn)入到第01號(hào)“取指”微指令,啟動(dòng)程序運(yùn)行。注:CA1、CA2由控制總線的E4、E5給出。鍵盤操作方式時(shí)由監(jiān)控程序直接對(duì)E4、E5賦值,無需接線。開關(guān)方式時(shí)可將E4、E5接至控制開關(guān)CA1、CA2,由開關(guān)來控制。系統(tǒng)涉及到的微程序流程見圖9(圖中各方框內(nèi)為微指令所執(zhí)行的操作,方框外的標(biāo)號(hào)為該條微指令所處的八進(jìn)制微地址)??刂撇僮鳛镻4測(cè)試,它以CA1、CA2作為測(cè)試條件,出現(xiàn)了寫機(jī)器指令、讀機(jī)器指令和運(yùn)行機(jī)器指令3路分支,占用3個(gè)固定微地址單元。當(dāng)分支微地址單元固定后,剩下的其它地方就可以一條微指令占用控存一個(gè)微地址單元隨意填寫。機(jī)器指令的執(zhí)行過程如下:首先將指令在外存儲(chǔ)器的地址送上地址總線,然后將該地址上的指令傳送至指令寄存器,這就是“取指”過程。之后必須對(duì)操作碼進(jìn)行P1測(cè)試,根據(jù)指令的譯碼將后續(xù)微地址中的某幾位強(qiáng)制置位,使下一條微指令指向相應(yīng)的微程序首地址,這就是“譯碼”過程(其原理見圖8)。然后才順序執(zhí)行該段微程序,這是真正的指令執(zhí)行過程。在所有機(jī)器指令的執(zhí)行過程中,“取指”和“譯碼”是必不可少的,而且微指令執(zhí)行的操作也是相同的,這些微指令稱為公用微指令,對(duì)應(yīng)于圖9中01、02、75地址(8進(jìn)制)的微指令。75地址為“譯碼”微指令,該微指令的操作為P(1)測(cè)試,測(cè)試結(jié)果出現(xiàn)多路分支。本實(shí)驗(yàn)用指令寄存器的前4位(I7-I4)作為測(cè)試條件,出現(xiàn)12路分支,占用12個(gè)固定微地址單元。如I7I4相同,則還需進(jìn)行P2測(cè)試,以指令寄存器的I3、I2位作為測(cè)試條件,以區(qū)分不同的指令,如MOV指令和IN、OUT指令。控制開關(guān)13P4測(cè)試PCAR,PC1(D_INPUT)D_BUS LT1LT1 RAM00MWE(10)1474PCAR,PC1RAM D_BUS LT1LT1 LED1012730111MRD(00)RUN(11) 圖6 微程序流程圖(1)圖7 微程序流程圖(2)六、應(yīng)用程序加法器:00 0048;IN AX,KIN01 0049;IN BX,KIN02 0091;ADD BX,AX03 0021;MOV00FF,BX04 00FF;05 0004;MOV AX,9H06 009H;07 00A4;SUB AX,BX08 00F0;ROL AX09 0005;MOV BX,01HA 001H;B 00C4;AND AX,BXC 00F0;ROL AXD 0005;MOV BX,0E 0000;F 0091;ADD BX,AX10 00F0;ROL AX11 0091;ADD BX,AX12 0024;MOV AX,00FF13 00FF;14 0094;ADD AX,BX15 0082;MOV CX,AX16 0046;OUT DISP,CX17 000818 0000比較2數(shù)大?。?0 0048;IN AX,KIN01 0049;IN BX,KIN02 0021;MOV 00FF,BX03 OOFF;04 0081;MOV BX,AX05 0021;MOV 00FE,BX06 00FE;07 0025;MOV BX,00FF08 OOFF;09 004A;SUB AX,BX0A 00O5;MOV BX,01H0B OOO10C 00C4;AND AX,BX0D OO81;MOV BX,AXOE 0004;MOV AX,OOH0F 0000;10 OOA4;SUB AX,BX11 0081;MOV BX,AX12 0021;MOV OOFB,BX13 00FB;14 00D0;NOT AX15 OO81;MOV BX,AX16 0024;MOV AX,OOFE17 OOFE;18 00C1;AND BX,AX19 0021;MOV 00FC,BX1A 00FC;1B OO24;MOV AX,0OFF1C OOFF;1D 0025;MOV BX,00FB1E 00FB;1F 00C1;AND BX,AX20 0024;MOV AX,OOFC21 00FC;22 0094;ADD AX,BX23 0082;MOV CX,AX24 0046;OUT DISP,CX25 0008;26 0000;七、接線圖圖8實(shí)驗(yàn)連線圖八、調(diào)試及實(shí)驗(yàn)結(jié)果在按照實(shí)驗(yàn)連線圖進(jìn)行連線之后,首先完成的是兩個(gè)課程設(shè)計(jì)指導(dǎo)書上的驗(yàn)證性實(shí)驗(yàn)。其中包括一個(gè)寫微代碼和一個(gè)寫機(jī)器指令的實(shí)驗(yàn)。前者驗(yàn)證了試驗(yàn)儀可以正常的寫入和讀取導(dǎo)入的微指令。后者驗(yàn)證了試驗(yàn)儀可以正常的運(yùn)行導(dǎo)入的機(jī)器指令并得出正確的結(jié)果。兩個(gè)驗(yàn)證性實(shí)驗(yàn)的成功基本上就說明了連線的正確。之后進(jìn)行了課程設(shè)計(jì)任務(wù)書中的設(shè)計(jì)內(nèi)容。我組進(jìn)行的設(shè)計(jì)是設(shè)計(jì)要求中的和,即求兩十進(jìn)制數(shù)和,并以BCD碼輸出;和比較兩數(shù)大小,并輸出其中較大值的實(shí)驗(yàn)。其中,在進(jìn)行加法實(shí)驗(yàn)的時(shí)候比較順利,在將編寫的機(jī)器指令輸入之后運(yùn)行,輸出的結(jié)果正確的等于了兩個(gè)輸入十進(jìn)制數(shù)之和,并且是以十進(jìn)制的形式輸出。這也就驗(yàn)證了所設(shè)計(jì)機(jī)器指令的正確性。在進(jìn)行求較大值的實(shí)驗(yàn)中,我組的調(diào)試過程中遇到了麻煩。在對(duì)所編寫機(jī)器指令運(yùn)行,并測(cè)試了多組數(shù)據(jù)之后,我們發(fā)現(xiàn)每次的輸出結(jié)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論