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

下載本文檔

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

文檔簡介

1、南通大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)組成原理課程設(shè)計報 告 書課 題 名 模型計算機(jī)的設(shè)計與實現(xiàn) 班 級 計123班 姓 名 流星雪雨 學(xué) 號 1213022073 指導(dǎo)教師 顧輝 日 期 2014.6.23 2014.6.27 目錄 1 設(shè)計目的12 設(shè)計內(nèi)容13 設(shè)計要求14 數(shù)據(jù)格式與指令系統(tǒng)24.1 數(shù)據(jù)格式24.2 指令系統(tǒng)25 設(shè)計原理與電路圖(包括總框圖、微程序控制器的邏輯圖、電路圖和封裝圖)35.1 總的邏輯框圖:35.2 微程序控制器:45.2.1 地址轉(zhuǎn)移邏輯圖45.2.2 微程序控制器邏輯圖55.3 PC計數(shù)器75.4 時序產(chǎn)生器85.5 總的邏輯組成圖(運(yùn)算器和存儲器不再

2、說明):95.5.1 邏輯圖及波形文件95.5.2 初始化數(shù)據(jù)106 微程序流程圖、代碼表126.1 微程序流程圖:126.2代碼表:137系統(tǒng)調(diào)試情況148 設(shè)計總結(jié)與體會149 參考文獻(xiàn)151 設(shè)計目的1融會貫通教材各章的內(nèi)容,通過知識的綜合運(yùn)用,加深對計算機(jī)系統(tǒng)各模塊的工作原理及相互聯(lián)系的認(rèn)識,加深計算機(jī)工作中“時間-空間”概念的理解,從而清晰地建立計算機(jī)的整機(jī)概念。2學(xué)習(xí)設(shè)計和調(diào)試計算機(jī)的基本步驟和方法,培養(yǎng)科學(xué)研究的獨(dú)立工作能力,取得工程設(shè)計和調(diào)試的實踐和經(jīng)驗。2 設(shè)計內(nèi)容1根據(jù)給定的數(shù)據(jù)格式和指令系統(tǒng),設(shè)計一臺微程序控制的模型計算機(jī)。2根據(jù)設(shè)計圖,在QUARTUS II環(huán)境下仿真調(diào)

3、試成功。3在調(diào)試成功的基礎(chǔ)上,整理出設(shè)計圖紙和相關(guān)文件,包括:(1)總框圖(數(shù)據(jù)通路圖);(2)微程序控制器邏輯圖;(3)微程序流程圖;(4)微程序代碼表;(5)設(shè)計說明書及工作小結(jié)。3 設(shè)計要求(1)對指令系統(tǒng)中的各條指令進(jìn)行分析,得出所需要的占領(lǐng)周期與操作序列,以便確定各器件的類型和數(shù)量;(2)設(shè)計總框圖草圖,進(jìn)行各邏輯部件之間的互相連接,即初步確定數(shù)據(jù)通路,使得由指令系統(tǒng)所要求的數(shù)據(jù)通路都能實現(xiàn),并滿足技術(shù)指標(biāo)的要求;(3)檢查全部指令周期的操作序列,確定所需要的控制點(diǎn)和控制信號;(4)檢查所設(shè)計的數(shù)據(jù)通路,盡可能降低成本,簡化線路,優(yōu)化性能。 以上過程可以反復(fù)進(jìn)行,以便得到一個較好的方

4、案。4 數(shù)據(jù)格式與指令系統(tǒng)4.1 數(shù)據(jù)格式數(shù)據(jù)字規(guī)定采用定點(diǎn)整數(shù)補(bǔ)碼表示法,字長8位,其中最高位為符號位,其格式如下:76 5 4 3 2 1符號位尾 數(shù)4.2 指令系統(tǒng)本實驗設(shè)計使用5條機(jī)器指令,其格式與功能說明如下:7 6543210IN0 0100000ADD01000000ASTA01100000AOUT10000000AJMP10100000A IN指令為單字長(字長為8bits)指令,其功能是將數(shù)據(jù)開關(guān)的8位數(shù)據(jù)輸入到R0寄存器。 ADD指令為雙字長指令,第一個字為操作碼,第二個字為操作數(shù)地址,其功能是將R0寄存器的內(nèi)容與內(nèi)存中地址為A的數(shù)相加,結(jié)果存放在R0寄存器中。 STA指令

