《計(jì)算機(jī)組成原理》課程設(shè)計(jì)報(bào)告基本模型機(jī)的設(shè)計(jì)加減法指令的實(shí)現(xiàn)_第1頁
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)報(bào)告基本模型機(jī)的設(shè)計(jì)加減法指令的實(shí)現(xiàn)_第2頁
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)報(bào)告基本模型機(jī)的設(shè)計(jì)加減法指令的實(shí)現(xiàn)_第3頁
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)報(bào)告基本模型機(jī)的設(shè)計(jì)加減法指令的實(shí)現(xiàn)_第4頁
《計(jì)算機(jī)組成原理》課程設(shè)計(jì)報(bào)告基本模型機(jī)的設(shè)計(jì)加減法指令的實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

3、 (10)課程設(shè)計(jì)總結(jié)(設(shè)計(jì)的特點(diǎn)、不足、收獲與體會(huì))。時(shí)間安排: 周一:熟悉相關(guān)資料。 周二:系統(tǒng)分析,設(shè)計(jì)程序。 周三、四:編程并上實(shí)驗(yàn)平臺(tái)調(diào)試 周五:撰寫課程設(shè)計(jì)報(bào)告。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名:年 月 日加減法指令的實(shí)現(xiàn)一、 設(shè)計(jì)目的與原理1、 實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn),通過掌握各個(gè)單元模塊的工作原理,進(jìn)一步將其組成完整的系統(tǒng),構(gòu)造成1臺(tái)基本的模型計(jì)算機(jī)。并通過這臺(tái)模型計(jì)算機(jī),對(duì)計(jì)算機(jī)的基本組成、部件的設(shè)計(jì)、部件間的連接、微程序控制器的設(shè)計(jì)、微指令和微程序的編制等過程有更深的了解,加深對(duì)理論課程的理解。在本試驗(yàn)中,我們將規(guī)劃讀寫內(nèi)存、寄存器、數(shù)值計(jì)算等功能,并且編寫相應(yīng)的

4、微程序。具體上機(jī)調(diào)試各個(gè)模塊單元以進(jìn)一步掌握整機(jī)的概念。2、 實(shí)驗(yàn)原理在本設(shè)計(jì)中,數(shù)據(jù)通路的控制將由微程序控制器來完成。在各個(gè)模塊實(shí)驗(yàn)中,各模塊的控制信號(hào)都是由實(shí)驗(yàn)者手動(dòng)模擬產(chǎn)生的。而在真正的實(shí)驗(yàn)系統(tǒng)中,模型機(jī)的運(yùn)行是在微程序的控制下,實(shí)現(xiàn)特定指令的功能。計(jì)算機(jī)從內(nèi)存取出一條機(jī)器指令到指令執(zhí)行結(jié)束的一個(gè)指令周期,全部由微指令和與之相匹配的序列來完成,即1條機(jī)器指令對(duì)應(yīng)一個(gè)微程序。二、總體設(shè)計(jì)1. 模型機(jī)邏輯框圖簡(jiǎn)單的模型計(jì)算機(jī)由算術(shù)邏輯運(yùn)算單元、微程序單元、堆棧寄存器單元、累加器、啟停、時(shí)序單元、總線和存儲(chǔ)器單元組成。下圖為較典型的實(shí)驗(yàn)計(jì)算機(jī)整體邏輯框圖:2、指令系統(tǒng)與指令格式實(shí)驗(yàn)平臺(tái)內(nèi)采用的

5、是8位數(shù)據(jù)總線和8位地址總線方式,設(shè)計(jì)指令系統(tǒng)時(shí),主要考慮的是指令的類型,尋址方式和編碼方式。指令類型包括算術(shù)/邏輯運(yùn)算類指令、移位操作類指令(帶進(jìn)位或不帶進(jìn)位)、數(shù)據(jù)傳送類指令、程序跳轉(zhuǎn)指令(有條件或無條件)、存儲(chǔ)器操作類指令等。尋址方式包括直接地址尋址、寄存器直接尋址、寄存器間接尋址、立即數(shù)尋址等。指令格式的設(shè)定一般與機(jī)器的字長(zhǎng)、存儲(chǔ)器的容量以及指令的功能有關(guān)。主要包括操作碼字段和地址碼字段。本實(shí)驗(yàn)中操作碼為8位,數(shù)據(jù)的傳送單位為8位。3、 微程序的設(shè)計(jì)及其實(shí)現(xiàn)方法3.1微指令格式設(shè)計(jì) 微指令長(zhǎng)24位,本階段的設(shè)計(jì)任務(wù)是決定24位長(zhǎng)的微指令是否分段定義,以及確定各段段長(zhǎng)、決定各碼位含義和有

