亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

計算機(jī)硬件

CPU緩存的作用

時間:2024-10-26 01:49:29 計算機(jī)硬件 我要投稿
  • 相關(guān)推薦

CPU緩存的作用

  高速緩沖存儲器Cache是位于CPU與內(nèi)存之間的臨時存儲器,它的容量比內(nèi)存小但交換速度快。 那CPU緩存的作用有哪些?下面是小編整理的,歡迎大家閱讀!更多相關(guān)信息請關(guān)注相關(guān)欄目!

  在Cache中的數(shù)據(jù)是內(nèi)存中的一小部分,但這一小部分是短時間內(nèi)CPU即將訪問的,當(dāng)CPU調(diào)用大量數(shù)據(jù)時,就可避開內(nèi)存直接從Cache中調(diào)用,從而加快讀取速度。由此可見,在CPU中加入Cache是一種高效的解決方案,這樣整個內(nèi)存儲器(Cache 內(nèi)存)就變成了既有Cache的高速度,又有內(nèi)存的大容量的存儲系統(tǒng)了。

  Cache對CPU的性能影響很大,主要是因為CPU的數(shù)據(jù)交換順序和CPU與Cache間的帶寬引起的。

  高速緩存的工作原理

  1、讀取順序

  CPU要讀取一個數(shù)據(jù)時,首先從Cache中查找,如果找到就立即讀取并送給CPU處理;如果沒有找到,就用相對慢的速度從內(nèi)存中讀取并送給CPU處理,同時把這個數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入Cache中,可以使得以后對整塊數(shù)據(jù)的讀取都從Cache中進(jìn)行,不必再調(diào)用內(nèi)存。

  正是這樣的讀取機(jī)制使CPU讀取Cache的命中率非常高(大多數(shù)CPU可達(dá)90%左右),也就是說CPU下一次要讀取的數(shù)據(jù)90%都在Cache中,只有大約10%需要從內(nèi)存讀取。這大大節(jié)省了CPU直接讀取內(nèi)存的時間,也使CPU讀取數(shù)據(jù)時基本無需等待?偟膩碚f,CPU讀取數(shù)據(jù)的順序是先Cache后內(nèi)存。

  2、緩存分類

  前面是把Cache作為一個整體來考慮的,現(xiàn)在要分類分析了。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í)行這些數(shù)據(jù)的指令,而且兩個Cache可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。

  在P4處理器中使用了一種先進(jìn)的一級指令Cache——動態(tài)跟蹤緩存。它直接和執(zhí)行單元及動態(tài)跟蹤引擎相連,通過動態(tài)跟蹤引擎可以很快地找到所執(zhí)行的指令,并且將指令的順序存儲在追蹤緩存里,這樣就減少了主執(zhí)行循環(huán)的解碼周期,提高了處理器的運(yùn)算效率。

  以前的L2 Cache沒集成在CPU中,而在主板上或與CPU集成在同一塊電路板上,因此也被稱為片外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的容量能使性能提升,同一核心的CPU高低端之分往往也是在L2 Cache上做手腳,可見L2 Cache的重要性,F(xiàn)在CPU的L1 Cache與L2 Cache惟一區(qū)別在于讀取順序。

  3、讀取命中率

  CPU在Cache中找到有用的數(shù)據(jù)被稱為命中,當(dāng)Cache中沒有CPU所需的數(shù)據(jù)時(這時稱為未命中),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)是一個相當(dāng)小的比例了。在一些高端領(lǐng)域的CPU(像Intel的Itanium)中,我們常聽到L3 Cache,它是為讀取L2 Cache后未命中的數(shù)據(jù)設(shè)計的—種Cache,在擁有L3 Cache的CPU中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了CPU的效率。

  為了保證CPU訪問時有較高的命中率,Cache中的內(nèi)容應(yīng)該按一定的算法替換。一種較常用的算法是“最近最少使用算法”(LRU算法),它是將最近一段時間內(nèi)最少被訪問過的行淘汰出局。因此需要為每行設(shè)置一個計數(shù)器,LRU算法是把命中行的計數(shù)器清零,其他各行計數(shù)器加1。當(dāng)需要替換時淘汰行計數(shù)器計數(shù)值最大的數(shù)據(jù)行出局。這是一種高效、科學(xué)的算法,其計數(shù)器清零過程可以把一些頻繁調(diào)用后再不需要的數(shù)據(jù)淘汰出Cache,提高Cache的利用率。 緩存技術(shù)的發(fā)展

  總之,在傳輸速度有較大差異的設(shè)備間都可以利用Cache作為匹配來調(diào)節(jié)差距,或者說是這些設(shè)備的傳輸通道。在顯示系統(tǒng)、硬盤和光驅(qū),以及網(wǎng)絡(luò)通訊中,都需要使用Cache技術(shù)。但Cache均由靜態(tài)RAM組成,結(jié)構(gòu)復(fù)雜,成本不菲,使用現(xiàn)有工藝在有限的面積內(nèi)不可能做得很大,不過,這也正是技術(shù)前進(jìn)的源動力,有需要才有進(jìn)步!

【CPU緩存的作用】相關(guān)文章:

計算機(jī)cpu性能指標(biāo)與作用03-20

PHP緩存技術(shù)12-11

散裝CPU和盒裝CPU的區(qū)別12-05

php緩存技術(shù)經(jīng)典總結(jié)03-29

怎么鑒別盒裝CPU和散裝CPU12-04

手機(jī)CPU與電腦CPU的性能究竟差多少09-20

php頁面緩存實現(xiàn)方法11-27

CPU小常識03-20

CPU的工作原理03-20