基于DPDK+QDMA的CPU与外设的数据传输方法技术

技术编号:40836378 阅读:35 留言:0更新日期:2024-04-01 15:01
本发明专利技术涉及一种CPU与外设的数据传输方法。基于DPDK+QDMA的CPU与外设的数据传输方法,包括:对传输数据进行封包处理;将数据包发送到预先分配好的固定内核缓冲区内,该缓冲区位于用户空间;通过DPDK中的轮询模式读取数据包,并在原地址上处理数据包;通过QDMA的多队列传输方式进行数据传输;通过外设进行地址译码解码,实现数据传输。本发明专利技术提出的方法,利用DPDK的特性,实现轮询发送与接受,减少拷贝次数,减少了系统调用和数据包复制的开销,提高传输效率;将TCP/IP协议栈放入用户态或自定义协议栈,解放CPU性能;基于QDMA多队列的数据传输方式和SR‑IOV技术,可将该传输方式应用于虚拟化环境。

【技术实现步骤摘要】

本专利技术属于数据传输,涉及一种cpu与外设的数据传输方法。


技术介绍

1、常用的pc架构为基于pcie bus的方式,实现cpu与外部设备之间的高速数据传输,最早采用mmu(memory management unit)功能实现外设与cpu之间数据传输,因需要cpu全程参与数据传输,cpu利用率将会受限,后发展出基于iommu功能的dma(direct memoryaccess)传输方式,其传输方式如图1所示,可有效降低cpu在数据传输中的参与,提高cpu数据处理性能。但依然采用中断方式进行请求cpu。

2、基于pcie的pc架构,其可以与fpga等外设进行相连,可作为智能网卡和网络测试仪使用,cpu与fpga之间传输的数据包括流发生参数、流统计参数、捕获报文、协议仿真、端口配置等多种类、大量数据。传统内核驱动使用系统调用read、write以及memory map进行字符的读写,read、write、memory map方式系统调用发生时会产生内核态和用户态的转换,在传输多类型、大量数据时,频繁的内核态和用户态切换,导致传输效率低,对大量不本文档来自技高网...

【技术保护点】

1.基于DPDK+QDMA的CPU与外设的数据传输方法,其特征在于,包括:

2.根据权利要求1所述的基于DPDK+QDMA的CPU与外设的数据传输方法,其特征在于:所述数据包包括头部标签,所述头部标签由类型、长度、起始地址组成,每个数据包的长度不超过4KB。

3.根据权利要求1所述的基于DPDK+QDMA的CPU与外设的数据传输方法,其特征在于:用户态进程通过DPDK的VFIO驱动访问硬件,配合QDMA的多队列传输方式,实现CPU用户空间和外设的直接交互。

4.根据权利要求1所述的基于DPDK+QDMA的CPU与外设的数据传输方法,其特征在于:所述QD...

【技术特征摘要】

1.基于dpdk+qdma的cpu与外设的数据传输方法,其特征在于,包括:

2.根据权利要求1所述的基于dpdk+qdma的cpu与外设的数据传输方法,其特征在于:所述数据包包括头部标签,所述头部标签由类型、长度、起始地址组成,每个数据包的长度不超过4kb。

3.根据权利要求1所述的基于dpdk+qdma的cpu与外设的数据传输方法,其特征在于:用户态进程通过dpdk的vfio驱动访问硬件,配合qdma的多队列传输方式,实现cpu用户空间和外设的直接交互。...

【专利技术属性】
技术研发人员:马国瑞胡亚平袁海军王峰李晓慧
申请(专利权)人:中电科思仪科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1