5.高級計算機(jī)系統(tǒng)結(jié)構(gòu)-高速緩存_第1頁
5.高級計算機(jī)系統(tǒng)結(jié)構(gòu)-高速緩存_第2頁
5.高級計算機(jī)系統(tǒng)結(jié)構(gòu)-高速緩存_第3頁
5.高級計算機(jī)系統(tǒng)結(jié)構(gòu)-高速緩存_第4頁
5.高級計算機(jī)系統(tǒng)結(jié)構(gòu)-高速緩存_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

附:高速緩沖存儲器(Cache)

概述①

Cache的起源和作用—MOS工藝半導(dǎo)體存儲器—雙極型高速存儲器—零等待時間—Cache與內(nèi)存的工作流程CPUCache命中內(nèi)存不命中高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器1②程序特征與Cache的讀寫怎樣判斷哪些數(shù)據(jù)和程序代碼是經(jīng)常被訪問的?“程序執(zhí)行的局部性規(guī)律”

高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器描述:表現(xiàn)為那些最近被使用過的數(shù)據(jù)和指令被頻繁重新使用的規(guī)律。統(tǒng)計值例:統(tǒng)計表明:在一個程序的執(zhí)行過程中,執(zhí)行時間的90%花在約10%的程序代碼上。對Gcc編譯器、Spice(CAD電路分析軟件)、以及TeX(文本處理軟件)三個典型測試程序的測試結(jié)果,相應(yīng)的比例分別為:13%、9.5%、9.3%2包括:時間局部性規(guī)律和空間局部性規(guī)律—時間局部性規(guī)律:

程序執(zhí)行過程中近期被訪問的信息可能很快將被再次訪問;

典型情況是程序中存在著大量的循環(huán)?!臻g局部性規(guī)律:

那些與被訪問的地址相鄰近的信息可能很快被訪問;

典型情況是程序順序執(zhí)行。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器3按照“局部性規(guī)律”,數(shù)據(jù)或者代碼被訪問后,該數(shù)據(jù)和代碼以及臨近的數(shù)據(jù)代碼近期被再次訪問的概率,大于近期未被訪問的數(shù)據(jù)/代碼被訪問的概率。

因此,一個數(shù)據(jù)代碼被訪問后,被認(rèn)為是經(jīng)常被訪問的數(shù)據(jù)和代碼,將其存入Cache,使Cache有更高的命中率。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器4程序執(zhí)行的局部性規(guī)律具有普適性,如:

LRU淘汰算法

動態(tài)分支預(yù)測技術(shù)

內(nèi)存中存放近期被訪問的頁表,大多數(shù)情況都能夠滿足應(yīng)用需求

80386/486處理器的TLB表命中率超過90%。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器5③命中率

Cache容量與命中率

Cache的結(jié)構(gòu)與命中率

與軟件以及所處理的數(shù)據(jù)量大小成反比④Cache的淘汰算法

先進(jìn)先出算法

隨機(jī)淘汰

LRU(最近最久未使用淘汰)算法

LFU算法(訪問次數(shù)最少的內(nèi)容被淘汰)⑤Cache命中與否的判斷

通過判斷該數(shù)據(jù)/代碼的地址是否在Cache中,而不是判斷該數(shù)據(jù)/代碼本身。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器6一、高速緩存的結(jié)構(gòu)及工作原理高速緩存的三種主要結(jié)構(gòu):

全關(guān)聯(lián)式高速緩存

直接對應(yīng)式高速緩存

多組關(guān)聯(lián)式高速緩存

高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器71、全關(guān)聯(lián)式高速緩存

高速緩存由兩部分組成,即地址部分(稱為標(biāo)簽)和數(shù)據(jù)部分,如下圖所示(假設(shè)地址24位,字長32位):高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器8標(biāo)簽(地址)......數(shù)據(jù)......24682468112233443333222287654321

