CPU的緩存及拓撲結(jié)構(gòu)的查看 詳解_第1頁
CPU的緩存及拓撲結(jié)構(gòu)的查看 詳解_第2頁
CPU的緩存及拓撲結(jié)構(gòu)的查看 詳解_第3頁
CPU的緩存及拓撲結(jié)構(gòu)的查看 詳解_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第第頁CPU的緩存及拓撲結(jié)構(gòu)的查看詳解CPU的緩存及拓撲結(jié)構(gòu)的查看詳解

發(fā)表于:2023-05-11來源:不詳:領(lǐng)測軟件測試網(wǎng)采編點擊數(shù):標簽:

CPU的緩存及拓撲結(jié)構(gòu)的查看詳解軟件測試今天忽然對CPU的Cache感興趣了,稍微了解了一下,做一下知識筆記吧。包括CPU的各級Cache以及CPU的拓撲結(jié)構(gòu)。cpu的處理數(shù)據(jù)的速度是非常非??斓?,但是,數(shù)據(jù)需要從硬盤中讀取出才能傳遞到CPU處理,然而硬盤的讀寫

CPU的緩存及拓撲結(jié)構(gòu)的查看詳解軟件測試

今天忽然對CPU的Cache感興趣了,稍微了解了一下,做一下知識筆記吧。

包括CPU的各級Cache以及CPU的拓撲結(jié)構(gòu)。

cpu的處理數(shù)據(jù)的速度是非常非??斓?,但是,數(shù)據(jù)需要從硬盤中讀取出才能傳遞到CPU處理,然而硬盤的讀寫速度跟CPU的處理初速比,差的實在是成千上萬倍。

所以加入了內(nèi)存這個配件,他的目的就是將暫時需要用到的程序數(shù)據(jù)等,暫時存儲在內(nèi)存中。由于內(nèi)存的讀寫速度遠遠大于硬盤,所以這個效率得到了非常大的提升。

但是,CPU的處理速度依然遠遠大于內(nèi)存,CPU依然需要等待大量的時間從內(nèi)存讀取數(shù)據(jù),CPU(性能)被浪費,所以CPU引入了一級緩存,他的容量很小,只有幾十K左右,但他的讀寫速度卻已經(jīng)與CPU處理速度非常接近了。

CPU緩存:緩存大小也是CPU的重要指標之一,而且緩存的結(jié)構(gòu)和大小對CPU速度的影響非常大,CPU內(nèi)緩存的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大于系統(tǒng)內(nèi)存和硬盤。實際工作時,CPU往往需要重復(fù)讀取同樣的數(shù)據(jù)塊,而緩存容量的增大,可以大幅度提升CPU內(nèi)部讀取數(shù)據(jù)的命中率,而不用再到內(nèi)存或者硬盤上尋找,以此提高系統(tǒng)性能。但是由于CPU芯片面積和成本的因素來考慮,緩存都很小。

L1Cache(一級緩存)是CPU第一層高速緩存,分為數(shù)據(jù)緩存和指令緩存。內(nèi)置的L1高速緩存的容量和結(jié)構(gòu)對CPU的性能影響較大,不過高速緩沖存儲器均由靜態(tài)RAM組成,結(jié)構(gòu)較復(fù)雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般服務(wù)器CPU的L1緩存的容量通常在32256KB。

L2Cache(二級緩存)是CPU的第二層高速緩存,分內(nèi)部和外部兩種芯片。內(nèi)部的芯片二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會影響CPU的性能,原則是越大越好,現(xiàn)在家庭用CPU容量最大的是512KB,而(服務(wù)器)和工作站上用CPU的L2高速緩存更高達256-1MB,有的高達2MB或者3MB。

L3Cache(三級緩存),分為兩種,早期的是外置,現(xiàn)在的都是內(nèi)置的。而它的實際作用即是,L3緩存的應(yīng)用可以進一步降低內(nèi)存延遲,同時提升大數(shù)據(jù)量計算時處理器的性能。降低內(nèi)存延遲和提升大數(shù)據(jù)量計算能力對游戲都很有幫助。而在服務(wù)器領(lǐng)域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內(nèi)存會更有效,故它比較慢的磁盤I/O子系統(tǒng)可以處理更多的數(shù)據(jù)請求。具有較大L3緩存的處理器提供更有效的文件系統(tǒng)緩存行為及較短消息和處理器隊列長度。