5、為雙字長指令,第一個字為操作碼,第二個字為操作數(shù)地址,其功能是將R0寄存器中的內(nèi)容存儲到以第二個字為地址的內(nèi)存單元中。 OUT指令為雙字長指令,第一個字為操作碼,第二個字為操作數(shù)地址,其功能是將內(nèi)存中以第二個字為地址的內(nèi)存單元中的數(shù)據(jù)讀出到數(shù)據(jù)總線,顯示之。 JMP指令為雙字長指令,第一個字為操作碼,第二個字為操作數(shù)地址,其功能是程序無條件轉(zhuǎn)移到第二個字指定的內(nèi)存單元地址。5 設(shè)計原理與電路圖(包括總框圖、微程序控制器的邏輯圖、電路圖和封裝圖)5.1 總的邏輯框圖:通過這個邏輯框圖,可以看出整個模型機(jī)的設(shè)計主要是微程序控制器,PC計數(shù)器,時序產(chǎn)生器三個部分,然后再結(jié)合前面的設(shè)計好的控制器和存儲

6、器的部分,就可以設(shè)計好這個模型機(jī)的邏輯圖。微控制信號說明:nROM_BUS:ROM數(shù)據(jù)輸出到總線控制信號,低電平有效。nRAM_BUS:RAM數(shù)據(jù)輸出到總線控制信號,低電平有效。m:加、減法選擇控制信號,為1做加法,為0做減法。nSW_BUS:數(shù)據(jù)輸入到總線控制信號,低電平有效。LDN:PC置數(shù)控制信號,低電平有效。nCS:RAM片選信號。(此信號的有效值根據(jù)所用RAM器件特性來定)WE:RAM寫信號,高電平時做寫操作。LDR0:數(shù)據(jù)打入R0鎖存控制信號,脈沖上升沿有效。LDDR1:數(shù)據(jù)打入R1鎖存控制信號,脈沖上升沿有效。LDDR2:數(shù)據(jù)打入R2鎖存控制信號,脈沖上升沿有效。LDIR:數(shù)據(jù)打

7、入IR鎖存控制信號,脈沖上升沿有效。LDPC:數(shù)據(jù)打入PC鎖存控制信號,脈沖上升沿有效。LDAR:數(shù)據(jù)打入AR控制信號,脈沖上升沿有效。nALU_BUS:運(yùn)算器ALU結(jié)果輸出到總線控制信號,低電平有效。nPC_BUS,低電平有效。nR0_BUS,低電平有效。以下封裝成的芯片的信號不再贅述。5.2 微程序控制器:5.2.1 地址轉(zhuǎn)移邏輯圖封裝成芯片:對其生成波形文件如下:由波形文件可以總結(jié)看出clr是總的清零端,當(dāng)其為零時輸出始終為0,當(dāng)其為1時,邏輯地址轉(zhuǎn)移器正常工作,T2,T4為脈沖控制端,上升沿有效。當(dāng)PRN的控制端為1時,輸入等于輸出,當(dāng)PRN的控制端為0時,輸出始終為1,p1端則是指令

8、的譯碼端,當(dāng)其為1時,指令產(chǎn)生譯碼,根據(jù)指令的操作碼來確定指令執(zhí)行的第一條微指令的地址。當(dāng)p1端為0時不譯碼,直接指向下一條微指令的地址。5.2.2 微程序控制器邏輯圖封裝成芯片:對該圖進(jìn)行波形文件測試:分析波形文件可以得出:通過給定指令操作碼,可以看出我設(shè)計的微指令的微命令信號的情況。之后的總得電路圖不再顯示每條指令的微命令信號。5.3 PC計數(shù)器封裝成芯片:對其產(chǎn)生波形文件:分析該波形文件可以得出:LDPC是計數(shù)端,默認(rèn)從00開始計數(shù),每次經(jīng)過CLK的上升沿脈沖計數(shù)器進(jìn)行+1操作。LDN為置數(shù)控制端,當(dāng)其為1時,計數(shù)器將從設(shè)置的數(shù)據(jù)值開始進(jìn)行+1計數(shù)。5.4 時序產(chǎn)生器封裝成芯片:對其產(chǎn)生

