[發(fā)明專利]一種利用DMA控制器實現(xiàn)二維數(shù)據(jù)搬運的方法有效
| 申請?zhí)枺?/td> | 200610066664.3 | 申請日: | 2006-04-17 |
| 公開(公告)號: | CN101059784A | 公開(公告)日: | 2007-10-24 |
| 發(fā)明(設(shè)計)人: | 汪堅;林曉濤;陳家錦 | 申請(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號: | G06F13/28 | 分類號: | G06F13/28 |
| 代理公司: | 北京安信方達(dá)知識產(chǎn)權(quán)代理有限公司 | 代理人: | 王漪;王繼長 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 利用 dma 控制器 實現(xiàn) 二維 數(shù)據(jù) 搬運 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種計算機技術(shù)中DMA控制器方法,尤其涉及的是一種利用DMA控制器實現(xiàn)二維數(shù)據(jù)搬運的方法。
背景技術(shù)
現(xiàn)有技術(shù)的DMA控制器(Direct?Memory?Access,以下簡稱DMA)的基本架構(gòu)如圖1所示,它主要由四個模塊組成:
AHB從器件接口模塊:該模塊的主要功能是用來配置DMA控制器,外部程序可以對DMA控制器的寄存器組模塊進(jìn)行設(shè)置。
AHB主器件接口模塊:該模塊可以完成向AHB總線發(fā)送地址、數(shù)據(jù)和控制信號,實現(xiàn)從源地址讀取數(shù)據(jù)放入目標(biāo)地址中。
寄存器組模塊:該模塊包括源地址寄存器、目標(biāo)地址寄存器、控制寄存器以及其它一些相關(guān)的寄存器。源地址寄存器的初值為要訪問的源存儲器空間的起始地址,在搬運過程中,DMA控制器把下一個要訪問的源地址保存在該寄存器中;目標(biāo)地址寄存器的初值為要訪問的目標(biāo)存儲器空間的起始地址,在搬運過程中,DMA控制器把下一個要訪問的目標(biāo)地址保存在該寄存器中;控制寄存器用來設(shè)定DMA通道使能或者不使能,是否自動加載起始地址等等。
通道優(yōu)先級模塊:該模塊用于實現(xiàn)DMA控制器內(nèi)多個邏輯通道的優(yōu)先級判斷。在接到DMA申請時,該模塊要判斷通道的優(yōu)先級,以確定在當(dāng)前情況下由哪個通道發(fā)起傳送。
AMBA協(xié)議的AHB總線上,DMA控制器作為與ARM處理器并列的主器件出現(xiàn),在大多數(shù)情況下,DMA控制器可以替代ARM處理器進(jìn)行數(shù)據(jù)搬運工作(包括存儲器到存儲器、存儲器到外圍設(shè)備、外圍設(shè)備到存儲器以及外圍設(shè)備之間的數(shù)據(jù)搬運),從而保證ARM處理器在執(zhí)行指令期間不介入到具體的數(shù)據(jù)搬運工作中,從而提高ARM處理器的工作效率。
目前AHB總線上廣泛應(yīng)用的DMA控制器一般都是進(jìn)行一維數(shù)據(jù)的搬運,即DMA控制器的源地址空間或者目標(biāo)地址空間是一段連續(xù)的存儲器空間,這種DMA控制器的寄存器組模塊中只有源地址寄存器、目標(biāo)地址寄存器以及控制寄存器這些主要的寄存器,在數(shù)據(jù)搬運的過程中,只需要對源地址寄存器或者目標(biāo)地址寄存器中的地址值遞增,就可以獲得下一個要訪問的存儲器地址。
然而在實際的操作過程中,往往會出現(xiàn)數(shù)據(jù)存放的存儲器空間是一個不連續(xù)的地址空間,比如在通訊領(lǐng)域普遍應(yīng)用的時分復(fù)用的情況,此時需要將多個邏輯通道(多個時隙,每個邏輯通道對應(yīng)著一個連續(xù)的存儲器地址空間)上的數(shù)據(jù)組合成一個完整的無線數(shù)據(jù)序列,或者將一個無線數(shù)據(jù)序列中的數(shù)據(jù)分解到多個邏輯通道上,如圖2所示。很顯然,現(xiàn)有技術(shù)只支持一維數(shù)據(jù)搬運的DMA控制器無法完成這個工作。
因此,現(xiàn)有技術(shù)還有待于繼續(xù)改進(jìn)和發(fā)展。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種利用DMA控制器進(jìn)行二維數(shù)據(jù)搬運的方法,克服一維數(shù)據(jù)搬運DMA控制器只能搬運連續(xù)地址空間數(shù)據(jù)的缺點。
本發(fā)明的技術(shù)方案包括:
一種利用DMA控制器實現(xiàn)二維數(shù)據(jù)搬運的方法,所述DMA控制器具有源地址寄存器、目標(biāo)地址寄存器以及控制寄存器,所述DMA控制器還具有源基地址寄存器、目標(biāo)基地址寄存器、界限寄存器及步幅寄存器,其包括以下步驟:
A、給各寄存器賦值,依次將源地址設(shè)置到所述源地址寄存器及所述源基地址寄存器中,將目標(biāo)地址設(shè)置到所述目標(biāo)地址寄存器及所述目標(biāo)基地址寄存器中,將存儲器空間的數(shù)目和深度設(shè)置到所述界限寄存器中,以及將跳轉(zhuǎn)的步幅設(shè)置到所述步幅寄存器中;
B、所述DMA控制器從源地址寄存器中取出源地址,獲取該地址所保存的數(shù)據(jù),并判斷該存儲器空間是否為最后一塊存儲器空間,如果不是,則根據(jù)步幅寄存器中的值,計算出下一個要訪問的源地址,存放到源地址寄存器中;如果是,則要跳轉(zhuǎn)到第一塊存儲器空間的下一個地址,將該地址存放到源地址寄存器中;
循環(huán)步驟B進(jìn)行數(shù)據(jù)搬運。
所述的方法,其中,還包括步驟:C、搬運完最后一塊存儲器空間的最后一個數(shù)據(jù),判斷控制寄存器中的自動加載位,如果設(shè)置為自動加載,則自動跳轉(zhuǎn)為源基地址寄存器中保存的地址值,并將該值保存到源地址寄存器中;如果沒有設(shè)置為自動加載,則搬運過程結(jié)束。
本發(fā)明所提供的一種利用DMA控制器實現(xiàn)二維數(shù)據(jù)搬運的方法,由于采用二維跳轉(zhuǎn)的方法,實現(xiàn)了DMA控制器支持二維數(shù)據(jù)搬運過程。
附圖說明
圖1是現(xiàn)有技術(shù)的DMA控制器的基本架構(gòu)示意圖;
圖2是現(xiàn)有技術(shù)的時分復(fù)用通信中多個邏輯通道數(shù)據(jù)組合示意圖;
圖3是本發(fā)明方法的二維跳轉(zhuǎn)工作方法示意圖;
圖4是本發(fā)明方法的二維跳轉(zhuǎn)工作方法數(shù)據(jù)搬運流程圖。
具體實施方式
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610066664.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種葉雕畫的清潔變色方法
- 下一篇:膜法氨氣泄漏吸收方法
- 直接存取器存取槽分配
- 執(zhí)行DMA數(shù)據(jù)傳輸?shù)脑O(shè)備和方法
- 用于混合DMA隊列和DMA表的方法和裝置
- DMA控制系統(tǒng)、打印裝置以及轉(zhuǎn)移指示方法
- 用于使用分布式移動體系結(jié)構(gòu)路由呼叫的系統(tǒng)、方法和設(shè)備
- 測量直接存儲器存取吞吐量
- 高完整性DMA操作的系統(tǒng)和方法
- 用于使用分布式移動體系結(jié)構(gòu)路由呼叫的系統(tǒng)、方法和設(shè)備
- 用于高速互連網(wǎng)絡(luò)接口芯片的DMA通信裝置、芯片、設(shè)備及方法
- 一種NVMe命令處理器及其處理方法
- 互動業(yè)務(wù)終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預(yù)報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設(shè)備實現(xiàn)方法及其實現(xiàn)裝置





