計算機組成原理課程設計一臺模型計算機的設計與調試_第1頁
計算機組成原理課程設計一臺模型計算機的設計與調試_第2頁
計算機組成原理課程設計一臺模型計算機的設計與調試_第3頁
計算機組成原理課程設計一臺模型計算機的設計與調試_第4頁
計算機組成原理課程設計一臺模型計算機的設計與調試_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設計報告課程名稱:計算機組成原理 專 業(yè): 計算機XXX 班 級: 計算機XXXX班 學 號:XXXX 姓 名: 廖明楷 指導老師:XXX 日期: 2013年3月20日 目錄設計題目11.數(shù)據(jù)格式12.指令系統(tǒng)12.1.算術邏輯運算指令12.2.訪內指令及轉移指令12.3.輸入輸出指令22.4.停機指令22.5.具體編碼23.數(shù)據(jù)通路33.1.全局概略圖33.2.單片機寫控制43.3.微程序顯示43.4.指令寄存器53.5.通用寄存器63.6.運算器73.7.內存和程序計數(shù)器83.8.地址總線顯示93.9.手動輸入微程序103.10.單片機寫微程序103.11.控制存儲器113.12.指令

2、譯碼123.13.微地址顯示133.14.單片機與數(shù)據(jù)總線輸入143.15.設計說明144.時序系統(tǒng)154.1.時序系統(tǒng)與起??刂?54.2.時序波形圖155.微指令格式166.微程序控制器176.1.原理圖176.2.地址轉移邏輯187.微程序流程圖198.微程序代碼表199.設計體會2110.參考文獻2111.附錄2111.1.單片機寫程序2111.1.微程序編碼轉換程序29設計題目一臺模型計算機的設計與調試1.數(shù)據(jù)格式字長:8位格式:定點整數(shù)76 0符號尾數(shù)其中: 第7位為符號位,數(shù)值表示范圍是:定點整數(shù):-128 X127。2.指令系統(tǒng)指令的類型設計:算術邏輯運算、數(shù)據(jù)存取、程序控制、

3、輸入輸出,按固定操作碼4位長度進行設計,設計14條指令。2.1.算術邏輯運算指令 設計7條算術邏輯運算類指令并用單字節(jié)表示,尋址方式采用寄存器尋址,指令為RR型,其格式如下:7 43 21 0OP-CODERsRd其中:OP-CODE為操作碼,Rs為源寄存器,Rd為目的寄存器2.2.訪內指令及轉移指令 2條訪問指令:存數(shù)(STA)、取數(shù)(LDA) 2條轉移指令:無條件轉移(JMP)、結果為零或有進位轉移指令(BZC) 指令格式為:7 65 43 21 00 0MOP-CODERd/RsD其中:D為位移量(正負均可),M為尋址方式,其定義如下:尋址方式M有效地址說明00011011E=DE=(D

4、)E=(Ri)+DE=(PC)+D直接尋址間接尋址Ri變址尋址相對尋址本模型機選擇變址寄存器Ri為寄存器R2。2.3.輸入輸出指令格式如下:7 43 21 0OP-CODEaddr Rd其中,addr=01 時,選中“INPUT DEVICE”中的開關組作為入設備,addr=10時,選中“OUTPUT DEVICE”中的七段LED數(shù)碼塊作為輸出設備。2.4.停機指令格式如下: 7 43 21 0OP-CODE0 00 0停機指令HALT,用于實現(xiàn)停機操作。2.5.具體編碼序號匯編指令機器代碼格式功能說明1CLR Rd0111 00 Rd0Rd2MOV Rs,Rd1000 Rs RdRsRd 3

5、ADC Rs,Rd1001 Rs RdRs+Rd+CyRd4SBC Rs,Rd1010 Rs RdRs-Rd-CyRd 5INC Rd1011 xx RdRd+1Rd6AND Rs,Rd1100 Rs RdRsRdRd 7COM Rd1101 xx Rd8LDA M,D,Rd00 M 00 Rd , DERd 9STA M,D,Rd00 M 01 Rd , DRdE10JMP M,D00 M 10 00 , DEPC11BZC M,D00 M 11 00 , D當Cy=1或Z=1時,EPC12IN Rd0100 10 Rd輸入單元Rd13OUT Rd0101 10 RdRd輸出單元14HALT

