Cache控制器、簡單模型機設(shè)計試驗_第1頁
Cache控制器、簡單模型機設(shè)計試驗_第2頁
Cache控制器、簡單模型機設(shè)計試驗_第3頁
Cache控制器、簡單模型機設(shè)計試驗_第4頁
Cache控制器、簡單模型機設(shè)計試驗_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Cache控制器、簡單模型機設(shè)計實驗北京科技大學(xué)計算機與通信工程學(xué)院實驗報告實驗名稱:學(xué)生姓名:專 業(yè):班 級:學(xué) 號:指導(dǎo)教師:實驗成績:實驗地點:實驗時間:年月日一、實驗?zāi)康呐c實驗要求1、實驗?zāi)康?1) 掌握一個簡單CPU的組成原理;在掌握部件單元電 路的基礎(chǔ)上,進(jìn)一步將其構(gòu)造一臺基本模型計算機;為其定義五條機器指令,編寫相應(yīng)的微程序,并上機調(diào)試。(2) 掌握Cache控制器的原理及其設(shè)計方法; 熟悉FPGA 應(yīng)用設(shè)計及EDA軟件的使用;熟悉Quartusll軟件的使用及 FPGA應(yīng)用設(shè)計。2、實驗要求(1) 用畫圖方式給出簡單模型機實驗接線圖。利用5條機器指令編寫程序,在簡單模型機上運行

2、,并觀察執(zhí)行過程 和結(jié)果。更改指令,使其執(zhí)行一次后能夠停機。(2) 利用Quartusll軟件中完成Cache控制器的設(shè)計, 編譯、仿真、下載并觀察執(zhí)行結(jié)果。二、實驗設(shè)備及要求CM3實驗環(huán)境、Quartus H環(huán)境三、實驗內(nèi)容與步驟1、實驗一實驗原理本實驗要實現(xiàn)一個簡單的 CPU并且在此CPU的基礎(chǔ)上, 繼續(xù)構(gòu)建一個簡單的模型計算機。CPU運算器、微程序控制器、通用寄存器,指令寄存器、程序計數(shù)器和地址寄存器組 成。這個CPU在寫入相應(yīng)的微指令后,就具備了執(zhí)行機器指 令的功能,但是機器指般存放在主存當(dāng)中,CPU必須和主存掛接后,才有實際的意義,所以還需要在該CPU的基礎(chǔ)上增加一個主存和基本的輸入

3、輸出部件,以構(gòu)成一個簡單的 模型計算機。PC_B為三態(tài)門的輸出使能端,CLR連接至CON單元的總清端CLR按下CLR按鈕,將使PC清零,LDPC和T2相與后 作為計數(shù)器的計數(shù)時鐘,當(dāng)LOAD為低時,計數(shù)時鐘到來后將CPU內(nèi)總線上的數(shù)據(jù)打入 PCo本模型機共有五條指令:IN、ADD OUT JMP HLT,其指令格式如下表所示。數(shù)據(jù)通路圖其中,JMP為雙字節(jié)指令,其余均為單字節(jié)指令,* 為addr對應(yīng)的二進(jìn)制地址碼。微程序控制器實驗 的指令是通過手動給出的,現(xiàn)在要求CPU自動從存儲器讀取指令并執(zhí)行。本實驗在微程序控制器實驗的基礎(chǔ)上增加了三 個部件即程序計數(shù)器 PC,地址寄存器 AR,存儲器MEM

4、 當(dāng)擬定“取指”微指令時,該微指令的判別測試字段為P測試。于“取指”微指令是所有微程序都使用的公用微指 令,因此P的測試結(jié)果出現(xiàn)多路分支。本機用指令寄存器的 高6位作為測試條件,出現(xiàn) 5路分支,占用5個固定微地 址單元,剩下的其它地方就可以一條微指令占用控制存儲器 一個微地址單元隨意填寫, 微程序流程圖上的單元地址為16進(jìn)制。當(dāng)全部微程序設(shè)計完畢后,應(yīng)將每條微指令代碼化,下表即為將圖的微程序流程圖按微指令格式轉(zhuǎn)化而成的“二進(jìn)制微代碼表”。簡單模型機微程序流程圖設(shè)計一段機器程序,要求從 IN單元讀入一個數(shù)據(jù),存 于R0,將R0和自身相加,結(jié)果存于 R0,再將R0的值送OUT 單元顯示。根據(jù)要求可

