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

CPU多級緩存

爲何須要CPU緩存

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

一級緩存

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

多級緩存

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

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

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

緩存一致性(MESI) 重點

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

圖3

相關文章
相關標籤/搜索