Jac*_*ani 2 memory pci-express pci transaction
我试图在 PCI Express 事务中找到内存条(基地址寄存器)和物理内存之间的链接。在我的最后一个问题中,我开始了解当 CPU 在某个内存地址读/写时会发生什么,现在我需要深入了解 PCI Express 事务。
我需要了解每个 PCI Express 内存读/写事务中是否涉及物理 RAM。
1) 设备内存条寻址的物理内存是否驻留在设备本身中?或者它驻留在RAM中?
2) 当我对没有内置物理内存的 PCI Express 设备启动内存读/写事务时,指定内存地址,如果它没有映射到内部物理内存,设备如何访问它?当我的设备返回一个带有数据的事务包时,根联合体是否将数据提供给 cpu 并将其插入到物理 RAM 中?
主系统 RAM 与 BAR 无关。BAR 只是将设备配置为解码对这些地址的访问。通常,该设备包含多个配置寄存器。BAR 允许 CPU 访问这些寄存器,就好像它们是一块 ram,但实际上那里没有 ram。PCIe 根联合体配置为将大部分内存访问路由到 RAM,并将对地址块(通常在 3-4 GB 区域)的访问路由到 PCIe 总线。给定设备中的 BAR 将其配置为响应这些地址的特定块。
另一方面,一些设备,尤其是显卡,实际上确实有自己的内存,可以通过 BAR 访问。
| 归档时间: |
|
| 查看次数: |
4089 次 |
| 最近记录: |