12345678內(nèi)存FFFFFCFFFFF8FFFFF416339C000000.....…...........地址FFFFFC000000FFFFF416339CFFFFF8假設(shè):處理器讀取FFFFFC地址單元,首先用該地址查找Cache,不命中。Cache將數(shù)據(jù)24682468讀入處理器,同時將地址FFFFFC寫入Cache標(biāo)簽字段,對應(yīng)數(shù)據(jù)24682468寫入Cache數(shù)據(jù)字段。9處理器對存貯器的訪問過程:讀操作:CPU發(fā)出地址后,首先查找Cache的標(biāo)簽字段,如果存在該地址(命中Cache),讀取Cache中該地址對應(yīng)的數(shù)據(jù)本分;若不存在該地址(稱為不命中),仍從主存單元中讀取數(shù)據(jù),并同時將該地址和對應(yīng)的數(shù)據(jù)分別寫入Cache的標(biāo)簽字段和數(shù)據(jù)部分。上述過程符合“程序?qū)嵭械臅r間局部性規(guī)律”,如果下次再訪問該地址,即可命中。寫操作:CPU寫數(shù)據(jù)時,首先查找Cache,有該地址則命中,將該數(shù)據(jù)寫入Cache而不寫內(nèi)存。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器10全關(guān)聯(lián)式的優(yōu)缺點分別是:優(yōu)點:直觀、結(jié)構(gòu)簡單,Cache中數(shù)據(jù)的存放位置靈活。缺點:速度慢,Cache越大,速度越慢。平均查找次數(shù)為Cache容量的一半。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器11假設(shè):2、直接對應(yīng)式高速緩存主存容量16M(24位地址),Cache容量為64K,字長32位。

將16M內(nèi)存空間邏輯上分為每64K為一個頁面,共計可分為16M64K=256(個頁面);

將存儲空間的地址看作一個二維的地址,即頁號和頁內(nèi)地址;與內(nèi)存二維地址相對應(yīng),Cache中的地址也分為頁號和頁內(nèi)地址,分別稱為標(biāo)簽字段

(即頁號)和索引字段(即頁內(nèi)地址)

。①結(jié)構(gòu)及工作原理高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器12

對于所有總共256頁,需要8位地址作為標(biāo)簽(即地址的高8位A23~A16),指明訪問哪一個頁面;每頁64K。需要16位地址作為頁內(nèi)地址A15~

A0

,指明訪問一頁的哪個單元。如下圖所示:標(biāo)簽索引...頁面頁面頁面指示某一單元指示某一頁面高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器13索引FFFCFFF8FFF4000800040000....標(biāo)簽....數(shù)據(jù)....FFFCFFF8

0000........FFFCFFF8

00040000.......FFFCFFF8

0000....尋址過程:以讀取01FFF8單元為例譯碼地址的低16位FFF8,找到索引位置,取地址的高8位01與FFF8對應(yīng)的標(biāo)簽字段相比較,相等則命中,不相等則不命中。FF頁01頁00頁0101FF321214②特征說明

所有頁面的相同頁內(nèi)地址競爭同一標(biāo)簽字段即只要索引值相同,256個頁面的頁地址競爭該索引值對應(yīng)的標(biāo)簽字段;

索引不變,只需修改標(biāo)簽字段索引字段保持不變,變化的是標(biāo)簽(即頁號)和數(shù)據(jù)部分。由于索引值不變,因此索引值不需要比較,一次譯碼即可找到。

只比較一次用CPU給出地址的高8(即頁號)與標(biāo)簽字段比較,相等則命中,不相等則不命中。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器15③優(yōu)缺點說明

優(yōu)點

一次比較即可判斷命中與否,速度快。

缺點

數(shù)據(jù)位置固定,靈活性差;

