![]() |
學校地址:湖南省 長沙市 雨花區(qū) 車站南路紅花坡路口 |
![]() |
學校地址:湖南省 長沙市 雨花區(qū) 車站南路紅花坡路口 |
CPU 緩存(Cache Memoney)是位于 CPU 與內存之間的臨時存儲器。它的容量比內存小,但交換速度更快。緩存中的數(shù)據(jù),只是內存數(shù)據(jù)中的一小部分,但這一小部分是短時間內 CPU 即將訪問的,當 CPU 調用大量數(shù)據(jù)時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在 CPU 中加入緩存,是一種高效的解決方案。這樣,整個內存儲器(緩存+內存)就變成了既有緩存的高速度,又有內存的大容量的存儲系統(tǒng)了。緩存對 CPU 的性能影響很大。主要是因為 CPU 的數(shù)據(jù)交換順序和 CPU 與緩存間的帶寬引起的。
緩存的工作原理,是當 CPU 要讀取一個數(shù)據(jù)時,首先從緩存中查找,如果找到,就立即讀取并送給 CPU 處理;如果沒有找到,就用相對慢的速度從內存中讀取并送給 CPU 處理,同時把這個數(shù)據(jù)所在的數(shù)據(jù)塊調入緩存中,可以使得以后對整塊數(shù)據(jù)的讀取都從緩存中進行,不必再調用內存。
正是這樣的讀取機制,使 CPU 讀取緩存的命中率非常高(大多數(shù) CPU 可達 90% 左右),也就是說,CPU 下一次要讀取的數(shù)據(jù) 90% 都在緩存中,只有大約 10% 需要從內存讀取。這就大大節(jié)省了 CPU 直接讀取內存的時間,也使 CPU 讀取數(shù)據(jù)時基本無需等待。總的來說,CPU 讀取數(shù)據(jù)的順序,是先緩存,后內存。
早先的 CPU 緩存是個整體的,而且容量很低,英特爾公司從 Pentium 時代開始,把緩存進行了分類。當時集成在 CPU 內核中的緩存已不足以滿足 CPU 的需求,而制造工藝上的限制,又不能大幅度提高緩存的容量。因此出現(xiàn)了集成在與 CPU 同一塊電路板上或主板上的緩存,此時,就把 CPU 內核集成的緩存,稱為一級緩存。而外部的稱為二級緩存。一級緩存中,還分數(shù)據(jù)緩存(Data Cache,D-Cache)和指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令,而且兩者可以同時被 CPU 訪問,減少了爭用 Cache 所造成的沖突,提高了處理器的效能。英特爾公司在推出 Pentium 4 處理器時,還新增了一種一級追蹤緩存,容量為 12KB。
隨著 CPU 制造工藝的發(fā)展,二級緩存也能輕易的集成在 CPU 內核中,容量也在逐年提升。現(xiàn)在再用集成在 CPU 內部與否來定義一、二級緩存,已不確切。而且隨著二級緩存被集成入 CPU 內核中,以往二級緩存與 CPU 大差距分頻的情況也被改變,此時其以相同于主頻的速度工作,可以為 CPU 提供更高的傳輸速度。
二級緩存是 CPU 性能表現(xiàn)的關鍵之一。在 CPU 核心不變的情況下,增加二級緩存容量,能使性能大幅度提高。而同一核心的 CPU 高低端之分,往往也是在二級緩存上有差異。由此可見,二級緩存對于 CPU 的重要性。
CPU 在緩存中找到有用的數(shù)據(jù)被稱為命中,當緩存中沒有 CPU 所需的數(shù)據(jù)時(這時稱為未命中),CPU 才訪問內存。從理論上講,在一顆擁有二級緩存的 CPU 中,讀取一級緩存的命中率為 80%。也就是說,CPU 一級緩存中找到的有用數(shù)據(jù),占數(shù)據(jù)總量的 80%,剩下的 20% 從二級緩存中讀取。由于不能準確預測將要執(zhí)行的數(shù)據(jù),讀取二級緩存的命中率也在 80% 左右(從二級緩存讀到有用的數(shù)據(jù)占總數(shù)據(jù)的 16%)。那么,還有的數(shù)據(jù)就不得不從內存調用,但這已經是一個相當小的比例了。目前的較高端的 CPU 中,還會帶有三級緩存,它是為讀取二級緩存后未命中的數(shù)據(jù)設計的種緩存,在擁有三級緩存的 CPU 中,只有約 5% 的數(shù)據(jù)需要從內存中調用,這進一步提高了 CPU 的效率。
為了保證 CPU 訪問時有較高的命中率,緩存中的內容應該按一定的算法替換。一種較常用的算法,是 近 少使用算法(LRU 算法),它是將 近一段時間內 少被訪問過的行淘汰出局。因此,需要為每行設置一個計數(shù)器,LRU 算法是把命中行的計數(shù)器清零,其他各行計數(shù)器加 1。當需要替換時,淘汰行計數(shù)器計數(shù)值 大的數(shù)據(jù)行出局。這是一種高效、科學的算法。其計數(shù)器清零過程,可以把一些頻繁調用后再不需要的數(shù)據(jù)淘汰出緩存,提高緩存的利用率。
CPU 產品中,一級緩存的容量基本在 4KB 到 64KB 之間,二級緩存的容量則分為 128KB、256KB、512KB、1MB、2MB 等。一級緩存容量,各產品之間相差不大,而二級緩存容量,則是提高 CPU 性能的關鍵。二級緩存容量的提升,是由 CPU 制造工藝所決定的,容量增大必然導致 CPU 內部晶體管數(shù)的增加,要在有限的 CPU 面積上集成更大的緩存,對制造工藝的要求也就越高。
|
關于收錄1 |
關于收錄2 |
網(wǎng)站幫助 |
廣告合作 |
下載聲明 |
友情連接 |
網(wǎng)站地圖 |
| 共有文章: 11783 篇
今日新文: 148 篇
當前在線: