【多線程與高併發原理篇:1_cpu多級緩存模型】

1. 背景

現代計算機技術中,cpu的計算速度遠遠高於主內存的讀寫速度。爲了解決速度不匹配問題,充分利用cpu的性能,在cpu與主內存之間加入了多級緩存,也叫高速緩存,cpu讀取數據直接從高速緩存中讀取,寫數據也類似,最後將數據從高速緩存同步到主內存。

2. cpu多級緩存模型

現代cpu多采用多核處理器機制,可以執行多個線程,每個cpu都有自己的高速緩存,讀數據優先將主內存數據加載到高速緩存,然後cpu通過執行各自線程對應的指令,完成數據處理,處理完後再講數據寫入高速緩存,刷到主內存中,如下圖所示:

3. 緩存數據一致性問題

可以看出,各個cpu對應的高速緩存都擁有主內存的數據副本flg=1,並且各自獨立,當cpu2對自己高速內存中的數據副本進行修改後,再次同步到主內存flg=2,cpu1對應高速緩存的數據副本與最新的主內存數據會出現不一致。如下圖所示:

解決緩存數據不一致的方案將在下一篇分析!

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