- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Intel 软件手册说 clwb “将包含线性地址的缓存行(如果修改)写回内存,该线性地址由缓存中缓存层次结构的任何级别的内存操作数指定一致性域。该行可能会以未修改状态保留在缓存层次结构中。clwb 是相对于对正在写回的缓存行的较旧写入排序的“
我的问题是,在下面的伪代码中
write(A)
clwb (A)
clwb 是否负责写入存储缓冲区?或者在使用 clwb 之前,我是否需要在写入之后进行屏蔽,例如
write (A)
sfence
clwb (A)
我想知道“sfence”是否真的需要?谢谢
最佳答案
在 Intel 处理器上,clwb
指令根据对同一缓存行的旧写入进行排序。在 AMD 处理器上,根据第 24593 号 AMD 手册第 2 卷第 7.6.3 节,如果目标的内存类型地址是执行 clwb
指令时的可缓存内存类型(即 WB、WT 或 WP)。
这种顺序保证意味着,如果有必要,在退出 clwb
说明。请注意,持久域由平台定义。
关于assembly - clwb 是否负责写入存储缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63752086/
Intel 软件手册说 clwb “将包含线性地址的缓存行(如果修改)写回内存,该线性地址由缓存中缓存层次结构的任何级别的内存操作数指定一致性域。该行可能会以未修改状态保留在缓存层次结构中。clwb
我正在尝试为英特尔的 clwb 指令找到不会使缓存行无效的配置或内存访问模式。我正在使用 NVDIMM 对 Intel Xeon Gold 5218 处理器进行测试。 Linux 版本为 5.4.0-
为什么当我增加时下面代码的运行时间会减少kNumCacheLines ? 在每次迭代中,代码都会修改 kNumCacheLines 之一。 cachelines,使用 clwb 将该行写入 DIMM指
我是一名优秀的程序员,十分优秀!