計算機組成原理課程設(shè)計報告ifelse語句_第1頁
計算機組成原理課程設(shè)計報告ifelse語句_第2頁
計算機組成原理課程設(shè)計報告ifelse語句_第3頁
計算機組成原理課程設(shè)計報告ifelse語句_第4頁
計算機組成原理課程設(shè)計報告ifelse語句_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 微程序控制器原理12 模型機結(jié)構(gòu)及各模塊功能22.1 模型機的結(jié)構(gòu)圖如下:22.2各模塊簡介23 微指令格式介紹34 指令系統(tǒng)說明45 指令流程圖56 內(nèi)存中機器指令序列57 微程序清單68 心得體會71 微程序控制器原理微程序設(shè)計技術(shù)是利用軟件方法來設(shè)計硬件的一門技術(shù)。即仿照通常的解題程序的方法,把操作控制信號編成所謂的“微指令”,存放到一個只讀存儲器里。當(dāng)機器運行時一條又條地讀出這些“微指令”,從而產(chǎn)生全機所需要的各種操作控制信號,使相應(yīng)部件執(zhí)行所規(guī)定的操作。微程序控制器的原理框圖如下所示??刂拼鎯ζ鳎捍娣艑崿F(xiàn)全部指令系統(tǒng)的微程序,它是一種只讀型存儲器。要求速度快,讀出周期短。 微地址

2、寄存器:存放讀出微指令的直接地址,決定要讀取的下一條微指令的地址。微命令寄存器:保存讀出微指令的操作控制字段和判別測試字段的信息。 地址轉(zhuǎn)移邏輯:承擔(dān)自動完成修改微地址的任務(wù)。2 模型機結(jié)構(gòu)及各模塊功能2.1 模型機的結(jié)構(gòu)圖如下:2.2各模塊簡介內(nèi)存:即主存,存放指令序列和數(shù)據(jù),其存容量為2kb。alu:cpu的算術(shù)邏輯單元,進行各種算術(shù)邏輯運算。dr1、dr2:cpu的兩個數(shù)據(jù)緩沖寄存器,用來暫時存放由數(shù)據(jù)存儲器讀出的一個數(shù)據(jù)字,或來自外部接口的一個數(shù)據(jù)字。r0、r1、r2:通用寄存器。其功能是:當(dāng)算術(shù)邏輯單元執(zhí)行算術(shù)或邏輯運算時,為alu提供一個工作區(qū)。在微程序控制中只有r0可用。ar:地

3、址寄存器,用來保存當(dāng)前cpu所訪問的內(nèi)存單元的地址,在cpu讀寫內(nèi)存的期間驅(qū)動地址總線上的地址信息。pc:程序計數(shù)器,用來確定下一條指令的地址,順序?qū)ぶ穚c+1->pc;跳躍尋址將指令中的地址碼裝入。p1:p1測試,即進行指令譯碼,對指令的操作碼進行測試,向操作控制器發(fā)送具體操作的信號。ir:指令寄存器,保存當(dāng)前執(zhí)行的指令,是指令譯碼器的輸入。cpu取指時先將指令送數(shù)據(jù)緩沖寄存器,送指令寄存器。3 微指令格式介紹 4 指令系統(tǒng)說明本實驗設(shè)計的指令系統(tǒng)包含四條機器指令:in(輸入指令)、sub(減法指令)、out(輸出指令)、jmp(無條件轉(zhuǎn)移指令)。= 助記符 操作碼地址碼說明- in

4、r0,sw 0010 0000 數(shù)據(jù)開關(guān)狀態(tài)r0 sub r0,addr 0100 0000 r0-addrr0 out ro,led 0110 0000 addrled jmp addr 1010 0000 xxxxxxxx addrpc= jmp為雙字節(jié)指令,其余為單字節(jié)指令。本實驗為突出指令主要功能,將sub指令也設(shè)計為單字長指令,默認(rèn)從sub操作碼的下一個內(nèi)存單元(即pc+1)得到另一個操作數(shù)。5 指令流程圖6 內(nèi)存中機器指令序列依據(jù)本實驗的指令系統(tǒng),在內(nèi)存中編寫一個簡單的if-else語句,實現(xiàn)求兩個數(shù)之差的絕對值,且該語句能夠自動無限循環(huán)執(zhí)行。用偽代碼表示如下:while (tru

5、e)if (a > b)out (a - b); else out (b - a);機器指令格式說明(“p”代表機器指令,數(shù)字均為十六進制):pxx xx地址 機器代碼p00 20 in r0, swp01 40sub r0, pc+1p0204p0300p0460out r0p0580jmp addrp06007 微程序清單32位微控制代碼說明(“m”代表微指令):mxx xx xx xx xx微地址 32位微指令代碼具體的微程序代碼如下:微地址32位微指令代碼說明0000000080空操作0120006040pc>ar, pc+10200801012ram>bus, bu

6、s>ar03未定義04未定義05未定義0640290280(固定指令)07未定義0800000080用戶自定義單元0900000281sw>r00a800004b0ro>dr10b83000080ro>led0c20006048pc>ar, pc+10d200060c8pc>ar, pc+10e506002a8dr1-dr2>ro0f20006028pc>ar, pc+11080000888ro>dr21140060280dr1-dr2>ro1200c02080ram>pc1300800870ram>dr214008004

7、08ram>dr115000080f2條件測試(cy.z=1)·未定義·未定義·未定義1f00002080pc+18 心得體會本次課程設(shè)計的主要任務(wù)是為現(xiàn)有的模型機設(shè)計指令系統(tǒng)以使其能夠完成一定的運算功能,以鞏固和實踐本學(xué)期所學(xué)習(xí)的理論知識。我沒有單純的為設(shè)計指令而設(shè)計指令,而是采取了以所要實現(xiàn)的功能為驅(qū)動,進而決定需要哪些指令,然后進行設(shè)計,這樣不僅達(dá)到了設(shè)計指令的目的,而且體驗到了指令在實際編程中的工作方式,加深了對機器指令的理解。這次課程設(shè)計我設(shè)計指令實現(xiàn)了if-else語句,在指令設(shè)計的過程中,遇到了一個二分支判斷的問題,我最初設(shè)想了三種方案,經(jīng)過跟

8、同學(xué)討論否定了一種,后又在老師的指導(dǎo)下,分析了另外兩種方案,最終選擇了通過p3測試,在微程序內(nèi)部實現(xiàn)流程轉(zhuǎn)移。這種方法不僅使得指令系統(tǒng)簡單,而且由于采用硬件實現(xiàn),速度很快,而我原來的那兩套方案都是用軟件實現(xiàn)類似功能,速度慢,且邏輯復(fù)雜,不符合指令系統(tǒng)設(shè)計的目標(biāo)和要求。通過這個方案選擇的過程,我加深了指令系統(tǒng)性能要求的理解,對指令系統(tǒng)的工作方式有了更清晰的認(rèn)識。在本次課程設(shè)計之前,我對程序計數(shù)器pc的理解并不深刻,經(jīng)常會將其和微程序的地址控制邏輯弄混。通過這次課程設(shè)計,我才真正理解:pc就是一個地址指針,只能指示內(nèi)存單元。在我設(shè)計的指令系統(tǒng)中,經(jīng)常需要修改pc的值來實現(xiàn)某些功能?,F(xiàn)在我已經(jīng)初步體會到pc的強大功能和在指令執(zhí)行過程中的重要地位。通過這一周的學(xué)習(xí),我對計算機各部件的組成和功能有了一個新

溫馨提示

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

最新文檔

評論

0/150

提交評論