6、效性等。由于模型機(jī)指令系統(tǒng)規(guī)模較小,功能也不太復(fù)雜,所以采用全水平不編碼純控制場(chǎng)的微指令格式。因?yàn)樵诒驹O(shè)計(jì)平臺(tái)的硬件設(shè)計(jì)中,微指令長(zhǎng)24位,所以最多有24位微操作控制信號(hào)可由微碼直接實(shí)現(xiàn)。本實(shí)驗(yàn)計(jì)算機(jī)24位長(zhǎng)的微指令,對(duì)應(yīng)信號(hào)分別為:s0、s1、s2、s3、m、cn、aul-o、edr2、edr1、ra-o、era、x1、x0、halt、wr、rr、elp、pc-o、ir2-o、eir2、eir1、rm、wm、mld。3.2微程序入口地址及后續(xù)微地址當(dāng)微指令格式確定后,就需要確定后續(xù)微指令地址。通常是先確定微程序分支處的微地址,因?yàn)槲⒊绦蚍种幮枰M(jìn)行判斷測(cè)試。微指令由rom讀出后直接給出下一

7、條微指令的地址,這個(gè)地址就放在微地址寄存器中。當(dāng)微程序出現(xiàn)分支時(shí),通過地址轉(zhuǎn)移邏輯去修改微地址寄存器內(nèi)容,并按修改好的微地址讀出下條微指令。在模型機(jī)中,微程序入口地址的確定采用“按操作法散轉(zhuǎn)”方法,即用指令操作碼的高4位作為核心擴(kuò)展成8位的微程序入口地址md0md7。(如下表所示)微程序首地址形成md7md6md5md4md3md2md1md000i7i6i5i411按操作碼散轉(zhuǎn)指令操作碼微程序首地址md7、md6i7i6i5i4md1、md0md7md0000001003h000011007h00010100bh00011100fh001001013h001011017h00110101bh

8、00111101fh010001023h010011027h01010102bh01011102fh011001033h011011037h01110103bh01111103fh在00h放置了一條取址指令,當(dāng)實(shí)驗(yàn)平臺(tái)開始運(yùn)行時(shí),微地址從00h開始運(yùn)行,根據(jù)程序開始地址從內(nèi)存中讀出第一條指令。微指令的運(yùn)行順序采用計(jì)數(shù)增量方法,下一條微指令的地址確定方法,是通過上一條微指令執(zhí)行后微地址自動(dòng)加一得到的。例如:確定了一條程序的微程序入口地址為17h,那么當(dāng)執(zhí)行完17h這條微指令后,微地址加1,指向18h微地址。4、 時(shí)序的設(shè)計(jì)安排時(shí)序模塊由監(jiān)控單元產(chǎn)生一個(gè)pls-o的信號(hào)來控制時(shí)序產(chǎn)生。pls-o信

9、號(hào)經(jīng)過時(shí)序單元的處理產(chǎn)生4個(gè)脈沖信號(hào)。4個(gè)脈沖信號(hào)組成一個(gè)微周期,為不同的寄存器提供工作脈沖。pls1:微地址寄存器的工作脈沖,用來設(shè)置微程序的首地址及微地址加1.pls2:pc計(jì)數(shù)器的工作脈沖,根據(jù)微指令的控制實(shí)現(xiàn)pc計(jì)數(shù)器加1和重置pc計(jì)數(shù)器(跳轉(zhuǎn)指令)等功能。pls3:把24位微指令打入3片微指令鎖存器。pls4:把當(dāng)前總線上的數(shù)據(jù)打入微指令選通的寄存器中。signpls1pls2pls3pls45、 指令執(zhí)行流程根據(jù)模型機(jī)整機(jī)邏輯圖和目前硬件條件來設(shè)計(jì)指令系統(tǒng)中每條指令的執(zhí)行流程。下面根據(jù)本實(shí)驗(yàn)編制的源程序來說明執(zhí)行流程:(1) mov a,#55h指令功能為:55h-a,需執(zhí)行如下操