6、0110 00 00停機3.數(shù)據(jù)通路3.1.全局概略圖3.2.單片機寫控制3.3.微程序顯示3.4.指令寄存器3.5.通用寄存器3.6.運算器3.7.內存和程序計數(shù)器3.8.地址總線顯示3.9.手動輸入微程序3.10.單片機寫微程序3.11.控制存儲器3.12.指令譯碼3.13.微地址顯示3.14.單片機與數(shù)據(jù)總線輸入3.15.設計說明設計說明數(shù)據(jù)總線模型計算機的數(shù)據(jù)總線,用于分時傳輸各種數(shù)據(jù)。地址總線模型計算機的地址總線,用于傳輸?shù)刂芳拇嫫鞯牡刂贰N⒌刂房偩€微程序控制器的微地址總線,用于分時傳輸微地址。微程序數(shù)據(jù)總線微程序控制器的微程序數(shù)據(jù)總線,用于傳輸微程序數(shù)據(jù)。單片機寫數(shù)據(jù)總線單片機寫入

7、模型計算機內存和控制存儲器的單片機寫數(shù)據(jù)總線。運行步驟1.單片機寫內存控制邏輯:把開關SW1,SW2撥動到下面,START=02.啟動運行約3秒,等顯示數(shù)據(jù)穩(wěn)定,表示數(shù)據(jù)寫入完成。3.單擊暫停。單片機寫內存控制邏輯:把開關SW1,SW2撥動到上面,START=1。縮小設計圖,讓指令寄存器,微地址寄存器,輸出顯示器,地址寄存器顯示同時顯示。單擊釋放暫停按鈕,繼續(xù)運行。4.觀察LED數(shù)碼管顯示器上的數(shù)據(jù)。4.時序系統(tǒng)4.1.時序系統(tǒng)與起??刂?.2.時序波形圖5.微指令格式微程序23222120191817161514131211109876543210控制信號S3S2S1S0MCNWEA9A8A

8、 字段B 字段P 字段uA5Ua4uA3uA2uA1uA1A 字段B 字段P 字段141312控制信號11109控制信號876控制信號000000000001LDRi001RS_B001P1010LDDR1010RD_B010P2011LDDR2011RI_B011P3100LDIR100100P4101LOAD101ALU_B101AR110LDAR110PC_B110LDPC6.微程序控制器6.1.原理圖6.2.地址轉移邏輯7.微程序流程圖8.微程序代碼表微地址S3 S2 S1 S0 M CN WE A9 A8ABCUA5UA0000 0 0 0 0 0 0 1 10 0 00 0 01

9、0 0001 000010 0 0 0 0 0 0 1 11 1 01 1 0110000 010020 0 0 0 0 0 00 11 0 00 0 0001010 000030 0 0 0 0 0 0 0 10 1 00 0 00 0 0000 100040 0 0 0 0 0 0 0 11 1 00 0 0010100 000050 0 0 0 0 0 0 0 11 1 00 0 00 0 0000 110060 0 0 0 0 0 0 0 10 1 00 0 00 0 0000 111070 0 0 0 0 0 0 0 11 1 00 0 0010100 000100 0 0 0 0

10、0 0 1 11 1 01 1 01 1 0001 010110 0 0 0 0 0 0 1 11 1 01 1 01 1 0001 100120 0 0 0 0 0 0 0 10 1 00 0 00 0 0111 011130 0 0 0 0 0 0 1 10 0 00 0 00 0 0000 001140 0 0 0 0 0 0 0 00 1 00 0 00 0 0111 100150 0 0 0 0 0 0 0 10 1 00 0 00 0 0001 110160 0 0 0 0 0 0 1 10 1 10 1 10 0 0001 111171 0 0 101 0 1 11 1 01 0

11、 10 0 0100 101200 0 0 0 0 0 0 1 11 1 01 1 01 1 0000 011210 0 0 0 0 0 0 1 11 1 01 1 01 1 0000 101220 0 0 0 0 0 0 1 11 1 01 1 01 1 0001 101微地址S3 S2 S1 S0 M CN WE A9 A8ABCUA5UA0230 0 0 0 0 0 0 1 11 1 01 1 01 1 0100 110240 0 0 0 0 0 0 000 0 10 0 00 0 0000 001250 0 0 0 0 0 0 1 00000 1 00 0 0000 001260 0

