計算機組成原理課程設(shè)計基本模型機的設(shè)計——不帶進位的與或運算指令的實現(xiàn)_第1頁
計算機組成原理課程設(shè)計基本模型機的設(shè)計——不帶進位的與或運算指令的實現(xiàn)_第2頁
計算機組成原理課程設(shè)計基本模型機的設(shè)計——不帶進位的與或運算指令的實現(xiàn)_第3頁
計算機組成原理課程設(shè)計基本模型機的設(shè)計——不帶進位的與或運算指令的實現(xiàn)_第4頁
計算機組成原理課程設(shè)計基本模型機的設(shè)計——不帶進位的與或運算指令的實現(xiàn)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計任務(wù)書學(xué)生姓名: 專業(yè)班級: 指導(dǎo)教師: 工作單位:題 目: 基本模型機的設(shè)計不帶進位的與或運算指令的實現(xiàn)初始條件: 理論:學(xué)完“電工電子學(xué)”、“數(shù)字邏輯”、“匯編語言程序設(shè)計”、和“計算機組成原理”課程,掌握計算機組成原理實驗平臺的使用。 實踐:計算機學(xué)院科學(xué)系實驗中心提供計算機、實驗的軟件、硬件平臺,在實驗中心硬件平臺驗證設(shè)計結(jié)果。要求完成的主要任務(wù): (包括課程設(shè)計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)1、基本模型機系統(tǒng)分析與設(shè)計,利用所學(xué)的計算機組成原理課程中的知識和提供的實驗平臺完成設(shè)計任務(wù),從而建立清晰完整的整機概念。2、根據(jù)課程設(shè)計題目的要求,編制實驗所需的程序,

2、上機測試并分析所設(shè)計的程序。3、課程設(shè)計的書寫報告應(yīng)包括: (1)課程設(shè)計的題目。 (2)設(shè)計的目的及設(shè)計原理。 (3)根據(jù)設(shè)計要求給出模型機的邏輯框圖。 (4)設(shè)計指令系統(tǒng),并分析指令格式。 (5)設(shè)計微程序及其實現(xiàn)的方法(包括微指令格式的設(shè)計,后續(xù)微地址的產(chǎn)生方法以及微程序入口地址的形成)。 (6)模型機當(dāng)中時序的設(shè)計安排。 (7)設(shè)計指令執(zhí)行流程。 (8)給出編制的源程序,寫出程序的指令代碼及微程序。 (9)說明在使用軟件hkcpt的聯(lián)機方式與脫機方式的實現(xiàn)過程(包括編制程序中與或運算指令的時序分析,累加器a和有關(guān)寄存器、存儲器的數(shù)據(jù)變化以及數(shù)據(jù)流程)。 (10)課程設(shè)計總結(jié)(設(shè)計的特點

3、、不足、收獲與體會)。時間安排: 周一:熟悉相關(guān)資料。 周二:系統(tǒng)分析,設(shè)計程序。 周三、四:編程并上實驗平臺調(diào)試 周五:撰寫課程設(shè)計報告。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日1設(shè)計的題目基本模型機的設(shè)計不帶進位的與或運算指令的實現(xiàn)2設(shè)計的目的及設(shè)計原理 2.1設(shè)計目的:1分析階段:在掌握已學(xué)的知識的基礎(chǔ)下,充分運用數(shù)字邏輯,匯編語言,以及計算機組成原理的理論知識。通過對計算機的基本組成原理,核心部件的設(shè)計與構(gòu)成,以及部件間的連接方式,設(shè)計合理的指令系統(tǒng), 編制相應(yīng)指令的微指令與微程序,編制一個不帶進位的與或運算的程序。2設(shè)計階段:根據(jù)自己已掌握的微指令的知識,將分

4、析階段的與或運算轉(zhuǎn)換成相應(yīng)的有微指令組成的微程序。3驗證階段:將編寫程序的運算結(jié)果與實際結(jié)果進行對比,驗證程序設(shè)計的是否正確。2.2設(shè)計原理:在計算機中所有的運算都是通過cpu來實現(xiàn)的,cpu根據(jù)指令的格式分別實現(xiàn)對應(yīng)不同的功能。而每一個指令都對應(yīng)一段由微指令構(gòu)成微程序,而微指令又是由多個微命令組成,每一個微命令指示對應(yīng)的硬件完成相應(yīng)的任務(wù)。通過這樣的一種聯(lián)系來組織計算機硬件來完成所要執(zhí)行的指令。本次試驗中,模型機從內(nèi)存中取出指令,分析指令,執(zhí)行指令。在時序的調(diào)節(jié)與微程序的控制下,完成一條機器指令,最后通過機器指令的逐步完成,從而實現(xiàn)不帶進位的與或運算。3模型機的邏輯框圖運算器由2片74l18

