我从 Intel Vol.2 中的多个指令条目中找到了对推测数据缓存过程的描述。
例如,lfence
:
处理器可以自由地从使用 WB、WC 和 WT 内存类型的系统内存区域推测性地获取和缓存数据。这种推测性的取指可以随时发生,并且与指令执行无关。因此,对于 LFENCE 指令的执行,它没有被排序;数据可以推测性地在 LFENCE 指令执行之前、期间或之后被带入缓存。
另外,我从在线资源中发现,推测缓存也会将数据从更远的缓存移动到更近的缓存。
我想知道最强的序列化指令是否CPUID
会阻止跨屏障的推测性缓存。
我已经搜索过CPUID
Intel Vol.2 中的条目和 Intel Vol.3 中的“序列化指令”部分。但它没有显示关于推测性数据缓存的任何内容。