日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Linux 内核 内存管理】优化内存屏障 ④ ( 处理器内存屏障 | 八种处理器内存屏障 | 通用内存屏障 | 写内存屏障 | 读内存屏障 | 数据依赖屏障 | 强制性内存屏障 |SMP内存屏障 )

發布時間:2025/6/17 63 豆豆

文章目錄

  • 一、處理器內存屏障
  • 二、Linux 內核處理器內存屏障





一、處理器內存屏障



" 處理器內存屏障 “ 針對 ” CPU " 之間的內存訪問亂序CPU 訪問外設亂序 問題 ;


為了 提高 " 流水線 " 性能 , 新式處理器可以采用 " 超標量 體系結構 “” 亂序執行 " 技術 , 可以在 一個時鐘周期并行執行多條指令 ;

但是 CPU 執行優化會導致 指令亂序執行 , 后面的指令先于前面的指令執行 , 導致 寄存器中的值沖突 ;

CPU 執行優化總結 :

  • 順序取指令 ,
  • 亂序執行 ,
  • 執行結果順序提交 ;




二、Linux 內核處理器內存屏障



Linux 內核中有 888 種 " 處理器內存屏障 " ;


內存屏障 有 444 種類型 ,

  • ① 通用內存屏障
  • ② 寫內存屏障
  • ③ 讀內存屏障
  • ④ 數據依賴屏障

每種類型的 內存屏障 又分為

  • ① 強制性內存屏障
  • ② SMP 內存屏障

兩種類型 ;


因此將上面 888 種 " 處理器內存屏障 " 列成表格如下 :

內存屏障類型強制性內存屏障SMP 內存屏障
① 通用內存屏障mb()smp_mb()
② 寫內存屏障wmb()smp_wmb()
③ 讀內存屏障rmb()smp_rmb()
④ 數據依賴屏障read_barrier_depends()smp_read_barrier_depends()

如果使用 " 處理器內存屏障 " , 其隱含著同時使用 " 編譯器優化屏障 " ; ( 數據依賴屏障 除外 ) ;

總結

以上是生活随笔為你收集整理的【Linux 内核 内存管理】优化内存屏障 ④ ( 处理器内存屏障 | 八种处理器内存屏障 | 通用内存屏障 | 写内存屏障 | 读内存屏障 | 数据依赖屏障 | 强制性内存屏障 |SMP内存屏障 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。