5、1構(gòu)成8位字長的alu單元。2片74ls374作為2個數(shù)據(jù)鎖存器(dr1、dr2),8芯插座alu-in作為數(shù)據(jù)輸入端,可通過短8芯扁平電纜,把數(shù)據(jù)輸入端連接到數(shù)據(jù)總線上。數(shù)據(jù)輸入鎖存器dr1的edr1為低電平,并且d1ck有上升沿時,把來自數(shù)據(jù)總線的數(shù)據(jù)打入鎖存器dr1。同樣使edr2為低電平、d2ck有上升沿時把數(shù)據(jù)總線上的數(shù)據(jù)打入數(shù)據(jù)鎖存器dr2。(模型機的框圖如下圖所示)4設(shè)計指令系統(tǒng)與指令格式4.1指令系統(tǒng)設(shè)計:此次實驗涉及的指令有以下幾種:mov a, #data 將立即數(shù)傳遞到將累加器a中;orl a,#data 將累加器a和立即數(shù)相或,結(jié)果送入累加器a中;mov ri,#dat

6、a 將立即數(shù)傳遞到寄存器ri中;sub a,ri 將累加器a中的內(nèi)容減去寄存器ri中的內(nèi)容,結(jié)果送入累加器a;anl a,#data 將累加器a和立即數(shù)相與,結(jié)果送入累加器a中;sta addr 將寄存器中內(nèi)容寫入存儲器中;halt 停機指令;指令系統(tǒng)如下表:指令助記符指令功能指令編碼微周期微操作取指指令t0pc-地址總線-ramram-數(shù)據(jù)總線-ir1mov a,#datadataa5ft0t1ramdbusa取指指令orl a,#data(a)或dataacft0t1t2t3adbusdr1ramdbusdr2aludbusa取指指令mov ri,#datadataa6ct0t1ramdb

7、usri取指指令sub a,ri(a-ri) a1ct0t1t2t3adbusdr1ridbusdr2aludbusa取指指令anl a,#data(a)或dataadft0t1t2t3adbusdr1ramdbusdr2aludbusa取指指令sta addr(a)addr8ft0t1t2ramdbusir2ir2地址總線,aram取指指令halt停機fft0停機4.2指令格式分析:指令一般由地址碼和操作碼組成,如下所示:操作碼地址碼 此實驗所涉及指令的格式如下:mov指令采用單字節(jié)指令,其格式如下:7 6 5 43 21 0操作碼adata orl邏輯或指令采用單字節(jié)指令,其格式如下: 7

8、 6 5 43 21 0操作碼adata anl邏輯與指令采用單字節(jié)指令,其格式如下: 7 6 5 43 21 0操作碼adata sta取數(shù)據(jù)指令,其格式如下:7 6 5 43 21 0操作碼 data addr停機指令(halt),其格式如下:7 6 5 43 21 0操作碼 5設(shè)計微程序及其實現(xiàn)的方法5.1微指令格式的設(shè)計:微指令的一般格式如圖所示:判別測試下地址操作控制順序控制5.2后續(xù)微指令的產(chǎn)生方法:由于本系統(tǒng)中指令系統(tǒng)的功能比較簡單,所以可以采用微指令全水平、不編碼的方式,及每一個微操作控制信號由一位微代碼來表示,24位微代碼可以表示24個不同的微操作控制信號。在本系統(tǒng)中,mld

