CPU的緩存是什麼,有哪些作用?

影子書屋

咱們先來形象地理解下:

能看明白嗎?還沒有,哦,那咱們再舉個例子,比如你每天要上班或外出,通常會背個包,包裡的東西是從家裡清理出來外出可能需要用到的,比如錢包、鑰匙、書箱等,還有些更常用的就直接放在口袋,比如手機啊,能隨手所得。好啦,那口袋就是你的緩存,首先從口袋找你要用的,如果沒有,就從你的揹包裡找(相當於內存),如果還沒有,可能需要回家拿了(相當於你的硬盤),是不是一個比一個慢?

下面是技術上的講解。

CPU執行一個運算:1-5週期

內存訪問時間:300週期

隨著CPU的性能越來越快,而內存訪問時間的進步要小得多,而且差距越來越明顯,在這樣的情況下,就出現了緩存。

發明緩存就是為了解決CPU與內存間訪問時間太久的問題,本質上說,CPU緩存也是一小塊內存,它用於存儲CPU接下來最可能需要的信息,至於哪些信息加載到緩存中取決於複雜的算法和預測,緩存系統的目標就是確保CPU在下一次能直接命中需要的信息。

一旦L1高速緩存未能命中就意味著CPU不得不在從其他地方來找數據 ,這就是L2緩存的用武之地,它更大,速度肯定比L1緩存要慢,但是比內存還是快的多。如果在L2緩存中也找不到數據,則CPU繼續向L3緩存要數據 ,然後是L4(如果有),最後實在不行就找內存了。

現在的CPU都有一個與自身緊密集成的L1緩存,L1通常是分為指令和數據緩存,基本上建立在每個CPU內核內部,所以CPU可以非常快地達到1級緩存,典型的i7有32K的數據和32K的指令緩存。

L2緩存離CPU核心稍遠,一些較老CPU的L2緩存為2MB,也有4MB的,但英特爾i7上的L2緩存僅為256K。為什麼?因為這樣可以使延遲更低,速度更快。現在L2緩存基本上也是每個Core都有的。

當然了,L2這麼小,是因為現在很多CPU還有L3緩存,i7上的L3緩存達到8MB甚至12MB,AMD的Threadripper其L3更是高達32MB,L3是多個Core共享的,容量大,命中率高,就是速度慢,便宜啊。

總而言之,緩存就是為了降低延遲,提高性能


超能網

關於CPU緩存估計很多人和內存混淆,CPU緩存分為一級,二級,三級,下面我們就詳細談談;

一級緩存,二級緩存,三級緩存但是這個緩存到底是什麼,有什麼作用,他與內存到底有什麼關係,我們今天就來探討一下,我主要目的是學習,寫回答也是讓學習更深入,說的不好大家見諒;


緩存是購買CPU非常重要的一個參數,它的大小直接關係CPU的讀取速度,緩存是介於內存與CPU之間的存儲器,容量比內存小,但速度比內存快,他可以大大減少CPU訪問內存的時間的部件,它是由若干緩存段組成,每個緩存段具有連續內存地址的若干個存儲單元。

緩存的工作原理;CPU需要讀取一個數據的時候,首先會從高速緩存中查找,如果找到就會立即讀取併發送給CPU處理,如果沒找到就以較慢的速度去內存中讀取併發送給CPU,同時在把這個數據所需要的數據塊調入高速緩存內,後面再讀取數據的時候直接從緩存讀取,不必再調用內存。


一級緩存,是CPU的第一層高速緩存,主要分為數據緩存和指令緩存,這是對CPU性能影響最大的一層;

二級緩存,是CPU的第二層高速緩存,分內部和外部兩種芯片,內部芯片速度基本上與CPU主頻相同,而外部芯片只有主頻的一半。

三級緩存,離CPU較遠,讀取速度沒一級二級快,但一般三級緩存容量比前面兩級大很多。

就說這麼多了,有什麼不對的地方,希望大家及時提出,我好改進,喜歡我的別忘關注我!謝謝。


高全玩電腦

娛樂

\n

{!-- PGC_VIDEO:{"status": 0, "thumb_height": 360, "neardup_id": 8404751674747943558, "vname": "\\u4e24\\u5206\\u949f\\u5e26\\u4f60\\u4e86\\u89e3\\u4ec0\\u4e48\\u53eb CPU\


分享到:


相關文章: