[發明專利]一種DMA調度方法、裝置和計算機可讀存儲介質在審
| 申請號: | 201811441362.9 | 申請日: | 2018-11-29 |
| 公開(公告)號: | CN111240813A | 公開(公告)日: | 2020-06-05 |
| 發明(設計)人: | 郭暉;張楠賡 | 申請(專利權)人: | 杭州嘉楠耘智信息科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F13/28;G06F13/30;G06F5/06 |
| 代理公司: | 北京市中倫律師事務所 11410 | 代理人: | 楊黎峰;鐘錦舜 |
| 地址: | 310000 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 dma 調度 方法 裝置 計算機 可讀 存儲 介質 | ||
本發明提供了一種DMA調度方法、裝置和計算機可讀存儲介質。其中,該DMA調度方法包括:根據DMA通道的數量初始化DMA調度環境,以分別為各DMA通道創建至少一個任務隊列和至少一個工作線程;其中,所述任務隊列和工作線程一一對應;響應于用戶線程發起的多個DMA調度請求,將所述多個DMA調度請求逐個分配至多個任務隊列中,并觸發與所述多個任務隊列分別對應的工作線程;基于被觸發的工作線程調用DMA控制器,以處理所述多個DMA調度請求。本發明在軟件層面對任務請求進行分配,通過將每個請求任務分配到所述全部通用DMA通道中任務數量最少的DMA通道的任務隊列中,從而實現平衡DMA通道負載,有效提升了數據處理系統的數據吞吐量。
技術領域
本發明屬于計算機領域,具體涉及一種DMA調度方法、裝置和計算機可讀存儲介質。
背景技術
處理器或者數字信號處理器主要用于數據處理。處理器可以包括一個處理器核心,一個存儲器,一個DMA(Direct Memory Access,直接存儲器存取)控制器,一個外部總線接口,以及一個或者多個外部接口用于實現芯片與外部的數據交互。處理器核心用于完成數據的處理操作,而數據的處理必然涉及數據源的讀取和數據操作結果的儲存操作。在數據的讀寫中,存在批量數據讀寫操作,即將大塊數據從一個存儲區域傳輸到另一個存儲區域。處理器中,DMA控制器實現了上述的大塊數據傳輸操作,從而將處理器核心從繁重的數據傳輸操作中解放出來,處理器核心可以直接利用DMA傳輸的數據進行數據處理,也可以將處理完成的數據由DMA控制器傳輸到指定的地址空間。
在現有的DMA控制器實現方法中,當多個外設同時需要利用DMA控制器進行數據傳輸時,DMA控制器的讀寫都采用固定的優先級或者優先級輪循的模式進行。上述兩種方法導致數據的傳輸具有很大延時性,降低了系統的數據吞吐量。
此外,現有技術中當用戶線程發起DMA調度請求時,必須將每個DMA調度請求放入與該請求對應的驅動接口所對應的DMA通道中,沒有軟件層面對DMA調度請求進行分配的過程。這樣通常會導致DMA通道負載不均衡,從而降低了數據處理系統的數據吞吐量。
發明內容
針對現有技術中存在的問題,即,當多個外設同時需要利用DMA控制器進行數據傳輸時,DMA控制器的讀寫都采用固定的優先級或者優先級輪循的模式進行,從而導致數據的傳輸具有很大延時性;此外,當用戶線程發起任務請求時,必須將每個任務請求放入與該任務請求對應的驅動接口所對應的專用DMA通道中,沒有軟件層面對任務請求進行分配的過程,導致DMA通道負載不均衡,從而降低了數據處理系統的數據吞吐量,基于此,本發明實施例提供了一種DMA調度方法、裝置和計算機可讀存儲介質,進而在軟件層面對DMA調度請求進行分配,通過將每個DMA調度任務分配到所述全部DMA通道中任務數量最少的DMA通道的任務隊列中,從而實現平衡DMA通道負載,有效提升了數據處理系統的數據吞吐量。
依據本發明的第一方面,提供了一種DMA調度方法,其包括:
根據DMA通道的數量初始化DMA調度環境,以分別為各DMA通道創建至少一個任務隊列和至少一個工作線程;其中,所述任務隊列和工作線程一一對應;
響應于用戶線程發起的多個DMA調度請求,將所述多個DMA調度請求逐個分配至多個任務隊列中,并觸發與所述多個任務隊列分別對應的工作線程;基于被觸發的工作線程調用DMA控制器,以處理所述多個DMA調度請求。
在上述實施例的基礎上,所述響應于用戶線程發起的多個DMA調度請求,將所述多個DMA調度請求逐個分配至多個任務隊列中,并觸發與所述多個任務隊列分別對應的工作線程;基于被觸發的工作線程調用DMA控制器,以處理所述多個DMA調度請求,包括:
響應于用戶線程發起任意一個DMA調度請求,獲取所述DMA調度請求;
將所述DMA調度請求放入排隊數量最少的任務隊列中,并觸發與所述排隊數量最少的任務隊列相對應的工作線程;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州嘉楠耘智信息科技有限公司,未經杭州嘉楠耘智信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811441362.9/2.html,轉載請聲明來源鉆瓜專利網。