9、為置微地址的控制信號,mck為工作脈沖。當(dāng)mld=0、mck有上沿時,把md0md7的值作為微程序的地址,打入微地址寄存器。當(dāng)mld=1、mck有上升沿時,微地址計數(shù)器自動加1。5.3微程序入口地址的形成:本實驗平臺的硬件設(shè)計采用的是24位微指令,微指令采用全水平不編碼的格式,可產(chǎn)生24個微操作控制信號。由于模型機指令系統(tǒng)規(guī)模較小,功能較簡單,可由微代碼直接實現(xiàn)。在模型機內(nèi),用指令操作碼的高4位作為核心擴展成8位的微程序入口地址md0-md7。這種方法稱為“按操作碼散轉(zhuǎn)”(如下表所示)。微程序首地址形成md7md6md5md4md3md2md1md00017161514待添加的隱藏文字內(nèi)容21

10、1按操作碼散轉(zhuǎn)指令操作碼微程序首地址md7、md6i7i6i5i4md1、md0md7md0000001003h000011007h00010100bh00011100fh001001013h001011017h00110101bh00111101fh010001023h010011027h01010102bh01011102fh011001033h011011037h01110103bh01111103fh6模型機時序的設(shè)計安排由于微指令采用全水平不編碼的格式,微程序的入口地址采用操作碼散轉(zhuǎn)方式,所以可確定模型機中時序單元中所產(chǎn)生的每一拍的作用。為了更好地觀察實驗的各個中間過程中各寄存器的值

11、,由監(jiān)控單元產(chǎn)生一個pls-o的信號來控制時序產(chǎn)生。pls-o信號經(jīng)過時序單元的處理產(chǎn)生了4個脈沖信號。4個脈沖信號組成一個微周期,為不同的寄存器提供工作脈沖。pls0:微地址寄存器的工作脈沖,用來設(shè)置微程序的首地址及微地址加1。pls1:pc計數(shù)器的工作脈沖,根據(jù)微指令的控制實現(xiàn)pc計數(shù)器加1和重置pc計器(如跳轉(zhuǎn)指令)等功能。pls2:把24位微指令打入3片微指令鎖存器pls3:把當(dāng)前總線上的數(shù)據(jù)打入微指令選通的寄存器它們的時序圖如下圖所示:7設(shè)計指令執(zhí)行流程 在每個系統(tǒng)中,一條指令從內(nèi)存取出到執(zhí)行完畢,需要若干個機器周期,任何指令中都必須有一個機器周期作為“取指令周期”,稱為公操作周期。

12、而一條指令共需幾個機器周期取決于指令在機器內(nèi)實現(xiàn)的復(fù)雜程度。對于微程序控制的計算機,在設(shè)計指令執(zhí)行流程時,要保證每條微指令所含的微操作的必要性和合理性,還應(yīng)知道總線的iab,idb,oab,odb僅是傳輸信息的通路,沒有寄存信息的功能,而且必須保證總線傳輸信息時信息的唯一性。以下描述取微指令執(zhí)行周期:在模型機處于停機狀態(tài)時,模型機的微地址寄存器被清零,微指令鎖存器輸出無效。在處于停機狀態(tài)時,脈沖pls1對微地址寄存器(74ls161)無效,微地址寄存器保持為零。脈沖pls2對pc計數(shù)器無效,同時pls2把halt=1打入啟停單元中的運行狀態(tài)寄存器(74ls74)中,把模型機置為運行狀態(tài),使微程

13、序鎖存器輸出有效。pls3把微程序儲存器00h單元中的內(nèi)容打入指令寄存器中。在模型機處于運行狀態(tài)時,脈沖pls1將微地址寄存器(74ls161)加一,脈沖pls2將pc計數(shù)器加1,pls3把微程序存儲器中的微指令打入微指令鎖存器并且輸出。pls4把當(dāng)前總線上的數(shù)據(jù)打入當(dāng)前微指令所選通的寄存器。對于此次實驗每條指令的執(zhí)行流程如下:周期微操作指令助記符t0t1t2t3取指微指令pc-地址總線-ramram-數(shù)據(jù)總線-ir1 mov a,#dataram數(shù)據(jù)總線a取指微指令 orl a,#dataa數(shù)據(jù)總線dr1ram數(shù)據(jù)總線dr2alu數(shù)據(jù)總線a取指微指令mov ri,#data ram數(shù)據(jù)總線r