9、波形文件:分析波形文件可以得出:當(dāng)控制端startup為0時,stop為0或者1時都會產(chǎn)生正確的時序電路,產(chǎn)生時序信號對通路的部件加以控制,以避免單總線上各個部件之間數(shù)據(jù)傳輸產(chǎn)生沖突,一個CPU周期包含4個時鐘脈沖,四個時鐘脈沖依次產(chǎn)生。一條微指令如果需要同時使用兩個或以上的脈沖信號時,一定要注意脈沖信號的產(chǎn)生的先后順序。當(dāng)控制端startup為1時,stop為0時,則會停止脈沖信號的產(chǎn)生。5.5 總的邏輯組成圖(運(yùn)算器和存儲器不再說明):5.5.1 邏輯圖及波形文件對其產(chǎn)生波形文件:5.5.2 初始化數(shù)據(jù)微指令的儲存情況(十六進(jìn)制表示):ROM的初始化數(shù)據(jù)(存放指令操作碼):RAM的初始化數(shù)

10、據(jù)(存放操作數(shù)地址以及操作數(shù)):5.5.3 指令的具體分析IN指令:PC計數(shù)器+1,此時為01,執(zhí)行第01條微指令,從ROM中取出操作碼20H通過P字段譯碼轉(zhuǎn)到第09條微指令,將輸入的數(shù)據(jù)送到R0中,執(zhí)行公操作。ADD指令:PC為02H,從ROM的02單元取出操作碼40H通過譯碼轉(zhuǎn)移到第10條微指令從RAM的02H單元取出操作數(shù)的地址08H送到AR寄存器,接著第3條微指令從RAM的08單元取出操作數(shù)13H送到DR1,執(zhí)行第四條微指令將R0寄存器中的數(shù)送到DR2,執(zhí)行第5條微指令將和數(shù)送到R0,執(zhí)行公操作。STA指令:PC為03H,從ROM的03單元取出操作碼60H通過譯碼轉(zhuǎn)移到第11條微指令,

11、從RAM的03H單元中取出操作數(shù)地址09H,送到寄存器AR,執(zhí)行第6條微指令將R0中的數(shù)據(jù)存放到RAM的09H地址單元中,執(zhí)行公操作。OUT指令:PC為04H,從ROM的04單元取出操作碼80H通過譯碼轉(zhuǎn)移到第12條微指令,從RAM的04H單元中取出操作數(shù)地址09H,送到寄存器AR,執(zhí)行第7條微指令將RAM的09H地址單元的數(shù)輸出到總線上去,執(zhí)行公操作。JMP指令:PC為05H,從ROM的05單元取出操作碼A0H通過譯碼轉(zhuǎn)移到第13條微指令,從RAM的05H單元中取出操作數(shù)地址0AH,送到寄存器AR,執(zhí)行第8條微指令將PC計數(shù)器的值置數(shù)為0AH單元的數(shù)值01,執(zhí)行公操作。6 微程序流程圖、代碼

12、表6.1 微程序流程圖:6.2代碼表:微指令地址nROM_BUSnRAM_BUSmnSW_BUS LDNnCSWELDR0LDDR1LDDR2LDIRLDPCLDARnALU_BUSnPC_BUSnR0_BUSP1ad4ad3ad2ad1ad02120191817161514131211109876543210000000000000100000000011000000000001101000001021000000000100000101000301000100100000000001004000000000100000100010150000000100000100000001600000