5、以得到如下程序,地址和內(nèi)容均為二 進(jìn)制數(shù),地址內(nèi)容助記符說明:00000000 00100000 ; START: IN RO 從 IN 單元讀入數(shù) 據(jù)送R000000001 00000000 ; ADD R0,R0 R0 和自身相加,結(jié) 果送 R0 00000010 00110000 ; OUT R0 R0 的值送 OUT 單 元顯示 00000011 11100000 ; JMP START 跳轉(zhuǎn)至 00H 地址 00000100 00000000 ;00000101 01010000 ; HLT 停機 實驗步驟 聯(lián)機寫入 和校驗編寫實驗程序,將其導(dǎo)入到CM3實驗環(huán)境中,校驗運行。按照下圖

6、將實驗箱連線聯(lián)機運行利用軟件環(huán)境里的簡單模型機數(shù)據(jù)通路圖。操作實驗箱,觀測指令的執(zhí)行過程,并觀測軟件中地址總線、數(shù)據(jù)總線以及微指令顯示和下位機是否一致。2、實驗二實驗原理本實驗采用的是直接方式,這種變換方式簡單而直接,硬件實現(xiàn)很簡單,訪問速度也比較快,但是塊的沖突率比較 高。其主要原則是:主存中一塊只能映象到Cache的一個特定的塊中。假設(shè)主存的塊號為 B,Cache的塊號為b則它 們之間的映象關(guān)系可以表示為:b = B mod Cb其中,Cb是Cache的塊容量。設(shè)主存的塊容量為Mb,區(qū)容量為Me,則直接映象方法的關(guān)系如圖所示。把主存按Cache的大小分成區(qū),一般主存容量為 Cache容量的

7、整數(shù)倍,主存每一個分區(qū)內(nèi)的 塊數(shù)與Cache的總塊數(shù)相等。直接映象方式只能把主存各個 區(qū)中相對塊號相同的那些塊映象到Cache中同一塊號的那個特定塊中。例如,主存的塊0只能映象到Cache的塊0中,主存的塊1只能映象到Cache的塊1中,同樣,主存區(qū)1中 的塊Cb也只能映象到 Cache的塊0中。根據(jù)上面給出的地 址映象規(guī)則,整個Cache地址與主存地址的低位部分是完全 相同的。直接映象方式的地址變換過程如圖所示,主存地址中的 塊號B與Cache地址中的塊號b是完全相同的。同樣,主 存地址中的塊內(nèi)地址 W與Cache地址中的塊內(nèi)地址 w也是 完全相同的,主存地址比Cache地址長出來的部分稱為

8、區(qū)號 E。在程序執(zhí)行過程中,當(dāng)要訪問Cache時,為了實現(xiàn)主存 塊號到Cache塊號的變換,需要有一個存放主存區(qū)號的小容 量存儲器,這個存儲器的容量與 Cache的塊數(shù)相等,字長為 主存地址中區(qū)號 E的長度,另外再加一個有效位。在主存地址到 Cache地址的變換過程中,首先用主存地 址中的塊號去訪問區(qū)號存儲。把讀出來的區(qū)號與主存地址中 的區(qū)號E進(jìn)行比較,根據(jù)比較結(jié)果和與區(qū)號在同一存儲字中 的有效位情況作出處理。如果區(qū)號比較結(jié)果相等,有效位為 1 '則Cache命中,表示要訪問的那一塊已經(jīng)裝入到Cache中了,這時 Cache地址是正確的。用這個Cache地址去訪問Cache,把讀出來的

