[發明專利]鏈接表直接存儲器存取控制器描述符的結構有效
| 申請號: | 00814526.1 | 申請日: | 2000-10-20 |
| 公開(公告)號: | CN1384938A | 公開(公告)日: | 2002-12-11 |
| 發明(設計)人: | A·施密德特 | 申請(專利權)人: | 因芬尼昂技術北美公司 |
| 主分類號: | G06F13/28 | 分類號: | G06F13/28 |
| 代理公司: | 中國專利代理(香港)有限公司 | 代理人: | 王忠忠 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 鏈接 直接 存儲器 存取 控制器 描述 結構 | ||
發明所屬的領域
本發明涉及一種計算機系統且尤其涉及直接存儲器存取控制器。
發明的背景
在早期的計算機中,數據通過一個中央處理器(CPU)移入和移出存儲器。然而,對于諸如硬盤驅動器或CD-ROMs這樣的大容量存儲設備來講其數據傳輸率增長了,CPU處理數據傳輸太慢了且它的使用阻止了CPU對其他任務的執行。其結果是,現在大多數的計算機包括直接存儲存取控制器(DMAs)來移動數據到存儲器或從存儲器中移出數據。DMA通過控制地址和數據總線以從存儲器讀取數據或寫入數據到存儲器來進行操作。為了移動數據,CPU給DMA控制器一個DMA描述符的地址。該描述符是一組包括一些預定義信息的數據,預定義的信息包括將要移動的數據塊大小以及具有存儲器中的數據塊地址的指針。
在以前,每個描述符只包括一個或正好兩個數據指針。每次DMA控制器移動數據塊時,一個新的描述符不得不被讀取,從而降低了數據移動的速率。為了加快數據傳輸速率,需要一種減少描述符數量的方法,DMA控制器必須讀取描述符以移動數據。
發明概述
為了提高通過DMA控制器所傳輸的數據的速率,描述符包括一個隨后描述符的地址以及一個包含在隨后描述符中的可變的數據指針數量的示值。隨后描述符中的指針數量被存儲在DMA控制器中。當讀取一個隨后描述符時,所存儲的指針的數量控制由DMA控制器所執行的讀周期的數目。
在本發明的優選實施例中,描述符被存儲在一個定位的32比特位存儲器中。描述符地址的最后兩個地址比特位不是必須的并且因此用于將指針的數量存儲在下一個描述符中。
根據本發明的DMA控制器包括一個將數據指針的數量存儲在隨后描述符中的計數器。當讀取描述符時,計數器控制當DMA操作下一個描述符時由DMA控制器所執行的讀周期的數目。
附圖的簡要說明
結合附圖,通過下面的詳細描述將更容易領會和更好地理解前面所述的特征和本發明其它更多的附加效果,其中:
圖1說明了根據本發明的一個鏈接表DMA描述符;
圖2說明了每個DMA描述符如何包括一個存儲在隨后描述符中的數據指針數量的示值;以及
圖3說明了根據本發明的DMA控制器如何包括一個計數器以存儲包含在隨后描述符中的數據指針的數量。
優選實施例的詳細說明
本發明提出了用于通過包括一個包含在隨后描述符中的可變的數據指針數量的示值來增加由直接存儲存取控制器所執行的存儲器傳輸率的方法。
圖1說明了根據本發明的一個實施例的鏈接表DMA描述符10。在本發明的優選實施例中,描述符存儲在串行32比特的存儲器中。描述符10的第一個字12包含將被DMA控制器讀取的下一個描述符的地址。第二個字14包含DMA控制器移動數據所要的常規數據,包括存儲將被移動的數據塊大小的一對字節15。描述符10的第三個字16包括一個將被移動的數據塊的32比特位地址。
不像現有技術中描述符包括一個或正好兩個數據塊,描述符10可以包括最多4個指向數據模塊的數據指針,數據模塊通過DMA控制器而移動。因為描述符10存儲在定位的存儲器中的一連串32比特字中,下一個描述符的32比特位地址的最后兩個比特位永遠是00。因此,最后兩個比特位18最好用于存儲包含在隨后描述符中的數據指針的數量。若描述符是描述符列表中的最后一個描述符,下一個描述符指針被設置為某一預定義的值,該值可由DMA控制器識別,例如空字符(例如,全部零)或其它容易識別代碼。
圖2說明了根據本發明實施例的一個DMA描述符的鏈接表。第一描述符20被存儲作為它的第一32比特位的字22,第二DMA描述符30的地址。如上所示,32比特的字22的最后兩比特存儲包含在第二DMA描述符30內的數據指針數量。如所示的實施例,字22的最后兩比特包含值01,因此隨后DMA描述符30的示值包含兩個數據指針。第一DMA描述符20的第二32比特字24包含一些由DMA控制器需要的標準信息以及將要移動的數據塊大小的示值。如實施例所述,32比特位字24的最后兩個字節表示將被移動的數據塊具有256字節。第一描述符20的第三32比特位字26包含指向將要移動的256字節數據塊的指針。
最初的第二DMA描述符30的第一32比特位字32最初具有空字符,該空字符存為隨后描述符的地址,因此表示第二DMA描述符30是列表中的最后描述符。第二DMA描述符30包括兩個數據指針,該數據指針定位將要移動的數據塊。一對32比特位字34和36存儲第一數據塊的長度(即256字節)及其地址,同時第二對32比特位字38和40定位第二32字節數據及其地址。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于因芬尼昂技術北美公司,未經因芬尼昂技術北美公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/00814526.1/2.html,轉載請聲明來源鉆瓜專利網。





