歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 優化屏障和內存屏障

優化屏障和內存屏障

日期:2017/3/1 9:09:53   编辑:Linux編程

優化屏障:該原語保證編譯程序不會混淆元語操作前後的匯編語言指令。優化屏障即barrier(),翻譯成匯編就是asm volatile("":::"memory")。memory關鍵字強制編譯器假定RAM中的所有內存單元已經被匯編語言指令修改,volatile關鍵字進制把asm指令與程序中的其他指令重組

內存屏障:在原語之後的操作開始之前,原語之前的操作已經完成

串行指令,同事起到內存屏障的作用:

  1. I/O端口進行操作的所有指令
  2. lock前綴的所有指令
  3. 寫控制寄存器、系統寄存器或者調試寄存器的所有指令
  4. 一些特殊指令,如奔騰4的lfence等指令
  5. 少數的專門匯編語言指令

深入理解Linux內核(第三版)(英文版+中文版) 下載見 http://www.linuxidc.com/Linux/2011-08/41228.htm

Copyright © Linux教程網 All Rights Reserved