輕鬆學會Java高併發第二課-CPU多級緩存

CPU多級緩存

爲什麼需要CPU緩存

  • CPU的頻率越來越快,主存越來越跟不上CPU的變化,這樣伴隨的問題就是處理器的時鐘週期內,CPU需要常常等待主存,浪費資源。所以緩存的出現,是爲了緩解CPU和內存之間的速度不匹配問題。

一級緩存

  • CPU核心與主存之間有一層高速緩存。如下圖(1)所示,數據的讀取與存儲都經過高速緩存。主存和緩存都連接在系統總線上(Bus)。
    圖1

多級緩存

  • CPU核心與主存之間有多級緩存。如下圖(2)所示
    圖2

緩存如何解決CPU和內存之間的速度問題(意義)

  • 時間局部性:如果某個數據被訪問,那麼在不久的將來它很可能被再次訪問
  • 空間侷限性:如果某個數據被訪問,那麼與它相鄰的數據也可能很快被訪問

緩存一致性(MESI) 重點

  • 保證多個CPU cache 之間緩存共享數據的一致,如下圖(3)所示。

圖3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章