我有一个关于PCI的问题。PCI有三个地址空间:PCI I/O、PCI内存和PCI配置空间。它们各自的物理位置在哪里?在PCI控制器中吗?还是在设备中?它们中的任何一个都是系统RAM的一部分吗?
我想对此添加一些评论。
所有PCI设备都有一个PCI配置空间作为BAR0。您可以在该空间中找到有关PCI设备的信息。它位于设备上。
关于PCI I/O和PCI内存,您可以将内存空间放入其中任何一个。这取决于您的软件方案。如果您的PCI设备想要访问其主机内存数据,则可以将内存空间放入PCI控制器中。(例如,在网络驱动程序中的tx包缓冲区)。