prefetchable专题

【精讲】PCIe基础篇——Non-Prefetchable Prefetchable MMIO

MMIO 有两种, Non-Prefetchable MMIO:非预取内存空间 Prefetchable MMIO :可预取内存空间 Prefetchable MMIO:将MMIO的一个区域设置为可预取的,允许CPU提前获取该区域中的数据,以预测请求者在不久的将来可能需要比实际请求更多的数据。对数据进行这种小规模缓存是安全的,因为读取数据不会改变目标设备上的任何状态信息。也就是说,

pci memory-map region的prefetchable 和 nonprefetchable

在PCI设备驱动开发过程中,处理板载I/O和内存空间时,常常会遇到prefetchable和nonprefetchable两词,直译为可预取和不可预取。但是两者具体究竟是什么含义呢?在LDD3, Chapter 12: PCI Drivers一章找到了不错的解释,姑且一边翻译一边解读如下(原文:LDD3影印版p316,Accessing the I/O and Memory Spaces 下面一段