一种基于DMA的数据处理系统及方法技术方案

技术编号:24352989 阅读:46 留言:0更新日期:2020-06-03 01:58
本发明专利技术提供了一种基于DMA的数据处理系统,所述系统包括FPGA,以及与所述FPGA进行报文交互的CPU,所述FPGA与所述CPU之间通过基于PCIE协议的DMA处理子系统进行报文交互;所述FPGA用于对报文进行预处理,并通过PCIE接口将预处理后的报文通过DMA子系统存储于CPU的存储单元;所述FPGA还用于通过DMA子系统读取存储单元中的报文;所述CPU用于根据不同线程处理对应不同的报文。基于上述系统,本发明专利技术还公开了一种基于DMA的数据处理方法。本发明专利技术通过以上设计提高FPGA与CPU之间的数据交互速率,支持灵活可配置的报文处理流程。

A data processing system and method based on DMA

【技术实现步骤摘要】
一种基于DMA的数据处理系统及方法
本专利技术属于计算机应用
,尤其涉及一种基于DMA的数据处理系统及方法。
技术介绍
随着技术的发展,在通信
,高速网络的要求越来越高,PCIE接口具有较大的数据传送带宽,同时使用广泛。在现有的DMA报文处理机制中,需要采用轮询处理的方式,提高了功耗,也对数据传输性能有所影响。在本专利技术中,主要介绍FPGA与CPU之间,基于PCIE协议的DMA数据处理方法,采用描述符加指针管理的方式,有效提高FPGA与CPU之间的数据传输。同时,由于CPU都是多线程工作,从而引入了队列的概念,使得CPU一个线程可以独立处理一个队列的报文。并且本专利技术考虑到在采用指针形式判别队列的空满状态时,如果指针相等,即可表示满状态也可表示空状态,在判别是需要额外耗费逻辑资源,因此,本专利技术将队列预留一个位置,简化了判别条件,也不会影响性能。
技术实现思路
针对现有技术中的上述不足,本专利技术提供的一种基于DMA的数据处理系统及方法,提高了FPGA与CPU之间的数据交互速率,实现了支持灵活可配置本文档来自技高网...

【技术保护点】
1.一种基于DMA的数据处理系统,其特征在于,所述系统包括FPGA,以及与所述FPGA进行报文交互的CPU,所述FPGA与所述CPU之间通过基于PCIE协议的DMA处理子系统进行报文交互;/n所述FPGA用于对报文进行预处理,并通过PCIE接口将预处理后的报文通过DMA处理子系统存储于CPU的存储单元;所述FPGA还用于通过DMA子系统读取存储单元中的报文;/n所述CPU用于根据不同线程处理对应不同的报文。/n

【技术特征摘要】
1.一种基于DMA的数据处理系统,其特征在于,所述系统包括FPGA,以及与所述FPGA进行报文交互的CPU,所述FPGA与所述CPU之间通过基于PCIE协议的DMA处理子系统进行报文交互;
所述FPGA用于对报文进行预处理,并通过PCIE接口将预处理后的报文通过DMA处理子系统存储于CPU的存储单元;所述FPGA还用于通过DMA子系统读取存储单元中的报文;
所述CPU用于根据不同线程处理对应不同的报文。


2.根据权利要求1所述的基于DMA的数据处理系统,其特征在于,所述对报文进行预处理,其具体为:
对报文进行hash计算,得到报文的hash值,并根据所述hash值去查表,获取报文需写入的队列信息,其中,所述报文的队列信息与CPU的线程号以及DMA的队列号相对应。


3.根据权利要求1所述的基于DMA的数据处理系统,其特征在于,所述CPU的存储单元包括:
RX描述符存储区,用于根据对读、写指针的管理,决定是否读取描述符,并通过RX描述符信息写入对应的报文;
TX描述符存储区,用于根据对读、写指针的管理,决定是否读取描述符,并通过TX描述符信息读取对应的报文;
报文存储区,用于存储完整报文。


4.根据权利要求3所述的基于DMA的数据处理系统,其特征在于,所述RX描述符存储区和TX描述符存储区均采用连续地址的方式对描述符进行读取;
所述RX描述符存储区和TX描述符存储区中均包括报文的长度pkt_len、报文是否为有效信号val以及对应的报文块开始地址array_addr。


5.根据权利要求1所述的基于DMA的数据处理系统,其特征在于,所述DMA处理子系统包括:
队列选择模块,用于利用CPU自由配置队列使能,并将预处理后报文得到的队列写信息写入至配置后对应的队列中,并将报文需要写入的队列信息发送至接收描述符读取模块;
接收指针管理模块,用于分别通过对RX读、写指针和TX读、写指针的管理指示当前描述符是否可用,并获取对应描述符的位置,并将其描述符的信息发送至接收描述符读取模块;
所述接收描述符读取模块,用于根据描述符的位置信息及队列编号信息DMA的方式读取RX描述符,根据CPU返回的RX描述符信息,提取出报文块的开始地址信息,将开始地址信息发送给报文发送及接收描述符回写模块;
所述报文发送及接收描述符回写模块,用于根据报文块的开始地址信息,并以DMA的方式把报文写入对应的位置,同时利用回写描述符将对应的val置为1,写入报文的长度信息以及指示出对应报文块内是否有数据,并由CPU根据val位去读取报文,以及根据pkt_len信息获取完整报文,其中,pkt_len表示报文长度,val表示报文是否为有效信号,当val为1时表示对应的报文块内写有数据,当val为0时表示对应的报文块的空闲状态;
发送指针管理模块,用于管理发送队列TX...

【专利技术属性】
技术研发人员:莫小妮詹晋川袁结全
申请(专利权)人:深圳市风云实业有限公司
类型:发明
国别省市:广东;44

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

1