PREFETCHn Instructions
PREFETCHn指令使得程序可以提前让处理器预先即将访问的数据读入到指定的某级缓存中,这样当程序真正需要这些数据时,可以直接命中缓存。这些指令按照制定了时效局部性提示(temporal locality hint)读取对齐的32字节的数据行(或者更长的数据行,依赖于处理器实现),这个数据行包括了指令中指定的数据。详情可参看下表。
SFENCE Instruction
SFENCE (store fence),存储屏障指令通过创建内存存储操作之间的屏障来控制写存顺序。这条指令保障了该指令之前的所有写操作结果可以被该指令之后的所有指令所见。SFENCE指令提供了一种有效的方法,用于确保生成弱排序数据的生产者与使用这些数据的消费者之间的顺序。如下例,只有两条写存指令完成后,处理器才会继续执行后续指令A与B。当然,处理器性能上也会有所损失。
格式:SFENCE
ntel C/C++ Compiler Intrinsic Equivalent
void _mm_sfence(void)