当前位置:   article > 正文

pcie dma 相关知识整理(xilinx平台)_xilinx pcie dma

xilinx pcie dma

PCIE的DMA和PIO介绍

DMA数据传输方式

DMA(Direct Memory Access),直接内存访问,在该模式下,数据传送不是由CPU负责处理,而是由一个特殊的处理器DMA控制器来完成,因此占用极少的CPU资源。

DMA读过程
1、驱动程序向操作系统申请一片物理连续的内存;
2、主机向该地址写入数据;
3、主机将这个内存的物理地址告诉FPGA
4、FPGA向主机发起读TLP请求—连续发出多个读请求;
5、主机向FPGA返回CPLD包—连续返回多个CPLD;
6、FPGA取出CPLD包中的有效数据;
7、FPGA发送完数据后通过中断等形式通知主机DMA完成;

DMA写过程
1、驱动程序向操作系统申请一片物理连续的内存;
2、主机将这个内存的物理地址告诉FPGA;
3、FPGA向主机发起写TLP请求,并将数据放入TLP包中—连续发出多个写请求;
4、FPGA发送完数据后通过中断等形式通知主机DMA完成;
5、主机从内存中获取数据;

PIO数据传输方式

PIO(Programmed Input-Output),可编程输入输出,在该模式下,数据传送由CPU执行I/O端口指令来按照字节或更大的数据单位来处理,占用大量的CPU资源,数据传输速度也大大低于DMA模式。

关于PIO相关实验, 参考 PCIE PIO工程验证

对比PIO和DMA数据传输方式

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/743167
推荐阅读
相关标签
  

闽ICP备14008679号