CPU高速緩存與內存屏障

1. CPU緩存

cpu高速緩存的由來

  • 在CPU的全部取指令週期中(程序計算),至少需要訪問一次存儲器(也就是我們所說物理內存上的數據)
  • 通常需要多次訪問存儲器的取操作數或者保存結果,CPU處理計算的速度明顯受限於訪問存儲器的限制
  • 因此解決方案就是利用局部性原理,在CPU與物理內存之間提供一個容量小並且速度快的存儲器,稱爲高速緩存

高速緩存概述

  • 緩存是分“段”(line)的,一個段對應一塊存儲空間,大小是 32(較早的 ARM、90 年代 /2000 年代早期的 x86 和 PowerPC)、64(較新的 ARM 和 x86)或 128(較新的 Power ISA 機器)字節
  • 高速緩存包含物理內存部分數據副本
  • cpu讀取數據時將會先檢查高速緩存中的數據是否存在,存在就返回,不存在就讀取物理內存數據

高速緩存和內存

高速緩存與內存.jpg

高速緩存分爲L1-L3 Cache

  • L1 Cache: 一級緩存是CPU第一層高速緩存,分爲指令緩存和數據緩存,一般服務器的CPU的L1緩存容量在32-4096kb,現在的L1 Cache都不能直接與內存直連傳輸數據
  • L2 Cache: 由於L1級別高速緩存容量的限制,爲了再次提高CPU的運算速度,在CPU外部放置一個高速存儲器,即二級緩存
  • L3 Cache: 現在的L3緩存都是內置的,主要是進
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章