9、數(shù)據(jù)送往 CPU其他情況均為 Cache沒 有命中,或稱為Cache失效,表示要訪問的那個塊還沒有裝 入到Cache中,這時,要用主存地址去訪問主存儲器,把讀 出來的一個字送往 CPU同時,把包括被訪問字在內(nèi)的一塊 都從主存儲器中讀出來,送往Cache的相應(yīng)塊。Cache和CPU以及存儲器的連接如圖所示,本實驗要在FPGA中實現(xiàn)Cache及其地址變換邏輯,采用直接相聯(lián)地址變換,只考慮 CPU從Cache讀數(shù)據(jù),不考慮 CPU寫回數(shù)據(jù)的情況。Cache控制器頂層模塊如圖所示,主存地址為A7A0,共8位,區(qū)號E取3位,這樣Cache地址還剩5位,所以 Cache容量為32個單元,塊號 B取3位,那

10、么 Cache分 為8塊,塊內(nèi)地址 W取2位,則每塊為4個單元。圖 中, WCT為寫Cache塊表信號,CLR為系統(tǒng)總清零信號,A7A0為 CPU訪問內(nèi)存的地址,M為 Cache失效信號, CA4CA0為Cache地址,MD7MD(為主存送 Cache的數(shù)據(jù),D7D0為Cache 送CPU數(shù)據(jù),T2為系統(tǒng)時鐘,RD為CPU訪問內(nèi)存讀信號, LA1和LA0為塊內(nèi)地址。主要步驟利用Quartus II 軟件完成對 Cache控制器的設(shè)計, 并且將其編譯運行仿真。連接實驗箱,并完成實驗連線。將編譯仿真成功的文件, 下載到實驗箱內(nèi),測試運行, 并觀察實驗現(xiàn)象。四:實驗結(jié)果與分析1、實驗一停機指令文件;

11、*/ ; / ; /CPU與簡單模型機實驗指令文件/ ; / ; /By TangDu CO.,LTD/ ;/ ;$M 05 04B201;A 加 B->R0 $M 1D 105141;* Start Of Main Memory Data *$P 00 20START: IN RO從IN單元讀入數(shù)據(jù)送 R0 $P 01 00;ADD R0,R0R0和自身相加,結(jié)果送 R0 $P 02 30;OUT R0R0的值送OUT單元顯示 $P 03 E0JMPSTART跳轉(zhuǎn)至00H地址 $P04 05;$P 05 50HLT 停機;* End Of Main Memory Data *;/* S

12、tart Of Microcontroller Data */$M 00 000001; NOP$M01 006D43; PC->AR,PC加 1 $M 03 107070MEM->IR, P $M 04 002405; R0->BMEM->PC $M 30 001404; R0->A$M32 183001;IN->R0$M33 280401; R0->OUT $M 35 000035NOP$M 3C 006D5D; PC->AR,PC 加 1;/* End Of MicroController Data */CM3環(huán)境顯示2、實驗二Cache控

13、制器設(shè)計原理圖及其仿真波形實驗箱運行五:結(jié)論1、實驗結(jié)論通過更改指令,能夠使其執(zhí)行一次運行后停機,并且觀察到來程序的執(zhí)行過程和結(jié)果。掌握了簡單CPU的組成原理,并在此基礎(chǔ)上構(gòu)造出了簡單的模型計算機,并且能夠運 行成功。(2)利用QuartusII軟件完成了 Cache控制器的設(shè)計,編譯仿真通過,下載到了實驗現(xiàn)象, 進(jìn)而掌握了 Cache控制 器的基本原理及其設(shè)計方法。2、討論此次實驗比上次的實驗連線更加復(fù)雜,在經(jīng)歷過上次連線失敗后,我吸取了教訓(xùn),并且在此次實驗中一次就把線連接成功。在Cache控制器的實驗過程,我一直對實驗原理不 夠理解,但是老師通過結(jié)合實驗箱運行過程的講解,幫我解 決了我的疑

14、問。希望自己在以后的實驗過程中,可以加強預(yù) 習(xí);也建議老師以后可以多結(jié)合實驗箱操作講解,這樣同學(xué) 們理解起來比較直觀、印象比較深刻。六、教師評審教師評語實驗成績簽名: 日期:北京科技大學(xué)計算機與通信工程學(xué)院實驗報告實驗名稱:學(xué)生姓名:專 業(yè):班 級:學(xué) 號:指導(dǎo)教師:實驗成績:實驗地點:實驗時間:年 月 日一、實驗?zāi)康呐c實驗要求1、實驗?zāi)康?1)掌握一個簡單CPU的組成原理;在掌握部件單元電 路的基礎(chǔ)上,進(jìn)一步將其構(gòu)造一臺基本模型計算機;為其定 義五條機器指令,編寫相應(yīng)的微程序,并上機調(diào)試。(2)掌握Cache控制器的原理及其設(shè)計方法; 熟悉FPGA 應(yīng)用設(shè)計及EDA軟件的使用;熟悉Quart