由于“程序執(zhí)行的時間局部性規(guī)律”,命中率可能很低。比如:反復(fù)且輪流讀取索引值相同但標(biāo)簽不同的兩個或多個單元(比如01FFF8和12FFF8,可能出現(xiàn)命中率為0(如果采用全關(guān)聯(lián)式結(jié)構(gòu),則每次都能命中)。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器163、多組關(guān)聯(lián)式高速緩存

包括雙組關(guān)聯(lián)、四組關(guān)聯(lián)、八組關(guān)聯(lián)等。①結(jié)構(gòu)及工作原理全關(guān)聯(lián)式與直接對應(yīng)式的結(jié)合。以雙組關(guān)聯(lián)為例,假設(shè):內(nèi)存16M,Cache64K。

將64K的頁面邏輯上再分為兩個32K。64KFFFC000032K7FFC000032K7FFC0000......高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器17對于32K頁面,頁內(nèi)地址只需要15位,共512個頁面,需要9位地址作標(biāo)簽。相對于直接對應(yīng)式的一個64K的頁面來說,雙組關(guān)聯(lián)的構(gòu)造形式下圖所示:高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器18標(biāo)簽001

032012

...標(biāo)簽101

132112

...7FFC7FF800040000索引7FFC7FF800040000索引數(shù)據(jù)部分?jǐn)?shù)據(jù)部分說明:①分為兩組后,相當(dāng)于同一索引字段競爭兩個標(biāo)簽位置,使競爭減少一半;②如果采用四組關(guān)聯(lián),則應(yīng)將64K分為4個16K,依此類推;③如果一直分下去到不能再分,多組關(guān)聯(lián)式將演變?yōu)槿P(guān)聯(lián)式。19②優(yōu)缺點比較優(yōu)點:

與直接對應(yīng)相比,由比較一次變?yōu)楸容^兩次,同一索引值由競爭同一標(biāo)簽位置變?yōu)楦偁巸蓚€標(biāo)簽位置,競爭減少一半。因此,命中率較直接對應(yīng)式高。缺點:速度較直接對應(yīng)式慢,但比全關(guān)聯(lián)式快。優(yōu)缺點都在前兩種結(jié)構(gòu)之間。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器20基本結(jié)構(gòu)的演進(jìn)將主存和Cache的存儲空間劃分為若干大小相同的頁(或稱塊)。比如:主存容量1MB,分為2048頁,每頁512B;Cache容量8KB,分為16頁,每頁512B。512B512B512B….主存0頁1頁2047頁1M512B512B512B….Cache0頁1頁15頁8KB高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器211、全關(guān)聯(lián)式結(jié)構(gòu)主存的每一頁(或塊)可以直接映像到Cache的任一頁(或塊)。由于分頁,主存分為兩個部分,即頁標(biāo)記(簡稱標(biāo)記或標(biāo)簽)和頁內(nèi)地址;共計2048個頁,因此需要11位作為頁標(biāo)記;每一頁512個字節(jié),需要9位頁內(nèi)地址。相應(yīng)地,Cache也需要一個11位的標(biāo)記作為頁號。(共計20位地址對應(yīng)主存的1M)如下圖所示:高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器22標(biāo)記0頁標(biāo)記1頁標(biāo)記15頁….Cache….0頁

1頁2頁3頁2047頁….主存主存頁標(biāo)記頁內(nèi)地址高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器232、直接對應(yīng)式結(jié)構(gòu)每個主存頁只能復(fù)制到某個固定的Cache頁中。[與前述基本的直接對應(yīng)式結(jié)構(gòu)類似,必須頁號(即標(biāo)簽)相同,頁內(nèi)地址(即索引)才有效]。將共計2048個內(nèi)存頁面再分為128組,每組16個頁面,分別與Cache的16個頁對應(yīng)。其對應(yīng)方式是:內(nèi)存頁號做“模16”運(yùn)算的結(jié)果對應(yīng)Cache頁號。因此,內(nèi)存的0頁、16頁、32頁、48頁…映射到Cache的0頁;內(nèi)存的1頁、17頁、33頁、49頁….映射到Cache的1頁….。

