最新cpu緩存的工作原理精選

格式:DOC 上傳日期:2023-05-01 08:41:19
最新cpu緩存的工作原理精選
時(shí)間:2023-05-01 08:41:19     小編:zdfb

每個(gè)人都曾試圖在平淡的學(xué)習(xí)、工作和生活中寫一篇文章。寫作是培養(yǎng)人的觀察、聯(lián)想、想象、思維和記憶的重要手段。那么我們該如何寫一篇較為完美的范文呢?下面我給大家整理了一些優(yōu)秀范文,希望能夠幫助到大家,我們一起來看一看吧。

cpu緩存的工作原理篇一

對偶的作用

推薦度:

溝通的作用及技巧

推薦度:

讀書的作用優(yōu)美句子

推薦度:

老年教育的作用與意義

推薦度:

虎年的由來的故事

推薦度:

相關(guān)推薦

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

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

cache對cpu的性能影響很大,主要是因?yàn)閏pu的數(shù)據(jù)交換順序和cpu與cache間的帶寬引起的。

cpu要讀取一個(gè)數(shù)據(jù)時(shí),首先從cache中查找,如果找到就立即讀取并送給cpu處理;如果沒有找到,就用相對慢的速度從內(nèi)存中讀取并送給cpu處理,同時(shí)把這個(gè)數(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)存的時(shí)間,也使cpu讀取數(shù)據(jù)時(shí)基本無需等待??偟膩碚f,cpu讀取數(shù)據(jù)的順序是先cache后內(nèi)存。

前面是把cache作為一個(gè)整體來考慮的,現(xiàn)在要分類分析了。intel從pentium開始將cache分開,通常分為一級(jí)高速緩存l1和二級(jí)高速緩存l2。

在以往的觀念中,l1 cache是集成在cpu中的,被稱為片內(nèi)cache。在l1中還分?jǐn)?shù)據(jù)cache(i-cache)和指令cache(d-cache)。它們分別用來存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令,而且兩個(gè)cache可以同時(shí)被cpu訪問,減少了爭用cache所造成的沖突,提高了處理器效能。

在p4處理器中使用了一種先進(jìn)的一級(jí)指令cache——?jiǎng)討B(tài)跟蹤緩存。它直接和執(zhí)行單元及動(dòng)態(tài)跟蹤引擎相連,通過動(dòng)態(tài)跟蹤引擎可以很快地找到所執(zhí)行的指令,并且將指令的順序存儲(chǔ)在追蹤緩存里,這樣就減少了主執(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只存儲(chǔ)數(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ū)別在于讀取順序。

cpu在cache中找到有用的數(shù)據(jù)被稱為命中,當(dāng)cache中沒有cpu所需的數(shù)據(jù)時(shí)(這時(shí)稱為未命中),cpu才訪問內(nèi)存。從理論上講,在一顆擁有2級(jí)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)是一個(gè)相當(dāng)小的比例了。在一些高端領(lǐng)域的cpu(像intel的itanium)中,我們常聽到l3 cache,它是為讀取l2 cache后未命中的數(shù)據(jù)設(shè)計(jì)的—種cache,在擁有l(wèi)3 cache的cpu中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了cpu的效率。

為了保證cpu訪問時(shí)有較高的命中率,cache中的內(nèi)容應(yīng)該按一定的算法替換。一種較常用的算法是“最近最少使用算法”(lru算法),它是將最近一段時(shí)間內(nèi)最少被訪問過的行淘汰出局。因此需要為每行設(shè)置一個(gè)計(jì)數(shù)器,lru算法是把命中行的計(jì)數(shù)器清零,其他各行計(jì)數(shù)器加1。當(dāng)需要替換時(shí)淘汰行計(jì)數(shù)器計(jì)數(shù)值最大的數(shù)據(jù)行出局。這是一種高效、科學(xué)的算法,其計(jì)數(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)的源動(dòng)力,有需要才有進(jìn)步!

s("content_relate");

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

java的緩存機(jī)制簡介

12-08

散裝cpu和盒裝cpu的區(qū)別

10-09

散裝cpu與盒裝cpu的區(qū)別

10-08

php文件緩存的性能測試

09-10

關(guān)于php緩存技術(shù)的總結(jié)

09-05

php頁面緩存實(shí)現(xiàn)方法

09-12

cpu的保養(yǎng)方法

10-08

cpu的工作原理

10-07

php語言中緩存技術(shù)總結(jié)

09-02

【本文地址:http://www.aiweibaby.com/zuowen/2777719.html】

全文閱讀已結(jié)束,如果需要下載本文請點(diǎn)擊

下載此文檔