10、作:(pc)+1-pc ;pc加1,為取本指令下一字節(jié)做準(zhǔn)備(ram)-odb-idb-a ;取出本指令第二字節(jié)(即55h)送a(pc)+1-pc ;pc加1,為取下條指令字節(jié)做準(zhǔn)備(pc)-iab-oab ;pc計(jì)數(shù)器內(nèi)容作訪問內(nèi)存地址(ram)-odb-idb-ir1 ;從內(nèi)存該地址單元讀出指令字節(jié)送指令寄存器ir1。(2) mov r0,#66;指令功能為:66h-r0,需執(zhí)行如下微操作:(pc)+1-pc ;pc加1,為取本指令下一字節(jié)準(zhǔn)備(ram)-odb-idb-r0 ;取出本指令第二字節(jié)(即66h)送r0(pc)+1-pc ;pc加1,為取下條指令字節(jié)做準(zhǔn)備(pc)-iab-oa

11、b ;pc計(jì)數(shù)器內(nèi)容作訪問內(nèi)存地址(ram)-odb-idb-ir1 ;從內(nèi)存該地址單元讀出指令字節(jié)送指令寄存器ir1。(3) add a,r0;指令功能為:(a)+(r0)- a ,需執(zhí)行如下微操作:(pc)+1- pc ;pc加1,為取本指令下一字節(jié)準(zhǔn)備(a)- dr1 ;累加器a內(nèi)容送alu(r0)- dr2 ;寄存器r0內(nèi)容送alu(a)+(r0)-idb-a ;使alu執(zhí)行加法,結(jié)果經(jīng)idb最后送入累加器acn+4 -cy ;根據(jù)加法結(jié)果置進(jìn)位標(biāo)志cy(pc)-iab-oab ;pc計(jì)數(shù)器內(nèi)容作訪問內(nèi)存地址(ram)-odb-idb-ir1 ;從內(nèi)存該地址單元讀出指令字節(jié)送指令寄存器

12、ir1。(4) mov r1,#33;指令功能為:66h-r0,需執(zhí)行如下微操作:(pc)+1-pc ;pc加1,為取本指令下一字節(jié)準(zhǔn)備(ram)-odb-idb-r0 ;取出本指令第二字節(jié)(即33h)送r1(pc)+1-pc ;pc加1,為取下條指令字節(jié)做準(zhǔn)備(pc)-iab-oab ;pc計(jì)數(shù)器內(nèi)容作訪問內(nèi)存地址(ram)-odb-idb-ir1 ;從內(nèi)存該地址單元讀出指令字節(jié)送指令寄存器ir1。(5) suba,r1;指令功能為:(a)-(r1)- a ,需執(zhí)行如下微操作:(pc)+1- pc ;pc加1,為取本指令下一字節(jié)準(zhǔn)備(a)- dr1 ;累加器a內(nèi)容送alu(r1)- dr2

13、;寄存器r0內(nèi)容送alu(a)-(r0)-idb-a ;使alu執(zhí)行減法,結(jié)果經(jīng)idb最后送入累加器acn+4 -cy ;根據(jù)加法結(jié)果置進(jìn)位標(biāo)志cy(pc)-iab-oab ;pc計(jì)數(shù)器內(nèi)容作訪問內(nèi)存地址(ram)-odb-idb-ir1 ;從內(nèi)存該地址單元讀出指令字節(jié)送指令寄存器ir1。(6) sta 10指令功能為:(a)-10h ,需執(zhí)行如下微操作:(pc)+1-pc ;pc加1,為取本指令下一字節(jié)準(zhǔn)備(pc)-iab-oab ;pc計(jì)數(shù)器內(nèi)容作訪問內(nèi)存地址(ram)-odb-idb-ir2 ;取出本指令第二字節(jié)(即10h)送ir2(pc)+1- pc ;pc加1,為取下條指令字節(jié)做準(zhǔn)備

14、(ir2)-iab-oab ;ir2形成新的地址a-odb-idb-(ram) ;將a中的數(shù)存入內(nèi)存中(pc)-iab-oab ;pc計(jì)數(shù)器內(nèi)容作訪問內(nèi)存地址(ram)-odb-idb-ir1 ;從內(nèi)存該地址單元讀出指令字節(jié)送指令寄存器ir1。(7) halt指令功能為:置模型機(jī)于停機(jī)狀態(tài)。設(shè)計(jì)流程時(shí),保證每條微指令所含的微操作的必要性和合理性??偩€iab、idb、oab、odb僅是傳輸信息的通路,沒有寄存信息的功能。三、程序1、源程序編制的源程序如下: mov a,#55 mov r0,#66 add a,r0 mov r1,#33 sub a,r1 sta 10 halt2、程序的指令代碼