高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器24由于分組,一個內(nèi)存地址邏輯上被分成三個部分:主存頁號組號Cache地址主存標(biāo)記Cache頁號頁內(nèi)地址7位4位9位對Cache,同樣設(shè)置一個7位的標(biāo)記(對應(yīng)內(nèi)存的組號)。訪存時,將主存地址的高7位與Cache的7位標(biāo)記做比較,如果相同,意味著主存高7位地址對應(yīng)的組中的某個頁面在Cache中存在(命中)如下圖所示:高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器25標(biāo)記0頁標(biāo)記1頁標(biāo)記15頁….Cache….0頁

1頁

15頁16頁17頁

31頁

2032頁2033頁2047頁…主存…….0組1組…127組內(nèi)存頁號做“模16”運(yùn)算的結(jié)果對應(yīng)Cache頁號263、組關(guān)聯(lián)式結(jié)構(gòu)以直接對應(yīng)式為基礎(chǔ),將高速緩存的頁再分組。比如兩個頁面為一組(雙組關(guān)聯(lián))。設(shè)內(nèi)存頁號j;Cache的組數(shù)量u,則內(nèi)存塊映射到Cache的哪一組的關(guān)系式:

jmodu該公式的映射關(guān)系如下圖所示:高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器27Cache5頁6頁7頁8頁9頁10頁11頁12頁13頁14頁15頁0頁2頁3頁4頁1頁2組3組4組6組5組7組0組1組內(nèi)存5頁6頁7頁8頁9頁10頁11頁12頁13頁14頁15頁0頁2頁3頁4頁1頁....16頁j:內(nèi)存頁號u:Cache的組數(shù)量內(nèi)存頁映射到Cache的哪一組的關(guān)系式:

jmoduCache的一個組有兩個頁可供查找,判斷是否命中。28例:32個字節(jié)為一個頁,Cache共計16頁,采用雙組關(guān)聯(lián)(兩頁為一組),按字節(jié)編址。問內(nèi)存129號單元映射到Cache的哪一組?解:因為每一塊32個字節(jié),因此129號單元在內(nèi)存的4頁。4mod8=4(組)高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器29二、高速緩存的數(shù)據(jù)一致性1、高速緩存內(nèi)容丟失在正常工作情況下,Cache系統(tǒng)中的數(shù)據(jù)有兩份,一份在Cache中,另一份在主存對應(yīng)地址單元中,兩份內(nèi)容是一致的。比如從主存的A1單元讀取一個數(shù)據(jù)D1后,Cache與主存的情況是:

D1A1CacheA1

D1內(nèi)存(1)丟失原因高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器30Cache內(nèi)容與它對應(yīng)主存內(nèi)容不一致例:①

計算出中間結(jié)果x+y;②將x+y存入A1單元(命中),Cache與內(nèi)存不再一致;計算函數(shù)M=

(x+y)

f(z)

Cache與主存的當(dāng)前情況:

D1A1Cache

D1A1內(nèi)存Cache與主存初始狀態(tài)

x+yA1Cache

D1A1內(nèi)存存入中間結(jié)果后的狀態(tài)③此時,如果Cache控制器進(jìn)行Cache更新,并正好淘汰A1單元,即新數(shù)據(jù)和地址(假設(shè)是D2和A2)覆蓋x+y和A1,則x+y從Cache中消失(主存也無x+y);高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器31A2

D2Cache

D1A1內(nèi)存(x+y)被淘汰后的狀態(tài)④計算出f(z);⑤

從A1單元讀中間結(jié)果(x+y);⑥計算M=(x+y)

f(z)

得到錯誤結(jié)果M=D1

f(z)

(2)解決方法

直寫方式(Writethrough通寫/透寫/直寫)

基本思想:

寫命中Cache的同時將該數(shù)據(jù)寫入對應(yīng)的主存單元,使Cache和主存的同一地址中內(nèi)容保持一致。如上例中,將x+y存入Cache

A1單元的同時,將該數(shù)據(jù)寫入內(nèi)存的A1單元。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器A1Cache

x+yA1內(nèi)存

x+y32