14、i取指微指令 sub a,ria數(shù)據(jù)總線dr1ri數(shù)據(jù)總線dr2 alu數(shù)據(jù)總線a 取指微指令anl a,#dataa數(shù)據(jù)總線dr1ram數(shù)據(jù)總線dr2alu數(shù)據(jù)總線a取指微指令sta addrram數(shù)據(jù)總線ir2ir2地址總線,aram取指微指令 halt停機 8編制源程序,程序的指令代碼及微程序8.1源程序:mov a,#25orl a,#35mov r0,#10sub a,r0anl a,#45sta 30halt 8.2程序的指令代碼:內(nèi)存地址指令助記符指令碼或立即數(shù)說明00hmov a,#255fh立即數(shù)25ha01h25h02horl a,#35cfh(a) orl 35a03h3

15、5h04hmov r0,#106char005h10h06hsub a, r01ch(a-r0)a07hanl a,#45dfh(a) anl45a08h45h09hsta 308fh將a的內(nèi)容寫入ram地址30h0ah30h0bhhaltffh停機8.3微程序:mov a,#25 : 00004d,ff,ff 取指指令 0017dd,fb,ff dbusaorl a,#35: 00184d,ff,ff 取指指令 0033ff,fc,fe adbusdr1 0034dd,ff,7e ramdbusdr2 0035ff,fb,be aluamov r0,#10: 00364d,ff,ff 取指指

16、令 001bff,bd,ff ramdbusrisub a,r0 : 001c4d,ff,ff 取指指令 0007ff,7b,ff adbusdr1 0007ff,7b,ff ridbusdr2 0007ff,7b,ff aludbusaanl a,#45: 000a4d,ff,ff 取指指令 0037fffcfb adbusdr1 0038ddff7b ramdbusdr2 0039fffbbb aluasta 30 : 003a4dffff 取指指令 0023d5ffff dbusir2 0024bbfdff ir2dbus; adbusramhalt : 003e4dffff 取指指令

17、0003fffdfff 停機9說明在使用軟件hkcpt的聯(lián)機方式與脫機方式的實現(xiàn)過程(包括編制程序中與或運算指令的時序分析,累加器a和有關(guān)寄存器、存儲器的數(shù)據(jù)變化以及數(shù)據(jù)流程)。9.1編制程序中與或運算指令的時序分析:將25存入累加器a中的時序圖25與35進行邏輯或運算的時序圖:上次運算結(jié)果減去10的時序圖:上次運算結(jié)果與45進行邏輯與運算的的時序圖:將最終結(jié)果保存到ram地址的時序圖:調(diào)試窗口如圖所示:9.2累加器a和有關(guān)寄存器、存儲器的數(shù)據(jù)變化以及數(shù)據(jù)流程:mov a,#25數(shù)據(jù)流程:ram-dbus-a 執(zhí)行后,a中數(shù)據(jù)值為25h,其他寄存器值無效orl a,#35數(shù)據(jù)流程:adbusd

18、r1,ramdbusdr2,aludbusa 執(zhí)行后,a中的值為35h,dr1中數(shù)據(jù)值為25h,dr2中數(shù)據(jù)值為35h, 其他寄存器值不變mov r0,#10數(shù)據(jù)流程:ram-dbus-r0 執(zhí)行后,r0中數(shù)據(jù)值為10h,a中值不變,其他寄存器值無效sub a, r0數(shù)據(jù)流程:a-dbus-dr1,r0-dbus-dr2,alu-dbus-a 執(zhí)行后,a中值為25h,dr1中數(shù)據(jù)值為35h,dr2中數(shù)據(jù)值為10h,anl a,#45 數(shù)據(jù)流程:a-dbus-dr1,r0-dbus-dr2,alu-dbus-a 執(zhí)行后,a中值為05h,dr1中數(shù)據(jù)值為25h,dr2中數(shù)據(jù)值為45h, 其他寄存器值不變sta 30數(shù)據(jù)流程:a-ram 執(zhí)行后,內(nèi)存地址為30h的單元中值為05hhalt 停機10課程設(shè)計總結(jié) 在此次計算機組成原理的課程設(shè)計實驗中,通過自己對計算機組成原理、匯編語言以及數(shù)字邏輯等課程知識的掌握與運用,在hkcpt軟件平臺上設(shè)計幾個數(shù)的邏輯與或運算并成功地實現(xiàn)了設(shè)計的要求。雖然此次課程設(shè)計獲得成功,但仍然暴露出自己不少的知識盲點,比如一條指令對應(yīng)的多個微指令,每

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論