[發明專利]直接內存存取方法、裝置、專用計算芯片及異構計算系統有效
| 申請號: | 201810488487.0 | 申請日: | 2018-05-21 |
| 公開(公告)號: | CN110515872B | 公開(公告)日: | 2020-07-31 |
| 發明(設計)人: | 廖恬瑜;潘國振 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F13/28 | 分類號: | G06F13/28 |
| 代理公司: | 北京億騰知識產權代理事務所(普通合伙) 11309 | 代理人: | 陳霽;周良玉 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 直接 內存 存取 方法 裝置 專用 計算 芯片 系統 | ||
本說明書實施例提供一種直接內存存取方法、裝置、專用計算芯片及異構計算系統,在直接內存存取方法中,從DMA控制塊指針隊列中讀取DMA控制塊指針。根據DMA控制塊指針,在系統內存中確定對應的DMA控制塊。確定DMA控制塊中的DMA控制信息和輸入數據的總長度。根據DMA控制塊指針以及總長度,將DMA控制信息和輸入數據搬移至設備內存。對輸入數據進行相應的計算,得到輸出數據。將輸出數據寫入設備內存,并獲取輸出數據的長度。根據DMA控制信息以及輸出數據的長度,將輸出數據從設備內存搬移至DMA控制塊。
技術領域
本說明書一個或多個實施例涉及計算機技術領域,尤其涉及一種直接內存存取方法、裝置、專用計算芯片及異構計算系統。
背景技術
異構計算是指由通用中央處理器(Central Processing Unit,CPU)進行數據處理整體流程的控制,當需要進行專用計算時,通用CPU調用專用計算芯片進行計算。具體地,通用CPU需要調用直接內存存取(Direct Memory Access,DMA)方法(一種通過專用的硬件模塊實現內存數據的搬移方法),將專用計算的輸入數據從系統內存傳輸到設備內存。專用計算芯片完成計算后,再把輸出數據傳輸回系統內存。由此可以看出,在一次異構計算中,需要分別進行兩次的DMA傳輸:輸入數據的傳輸和輸出數據的傳輸。
具體地,輸入數據的傳輸過程可以為:1)訪問DMA描述符所在隊列的指針,以讀取輸入數據的DMA描述符(用于描述輸入數據的地址和長度)。2)訪問輸入數據的DMA描述符,以讀取輸入數據的地址和長度。3)根據輸入數據的地址和長度,讀取輸入數據。輸出數據的傳輸過程可以為:1)訪問DMA描述符所在隊列的指針,以讀取輸出數據的DMA描述符(用于描述輸出數據的地址和長度)。2)訪問輸出數據的DMA描述符,以讀取輸出數據的地址和長度;3)根據輸出數據的地址和長度,寫入輸出數據。綜上,傳統技術中,一次異構計算的過程需要執行六次訪問操作。
發明內容
本說明書一個或多個實施例描述了一種直接內存存取方法、裝置、專用計算芯片及異構計算系統,可以減小DMA傳輸中的數據訪問次數,從而可以提高異構計算的性能。
第一方面,提供了一種直接內存存取方法,包括:
從直接內存存取DMA控制塊指針隊列中讀取DMA控制塊指針;
根據所述DMA控制塊指針,在系統內存中確定對應的DMA控制塊,所述DMA控制塊的內容包括DMA控制信息和輸入數據;所述系統內存是指用于存儲通用中央處理器CPU使用的數據的存儲空間;
確定所述DMA控制信息和所述輸入數據的總長度;
根據所述DMA控制塊指針以及所述總長度,將所述DMA控制信息和所述輸入數據搬移至設備內存;所述設備內存是指用于存儲專用計算芯片的數據的存儲空間;
對所述輸入數據進行相應的計算,得到輸出數據;
將所述輸出數據寫入所述設備內存;
獲取所述輸出數據的長度;
根據所述DMA控制信息以及所述輸出數據的長度,將所述輸出數據從所述設備內存搬移至所述DMA控制塊。
第二方面,提供了一種專用計算芯片,包括:直接內存存取DMA長度寄存器、DMA控制塊指針隊列、DMA數據傳輸模塊以及專用計算模塊;
所述DMA長度寄存器,用于存儲輸入數據的長度以及輸出數據的長度;
所述DMA控制塊指針隊列,用于存儲多個DMA控制塊指針;所述DMA控制塊指針指向系統內存中的DMA控制塊;所述DMA控制塊的內容包括DMA控制信息和輸入數據;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810488487.0/2.html,轉載請聲明來源鉆瓜專利網。





