


全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
首先我們來(lái)簡(jiǎn)單了解一下一級(jí)緩存。目前所有主流處理器大都具有一級(jí)緩存和二級(jí)緩存,少數(shù)高端處理器還集成了三級(jí)緩存。其中,一級(jí)緩存可分為一級(jí)指令緩存和一級(jí)數(shù)據(jù)緩存。一級(jí)指令緩存用于暫時(shí)存儲(chǔ)并向CPU遞送各類運(yùn)算指令;一級(jí)數(shù)據(jù)緩存用于暫時(shí)存儲(chǔ)并向CPU遞送運(yùn)算所需數(shù)據(jù),這就是一級(jí)緩存的作用(如果大家對(duì)上述文字理解困難的話,可參照下圖所示)。那么,二級(jí)緩存的作用又是什么呢?簡(jiǎn)單地說(shuō),二級(jí)緩存就是一級(jí)緩存的緩沖器:一級(jí)緩存制造成本很高因此它的容量有限,二級(jí)緩存的作用就是存儲(chǔ)那些CPU處理時(shí)需要用到、一級(jí)緩存又無(wú)法存儲(chǔ)的數(shù)據(jù)。同樣道理,三級(jí)緩存和內(nèi)存可以看作是二級(jí)緩存的緩沖器,它們的容量遞增,但單位制造成本卻遞減。需要注意的是,無(wú)論是二級(jí)緩存、三級(jí)緩存還是內(nèi)存都不能存儲(chǔ)處理器操作的原始指令,這些指令只能存儲(chǔ)在CPU的一級(jí)指令緩存中,而余下的二級(jí)緩存、三級(jí)緩存和內(nèi)存僅用于存儲(chǔ)CPU所需數(shù)據(jù)。根據(jù)工作原理的不同,目前主流處理器所采用的一級(jí)數(shù)據(jù)緩存又可以分為實(shí)數(shù)據(jù)讀寫緩存和數(shù)據(jù)代碼指令追蹤緩存2種,它們分別被AMD和Intel所采用。不同的一級(jí)數(shù)據(jù)緩存設(shè)計(jì)對(duì)于二級(jí)緩存容量的需求也各不相同,下面讓我們簡(jiǎn)單了解一下這兩種一級(jí)數(shù)據(jù)緩存設(shè)計(jì)的不同之處。一、AMD一級(jí)數(shù)據(jù)緩存設(shè)計(jì)AMD采用的一級(jí)緩存設(shè)計(jì)屬于傳統(tǒng)的“實(shí)數(shù)據(jù)讀寫緩存”設(shè)計(jì)。基于該架構(gòu)的一級(jí)數(shù)據(jù)緩存主要用于存儲(chǔ)CPU最先讀取的數(shù)據(jù);而更多的讀取數(shù)據(jù)則分別存儲(chǔ)在二級(jí)緩存和系統(tǒng)內(nèi)存當(dāng)中。做個(gè)簡(jiǎn)單的假設(shè),假如處理器需要讀取“AMDATHLON643000+ISGOOD”這一串?dāng)?shù)據(jù)(不記空格),那么首先要被讀取的“AMDATHL”將被存儲(chǔ)在一級(jí)數(shù)據(jù)緩存中,而余下的“ON643000+ISGOOD”則被分別存儲(chǔ)在二級(jí)緩存和系統(tǒng)內(nèi)存當(dāng)中(如下圖所示)。需要注意的是,以上假設(shè)只是對(duì)AMD處理器一級(jí)數(shù)據(jù)緩存的一個(gè)抽象描述,一級(jí)數(shù)據(jù)緩存和二級(jí)緩存所能存儲(chǔ)的數(shù)據(jù)長(zhǎng)度完全由緩存容量的大小決定,而絕非以上假設(shè)中的幾個(gè)字節(jié)?!皩?shí)數(shù)據(jù)讀寫緩存”的優(yōu)點(diǎn)是數(shù)據(jù)讀取直接快速,但這也需要一級(jí)數(shù)據(jù)緩存具有一定的容量,增加了處理器的制造難度(一級(jí)數(shù)據(jù)緩存的單位制造成本較二級(jí)緩存高)。二、Intel一級(jí)數(shù)據(jù)緩存設(shè)計(jì)自P4時(shí)代開(kāi)始,Intel開(kāi)始采用全新的“數(shù)據(jù)代碼指令追蹤緩存”設(shè)計(jì)。基于這種架構(gòu)的一級(jí)數(shù)據(jù)緩存不再存儲(chǔ)實(shí)際的數(shù)據(jù),而是存儲(chǔ)這些數(shù)據(jù)在二級(jí)緩存中的指令代碼(即數(shù)據(jù)在二級(jí)緩存中存儲(chǔ)的起始地址)。假設(shè)處理器需要讀取“INTELP4ISGOOD”這一串?dāng)?shù)據(jù)(不記空格),那么所有數(shù)據(jù)將被存儲(chǔ)在二級(jí)緩存中,而一級(jí)數(shù)據(jù)代碼指令追蹤緩存需要存儲(chǔ)的僅僅是上述數(shù)據(jù)的起始地址(如下圖所示)。由于一級(jí)數(shù)據(jù)緩存不再存儲(chǔ)實(shí)際數(shù)據(jù),因此“數(shù)據(jù)代碼指令追蹤緩存”設(shè)計(jì)能夠極大地降CPU對(duì)一級(jí)數(shù)據(jù)緩存容量的要求,降低處理器的生產(chǎn)難度。但這種設(shè)計(jì)的弊端在于數(shù)據(jù)讀取效率較“實(shí)數(shù)據(jù)讀寫緩存設(shè)計(jì)”低,而且對(duì)二級(jí)緩存容量的依賴性非常大。在了解了一級(jí)緩存、二級(jí)緩存的大致作用及其分類以后,下面我們來(lái)回答以下硬件一菜鳥網(wǎng)友提出的問(wèn)題。從理論上講,二級(jí)緩存越大處理器的性能越好,但這并不是說(shuō)二級(jí)緩存容量加倍就能夠處理器帶來(lái)成倍的性能增長(zhǎng)。目前CPU處理的絕大部分?jǐn)?shù)據(jù)的大小都在0-256KB之間,小部分?jǐn)?shù)據(jù)的大小在256KB-512KB之間,只有極少數(shù)數(shù)據(jù)的大小超過(guò)512KB。所以只要處理器可用的一級(jí)、二級(jí)緩存容量達(dá)到256KB以上,那就能夠應(yīng)付正常的應(yīng)用;512KB容量的二級(jí)緩存已經(jīng)足夠滿足絕大多數(shù)應(yīng)用的需求。這其中,對(duì)于采用“實(shí)數(shù)據(jù)讀寫緩存”設(shè)計(jì)的AMDAthlon64、Sempron處理器而言,由于它們已經(jīng)具備了64KB一級(jí)指令緩存和64KB一級(jí)數(shù)據(jù)緩存,只要處理器的二級(jí)緩存容量大于等于128KB就能夠存儲(chǔ)足夠的數(shù)據(jù)和指令,因此它們對(duì)二級(jí)緩存的依賴性并不大。這就是為什么主頻同為1.8GHz的Socket754Sempron3000+(128KB二級(jí)緩存)、Sempron3100+(256KB二級(jí)緩存)以及Athlon642800+(512KB二級(jí)緩存)在大多數(shù)評(píng)測(cè)中性能非常接近的主要原因。所以對(duì)于普通用戶而言754Sempron2600+是值得考慮的。反觀IntelCPU緩存(CacheMemory)位于CPU與內(nèi)存之間的臨時(shí)存儲(chǔ)器,它的容量比內(nèi)存小但交換速度快。在緩存中的數(shù)據(jù)是內(nèi)存中的一小部分,但這一小部分是短時(shí)間內(nèi)CPU即將訪問(wèn)的,當(dāng)CPU調(diào)用大量數(shù)據(jù)時(shí),就可避開(kāi)內(nèi)存直接從緩存中調(diào)用,從而加快讀取速度。由此可見(jiàn),在CPU中加入緩存是一種高效的解決方案,這樣整個(gè)內(nèi)存儲(chǔ)器(緩存+內(nèi)存)就變成了既有緩存的高速度,又有內(nèi)存的大容量的存儲(chǔ)系統(tǒng)了。緩存對(duì)CPU的性能影響很大,主要是因?yàn)镃PU的數(shù)據(jù)交換順序和CPU與緩存間的帶寬引起的。緩存的工作原理是當(dāng)CPU要讀取一個(gè)數(shù)據(jù)時(shí),首先從緩存中查找,如果找到就立即讀取并送給CPU處理;如果沒(méi)有找到,就用相對(duì)慢的速度從內(nèi)存中讀取并送給CPU處理,同時(shí)把這個(gè)數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入緩存中,可以使得以后對(duì)整塊數(shù)據(jù)的讀取都從緩存中進(jìn)行,不必再調(diào)用內(nèi)存。正是這樣的讀取機(jī)制使CPU讀取緩存的命中率非常高(大多數(shù)CPU可達(dá)90%左右),也就是說(shuō)CPU下一次要讀取的數(shù)據(jù)90%都在緩存中,只有大約10%需要從內(nèi)存讀取。這大大節(jié)省了CPU直接讀取內(nèi)存的時(shí)間,也使CPU讀取數(shù)據(jù)時(shí)基本無(wú)需等待??偟膩?lái)說(shuō),CPU讀取數(shù)據(jù)的順序是先緩存后內(nèi)存。最早先的CPU緩存是個(gè)整體的,而且容量很低,英特爾公司從Pentium時(shí)代開(kāi)始把緩存進(jìn)行了分類。當(dāng)時(shí)集成在CPU內(nèi)核中的緩存已不足以滿足CPU的需求,而制造工藝上的限制又不能大幅度提高緩存的容量。因此出現(xiàn)了集成在與CPU同一塊電路板上或主板上的緩存,此時(shí)就把CPU內(nèi)核集成的緩存稱為一級(jí)緩存,而外部的稱為二級(jí)緩存。一級(jí)緩存中還分?jǐn)?shù)據(jù)緩存(DataCache,D-Cache)和指令緩存(InstructionCache,I-Cache)。二者分別用來(lái)存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令,而且兩者可以同時(shí)被CPU訪問(wèn),減少了爭(zhēng)用Cache所造成的沖突,提高了處理器效能。英特爾公司在推出Pentium4處理器時(shí),用新增的一種一級(jí)追蹤緩存替代指令緩存,容量為12KOps,表示能存儲(chǔ)12K條微指令。隨著CPU制造工藝的發(fā)展,二級(jí)緩存也能輕易的集成在CPU內(nèi)核中,容量也在逐年提升。現(xiàn)在再用集成在CPU內(nèi)部與否來(lái)定義一、二級(jí)緩存,已不確切。而且隨著二級(jí)緩存被集成入CPU內(nèi)核中,以往二級(jí)緩存與CPU大差距分頻的情況也被改變,此時(shí)其以相同于主頻的速度工作,可以為CPU提供更高的傳輸速度。二級(jí)緩存是CPU性能表現(xiàn)的關(guān)鍵之一,在CPU核心不變化的情況下,增加二級(jí)緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級(jí)緩存上有差異,由此可見(jiàn)二級(jí)緩存對(duì)于CPU的重要性。CPU在緩存中找到有用的數(shù)據(jù)被稱為命中,當(dāng)緩存中沒(méi)有CPU所需的數(shù)據(jù)時(shí)(這時(shí)稱為未命中),CPU才訪問(wèn)內(nèi)存。從理論上講,在一顆擁有二級(jí)緩存的CPU中,讀取一級(jí)緩存的命中率為80%。也就是說(shuō)CPU一級(jí)緩存中找到的有用數(shù)據(jù)占數(shù)據(jù)總量的80%,剩下的20%從二級(jí)緩存中讀取。由于不能準(zhǔn)確預(yù)測(cè)將要執(zhí)行的數(shù)據(jù),讀取二級(jí)緩存的命中率也在80%左右(從二級(jí)緩存讀到有用的數(shù)據(jù)占總數(shù)據(jù)的16%)。那么還有的數(shù)據(jù)就不得不從內(nèi)存調(diào)用,但這已經(jīng)是一個(gè)相當(dāng)小的比例了。目前的較高端的CPU中,還會(huì)帶有三級(jí)緩存,它是為讀取二級(jí)緩存后未命中的數(shù)據(jù)設(shè)計(jì)的種緩存,在擁有三級(jí)緩存的CPU中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了CPU的效率。為了保證CPU訪問(wèn)時(shí)有較高的命中率,緩存中的內(nèi)容應(yīng)該按一定的算法替換。一種較常用的算法是“最近最少使用算法”(LRU算法),它是將最近一段時(shí)間內(nèi)最少被訪問(wèn)過(guò)的行淘汰出局。因此需要為每行設(shè)置一個(gè)計(jì)數(shù)器,LRU算法是把命中行的計(jì)數(shù)器清零,其他各行計(jì)數(shù)器加1。當(dāng)需要替換時(shí)淘汰行計(jì)數(shù)器計(jì)數(shù)值最大的數(shù)據(jù)行出局。這是一種高效、科學(xué)的算法,其計(jì)數(shù)器清零過(guò)程可以把一些頻繁調(diào)用后再不需要的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東舞蹈戲劇職業(yè)學(xué)院《臨床藥理學(xué)B》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古能源職業(yè)學(xué)院《軟件工程專業(yè)實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 安徽信息工程學(xué)院《氣象與生活》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北中醫(yī)藥高等專科學(xué)?!缎旅襟w產(chǎn)品設(shè)計(jì)與制作實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南省豫東豫北十所名校2025屆高三第一次月考物理試題文試題含解析
- 常熟中學(xué)2025屆高三下第二次質(zhì)量檢查物理試題含解析
- 江西農(nóng)業(yè)大學(xué)《工程力學(xué)Ⅱ》2023-2024學(xué)年第一學(xué)期期末試卷
- 濰坊職業(yè)學(xué)院《高分子科學(xué)前沿與進(jìn)展》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州省南白中學(xué)2025屆高三下-第一次強(qiáng)化訓(xùn)練英語(yǔ)試題試卷含解析
- 供應(yīng)鏈管理與采購(gòu)制度
- 2025年上半年宜賓江安縣人社局招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年安徽工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完整版
- 《C#程序設(shè)計(jì)基礎(chǔ)》課件
- 2024年第五屆美麗中國(guó)全國(guó)國(guó)家版圖知識(shí)競(jìng)賽題庫(kù)及答案(中小學(xué)組)
- 2025年江蘇航空職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2023年湖北省技能高考計(jì)算機(jī)類備考題庫(kù)(萬(wàn)維題庫(kù))-中部分(800題)
- S145水表井標(biāo)準(zhǔn)圖集
- 2024年天翼云認(rèn)證運(yùn)維工程師考試復(fù)習(xí)題庫(kù)(含答案)
- 2025年云南曲靖市事業(yè)單位定向招聘駐曲部隊(duì)未就業(yè)隨軍家屬10人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 第4章水彈性力學(xué)-流體與剛體、彈性體相互耦合運(yùn)動(dòng)理論
- 2024年10月自考13003數(shù)據(jù)結(jié)構(gòu)與算法試題及答案
評(píng)論
0/150
提交評(píng)論