日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

電腦的內(nèi)存條包含內(nèi)容?:如何排除電腦故障( 七 )



高速緩存的工作原理

1.讀取順序

CPU要讀取1個(gè)數(shù)據(jù)時(shí),首先從Cache中查找,如果找到就立即讀取并送給CPU處理;如果沒有找到

,就用相對慢的速度從內(nèi)存中讀取并送給CPU處理,同時(shí)把這個(gè)數(shù)據(jù)地點(diǎn)的數(shù)據(jù)塊調(diào)入Cache中,可以使

得往后對整塊數(shù)據(jù)的讀取都從Cache中進(jìn)行,沒必要再調(diào)用內(nèi)存 。

正是這樣的讀取機(jī)制使CPU讀取Cache的命中率非常高(大部分?jǐn)?shù)CPU可達(dá)90%左右),也就是說CPU下一

次要讀取的數(shù)據(jù)90%都在Cache中,只有大約10%需要從內(nèi)存讀取 。這大大節(jié)省了CPU直接讀取內(nèi)存的時(shí)間

,也使CPU讀取數(shù)據(jù)時(shí)基本無需等待 ??偟膩碇v,CPU讀取數(shù)據(jù)的順序是先Cache后內(nèi)存 。

2.緩存分類

前邊是把Cache作為1個(gè)整體來思量的,現(xiàn)在要分類闡發(fā)了 。Intel從Pentium開始將Cache分開,通

常分為一級高速緩存L1和二級高速緩存L2 。

在以往的觀念中,L1 Cache是集成在CPU中的,被稱為片內(nèi)Cache 。在L1中還分?jǐn)?shù)據(jù)Cache(I-Cache)

和指令Cache(D-Cache) 。它們別離用來儲存安放數(shù)據(jù)和執(zhí)行這些個(gè)數(shù)據(jù)的指令,并且兩個(gè)Cache可以同時(shí)被CPU

拜候,減少了爭用Cache所造成的沖突,提高了處理器效能 。

在P4處理器中使用了一種先進(jìn)的一級指令Cache――動(dòng)態(tài)跟蹤緩存 。它直接和執(zhí)行單元及動(dòng)態(tài)跟蹤

引擎相連,通過動(dòng)態(tài)跟蹤引擎可以很快地找到所執(zhí)行的指令,并且將指令的順序存儲在追蹤緩存里,這

樣就減少了主執(zhí)行循環(huán)的解碼周期,提高了處理器的運(yùn)算效率 。

以前的L2 Cache沒集成在CPU中,而在主板上或與CPU集成在統(tǒng)一塊電路板上,因此也被稱為片外

Cache 。但從PⅢ開始,由于工藝的提高L2 Cache被集成在CPU內(nèi)核中,以相同于主頻的速度工作,結(jié)束

了L2 Cache與CPU大差距分頻的汗青,使L2 Cache與L1 Cache在性能上平等,得到更高的傳輸速度 。

L2Cache只存儲數(shù)據(jù),因此不分?jǐn)?shù)據(jù)Cache和指令Cache 。在CPU核心不變化的情況下,增加L2 Cache的容

量能使性能提升,統(tǒng)一核心的CPU高低端之分往往也是在L2 Cache上做手腳,可見L2 Cache的重要性 。

現(xiàn)在CPU的L1 Cache與L2 Cache惟一區(qū)別在于讀取順序 。

3.讀取命中率

CPU在Cache中找到有用的數(shù)據(jù)被稱為命中,當(dāng)Cache中沒有CPU所需的數(shù)據(jù)時(shí)(這時(shí)候稱為未命中),

CPU才拜候內(nèi)存 。從理論上講,在一顆擁有2級Cache的CPU中,讀取L1 Cache的命中率為80% 。也就是說

CPU從L1 Cache中找到的有用數(shù)據(jù)占數(shù)據(jù)總量的80%,剩下的20%從L2 Cache讀取 。由于不克不及準(zhǔn)確預(yù)測將

要執(zhí)行的數(shù)據(jù),讀取L2的命中率也在80%左右(從L2讀到有用的數(shù)據(jù)占總數(shù)據(jù)的16%) 。那么還有的數(shù)據(jù)就

不得不從內(nèi)存調(diào)用,但這已經(jīng)是1個(gè)相當(dāng)小的比例了 。在一些高端領(lǐng)域的CPU(像Intel的Itanium)中,

我們常聽到L3 Cache,它是為讀取L2 Cache后未命中的數(shù)據(jù)預(yù)設(shè)的―種Cache,在擁有L3 Cache的CPU中

,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了CPU的效率 。

為了保證CPU拜候時(shí)有較高的命中率,Cache中的內(nèi)容應(yīng)該按一定的算法替代 。一種較常用的算法是

“最近最少使用算法”(LRU算法),它是將最近一段時(shí)間內(nèi)最少被拜候過的行淘汰出局 。因此需要為每

行設(shè)置1個(gè)統(tǒng)計(jì)器,LRU算法是把命中行的統(tǒng)計(jì)器清零,其他各行統(tǒng)計(jì)器加1 。當(dāng)需要替代時(shí)淘汰行統(tǒng)計(jì)

器統(tǒng)計(jì)值最大的數(shù)據(jù)行出局 。這是一種高效、科學(xué)的算法,其統(tǒng)計(jì)器清零過程可以把一些頻繁調(diào)用后再

不需要的數(shù)據(jù)淘汰出Cache,提


推薦閱讀