無論是二級緩存、三級緩存還是內(nèi)存都不能存儲處理器操作的原始指令,這些指令只能存儲在CPU的一級指令緩存中,而余下的二級緩存、三級緩存和內(nèi)存僅用于存儲CPU所需數(shù)據(jù)。

一級緩存、二級緩存都是core這個級別獨享的;而三級緩存是socket獨享的(同一個socket上的多個core共享)

根據(jù)工作原理的不同,目前主流處理器所采用的一級數(shù)據(jù)緩存又可以分為實數(shù)據(jù)讀寫緩存和數(shù)據(jù)代碼指令追蹤緩存2種,它們分別被AMD和Intel所采用。不同的一級數(shù)據(jù)緩存設(shè)計對于二級緩存容量的需求也各不相同,下面讓我們簡單了解一下這兩種一級數(shù)據(jù)緩存設(shè)計的不同之處。

一、AMD一級數(shù)據(jù)緩存設(shè)計

AMD采用的一級緩存設(shè)計屬于傳統(tǒng)的"實數(shù)據(jù)讀寫緩存'設(shè)計?;谠摷軜?gòu)的一級數(shù)據(jù)緩存主要用于存儲CPU最先讀取的數(shù)據(jù);而更多的讀取數(shù)據(jù)則分別存儲在二級緩存和系統(tǒng)內(nèi)存當中。做個簡單的假設(shè),假如處理器需要讀取"AMDATHLON643000+ISGOOD'這一串數(shù)據(jù)(不記空格),那么首先要被讀取的"AMDATHL'將被存儲在一級數(shù)據(jù)緩存中,而余下的"ON643000+ISGOOD'則被分別存儲在二級緩存和系統(tǒng)內(nèi)存當中。

需要注意的是,以上假設(shè)只是對AMD處理器一級數(shù)據(jù)緩存的一個抽象描述,一級數(shù)據(jù)緩存和二級緩存所能存儲的數(shù)據(jù)長度完全由緩存容量的大小決定,而絕非以上假設(shè)中的幾個字節(jié)。"實數(shù)據(jù)讀寫緩存'的優(yōu)點是數(shù)據(jù)讀取直接快速,但這也需要一級數(shù)據(jù)緩存具有一定的容量,增加了處理器的制造難度(一級數(shù)據(jù)緩存的單位制造成本較二級緩存高不少)。

二、Intel一級數(shù)據(jù)緩存設(shè)計

自P4時代開始,Intel開始采用全新的"數(shù)據(jù)代碼指令追蹤緩存'設(shè)計。基于這種架構(gòu)的一級數(shù)據(jù)緩存不再存儲實際的數(shù)據(jù),而是存儲這些數(shù)據(jù)在二級緩存中的指令代碼(即數(shù)據(jù)在二級緩存中存儲的起始地址)。假設(shè)處理器需要讀取"INTELP4ISGOOD'這一串數(shù)據(jù)(不記空格),那么所有數(shù)據(jù)將被存儲在二級緩存中,而一級數(shù)據(jù)代碼指令追蹤緩存需要存儲的僅僅是上述數(shù)據(jù)的起始地址。

由于一級數(shù)據(jù)緩存不再存儲實際數(shù)據(jù),因此"數(shù)據(jù)代碼指令追蹤緩存'設(shè)計能夠極大地降CPU對一級數(shù)據(jù)緩存容量的要求,降低處理器的生產(chǎn)難度。但這種設(shè)計的弊端在于數(shù)據(jù)讀取效率較"實數(shù)據(jù)讀寫緩存設(shè)計'低,而且對二級緩存容量的依賴性非常大。

另外,cat/proc/cpuinfo中看到的cache一般來說是現(xiàn)實最大級別緩存的容量,可能是三級緩存(如果有)或者是二級緩存。

如果需要了解cpu的拓撲結(jié)構(gòu),了解邏輯CPU和物理的CPU的映射關(guān)系,以及了解CPU的內(nèi)部的硬件參數(shù),比如說L1,L2,L3cache的大小等信息。這時cpuinfo就不夠用了,上面的信息不夠多;所幸的是Intel提供了這樣的一個工具來看CPU的拓撲結(jié)構(gòu)。

參見:/en-us/articles/intel-64-architecture-processor-topology-enumeration/

下載下來編譯、運行有OK了。

./cpu_topology64.out

我的一臺(測試)服務(wù)器IntelWestmere-EP平臺,緩存相關(guān)信息如下:

L1DisLevel1Datacache,size(KBytes)=32,Cores/cache=2,Caches/package=6

L1IisLevel1Instructioncach

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論