15、內(nèi)存地址指令助記符指令碼或立即數(shù)說明00hmov a,#555fh立即數(shù) 55ha01h55h02hmov r0,#666ch立即數(shù)66h寄存器r003h66h04hadd a,r00cha內(nèi)容+r0內(nèi)容a05hmov r1,#336dh立即數(shù)33h寄存器r106h33h07hsub a,r11dha內(nèi)容-r1內(nèi)容a08hsta 108fh將a內(nèi)容寫入ram地址10h09h10h0ahhaltffh停機(jī)3、微程序微單步運(yùn)行過程如下:微地址數(shù)據(jù)流程數(shù)據(jù)總線地址總線操作寄存器00h取址微指令 rambusir15fh00hir1=5fhmov a,#5517hbusa55h01ha=55h18h取

16、址微指令 rambusir16ch02hir1=6chmov r0,#661bhram寄存器r066h03h寄存器r0=66h1ch取址微指令 rambusir10ch04hir1=0chadd a,r003ha鎖存器dr055h無效dr1=55h04h寄存器r0鎖存器dr266h無效dr2=66h05haluabbh無效a=bbh06h取址微指令 rambusir16dh05hir1=6dhmov r1,#331bhram寄存器r133h06h寄存器r1=33h1ch取址微指令 rambusir11dh07hir1=1dhsub a,r107ha鎖存器dr1bbh無效dr1=bbh08h寄存

17、器r1鎖存器dr233h無效dr2=33h09halua88h無效a=88h0ah取址微指令 rambusir18fh08hir1=8fhsta 1023hrambusir210h09hir2=10h24ha ram(10h)88h10hram(10)=88h25h取址微指令 rambusir1ffh0ahir1=ffhhalt3fh置模型機(jī)為停止?fàn)顟B(tài)無效無效置停止?fàn)顟B(tài)四、實(shí)現(xiàn)過程1、 聯(lián)機(jī)方式啟動(dòng)軟件后,在代碼窗口輸入源程序,單步運(yùn)行,微單步運(yùn)行。觀察記錄的微指令序列如下:地址指令序列微地址微指令序列說明00mov a, #5500h4dffff取指指令17hddfbffdbus-a02mo

18、v r0, #6618h4dffff取指指令1bhddbfffdbus-a04add a, r01ch4dffff取指指令03hfffcf9adbusdr104hff7f79ridbusdr205hfffca9aludbusa05mov r1#3306h4dffff取指指令1bhddbfffdbusri07sub a, r11ch4dffff取指指令07hfffcd6adbusdr108hff7f56ridbusdr209hfffb86aludbusa08sta 100ah4dffff取指指令23hd5ffffdbusir224hbbfdffir2bus,adbusram0ahalt25h4d

19、ffff取指指令3fhffdfff停機(jī)加法指令的時(shí)序及對(duì)應(yīng)寄存器、累加器、存儲(chǔ)器數(shù)據(jù)、數(shù)據(jù)流程如下圖:減法指令與加法類似,主要圖如下:2、脫機(jī)方式 將對(duì)應(yīng)上圖的指令碼表格輸入模擬機(jī),按run鍵進(jìn)行全程運(yùn)行。觀察結(jié)果。加減法時(shí)序分析類似,下面主要給出加法指令的時(shí)序分析:add a,r0:微周期數(shù)據(jù)流程節(jié)拍數(shù)據(jù)總線地址總線操作寄存器t0:a鎖存器dr1pls1:置微地址pls1:pc+1pls1:取址微指令輸出pls1:bus鎖存器dr10ch0ch55h55h04h04h無效無效微地址:03hpc=05h鎖存微指令dr1=55ht1:寄存器r0鎖存器dr2pls1:微地址+1pls1:pc不變pls1:微指令輸出pls1:bus鎖存器dr255h55h66h66h無效無效無效無效微地址:04hpc=05h鎖存微指令dr2=66ht2:aluapls1: 微地址+1pls1: pc不變pls1:

溫馨提示

  • 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. 人人文庫(kù)網(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)論