回寫方式(Write-Back—寫回)對Cache的每一數(shù)據(jù)塊,增加了一個“更新位”。當(dāng)寫命中Cache時,不將該數(shù)據(jù)立即寫入內(nèi)存,只將“更新位”置“1”,用來指明當(dāng)前Cache內(nèi)容與對應(yīng)的主存單元是不一致的。如上例,如下圖所示:1更新位

x+yA1Cache

D1A1內(nèi)存高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器33如果地址A1及內(nèi)容x+y要被新的內(nèi)容(地址A2和內(nèi)容D2)淘汰,則首先檢查A1的“更新位”,如果為1,表明當(dāng)前Cache內(nèi)容與對應(yīng)的主存內(nèi)容不一致;則先將A1內(nèi)容(如上例的x+y)寫入主存A1單元,然后才將地址A2和內(nèi)容D2寫入Cache,同時將“更新位”清0。如下圖所示:0更新位

D2A2Cache

x+yA1內(nèi)存結(jié)論:中間結(jié)果x+y僅在Cache被淘汰,但在內(nèi)存中仍然存在,沒有丟失。與直寫相比,減少了寫內(nèi)存的次數(shù)。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器342、Cache內(nèi)容過時Cache內(nèi)容過時,即Cache內(nèi)容不能反映當(dāng)前系統(tǒng)的狀況。①發(fā)生Cache內(nèi)容過時的條件

多機(jī)(多處理器)系統(tǒng)

各處理器有自己的Cache

多處理器共享一部分內(nèi)存區(qū)域如下圖所示(以三個處理器為例):(用于多處理器之間的通信)高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器35處理器1處理器2處理器3Cache1Cache2Cache3共享存儲區(qū)域

其它存儲區(qū)域多機(jī)對共享存儲區(qū)的要求:各處理器的Cache單元內(nèi)容應(yīng)與共享存儲區(qū)相同地址單元內(nèi)容一致高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器36在共享內(nèi)存區(qū)域有一個單元Ai的內(nèi)容為Di,如果在Cache內(nèi)有該地址和數(shù)據(jù),則三個Cache的Ai單元內(nèi)都應(yīng)該為Di。并且,三個處理器的Cache必須能夠反映當(dāng)前共享內(nèi)存區(qū)的“更新”情況。例如:如果哪一個Cache的某個單元內(nèi)容,不能反映當(dāng)前共享內(nèi)存區(qū)的“更新”情況。那么,該Cache相應(yīng)單元內(nèi)容就過時了(該內(nèi)容也稱為“過時數(shù)據(jù)”)②Cache

內(nèi)容過時的概念及原因例如(一致的情況):高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器37

DiCache1........Ai

DiCache2........Ai

DiCache3........Ai

DiAi........共享存儲區(qū)圖:Cache單元與共享區(qū)對應(yīng)單元內(nèi)容一致高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器38

DkCache1......Ai

DkAi......共享存儲區(qū)

DiCache2......Ai

DiCache3......Ai假設(shè):處理器1向共享區(qū)的Ai單元寫入數(shù)據(jù)Dk

(如下圖所示),則Cache2和Cache3的Ai單元內(nèi)容Di

成為過時數(shù)據(jù)。過時數(shù)據(jù)高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器39Cache內(nèi)容過時的后果:多處理器系統(tǒng)通過共享內(nèi)存交換數(shù)據(jù),并共同完成某一項工作,過時數(shù)據(jù)可能導(dǎo)致錯誤結(jié)果。

比如:三個處理器共同完成一個復(fù)雜函數(shù)計算。假設(shè):三個處理器在執(zhí)行過程中,共享一個參數(shù)C,該參數(shù)隨執(zhí)行過程的推進(jìn)而變化,該參數(shù)由處理器1提供,通過共享存儲區(qū)交換該參數(shù)值(處理器2和處理器3通過共享存儲區(qū)獲取該參數(shù))。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器40如果處理器1計算出C=a1,并寫入共享區(qū)單元Ai。當(dāng)處理器2和處理器3需要該參數(shù)時,讀Ai單元,不命中Cache(初始狀態(tài)下,Cache2和Cache3還沒有地址Ai

),則訪問共享區(qū)Ai單元,并將該地址以及內(nèi)容C=a1存入自己的Cache,如下圖所示:

