目录
介绍PCIe拓扑结构下的DMA流程,实际上RC充当的就是DMA Controller的角色
1. Initiation
上电初始化,在设备枚举阶段,在内存空间中为每个PCIe设备分配BAR空间(包括MSI-X中断向量表)和4KB的配置空间。
初始化完成后即可进行DMA操作。
2. H2C(Host to Card)
CPU到EP的路径
2.1. MWr
- CPU将要写入的数据放入DDR中
- 告知RC,数据在DDR中的起始地址(内存空间)、长度、目标设备在内存空间中的地址(必须在BAR空间内)
- RC根据目标地址命中该EP的BAR空间,产生MWr TLP,包括Address、Length、Payload,注意Length不要超过Max_Payload_Size
- MWr TLP通过Address Route的方式路由
- TLP路由到EP,EP解析命中BAR空间,将数据写入Address起始、长度为Length的内部
2.2. MRd
过程与上述过