12、0 0 0 0 01 10 0 00 0 00 0 0010 110270 0 11 0 0 0 1 10 0 11 0 10 0 0000 001300 0 0 0 0 0 0 1 10 0 10 0 10 0 0000 001310 0 0 0 0 0 0 1 10 1 00010 0 0101 010320 0 0 0 0 0 0 1 10 1 10 0 10 0 0101 100330 0 0 0 0 0 0 1 10 1 00 1 00 0 0110 010340 0 0 0 0 0 0 1 10 1 00 0 10 0 0110 011350 0 0 0 0 0 0 1 10 1

13、00 1 00 0 0110 110360 0 0 0 0 0 0 1 10 0 00 0 10 0 0001 000370 0 0 0 0 0 0 1 10 0 00 0 10 0 0001 000400 0 0 0 0 0 0 0 10 0 10 0 00 0 0000 001410 0 0 0 0 0 10 10 0 00100 0 0000 001420 0 0 0 0 1 0 1 11011010 0 0000 001430 0 0 0 0 0 0 1 10 0 00 0 00 1 1100 100440 0 0 0 0 0 0 1 10 0 00 0 00 0 0000 001微地

14、址S3 S2 S1 S0 M CN WE A9 A8ABCUA5UA0451 0 0 101 0 1 10 1 01 0 10 1 0010 000460 0 0 0 0 0 0 0 10 1 00 0 00 0 0100 111470 0 0 0 0 0 0 1 10 1 11 1 00 0 0101 000501 0 0 101 0 1 11 1 01 0 10 0 0101 001511 0 0 101 0 1 10 1 01 0 10 1 0010 000520 0 0 0 0 0 0 1 10 1 10 1 00 0 0101 011531 0 0 1 0 1 0 1 10011 0

15、 10 0 0000 001540 0 0 0 0 0 0 1 10 1 00 1 00 0 0101 1015500 0 001 0 1 10 1 01 0 10 0 0101 110560 0 0010 0 1 10 1 01 0 10 0 0101 111570 0 0 0 0 0 0 1 10 1 01 0 10 0 0110 0006000 0 001 0 1 10 1 01 0 10 0 0110 001611 0 0 1 0 1 0 1 10011 0 10 0 0000 001620 0 0 0 0 0 0 1 10 011 0 10 0 0000 001630 0 0 0 0

16、 0 0 1 10 1 10 1 00 0 0110 110640 0 0 0 0 1 0 1 11011010 0 0000 001651 0 1 1 10 0 1 10011 0 10 0 0000 001660 0 0011 0 1 10011 0 10 0 0000 001670 0 0 0 0 0 0 1 10 1 00 0 10 0 0001 000700 0 1 0 1 0 0 1 10 0 11 0 00 0 0001 000710 0 0 0 0 0 0 1 10 1 00 0 10 0 0001 000720 0 01 1 0 0 1 10 0 11 0 00 0 0001

17、 000730 0 0 0 011 1 00 0 01 0 10 0 0001 000740 0 0 0 0110 10 0 01 0 10 0 0001 0019.設計體會這次計算機組成原理課程設計不僅是一個綜合復習課堂知識的過程,而且是一次非常好的鍛煉實踐能力的機會。以前在學習計算機科學與技術這個專業(yè)時,主要是接觸軟件,忽略了很多硬件方面的知識。但是,只有綜合學習和應用計算機軟硬件知識,才能更好和更深層次地理解計算機的工作原理。在課程設計中發(fā)現(xiàn)對學過的一些理論知識的理解還不夠深刻,尤其是一些細節(jié)方面的知識。只是知其然,而不知其所以然,缺乏深入的思考,往往只看到了表面。在課程設計過程中遇到了

18、一些理解不清的知識點。通過看課本,到圖書館借閱相關資料學習,最后加深了對相關知識點的理解,應用到了課程設計中。對一些芯片的具體參數(shù)和用法不太熟悉,通過上網搜索,學會了使用這些芯片。通過這次課程設計,我對計算機的組成和工作原理的理解更加深入了。同時,也鍛煉了自己實際分析問題和解決問題的能力,為以后的進一步學習打下了基礎。10.參考文獻計算機組成原理,科學出版社,白中英著。計算機組成原理與系統(tǒng)結構試驗教程,西安電子科技大學出版社,楊小龍編著。百度百科中相關芯片資料11.附錄11.1.單片機寫程序#include reg51.h#define DELAY_T 4 /延時函數(shù)單位時間#define P