a1Cache1......Ai

a1Ai......共享存儲區(qū)

a1Cache2......Ai

a1Cache3......Ai41由于C是一個變化的值,如果處理器1為C賦了一個新的值a2,并寫入共享區(qū):

a2Cache1......Ai

a2Ai......共享存儲區(qū)

a1Cache2......Ai

a1Cache3......Ai過時數(shù)據(jù)高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器42如果處理器2或處理器3需要再次讀取該參數(shù),則讀Ai單元且命中Cache,從自己的CacheAi單元中讀取a1。③解決Cache內(nèi)容過時的方法

方法一:總線監(jiān)視基于總線監(jiān)視的Cache內(nèi)容清除或標(biāo)識無效Cache控制器監(jiān)視系統(tǒng)地址總線。如果有其它處理器向內(nèi)存共享區(qū)中寫數(shù)據(jù)(寫入的地址在自身的Cache中存在),意味著自身Cache的這一單元內(nèi)容將變?yōu)檫^時,則將該單元內(nèi)容清除或標(biāo)識為無效,使Cache中不再有過時的數(shù)據(jù)。

但此時C的最新值應(yīng)該是a2,導(dǎo)致處理器2或處理器3產(chǎn)生計算錯誤。高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器43處理器1Cache1系統(tǒng)總線內(nèi)存共享區(qū)域處理器2Cache282385

Cache

控制器(2)監(jiān)視監(jiān)視

總線監(jiān)視示意圖82385

Cache

控制器(1)高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器44

方法二:不可高速用存儲器硬件透明性

方法三:一種能夠避免過時數(shù)據(jù)的方法。即凡是共享區(qū)的主存單元內(nèi)容都不能進(jìn)入高速緩存,因此從根本上消除了“過時”。硬件透明性包括:—廣播方式(交叉連接)—多處理器使用同一個Cache(共享Cache)高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器45處理器1處理器2處理器3Cache共享存儲區(qū)域

其它存儲區(qū)域共享Cache—多處理器使用同一個Cache(共享Cache)高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器46處理器1

Cache1處理器2

Cache2共享區(qū)其它存儲區(qū)

—廣播方式(交叉連接)高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器47

Cache清除

方法四:將Cache中所有已經(jīng)更新過的數(shù)據(jù)寫入主存儲器,并清除Cache的所有內(nèi)容。具體方法是:在任一部件寫入共享主存之前,對系統(tǒng)中的所有Cache都進(jìn)行清除,則任何Cache都不會有過時數(shù)據(jù)存在。

高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器48三、Cache主要性能指標(biāo)Cache的訪問周期

Tm主存的訪問周期

TCache系統(tǒng)等效訪問周期(平均訪問時間)

Cache的命中率

SPCache的加速比(訪問效率)

TCT=TC

+

(1–)

Tm(命中率):設(shè)Nc表示Cache完成存取的總次數(shù),Nm表示主存儲器完成存取的總次數(shù),則命中率:=NcNc+Nm高級計算機(jī)體系結(jié)構(gòu)高速緩沖存儲器49—影響的因素:Cache容量S、淘汰算法、Cache結(jié)構(gòu)、數(shù)據(jù)塊的大小等、Cache一致性的解決方法、程序運(yùn)行情況(比如一個程序反復(fù)對某一小塊程序或數(shù)據(jù)進(jìn)行操作,Cache就會有很高的命中率)等。例:不同Cache規(guī)模、結(jié)構(gòu)方式以及Cache行大小情況下,一級Cache的命中率統(tǒng)計:

SP=TmT=Tm

TC+(1–)T

溫馨提示

  • 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

提交評論