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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、 當(dāng)擬定“取指”微指令時(shí),該微指令的判別測(cè)試字段為P測(cè)試。于“取指”微指令是所有微程序都使用的公用微指 令,因此P的測(cè)試結(jié)果出現(xiàn)多路分支。本機(jī)用指令寄存器的 高6位作為測(cè)試條件,出現(xiàn) 5路分支,占用5個(gè)固定微地 址單元,剩下的其它地方就可以一條微指令占用控制存儲(chǔ)器 一個(gè)微地址單元隨意填寫, 微程序流程圖上的單元地址為16進(jìn)制。當(dāng)全部微程序設(shè)計(jì)完畢后,應(yīng)將每條微指令代碼化,下表即為將圖的微程序流程圖按微指令格式轉(zhuǎn)化而成的“二進(jìn)制微代碼表”。簡(jiǎn)單模型機(jī)微程序流程圖設(shè)計(jì)一段機(jī)器程序,要求從 IN單元讀入一個(gè)數(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 停機(jī) 實(shí)驗(yàn)步驟 聯(lián)機(jī)寫入 和校驗(yàn)編寫實(shí)驗(yàn)程序,將其導(dǎo)入到CM3實(shí)驗(yàn)環(huán)境中,校驗(yàn)運(yùn)行。按照下圖

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

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

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

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

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

11、*/ ; / ; /CPU與簡(jiǎn)單模型機(jī)實(shí)驗(yàn)指令文件/ ; / ; /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 停機(jī);* 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、實(shí)驗(yàn)二Cache控

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

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

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

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

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

溫馨提示

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