




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)3Cache控制器設(shè)計(jì)1.實(shí)驗(yàn)?zāi)康?1)掌握Cache控制器的原理及其設(shè)計(jì)方法。⑵熟悉FPGA應(yīng)用設(shè)計(jì)及EDA軟件的使用。⑶熟悉Vivado軟件的使用及FPGA應(yīng)用設(shè)計(jì)。2.實(shí)驗(yàn)原理Cache是介于CPU和主存之間的小容量存儲(chǔ)器,包括管理在內(nèi)的全部功能由硬件實(shí)現(xiàn),對(duì)程序員是透明的,在一定程度上解決了CPU和主存之間的速度差異。與主存容量相比,Cache的容量很小,它保存的內(nèi)容只是內(nèi)存內(nèi)容的一個(gè)子集,且Cache與主存的數(shù)據(jù)交互以塊為單位。把主存中的塊放到Cache中時(shí)必須把主存地址映射到Cache中,即確定位置的對(duì)應(yīng)關(guān)系,并采用硬件實(shí)現(xiàn),以便CPU給出的訪(fǎng)存地址能夠自動(dòng)變換成Cache地址。由于程序訪(fǎng)問(wèn)的局部性,使得主存的平均讀出時(shí)間接近Cache的讀出時(shí)間,大大提高了CPU的訪(fǎng)存效率。地址映射方式有全相聯(lián)方式、直接相聯(lián)方式、組相聯(lián)方式,本實(shí)驗(yàn)采用的是直接方式,這種變換方式簡(jiǎn)單而直接,硬件實(shí)現(xiàn)很簡(jiǎn)單,訪(fǎng)問(wèn)速度也比較快,但是塊的沖突率比較高。其主要原則是:主存中一塊只能映象到Cache的一個(gè)特定的塊中。假設(shè)主存的塊號(hào)為B,Cache的塊號(hào)為b,則它們之間的映象關(guān)系可以表示為:b=BmodCb其中,Cb是Cache的塊容量。設(shè)主存的塊容量為Mb,區(qū)容量為Me,則直接映象方法的關(guān)系如圖3.19所示。把主存按Cache的大小分成區(qū),一般主存容量為Cache容量的整數(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(在區(qū)1中的相對(duì)塊號(hào)是0)也只能映象到Cache的塊0中。根據(jù)上面給出的地址映象規(guī)則,整個(gè)Cache地址與主存地址的低位部分是完全相同的。
圖"工-1直蝴聯(lián)映象方式直接映象方式口"凹皿文伏乩底如國(guó)■L〃|力、,±1十工凹月L十皿小節(jié)Dmcache地址中的塊號(hào)b是完全相同的。同樣,主存地址中的塊內(nèi)地址W與Cache地址中的塊內(nèi)地址w也是完全相同的,主存地址比Cache地址長(zhǎng)出來(lái)的部分稱(chēng)為區(qū)號(hào)E。在程序執(zhí)行過(guò)程中,當(dāng)要訪(fǎng)問(wèn)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地址的變換過(guò)程中,首先用主存地址中的塊號(hào)去訪(fǎng)問(wèn)區(qū)號(hào)存儲(chǔ)器(按地址訪(fǎng)問(wèn))。把讀出來(lái)的區(qū)號(hào)與主存地址中的區(qū)號(hào)E進(jìn)行比較,根據(jù)比較結(jié)果和與區(qū)號(hào)在同一存儲(chǔ)字中的有效位情況作出處理。如果區(qū)號(hào)比較結(jié)果相等,有效位為1則Cache命中,表示要訪(fǎng)問(wèn)的那一塊已經(jīng)裝入到Cache中了,這時(shí)Cache地址(與主存地址的低位部分完全相同)是正確的。用這個(gè)Cache地址去訪(fǎng)問(wèn)Cache,把讀出來(lái)的數(shù)據(jù)送往CPU。其他情況均為Cache沒(méi)有命中,或稱(chēng)為Cache失效,表示要訪(fǎng)問(wèn)的那個(gè)塊還沒(méi)有裝入到Cache中,這時(shí),要用主存地址去訪(fǎng)問(wèn)主存儲(chǔ)器,把讀出來(lái)的一個(gè)字送往CPU,同時(shí),把包括被訪(fǎng)問(wèn)字在內(nèi)的一塊都從主存儲(chǔ)器中讀出來(lái),送往Cache的相應(yīng)塊。Cache和CPU以及存儲(chǔ)器的連接如圖3所示,本實(shí)驗(yàn)要在FPGA中實(shí)現(xiàn)Cache及其地址變換邏輯(也叫Cache控制器),采用直接相聯(lián)地址變換,只考慮CPU從Cache讀數(shù)據(jù),不考慮CPU寫(xiě)回?cái)?shù)據(jù)的情況。Cache控制器頂層模塊如圖4所示,主存地址為AA0,8位,區(qū)號(hào)E取3位,這樣Cache地址還剩5位,所以Cache容量為32個(gè)單元,塊號(hào)B取3位,那么Cache分為8塊,塊內(nèi)地址W取2位,則每塊為4個(gè)單元。圖4中,WCT為寫(xiě)Cache塊表信號(hào),CLR為系統(tǒng)總清零信號(hào),A A為CPU訪(fǎng)問(wèn)內(nèi)存的地址,M為Cache失效信號(hào),CA4CA0為Cache地址,MD MD0為主存送Cache的數(shù)據(jù),D D為Cache送CPU數(shù)據(jù),T2為系統(tǒng)時(shí)鐘,RD為CPU訪(fǎng)問(wèn)內(nèi)存讀信號(hào),LA1和LA0為塊內(nèi)地址。ace
3.實(shí)驗(yàn)內(nèi)容(1)在Vivado軟件中,使用D觸發(fā)器作為存儲(chǔ)一個(gè)二進(jìn)制代碼的存儲(chǔ)單元,設(shè)計(jì)一個(gè)8位的存儲(chǔ)單元模塊,按照基于硬件描述語(yǔ)言的設(shè)計(jì)流程輸入該電路,進(jìn)行編譯、仿真驗(yàn)證后生成存儲(chǔ)單元模塊供上層設(shè)計(jì)調(diào)用。⑵根據(jù)對(duì)實(shí)驗(yàn)原理的描述,使用這個(gè)8位的存儲(chǔ)單元構(gòu)成一個(gè)32*8位的Cache存儲(chǔ)體,并在Vivado軟件中實(shí)現(xiàn)該電路,進(jìn)行編譯、仿真驗(yàn)證后生成Cache存儲(chǔ)體模塊供上層調(diào)用。(3)參照上面兩步,在Vivado軟件中實(shí)現(xiàn)一個(gè)4位的存儲(chǔ)單元模塊;然后使用這個(gè)4位存儲(chǔ)單元構(gòu)成一個(gè)8*4位的區(qū)表存儲(chǔ)器,用來(lái)存放區(qū)號(hào)和有效位。由圖2可知,還需要實(shí)現(xiàn)一個(gè)區(qū)號(hào)比較器,如果主存地址的區(qū)號(hào)E和區(qū)表中相應(yīng)單元中的區(qū)號(hào)相等,且有效位為1,則Cache命中,否則Cache失效,標(biāo)志位為M,M為0時(shí)表示Cache失效。最后,編譯、仿真驗(yàn)證后生成區(qū)表存儲(chǔ)器模塊供上層調(diào)用。(4)當(dāng)Cache命中時(shí),就將Cache存儲(chǔ)體中相應(yīng)單元的數(shù)據(jù)送往CPU,這個(gè)過(guò)程比較簡(jiǎn)單;當(dāng)Cache失效時(shí),需要將主存中相應(yīng)塊中的數(shù)據(jù)讀出寫(xiě)入Cache中,這樣Cache控制器就要產(chǎn)生訪(fǎng)問(wèn)主存儲(chǔ)器的地址和主存儲(chǔ)器的讀信號(hào),由于每塊占4個(gè)單元,所以需要連續(xù)訪(fǎng)問(wèn)4次主存,這就需要一個(gè)低地址發(fā)生器。在Vivado軟件中,按照基于VerilogHDL的設(shè)計(jì)流程輸入一個(gè)2位計(jì)數(shù)器,用于產(chǎn)生低2位地址00~11,進(jìn)行編譯、仿真驗(yàn)證后生成低地址發(fā)生器模塊供上層調(diào)用。⑸將產(chǎn)生的低2位地址和CPU給出的高6位地址組合起來(lái),形成訪(fǎng)問(wèn)主存儲(chǔ)器的地址,M可以作為主存的讀信號(hào)。這樣在時(shí)鐘T2的控制下,就可以將主存中相應(yīng)的塊寫(xiě)入Cache的相應(yīng)塊中,最后再修改區(qū)表。在Vivado軟件中,參照?qǐng)D4給出的Cache存儲(chǔ)器頂層模塊,按照基
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于降碳減污協(xié)同的電力行業(yè)發(fā)電端轉(zhuǎn)型研究
- 社保繳費(fèi)率對(duì)就業(yè)的影響研究
- 加盟美業(yè)合同范例
- 代加工鋼材合同范例
- 個(gè)人結(jié)算合同范例
- 公房購(gòu)買(mǎi)合同范例
- 其他貿(mào)易合同范例
- 臨時(shí)招聘人員合同范例
- 代注冊(cè)免責(zé)合同范例
- 修路借款合同范本
- 上海倚海電力工程有限公司“4.17”高處墜落死亡事故調(diào)查報(bào)告
- 監(jiān)理工程師培訓(xùn)課件(共8)-2024鮮版
- 基于消費(fèi)者行為的社交電商營(yíng)銷(xiāo)策略研究分析-以小紅書(shū)和拼多多為例對(duì)比分析 電子商務(wù)管理專(zhuān)業(yè)
- 上海交通大學(xué)無(wú)機(jī)化學(xué)課件第八章第二部分
- 星巴克新員工培訓(xùn)手冊(cè)
- 《中國(guó)缺血性卒中和短暫性腦缺血發(fā)作二級(jí)預(yù)防指南2022》解讀
- 2024年西安電力高等專(zhuān)科學(xué)校高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 袁家村招商策劃方案
- 天龍八部礦石分布圖
- 光伏電站運(yùn)維安全培訓(xùn)內(nèi)容
- 丹尼斯人事規(guī)章(10年基層)崗前培訓(xùn)
評(píng)論
0/150
提交評(píng)論