是否有任何此类处理器具有绕过缓存的指令?

Met*_*est 7 c x86 assembly processor

是否有任何此类处理器具有绕过特定数据缓存的指令?这个问题也有一个答案,表明SSE4.2指令绕过缓存.有人可以启发我吗?

lev*_*gli 6

通常,缓存策略由内存管理单元(MMU)控制.对于每个地址范围,决定缓存策略.这些表由操作系统管理,可在系统空间中使用.作为您可能要提出的问题的侧边栏答案,对于具有缓存的体系结构,通常有CPU命令可用于同步/无效/刷新缓存.但是,与MMU表一样,这些命令也仅在系统空间中可用.

  • 稍作澄清; 在x86上,`clflush`指令(使_single_ cacheline无效)具有_not_特权.并且,正如原始海报所提到的,`movnt` SSE指令允许缓存绕过_stores_ - 请参阅http://stackoverflow.com/questions/37070/what-is-the-meaning-of-non-temporal-memory-accesses -in-x86了解详情. (2认同)

mah*_*mah 1

根据您对具体数据的定义,是的。处理器通常具有缓存控制寄存器/表,用于定义哪些内存区域可以缓存,哪些区域不能缓存。通常,在用户空间中运行的代码无法访问这些表。