計算機組成原理實驗儀的cache接口設(shè)計_第1頁
計算機組成原理實驗儀的cache接口設(shè)計_第2頁
計算機組成原理實驗儀的cache接口設(shè)計_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

計算機組成原理實驗儀的cache接口設(shè)計

在傳統(tǒng)的計算機組成原理課程中,主儲存器的閱讀和擴展實驗通常只開放。而對于Cache的組成和工作過程,一般只著重于原理性的授課,然而由于Cache的地址映射較為抽象,學(xué)生在準確理解上問題較多,因此,設(shè)置Cache實驗成為必要。在傳統(tǒng)計算機組成原理實驗儀上,通過添加和改進電路,可以開設(shè)Cache實驗。論文就在添加了Cache后,如何實現(xiàn)主存與Cache的接口設(shè)計作了討論。1cache的添加實驗所涉及的組成原理實驗儀屬于開放式、單元化結(jié)構(gòu),這為開設(shè)Cache實驗而進行改進提供可能性。實驗儀包括很多獨立的單元(UNIT),單元之間可以通過排線相連。用于實驗的主存儲器即是一個獨立的單元,主存容量為256×8位(一片6116構(gòu)成)。實驗儀為8位機器,系統(tǒng)總線8位(B7~B0),數(shù)據(jù)總線(D7~D0)和地址總線(A7~A0)復(fù)用??偩€上掛有一個存儲器地址寄存器MAR單元,用于從總線上接收和保存存儲器的8位地址,而存儲器的8位數(shù)據(jù)線則直接掛到總線。在添加了Cache后,系統(tǒng)結(jié)構(gòu)如圖1所示。圖中,存儲器與CPU交換一個數(shù)據(jù)的周期是四個時鐘周期T1~T4,而Cache與CPU交換一個數(shù)據(jù)的周期是兩個時鐘周期T1~T2。Cache容量16B,每行2B,采用2路組相聯(lián)地址映射,寫策略采用寫貫穿法(Write-through),替換算法采用LRU算法。MAR的地址同時提供給主存儲器單元和Cache,Cache的地址映射機構(gòu)則根據(jù)主存地址和CPU讀寫信號WE#,返回讀命中信號RH、讀不命中信號RNH、寫命中信號WH、寫不命中信號WNH,均為高電平有效。當讀命中時,由Cache將8位數(shù)據(jù)送總線;當讀不命中時,由主存將8位數(shù)據(jù)送總線,同時,主存讀出的16位數(shù)據(jù)裝入Cache的行。當寫命中時,總線上的8位數(shù)據(jù)同時寫入主存和Cache(寫貫穿);當寫不命中時,只寫主存,不寫Cache。2基于cache的已發(fā)業(yè)務(wù)分析為增加主存與Cache之間的帶寬,實驗在一片6116存儲器的基礎(chǔ)上,添加一片6116SRAM、兩個總線收發(fā)器和若干門電路,這些電路可以通過面包板搭建,也可以通過CPLD器件實現(xiàn),在此不做討論。圖2給出了主存儲器的結(jié)構(gòu)和接口電路。6116存儲器芯片共有11根地址線和8根數(shù)據(jù)線,但是由于實驗儀的主存容量只有256×8位,因此我們將兩片6116進行位并聯(lián)連接,形成128×16位的主存格局。為此,兩片6116只使用7根地址線,并接自外部地址線A7~A1(由MAR提供)。外部地址線A0用于生成兩個信號:高字節(jié)使能BEH#和低字節(jié)使能BEL#,其邏輯表達式為:由圖上可以看出,BEH#和BEL#既參與兩片6116的片選譯碼,又決定了三態(tài)總線收發(fā)器的收發(fā)和開關(guān)。因此,兩片6116是以兩體交叉的編址方式來組織的。6116的片選信號CS#和寫使能信號WE#,分別由CPU的片選使能CE#和讀寫信號WE#引入,6116的高位地址線A10~A7和輸出使能OE#則接地。首先分析工作時的數(shù)據(jù)通路:(1)在Cache讀命中時,直接從Cache的“字節(jié)數(shù)據(jù)”端口讀出8位數(shù)據(jù)到外部數(shù)據(jù)總線D7~D0(實驗時連至系統(tǒng)總線B7~B0)。(2)當Cache讀未命中時,則從兩片6116讀出16位數(shù)據(jù),一面通過Cache的高低字節(jié)數(shù)據(jù)端口裝入Cache的某一行,另一面通過對應(yīng)的總線收發(fā)器輸出所要訪問的8位數(shù)據(jù)到外部數(shù)據(jù)總線。(3)當發(fā)生寫操作時,由于采用寫貫穿策略,所以無論是否命中Cache,都要寫主存,因此,必須控制對應(yīng)的收發(fā)器,接收數(shù)據(jù)總線上要寫入的8位數(shù)據(jù)。同時,為保證準確寫入高字節(jié)(A0=1)或者低字節(jié)(A0=0),務(wù)必使得兩片6116中只有相應(yīng)的一片的片選有效。另外,當Cache寫命中時,還要通過Cache的“字節(jié)數(shù)據(jù)”端口向Cache寫入數(shù)據(jù)。由以上分析,可以得出兩片6116的片選CS1#和CS0#的真值表,如表1。由此推導(dǎo)出邏輯表達式:對于高低字節(jié)總線收發(fā)器,發(fā)送(相對于主存)控制端CDTOB1#(高字節(jié))、CDTOB0#(低字節(jié))只在Cache讀操作不命中時有效,其真值表如表2所示。對照真值表,控制信號CDTOB1#、CDTOB0#的邏輯表達式為:相對于發(fā)送控制而言,接收控制端CBTOD1#、CBTOD0#則在寫操作時有效,而無論Cache是否命中。其真值表如表3所示。同理,得出控制信號CBTOD1#、CBTOD0#的邏輯表達式為:在這里,總線收發(fā)器可以采用某種雙向三態(tài)緩沖器,例如74LS245等等,此時要根據(jù)芯片的具體情況,相應(yīng)的控制信號可以直接由CDTOB1#、CDTOB0#、CBTOD1#、CBTOD0#通過組合電路產(chǎn)生,在此不再贅述。3監(jiān)控主機的平均速度分析為配合Cache的設(shè)置,對主存進行上述的改造和接口設(shè)計之后,使得Cache能夠在讀訪問不命中時,以原來2倍的數(shù)據(jù)總線寬度與存儲器交換數(shù)據(jù)。因此,在保證Cache自身的高速訪問的基礎(chǔ)上,又進一步提高了CPU訪問主存的平均訪問速度。本文以體現(xiàn)程序訪問的局部性原理的循環(huán)程序為例,分析CPU訪問主存的平均速度。設(shè)時鐘周期的寬度為T,CPU的循環(huán)程序順序訪問主存的m個連續(xù)地址單元,循環(huán)執(zhí)行n遍,若m=10,n=5,則:(1)當系統(tǒng)不設(shè)置Cache時,CPU訪問的總時間(2)當系統(tǒng)設(shè)置Cache后,CPU訪問的總時間(3)當系統(tǒng)設(shè)置Cache并對主存作以上改進后,CPU訪問的總時間表4列出了m和n發(fā)生變化時,三

溫馨提示

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

評論

0/150

提交評論