緩存清理軟件 CPU的一二三級緩存有什么用處?
CPU的一二三級緩存有什么用處?首先,讓我們看看為什么CPU有L1、L2和L3緩存設(shè)計。如下圖所示,當(dāng)前處理器速度太快,從內(nèi)存讀取數(shù)據(jù)太慢(一是內(nèi)存本身速度不夠快,二是距離CPU太遠(yuǎn))。一般來說,它需
CPU的一二三級緩存有什么用處?
首先,讓我們看看為什么CPU有L1、L2和L3緩存設(shè)計。如下圖所示,當(dāng)前處理器速度太快,從內(nèi)存讀取數(shù)據(jù)太慢(一是內(nèi)存本身速度不夠快,二是距離CPU太遠(yuǎn))。一般來說,它需要讓CPU等待幾十個甚至幾百個時鐘周期),你需要更少的延遲和更快的內(nèi)存來幫助,這就是緩存。
現(xiàn)在讓我們看看多級緩存(L1、L2、L3)的好處,而不僅僅是單個緩存。
1. 緩存越靠近ALU和其他核心單元,訪問速度就越快。因此,核心附近會有一級緩存。雖然它很小,但它真的很快。緩存容量越大,緩存命中率越高,命中率越高,所以當(dāng)L1不能命中時,它需要一個更大但不慢的緩存來提供數(shù)據(jù),即L2;
3。更大的緩存意味著更高的命中率,這也意味著更高的成本、更低的速度、更多的晶體管和更大的面積,因此它不能接近所有的核心單元,即L3;
這是基于性能、成本和設(shè)計的CPU平衡,一級緩存可以最大化單個內(nèi)核的位置和速度(甚至是單獨的指令和數(shù)據(jù))。二級緩存將更大,命中率更高,速度更慢。它通常位于每個核心,而L3緩存通常在系統(tǒng)的所有核心之間共享,以提供合理的速度和容量。例如,Intel Core i7-8700k的L1大小為64K,也分為32K數(shù)據(jù)和32K指令。L2大小為256K,L3大小為12MB。
現(xiàn)代CPU緩存體系結(jié)構(gòu)非常復(fù)雜,包括硬件預(yù)取和數(shù)據(jù)轉(zhuǎn)發(fā),以提供最佳緩存命中率。一些cpu甚至添加了L4緩存。