資源描述:
《高速緩沖存儲器cache的工作原理及技術(shù)實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、桂林理工大學(xué)2013年春季學(xué)期<<計算機組成原理X>>課程論文題目:高速緩沖存儲器Cache的工作原理及技術(shù)實現(xiàn)專業(yè):網(wǎng)絡(luò)工程班級:網(wǎng)絡(luò)11-2班學(xué)號:3110757202姓名:xxx信息科學(xué)與工程學(xué)院2013年7月【內(nèi)容摘要】?緩沖存儲器用在兩個工作速度不同的硬件之間,在交換信息過程中起到緩沖作用,它能提高計算機系統(tǒng)的工作效益。高速緩沖存儲器Cache是架設(shè)在CPU與內(nèi)存之間的臨時存儲器,它的容量比內(nèi)存小但交換速度快,主要用來提高CPU提取數(shù)據(jù)的速度,Cache作為PC系統(tǒng)中一個重要功能部件,已成為評價和選購PC系統(tǒng)的重要指
2、標(biāo),下面主要談?wù)凜ache的原理、設(shè)計及發(fā)展趨勢?!娟P(guān)鍵詞】?Cache?CPU??命中率??映像??局部性原理【前言】我們通常都認為計算機的速度是由CPU決定的,雖然CPU主頻的提升會帶動系統(tǒng)性能的改善,但系統(tǒng)性能的提高不僅僅取決于CPU,還要有其它的硬件或軟件來充分發(fā)揮它的速度,與系統(tǒng)架構(gòu)、指令結(jié)構(gòu)、信息在各個部件之間的傳送速度及存儲部件的存取速度等因素有關(guān),特別是與CPU/內(nèi)存之間的存取速度有關(guān)。我們知道要使用的軟件都要通過主存儲器(內(nèi)存)才能運行,而主存儲器的運行速度和CPU之間有一個數(shù)量級的差距,這就限制了CPU速度
3、潛力的發(fā)揮,若CPU工作速度較高,但內(nèi)存存取速度較低,則造成CPU等待,降低處理速度,浪費CPU的能力。如500MHz的PⅢ,一次指令執(zhí)行時間為2ns,與其相配的內(nèi)存(SDRAM)存取時間為10ns,比前者慢5倍,CPU和PC的性能怎么發(fā)揮出來?如何減少CPU與內(nèi)存之間的速度差異?有4種辦法:一種是在基本總線周期中插入等待,這樣會浪費CPU的能力。另一種方法是采用存取時間較快的SRAM作存儲器,這樣雖然解決了CPU與存儲器間速度不匹配的問題,但卻大幅提升了系統(tǒng)成本。第3種方法是在慢速的DRAM和快速CPU之間插入一速度較快、容
4、量較小的SRAM,起到緩沖作用;使CPU既可以以較快速度存取SRAM中的數(shù)據(jù),又不使系統(tǒng)成本上升過高,這就是Cache法。還有一種方法,采用新型存儲器。目前,一般采用第3種方法。它是PC系統(tǒng)在不大增加成本的前提下,使性能提升的一個非常有效的技術(shù)。高速緩沖存儲器Cache的運行速度高于主存儲器數(shù)倍,與CPU速度差不多,容量較小?!菊摹恳?、高速緩沖存儲器的結(jié)構(gòu)Cache的功能是用來存放那些近期需要運行的指令與數(shù)據(jù)。目的是提高CPU對存儲器的訪問速度。為此需要解決2個技術(shù)問題:一是主存地址與緩存地址的映象及轉(zhuǎn)換;二是按一定原則對C
5、ache的內(nèi)容進行替換。Cache的結(jié)構(gòu)和工作原理如下圖所示。主要由三大部分組成: Cache存儲體:存放由主存調(diào)入的指令與數(shù)據(jù)塊?! 〉刂忿D(zhuǎn)換部件:建立目錄表以實現(xiàn)主存地址到緩存地址的轉(zhuǎn)換。 替換部件:在緩存已滿時按一定策略進行數(shù)據(jù)塊替換,并修改地址轉(zhuǎn)換部件。Cache通常由相聯(lián)存儲器實現(xiàn)。相聯(lián)存儲器的每一個存儲塊都具有額外的存儲信息,稱為標(biāo)簽(Tag)。當(dāng)訪問相聯(lián)存儲器時,將地址和每一個標(biāo)簽同時進行比較,從而對標(biāo)簽相同的存儲塊進行訪問。Cache的3種基本結(jié)構(gòu)如下:??1、全相聯(lián)Cache。地址映象規(guī)則:主存的任意一塊
6、可以映象到Cache中的任意一塊 (1)主存與緩存分成相同大小的數(shù)據(jù)塊?! ?2)主存的某一數(shù)據(jù)塊可以裝入緩存的任意一塊空間中?! ∪嗦?lián)方式的對應(yīng)關(guān)系如下圖所示。如果Cache的塊數(shù)為Cb,主存的塊數(shù)為Mb,則映象關(guān)系共有Cb×Mb種。在全相聯(lián)Cache中,存儲的塊與塊之間,以及存儲順序或保存的存儲器地址之間沒有直接的關(guān)系。程序可以訪問很多的子程序、堆棧和段,而它們是位于主存儲器的不同部位上。因此,Cache保存著很多互不相關(guān)的數(shù)據(jù)塊,Cache必須對每個塊和塊自身的地址加以存儲。當(dāng)請求數(shù)據(jù)時,Cache控制器要把請求地址
7、同所有地址加以比較,進行確認。這種Cache結(jié)構(gòu)的主要優(yōu)點是,它能夠在給定的時間內(nèi)去存儲主存器中的不同的塊,命中率高;缺點是每一次請求數(shù)據(jù)同Cache中的地址進行比較需要相當(dāng)?shù)臅r間,速度較慢,成本高,因而應(yīng)用少。2、直接映像Cache。地址映象規(guī)則:主存儲器中一塊只能映象到Cache的一個特定的塊中?! ?1)主存與緩存分成相同大小的數(shù)據(jù)塊。 (2)主存容量應(yīng)是緩存容量的整數(shù)倍,將主存空間按緩存的容量分成區(qū),主存中每一區(qū)的塊數(shù)與緩存的總塊數(shù)相等?! ?3)主存中某區(qū)的一塊存入緩存時只能存入緩存中塊號相同的位置。直接相聯(lián)映象規(guī)
8、則如下圖直接映像Cache不同于全相聯(lián)Cache,地址僅需比較一次。在直接映像Cache中,由于每個主存儲器的塊在Cache中僅存在一個位置,因而把地址的比較次數(shù)減少為一次。其做法是,為Cache中的每個塊位置分配一個索引字段,用Tag字段區(qū)分存放在Cache位置上的不同的塊