我试图了解 PCI Express 的工作原理,以便我可以编写一个 Windows 驱动程序,该驱动程序可以读取和写入没有板载内存的自定义 PCI Express 设备。
我了解 PCIE 配置空间中的基地址寄存器 (BAR) 保存 PCI Express 应响应/允许写入的内存地址。(理解正确吗?)
我的问题如下:
- 在谈论 PCIE 时,与物理地址相比,什么是“总线特定地址”?
- BAR 何时以及如何填充地址?驱动程序是否负责分配内存并将地址写入外围 BAR?
- 将数据从外围设备传输到主机内存时是否使用 DMA?
我很感激你的时间。
此致,