2

如果映射 i/o 的地址范围被键入为回写 (WB),即使我使用 in/out 指令,内存映射 i/o 操作(在英特尔处理器中)是否仍会被缓存?

编辑:这个问题解决了。我发现 MMIO 是可缓存的,并且 MMIO 操作可以根据其内存类型重新排序。这就是为什么英特尔建议使用 MTRR 将 MMIO 设置为 UC(不可缓存)的原因。我在英特尔软件开发人员手册 v3A 上找到了它,它也可能适用于 amd 处理器...

4

1 回答 1

0

我不知道 MMIO(在 x86 系统上)实际上可以设置为可缓存,但即使可以,我认为使用 IO 指令会绕过 MMU 的那部分。CPU 不会知道 IO您正在写入的地址在内部映射到您设备上的相同 MMIO 地址。您如何设置该 MMIO 区域的可缓存性?

于 2011-05-18T21:40:09.813 回答