15、usll軟件的使用及 FPGA應(yīng)用設(shè)計。2、實驗要求(1) 用畫圖方式給出簡單模型機實驗接線圖。利用5條機器指令編寫程序,在簡單模型機上運行,并觀察執(zhí)行過程 和結(jié)果。更改指令,使其執(zhí)行一次后能夠停機。(2) 利用Quartusll軟件中完成Cache控制器的設(shè)計, 編譯、仿真、下載并觀察執(zhí)行結(jié)果。二、實驗設(shè)備及要求CM3實驗環(huán)境、Quartus H環(huán)境三、實驗內(nèi)容與步驟1、實驗一實驗原理本實驗要實現(xiàn)一個簡單的 CPU并且在此CPU的基礎(chǔ)上, 繼續(xù)構(gòu)建一個簡單的模型計算機。CPU運算器、微程序控制器、通用寄存器,指令寄存器、程序計數(shù)器和地址寄存器組 成。這個CPU在寫入相應(yīng)的微指令后,就具備了執(zhí)

16、行機器指 令的功能,但是機器指般存放在主存當(dāng)中,CPU必須和主存掛接后,才有實際的意義,所以還需要在該CPU的基礎(chǔ)上增加一個主存和基本的輸入輸出部件,以構(gòu)成一個簡單的 模型計算機。PC_B為三態(tài)門的輸出使能端, CLR連接至CON單元的總 清端CLR按下CLR按鈕,將使PC清零,LDPC和T2相與后 作為計數(shù)器的計數(shù)時鐘,當(dāng)LOAD為低時,計數(shù)時鐘到來后將CPU內(nèi)總線上的數(shù)據(jù)打入 PCo本模型機共有五條指令: IN、ADD OUT JMP HLT,其指令格式如下表所示。數(shù)據(jù)通路圖其中,JMP為雙字節(jié)指令,其余均為單字節(jié)指令,* 為addr對應(yīng)的二進(jìn)制地址碼。微程序控制器實驗 的指令是通過手動給

17、出的,現(xiàn)在要求CPU自動從存儲器讀取指令并執(zhí)行。本實驗在微程序控制器實驗的基礎(chǔ)上增加了三 個部件即程序計數(shù)器 PC地址寄存器 AR,存儲器MEM 當(dāng)擬定“取指”微指令時,該微指令的判別測試字段為P測試。于“取指”微指令是所有微程序都使用的公用微指 令,因此P的測試結(jié)果出現(xiàn)多路分支。本機用指令寄存器的 高6位作為測試條件,出現(xiàn) 5路分支,占用5個固定微地 址單元,剩下的其它地方就可以一條微指令占用控制存儲器 一個微地址單元隨意填寫,微程序流程圖上的單元地址為16進(jìn)制。當(dāng)全部微程序設(shè)計完畢后,應(yīng)將每條微指令代碼化,下表即為將圖的微程序流程圖按微指令格式轉(zhuǎn)化而成的“二進(jìn)制微代碼表”。簡單模型機微程序流程圖設(shè)計一段機器程序,要求從IN單元讀入一個數(shù)據(jù),存于R0,將R0和自身相加,結(jié)果存于 R0,再將R0的值送OUT單元顯示。根據(jù)要求可以得到如下程序,地址和內(nèi)容均為二進(jìn)制數(shù),地

溫馨提示

  • 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

提交評論