19、RO_LONG 16 /程序長度sbit C51_NOT_SW_B=P00;/C51單片機寫存儲器控制邏輯sbit WUD_CE0=P10;/寫微程序數(shù)據(jù)片選信號sbit WUD_CE1=P11;sbit WUD_CE2=P12;sbit MCS0=P13;/控制存儲器片選信號sbit MCS1=P14;sbit MCS2=P15;sbit MOE=P16;/控制存儲器讀選通信號sbit MWE=P17;/控制存儲器寫選通信號sbit WRITE_TUA=P20;/寫微地址轉移邏輯選通信號sbit C51_LDAR=P21;/C51寫地址寄存器選通信號sbit WDBUSCE=P22;/寫數(shù)據(jù)

20、總線選通信號sbit C51_CE=P23;/C51訪問存儲器片選信號sbit C51_OE=P24;/C51讀存儲器選通信號sbit C51_WE=P25;/C51寫存儲器選通信號sbit OEUA=P26;/C51寫微地址選通信號sbit WEUA=P27;/C51鎖存微地址信號/*程序注釋輸入R1=16輸出R1=16內存讀取R0=12輸出R0=12自增R0輸出R0=13R0+R1-R1=29輸出R1=29輸出R1=29清零R0=0輸出R0=0輸出R0=0輸出R0=0停機*/char ram16= /程序 0x45,/0100 0101 IN R1 /R1=16 0x59,/0101 10

21、01 OUT R1 /R1=16 0x00,/0000 0000 LAD R0 /R0=0x0f=0x12 0x0f,/data_0=0x0f=0x12 0x58,/0101 1000 OUT R0 /R0=0x12 0xb0,/1011 0000 INC R0 /R0=13 0x58,/0101 1000 OUT R0 /R0=13 0x91,/1001 0001 R0+R1-R1 /R1=16+13=29 0x59,/0101 1001 OUT R1 /R1=29 0x59,/0101 1001 OUT R1 0x70,/0111 0000 CLR R0 /R0=00 0x58,/0101

22、 1000 OUT R0 /R0=00 0x58,/0101 1000 OUT R0 /R0=00 0x58,/0101 1000 OUT R0 /R0=00 0x60,/0110 0000 STOP 0x12,/data_0=0x0f=0x12 ;char code c261= /控制存儲器高8位0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x00,0x00,0x01,0x95,0x01,0x01,0x01,0x01,0x00,0x01,0x01,0x31,0x01,0x01,0x01,0x01,0x01,0x01,

23、0x01,0x01,0x00,0x02,0x05,0x01,0x01,0x95,0x00,0x01,0x95,0x95,0x01,0x95,0x01,0x05,0x09,0x01,0x05,0x95,0x01,0x01,0x05,0xb9,0x0d,0x01,0x29,0x01,0x19,0x07,0x06;char code c161= /控制存儲器中8位0x81,0xed,0xc0,0xa0,0xe0,0xe0,0xa0,0xe0,0xed,0xed,0xa0,0x80,0x20,0xa0,0xb6,0xea,0xed,0xed,0xed,0xed,0x10,0x04,0x80,0x9a,

24、0x92,0xa2,0xb2,0xa4,0xa2,0xa4,0x82,0x82,0x90,0x84,0xda,0x80,0x80,0xaa,0xa0,0xbc,0xea,0xaa,0xb4,0x9a,0xa4,0xaa,0xaa,0xaa,0xaa,0x9a,0x9a,0xb4,0xda,0x9a,0x9a,0xa2,0x98,0xa2,0x98,0x0a,0x8a;char code c061= /控制存儲器低8位0x08,0x82,0x50,0x04,0xa0,0x06,0x07,0xa0,0x8a,0x8c,0x3b,0x01,0x3c,0x0e,0x0f,0x25,0x83,0x85,

