[發明專利]一種基于DMA的數據處理系統及方法有效
| 申請號: | 202010051355.9 | 申請日: | 2020-01-17 |
| 公開(公告)號: | CN111221759B | 公開(公告)日: | 2021-05-28 |
| 發明(設計)人: | 莫小妮;詹晉川;袁結全 | 申請(專利權)人: | 深圳市風云實業有限公司 |
| 主分類號: | G06F13/28 | 分類號: | G06F13/28 |
| 代理公司: | 成都正華專利代理事務所(普通合伙) 51229 | 代理人: | 李蕊 |
| 地址: | 518057 廣東省深圳市福田區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 dma 數據處理系統 方法 | ||
1.一種基于DMA的數據處理系統,其特征在于,所述系統包括FPGA,以及與所述FPGA進行報文交互的CPU,所述FPGA與所述CPU之間通過基于PCIE協議的DMA處理子系統進行報文交互;
所述FPGA用于對報文進行預處理,并通過PCIE接口將預處理后的報文通過DMA處理子系統存儲于CPU的存儲單元;所述FPGA還用于通過DMA子系統讀取存儲單元中的報文;
所述CPU用于根據不同線程處理對應不同的報文;
所述DMA處理子系統包括:
隊列選擇模塊,用于利用CPU自由配置隊列使能,并將預處理后報文得到的隊列寫信息寫入至配置后對應的隊列中,并將報文需要寫入的隊列信息發送至接收描述符讀取模塊;
接收指針管理模塊,用于分別通過對RX讀、寫指針和TX讀、寫指針的管理指示當前描述符是否可用,并獲取對應描述符的位置,并將其描述符的信息發送至接收描述符讀取模塊;
所述接收描述符讀取模塊,用于根據描述符的位置信息及隊列編號信息DMA的方式讀取RX描述符,根據CPU返回的RX描述符信息,提取出報文塊的開始地址信息,將開始地址信息發送給報文發送及接收描述符回寫模塊;
所述報文發送及接收描述符回寫模塊,用于根據報文塊的開始地址信息,并以DMA的方式把報文寫入對應的位置,同時利用回寫描述符將對應的val置為1,寫入報文的長度信息以及指示出對應報文塊內是否有數據,并由CPU根據val位去讀取報文,以及根據pkt_len信息獲取完整報文,其中,pkt_len表示報文長度,val表示報文是否為有效信號,當val為1時表示對應的報文塊內寫有數據,當val為0時表示對應的報文塊的空閑狀態;
發送指針管理模塊,用于管理發送隊列TX讀指針,并根據所述TX讀寫指針確定是否能獲取發送描述符模塊內的描述符信息;
發送描述符讀取模塊,用于啟動DMA讀取TX描述符信息,并將獲取到的報文塊開始地址以及報文長度信息傳遞至報文讀取及發送描述符回寫模塊;
報文讀取及發送描述符回寫模塊,用于讀取發送描述符讀取模塊發送的報文,并回寫描述符val=0,指示出對應的報文塊的空閑狀態,并通過TX讀指針將狀態信息傳遞至發送指針管理模塊;
DMA發送調度模塊,用于將對應的DMA讀、寫操作進行合并,并通過PCIE接口傳遞至CPU;
DMA接收分發模塊,用于通過PCIE接口獲取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。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市風云實業有限公司,未經深圳市風云實業有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010051355.9/1.html,轉載請聲明來源鉆瓜專利網。





