PCI Express BAR内存映射基本理解

PCI Express BAR内存映射基本理解

我试图了解 PCI Express 的工作原理,以便我可以编写一个 Windows 驱动程序,该驱动程序可以读取和写入没有板载内存的自定义 PCI Express 设备。

我理解 PCIE 配置空间中的基地址寄存器 (BAR) 保存 PCI Express 应响应/允许写入的内存地址。(这样理解正确吗?)

我的问题如下:

  • 当谈到 PCIE 时,与物理地址相比,“总线特定地址”是什么?
  • 何时以及如何向 BAR 填充地址?驱动程序是否负责分配内存并将地址写入外设 BAR?
  • BAR 中的地址可以在运行时更改吗?
  • 从外围设备向主机内存传输数据时是否使用 DMA?

我很感谢您的时间。

此致,

相关内容