馬士兵多線程直播筆記(下)
CPU與緩存
緩存L1、L2、L3失效後回去內存中找,然後依次返回L3、L2、L1.
緩存一致性協議(MESI)
同一個緩存行在多個CPU內存中,一個修改後,其他CPU也需要感知!
緩存行的四種狀態(64個字節)
- Modified
- Exclusive
- Shared
- Invaild
CPU亂序執行
Volatile
- 線程可見性(底層MESI)
- 禁止重排序
JSR內存屏障
- LoadLoad
- StoreStore
- LoadStore
- StoreLoad
內存屏障防止Volatile修飾的關鍵字指令不會重排序。最底層是Locl AddL指令。