13、11000000001000001701000100000000000000018010011000001000000000190001000100000000000001100100010000001000000011110100010000001000000110120000010000001000000111130000010000001000000100微指令分析:其中00微指令是默認(rèn)開始的,從儲存器中取出第一條微指令。0102表示的是公操作指令,就是從ROM中取出每條指令的操作碼,P1字段為1,進(jìn)行譯碼操作,找到對應(yīng)的微指令的地址。每次都是讓其跳轉(zhuǎn)到第八條指令的后面去尋找正確的微指令

14、地址。第9條表示的是IN指令的微指令,第10,3,4,5表示的是ADD指令的微指令,第11,6表示的是STA指令的微指令,第12,7表示的是OUT指令的微指令,第13,8表示的是JMP指令的微指令,其中JMP指令對PC計數(shù)器進(jìn)行置數(shù),使其模型機(jī)轉(zhuǎn)移到IN指令如此循環(huán)的執(zhí)行。每一條微指令的后5位通過P1字段的控制用來指示下一條微指令的地址,其他各個數(shù)據(jù)位相應(yīng)的各個器件的控制信號。7系統(tǒng)調(diào)試情況(1) 一開始并沒有對D觸發(fā)器有很深刻的認(rèn)識,所以對其的控制端的作用不是很了解,以致對整個地址邏輯轉(zhuǎn)移圖沒有完全理解。然后我通過對單獨(dú)的一個D觸發(fā)器進(jìn)行波形測試調(diào)試,通過結(jié)果分析出D觸發(fā)器各控制端的作用,并

15、完全理解邏輯地址轉(zhuǎn)移的情況。我通過譯碼端P字段讓指令操作碼與普通邏輯地址0100B進(jìn)行譯碼得出新的邏輯地址,方便微指令的執(zhí)行。(2) 對于在畫邏輯電路圖時,一定要注意,如果要用總線對相同類型的控制端進(jìn)行集合,總線的命名一定要和集合中的相同,而且屬于同一個總線的命名一定要一致,不同的總線的命名一定不能相同。在這一方面我也有栽過很大的跟頭。(3) 在設(shè)計微指令的時候,如果一條微指令使用了不同的時鐘脈沖,一定有注意時鐘脈沖的先后關(guān)系。(4) 在創(chuàng)建MIF文件時一定要注意地址單元和數(shù)據(jù)單元的進(jìn)制位,不能搞混,要在正確的地址單元中寫入正確的數(shù)據(jù)值。(5) 每次在進(jìn)行波形文件的調(diào)試的時候,要首先更新一下更

16、改過的的MIF文件才能有作用,否則是在以前的MIF文件下的生成的波形文件。(6) 在PC計數(shù)器中要注意每次計數(shù)和置數(shù)的條件,以及時鐘脈沖的設(shè)置。在這里我還是弄得不太明白,還需要進(jìn)一步的了解和研究。8 設(shè)計總結(jié)與體會在這短短的一周時間內(nèi),我通過自己的不斷學(xué)習(xí)和在老師的指導(dǎo)與同學(xué)的幫助下,終于成功的完成了這個課程設(shè)計,雖然時間很緊張,但是在這個過程中我還是學(xué)習(xí)到了很多的東西。在設(shè)計的過程中我深深地體會到看起來不難的東西其實設(shè)計起來是相當(dāng)復(fù)雜的,萬萬不能眼高手低,而且必須要有足夠的耐心才能做得好做得完美。由于時間有限,我只是按照課程設(shè)計的要求設(shè)計出了5條指令。而且指令設(shè)計的淺顯易懂,在之后有興趣的話我會設(shè)計出多的指令出來,從而進(jìn)一步發(fā)現(xiàn)問題解決問題,對計算機(jī)組成原理做更深的了解和研究。我在設(shè)計的過程中將指令的操作碼放到了ROM的存儲器中,將指令的操作數(shù)地址和數(shù)據(jù)值放到了RAM的存儲器中,這樣可以方便分析和各項操作的正確進(jìn)行,可是不利于計算機(jī)的存儲工作。在后續(xù)的工作中,可以考慮把他們放在一起,這樣就更加結(jié)合實際需要。在

溫馨提示

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

評論

0/150

提交評論