[發明專利]一種基于DMA的數據處理系統及方法有效
| 申請號: | 202010051355.9 | 申請日: | 2020-01-17 |
| 公開(公告)號: | CN111221759B | 公開(公告)日: | 2021-05-28 |
| 發明(設計)人: | 莫小妮;詹晉川;袁結全 | 申請(專利權)人: | 深圳市風云實業有限公司 |
| 主分類號: | G06F13/28 | 分類號: | G06F13/28 |
| 代理公司: | 成都正華專利代理事務所(普通合伙) 51229 | 代理人: | 李蕊 |
| 地址: | 518057 廣東省深圳市福田區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 dma 數據處理系統 方法 | ||
本發明提供了一種基于DMA的數據處理系統,所述系統包括FPGA,以及與所述FPGA進行報文交互的CPU,所述FPGA與所述CPU之間通過基于PCIE協議的DMA處理子系統進行報文交互;所述FPGA用于對報文進行預處理,并通過PCIE接口將預處理后的報文通過DMA子系統存儲于CPU的存儲單元;所述FPGA還用于通過DMA子系統讀取存儲單元中的報文;所述CPU用于根據不同線程處理對應不同的報文。基于上述系統,本發明還公開了一種基于DMA的數據處理方法。本發明通過以上設計提高FPGA與CPU之間的數據交互速率,支持靈活可配置的報文處理流程。
技術領域
本發明屬于計算機應用技術領域,尤其涉及一種基于DMA的數據處理系統及方法。
背景技術
隨著技術的發展,在通信技術領域,高速網絡的要求越來越高,PCIE接口具有較大的數據傳送帶寬,同時使用廣泛。在現有的DMA報文處理機制中,需要采用輪詢處理的方式,提高了功耗,也對數據傳輸性能有所影響。
在本發明中,主要介紹FPGA與CPU之間,基于PCIE協議的DMA數據處理方法,采用描述符加指針管理的方式,有效提高FPGA與CPU之間的數據傳輸。同時,由于CPU都是多線程工作,從而引入了隊列的概念,使得CPU一個線程可以獨立處理一個隊列的報文。并且本發明考慮到在采用指針形式判別隊列的空滿狀態時,如果指針相等,即可表示滿狀態也可表示空狀態,在判別是需要額外耗費邏輯資源,因此,本發明將隊列預留一個位置,簡化了判別條件,也不會影響性能。
發明內容
針對現有技術中的上述不足,本發明提供的一種基于DMA的數據處理系統及方法,提高了FPGA與CPU之間的數據交互速率,實現了支持靈活可配置的報文處理流程。
為了達到以上目的,本發明采用的技術方案為:
本方案提供一種基于DMA的數據處理系統,所述系統包括FPGA,以及與所述FPGA進行報文交互的CPU,所述FPGA與所述CPU之間通過基于PCIE協議的DMA處理子系統進行報文交互;
所述FPGA用于對報文進行預處理,并通過PCIE接口將預處理后的報文通過DMA處理子系統存儲于CPU的存儲單元;所述FPGA還用于通過DMA子系統讀取存儲單元中的報文;
所述CPU用于根據不同線程處理對應不同的報文。
進一步地,所述對報文進行預處理,其具體為:
對報文進行hash計算,得到報文的hash值,并根據所述hash值去查表,獲取報文需寫入的隊列信息,其中,所述報文的隊列信息與CPU的線程號以及DMA的隊列號相對應。
再進一步地,所述CPU的存儲單元包括:
RX描述符存儲區,用于根據對讀、寫指針的管理,決定是否讀取描述符,并通過RX描述符信息寫入對應的報文;
TX描述符存儲區,用于根據對讀、寫指針的管理,決定是否讀取描述符,并通過TX描述符信息讀取對應的報文;
報文存儲區,用于存儲完整報文。
再進一步地,所述RX描述符存儲區和TX描述符存儲區均采用連續地址的方式對描述符進行讀取;
所述RX描述符存儲區和TX描述符存儲區中均包括報文的長度pkt_len、報文是否為有效信號val以及對應的報文塊開始地址array_addr。
再進一步地,所述DMA處理子系統包括:
隊列選擇模塊,用于利用CPU自由配置隊列使能,并將預處理后報文得到的隊列寫信息寫入至配置后對應的隊列中,并將報文需要寫入的隊列信息發送至接收描述符讀取模塊;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市風云實業有限公司,未經深圳市風云實業有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010051355.9/2.html,轉載請聲明來源鉆瓜專利網。





