gpt4 book ai didi

assembly - 映射内存和 SSE

转载 作者:行者123 更新时间:2023-12-04 17:19:56 30 4
gpt4 key购买 nike

我在英特尔开发人员手册中找到了这一段:

From the chaper "PROGRAMMING WITH SSE3, SSSE3, SSE4 AND AESNI"

Streaming loads must not be used to reference memory addresses that are mapped to I/O devices having side effects or when reads to these devices are destructive. This is because MOVNTDQA is speculative in nature.



任何人都可以澄清这个问题吗?

我问是因为我想将一些 SSE 程序集应用于 OpenGL mapped buffer objects ,但我害怕那个破坏性的词。这个主题是否适用于映射内存?实际上我不知道 glMapBuffer 调用背后是什么。

我不认为我的图形卡会被毁坏 (:),但这个词肯定不好听。

最佳答案

这里的破坏性指的是只能执行一次的读取,例如当设备呈现内存映射方式从其队列中读取下一项时。在这种情况下,第二次从该位置读取将给出第二个结果。这很糟糕,因为 MOVNTDQA 是推测性的,因此即使由于错误预测的分支最终跳过指令,也可能会执行提取。第一次获取的数据将被不可挽回地破坏,尽管不会对硬件造成实际损害。

由于您只是尝试访问不同设备上的普通 RAM,而不是 MMIO 寄存器,因此您无需担心。

关于assembly - 映射内存和 SSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8017102/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com