[發(fā)明專利]直接存儲器訪問的隊列管理有效
| 申請?zhí)枺?/td> | 201880025503.0 | 申請日: | 2018-04-06 |
| 公開(公告)號: | CN110520853B | 公開(公告)日: | 2023-08-15 |
| 發(fā)明(設計)人: | G·彼得;C·B·麥克布賴德;A·A·安巴德卡;K·D·塞多拉;B·博布羅夫;L·M·瓦爾 | 申請(專利權)人: | 微軟技術許可有限責任公司 |
| 主分類號: | G06F13/28 | 分類號: | G06F13/28 |
| 代理公司: | 北京市金杜律師事務所 11256 | 代理人: | 趙林琳;姚杰 |
| 地址: | 美國華*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 直接 存儲器 訪問 隊列 管理 | ||
直接存儲器訪問(DMA)引擎可能負責啟用和控制計算系統(tǒng)內的DMA數(shù)據(jù)流。DMA引擎不通過計算機系統(tǒng)處理器的控制,自動地將與多個隊列中的描述符相關聯(lián)的數(shù)據(jù)塊從源移動到目的地存儲器位置或地址。基于對鏈接到隊列中的描述符的數(shù)據(jù)塊的分析,DMA引擎及其關聯(lián)的DMA分段器確保鏈接到隊列中的描述符的存儲的數(shù)據(jù)塊不會在昂貴的時間段內保持空閑。DMA分段器可以將大數(shù)據(jù)塊劃分為較小的數(shù)據(jù)塊,以確保對大數(shù)據(jù)塊的處理不會妨礙對與隊列中一個或多個描述符關聯(lián)的較小數(shù)據(jù)塊的及時處理。所存儲的數(shù)據(jù)塊可以是二維數(shù)據(jù)塊。
背景技術
計算機或計算機系統(tǒng)的重要操作方面是向計算機的存儲器和從計算機的存儲器傳遞數(shù)據(jù)的需要。然而,如果使用計算機的處理器執(zhí)行向計算機的存儲器和從計算機的存儲器傳遞數(shù)據(jù)的任務,則該處理器將無法執(zhí)行其他功能。當計算機支持具有大量存儲器需求的高速設備時,如果要求處理器針對那些設備向計算機存儲系統(tǒng)并且從計算機存儲系統(tǒng)逐字地復制數(shù)據(jù),則處理器將承受沉重的負擔。結果,使用處理器以這種方式傳遞數(shù)據(jù)會消耗寶貴的處理時間。
實時多媒體應用正變得越來越重要。這些多媒體應用可能需要極快的處理速度和數(shù)據(jù)傳遞速度,諸如每秒數(shù)千兆的數(shù)據(jù)。盡管某些處理系統(tǒng)采用單個處理器來實現(xiàn)快速處理速度,但其他處理系統(tǒng)是利用多處理器架構實現(xiàn)的。在多處理器系統(tǒng)中,多個子處理器可以并行運行(或至少協(xié)同運行)以實現(xiàn)所期望的處理結果。
近年來,由于尖端的計算機應用變得越來越復雜,并且對處理系統(tǒng)日益增長的需求,因此存在對更快的計算機處理數(shù)據(jù)吞吐量的無限的期望。圖形應用是對處理系統(tǒng)提出最高要求的應用之一,因為它們需要在相對較短的時間段內進行如此大量的數(shù)據(jù)訪問、數(shù)據(jù)計算和數(shù)據(jù)處理以獲得期望的結果。
對更快的計算機處理數(shù)據(jù)吞吐量的需求的解決方案是直接存儲器訪問(DMA)。在計算機架構允許數(shù)據(jù)直接在源設備和目的地設備之間發(fā)送而無需在數(shù)據(jù)傳遞中涉及任意處理器的情況下,可以采用DMA技術。該架構通常包括控制器,該控制器從系統(tǒng)的設備接收數(shù)據(jù)傳遞命令以引起數(shù)據(jù)的傳遞。傳統(tǒng)的DMA命令可以指定數(shù)據(jù)塊的大小、系統(tǒng)存儲器中要從其傳遞數(shù)據(jù)/向其傳遞數(shù)據(jù)的地址、以及設備的要向其傳遞數(shù)據(jù)/從其傳遞數(shù)據(jù)的起始地址。以這種方式,可以在指定的設備和指定的存儲器之間快速傳送數(shù)據(jù),而不會增加微處理器的負擔。
傳統(tǒng)的DMA技術可以對多個隊列執(zhí)行處理。在一個示例中,第一隊列可以包括標識要從源設備移動到目的地設備的DMA數(shù)據(jù)的描述符,并且第二隊列可以包括與指令或命令數(shù)據(jù)有關的DMA指令描述符。在一些實現(xiàn)中,由第一隊列中的描述符處理的數(shù)據(jù)的大小大于由第二隊列中的描述符處理的指令數(shù)據(jù)的大小。因此,在某些情況下,DMA技術可以基于第一隊列中的一個或多個描述符來啟動處理DMA數(shù)據(jù),同時暫停與第二隊列中的描述符關聯(lián)的指令數(shù)據(jù)的處理。然而,可能必須將第二隊列暫停一段昂貴的時間段,以允許DMA技術完成與第一隊列中的描述符關聯(lián)的數(shù)據(jù)的處理。在處理第一隊列時強制第二隊列保持空閑可能會降低傳統(tǒng)DMA技術的數(shù)據(jù)傳遞效率。
相對于這些考慮和其他考慮,提出了本文進行的公開。
發(fā)明內容
本文描述的技術提供了對直接存儲器訪問(DMA)隊列的高效仲裁。在一些實現(xiàn)中,計算設備或計算系統(tǒng)可以實現(xiàn)多個隊列。多個隊列中的每個隊列可以包括用于處理數(shù)據(jù)的指令,例如描述符。在一些實現(xiàn)中,多個隊列中的第一隊列涉及并且包括用于處理數(shù)據(jù)的指令,該數(shù)據(jù)大于根據(jù)多個隊列中的第二隊列中的指令要被處理的數(shù)據(jù)。
本文描述的技術可以實現(xiàn)與DMA隊列對接的DMA引擎。DMA引擎可以使用DMA數(shù)據(jù)仲裁器和DMA分段器。DMA數(shù)據(jù)仲裁器可用于調節(jié)根據(jù)第一隊列和第二隊列中的指令要被處理的數(shù)據(jù)。此外,DMA數(shù)據(jù)仲裁器可以用于調節(jié)根據(jù)多個隊列中的其他隊列的指令要被處理的數(shù)據(jù)。被包括在多個隊列中的數(shù)據(jù)指令可以被稱為描述符。
DMA數(shù)據(jù)仲裁器可以負責確保及時處理根據(jù)第一隊列和第二隊列的描述符處理的數(shù)據(jù)。在一些實現(xiàn)中,第一隊列包括DMA描述符和第二隊列操作描述符。操作描述符可以關于比鏈接到DMA描述符的數(shù)據(jù)更小并且在某些情況下還明顯更小的數(shù)據(jù)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟技術許可有限責任公司,未經微軟技術許可有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201880025503.0/2.html,轉載請聲明來源鉆瓜專利網。





