CPU内存屏障用于保障有序性。
volatile禁止指令重排序,可以保证有序。
CPU内存屏障,Intel设计得比较简单,总共只有3条指令:
①sfence:也就是save fence,写屏障指令。在sfence指令前的写操作必须在sfence指令后的写操作前完成。
②lfence:也就是load fence,读屏障指令。在lfence指令前的读操作必须在lfence指令后的读操作前完成。
③mfence:在mfence指令前得读写操作必须在mfence指令后的读写操作前完成。
Power PC,mac,Intel对于内存屏障的设计均不一样,Intel比较简单。
Intel CPU内存屏障
猜你喜欢
转载自blog.csdn.net/a772304419/article/details/103940426
今日推荐
周排行