[發明專利]直接內存訪問控制器和直接內存訪問控制方法在審
| 申請號: | 201310454912.1 | 申請日: | 2013-09-29 |
| 公開(公告)號: | CN103500149A | 公開(公告)日: | 2014-01-08 |
| 發明(設計)人: | 王渝;牟澄磊;覃婕 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F13/16 | 分類號: | G06F13/16 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司 11205 | 代理人: | 劉芳 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 直接 內存 訪問 控制器 控制 方法 | ||
技術領域
本發明涉及電子技術,尤其涉及一種直接內存訪問控制器和直接內存訪問控制方法。
背景技術
隨著系統級芯片(System?On?Chip,SOC)芯片的發展,片內存儲器(Memory)所占比例越來越高,其面積通常占整個芯片面積的50%以上。而系統上電以后,Memory空間存儲的值處于未知狀態,而處理器如果讀取到未知的值可能引起錯誤操作,因此需要將Memory的空間初始化為已知數據。同時,在某些業務場景下,需要將Memory的存儲空間初始化為業務相關的初始值,這樣可以方便業務模塊或者處理器直接讀取Memory的初始值開始計算,提高系統的處理效率。
初始化存儲器的一種方法是處理器直接寫Memory完成初始化,例如,處理器通過STORE命令直接對Memory進行寫初始化的值,完成Memory所有空間的初始化。然而,這種方式的缺陷是由處理器執行初始化任務,導致處理器不能并行處理其他任務,并行處理其他任務的能力下降。為克服以上缺陷,提出了處理器通過啟動直接內存訪問控制器(Direct?Memory?Access?Controller,DMAC)搬移完成對Memory的初始化,控制流程如下:DMAC被啟動以后通過Read?Process讀取任務;任務解析邏輯(Task?Parse)將獲取到的任務數據(Task?data)進行解析,得到任務參數,例如搬移的源地址、目的地址、搬移的數據量等等;Task?Parse啟動讀寫主控制(Read?Write?Ctrl)邏輯啟動搬移;Read?Write?Ctrl啟動讀處理(Read?Process)邏輯從數據緩存單元(Data?Buffer)讀取數據;讀取的數據進入數據緩存單元過程中,寫處理(Write?Process)邏輯監控Data?Buffer的狀態,如果數據已經被讀回,則啟動寫操作;Read?Write?Ctrl監控讀寫狀態確定數據是否搬移完成。
然而,傳統DMAC只能執行數據搬移,即需要從源地址讀取數據以后才能向目的地址寫數據,這樣會占用讀總線的帶寬,造成總線擁塞導致系統效率降低。
發明內容
本發明實施例提供一種直接內存訪問控制器和直接內存訪問控制方法,解決了初始化內存過程中占用讀總線帶寬的技術問題。
第一方面,本發明實施例提供一種直接內存訪問控制器,包括:
讀取模塊,用于通過總線讀取直接內存訪問控制任務的描述符,所述描述符攜帶有任務標識和任務參數;
控制模塊,用于解析所述讀取模塊讀取到的所述描述符中的任務標識,獲取所述直接內存訪問控制任務的類型,若所述直接內存訪問控制任務的類型為初始化內存任務,則啟動寫模塊;
所述寫模塊,用于在所述控制模塊的控制下,根據所述描述符中的任務參數,通過所述總線將所述描述符中的初始化數據寫入內存。
結合第一方面,在第一種可能的實現方式中,所述控制模塊,還用于若所述直接內存訪問控制任務的類型為數據搬移任務,則啟動所述讀模塊和所述寫模塊;
所述讀取模塊,還用于在所述控制模塊的控制下,根據所述描述符中的任務參數,通過所述總線讀取所述源數據;
所述寫模塊,還用于在所述控制模塊的控制下,根據所述描述符中的任務參數,將所述讀取模塊讀取的源數據寫入目標存儲空間。
結合第一方面,或第一種可能的實現方式,在第二種可能的實現方式中,所述控制模塊包括:解析單元、初始化緩存單元、搬移緩存單元、選通單元和讀寫控制單元;
所述解析單元,用于解析所述讀取模塊讀取到的所述描述符中的任務標識,獲取所述直接內存訪問控制任務的類型,若識別出所述直接內存訪問控制任務控制為初始化內存任務,將所述描述符中的初始化數據緩存到所述初始化緩存單元,控制所述選通單元導通所述初始化緩存單元與所述寫模塊的連接并切斷所述搬移緩存單元與所述寫模塊的連接。并啟動所述讀寫控制單元;
所述讀寫控制單元,用于若所述解析單元識別出所述直接內存訪問控制任務控制為初始化內存任務,啟動所述寫模塊;
所述寫模塊,還用于在所述讀寫控制單元的控制下,根據所述描述符中的任務參數將所述初始化緩存單元中的所述初始化數據寫入所述內存;
所述解析單元,還用于若識別出所述直接內存訪問控制任務控制為數據搬移任務,控制所述選通單元切斷所述初始化緩存單元與所述寫模塊的連接并導通所述搬移緩存單元與所述寫模塊的連接,并啟動讀寫控制單元;
所述讀寫控制單元,用于若所述解析單元識別出所述直接內存訪問控制任務為數據搬移任務,啟動所述讀取模塊和所述寫模塊;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310454912.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種轎車化摩托的轉向機構
- 下一篇:一種向多圖形處理器分配數據的方法和系統