25、0x8d,0xa6,0x01,0x01,0x16,0x01,0x01,0x2a,0x2c,0x32,0x33,0x36,0x08,0x08,0x01,0x01,0x01,0xe4,0x01,0x90,0x27,0x28,0x29,0x90,0x2b,0x01,0x2d,0x2e,0x2f,0x30,0x31,0x01,0x01,0x36,0x01,0x01,0x01,0x08,0x08,0x08,0x08,0x08,0x09;char i;void delay(char t) /延時函數(shù),調整延時時間,可看到讀寫過程char i,j,k;for(i=0;it;i+)for(j=0;jt;j+)

26、for(k=0;kt;k+);void init(void) /初始化數(shù)據(jù),準備寫入數(shù)據(jù)C51_NOT_SW_B=1;WUD_CE0=1;WUD_CE1=1;WUD_CE2=1; MCS0=1;MCS1=1;MCS2=1;MOE=1;MWE=1;WRITE_TUA=1;C51_LDAR=0;WDBUSCE=1;C51_CE=1;C51_OE=1;C51_WE=1;OEUA=1;WEUA=0;void pre_run(void) /準備運行模型計算機C51_NOT_SW_B=0;WUD_CE0=1;WUD_CE1=1;WUD_CE2=1;MCS0=0;MCS1=0;MCS2=0; MOE=0;M

27、WE=1;WRITE_TUA=0;C51_LDAR=0;WDBUSCE=1;C51_CE=1;C51_OE=1;C51_WE=1;OEUA=1;WEUA=0;void write_ram(void) /寫內存 init();for(i=0;iPRO_LONG;i+) P3=i; WDBUSCE=0;C51_LDAR=0;C51_LDAR=1;delay(DELAY_T);P3=rami;WDBUSCE=0;C51_CE=0; C51_WE=0;delay(DELAY_T);C51_CE=1;C51_WE=1;delay(DELAY_T); WDBUSCE=1;delay(DELAY_T); P

28、3=0; /地址寄存器清零WDBUSCE=0;C51_LDAR=0;C51_LDAR=1; void read_ram(void) /讀內存init();for(i=0;iPRO_LONG;i+)P3=i; WDBUSCE=0;C51_LDAR=0;C51_LDAR=1;delay(DELAY_T);WDBUSCE=1;C51_CE=0;C51_OE=0;delay(DELAY_T); C51_CE=1;C51_OE=1;delay(DELAY_T); P3=0; /地址寄存器清零WDBUSCE=0;C51_LDAR=0;C51_LDAR=1; void write_m_ram(void) /

29、寫控制存儲器 init();MCS0=0;for(i=0;i61;i+) P3=i; OEUA=0;WEUA=0;WEUA=1;P3=c0i;WUD_CE0=0;MOE=1;MWE=0; MWE=1;delay(DELAY_T);WUD_CE0=1;delay(DELAY_T); MCS0=1;MCS1=0;for(i=0;i61;i+) P3=i; OEUA=0;WEUA=0;WEUA=1;P3=c1i;WUD_CE1=0;MOE=1;MWE=0; MWE=1;delay(DELAY_T);WUD_CE1=1;delay(DELAY_T); MCS1=1;MCS2=0;for(i=0;i61

30、;i+) P3=i; OEUA=0;WEUA=0;WEUA=1;P3=c2i;WUD_CE2=0;MOE=1;MWE=0; MWE=1;delay(DELAY_T);WUD_CE2=1;delay(DELAY_T); MCS2=1; void read_m_ram(void) /讀控制存儲器 init();MWE=1;for(i=0;i61;i+) P3=i; OEUA=0;WEUA=0;WEUA=1;MCS0=0;MCS1=0;MCS2=0;MOE=0;delay(DELAY_T*1);MOE=1;delay(DELAY_T*1); P3=0; OEUA=0;WEUA=0;WEUA=1; void main(void) /主函數(shù)write_ram(); /寫內存read_ram(); /讀內存write_m_ram(); /寫控制存儲器read_m_ram(); /讀控制存儲器pre_run(); /準備運行while(1);11.1.微程序編碼轉換程序因為需要將許多24位2進制的微程序轉換為16進制的數(shù)據(jù)寫入控制存儲器,所以用PHP語言編寫自動轉換程序,提高轉換速度和準確度。

溫馨提示

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

評論

0/150

提交評論