• / 19
  • 下載費用:30 金幣  

一種傳輸數據的方法和設備.pdf

關 鍵 詞:
一種 傳輸 數據 方法 設備
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
摘要
申請專利號:

CN201210374363.2

申請日:

2012.09.26

公開號:

CN103678199A

公開日:

2014.03.26

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 13/28申請日:20120926|||公開
IPC分類號: G06F13/28 主分類號: G06F13/28
申請人: 深圳市中興微電子技術有限公司
發明人: 廖洲
地址: 518083 廣東省深圳市鹽田區大梅沙1號廠房
優先權:
專利代理機構: 北京安信方達知識產權代理有限公司 11262 代理人: 田紅娟;龍洪
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201210374363.2

授權公告號:

103678199B||||||

法律狀態公告日:

2017.05.10|||2014.12.10|||2014.03.26

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明實施例涉及數據傳輸領域,特別涉及一種傳輸數據的方法和設備,用以解決通過round-robin方式實現對各個DMA通道的仲裁,根據仲裁結果對數據進行傳輸的方法導致數據傳輸效率比較低,DMA性能比較差的問題。本發明實施例提供的方法包括:針對一個直接內存存取DMA通道,根據該通道的數據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元;確定至少兩個仲裁單元對應的通道有數據要傳輸時,根據所述至少兩個仲裁單元的優先級傳輸數據。本發明實施例實現了先對通道的數據對應的傳輸性能好的通道對應的數據的進行傳輸,保持總線暢通,進而提高了數據傳輸的效率,提高了DMA的性能。

權利要求書

權利要求書
1.  一種傳輸數據的方法,其特征在于,該方法包括:
針對一個直接內存存取DMA通道,根據該通道的數據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元;
確定至少兩個仲裁單元對應的通道有數據要傳輸時,根據所述至少兩個仲裁單元的優先級傳輸數據。

2.  如權利要求1所述的方法,其特征在于,該通道的數據對應的傳輸性能為傳輸該通道對應的數據的傳輸時間或傳輸該通道對應的數據的速率。

3.  如權利要求2所述的方法,其特征在于,該通道的數據對應的傳輸性能為傳輸該通道對應的數據的速率,確定該通道的數據對應的傳輸性能包括:
確定傳輸該通道對應的數據的傳輸時間和傳輸容量;
根據所述傳輸時間和傳輸容量確定該通道的數據對應的傳輸性能。

4.  如權利要求1所述的方法,其特征在于,根據該通道的數據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元包括:
確定該通道的數據對應的傳輸性能所在的閾值范圍;
根據仲裁單元與閾值范圍的對應關系,確定該通道的數據對應的傳輸性能所在的閾值范圍對應的仲裁單元,并將確定所述閾值范圍對應的仲裁單元為該通道對應的仲裁單元。

5.  如權利要求1所述的方法,其特征在于,確定至少兩個仲裁單元對應的通道有數據要傳輸包括:
在設定時間段內接收到至少兩個仲裁單元對應的傳輸數據指令后,確定至少兩個仲裁單元對應的通道有數據要傳輸;
其中,每個仲裁單元對應的傳輸數據指令不同。

6.  如權利要求5所述的方法,其特征在于,所述傳輸數據指令包括源地址、目的地址以及數據標識;
每個仲裁單元對應的傳輸數據指令不同包括下列中的一種或多種:
每個仲裁單元對應的傳輸數據指令中的源地址不同;
每個仲裁單元對應的傳輸數據指令中的目的地址不同;
每個仲裁單元對應的傳輸數據指令中的數據標識不同。

7.  一種傳輸數據的設備,其特征在于,該設備包括:
確定模塊,用于針對一個直接內存存取DMA通道,根據該通道的數據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元;
處理模塊,用于確定至少兩個仲裁單元對應的通道有數據要傳輸時,根據所述至少兩個仲裁單元的優先級確定進行傳輸的數據。

8.  如權利要求7所述的設備,其特征在于,該通道的數據對應的傳輸性能為傳輸該通道對應的數據的傳輸時間或傳輸該通道對應的數據的速率;
所述確定模塊,具體用于確定傳輸該通道對應的數據的傳輸時間或傳輸該通道對應的數據的速率。

9.  如權利要求8所述的設備,其特征在于,該通道的數據對應的傳輸性能為傳輸該通道對應的數據的速率;
所述確定模塊,具體用于確定傳輸該通道對應的數據的傳輸時間和傳輸容量,并根據所述傳輸時間和傳輸容量確定該通道的數據對應的傳輸性能。

10.  如權利要求7所述的設備,其特征在于,所述確定模塊,具體用于確定該通道的數據對應的傳輸性能所在的閾值范圍,根據仲裁單元與閾值范圍的對應關系,確定該通道的數據對應的傳輸性能所在的閾值范圍對應的仲裁單元,并將確定所述閾值范圍對應的仲裁單元為該通道對應的仲裁單元。

11.  如權利要求7所述的設備,其特征在于,所述處理模塊,具體用于在設定時間段內接收到至少兩個仲裁單元對應的傳輸數據指令后,確定至少兩個仲裁單元對應的通道有數據要傳輸,其中,每個仲裁單元對應的傳輸數據指令不同。

12.  如權利要求11所述的設備,其特征在于,所述傳輸數據指令包括源地址、目的地址以及數據標識;每個仲裁單元對應的傳輸數據指令不同包括下 列中的一種或多種:每個仲裁單元對應的傳輸數據指令中的源地址不同;每個仲裁單元對應的傳輸數據指令中的目的地址不同;每個仲裁單元對應的傳輸數據指令中的數據標識不同。

說明書

說明書一種傳輸數據的方法和設備
技術領域
本發明涉及數據傳輸領域,特別涉及一種傳輸數據的方法和設備。
背景技術
現有技術中,仲裁單元通過round-robin(輪詢)的方式實現對各個DMA(Direct Memory Access,直接內存存取)通道的仲裁。如圖1所示,第一硬件模塊通過DMA的第一通道向DMA的仲裁單元發送包含傳輸數據信息的DMA請求(比如,將地址A的數據傳輸到地址B,數據量為90兆字節),第二硬件模塊通過DMA的第二通道向DMA的仲裁單元發送包含傳輸數據信息的DMA請求(比如,將地址C的數據傳輸到地址D,數據量為100兆字節)。DMA的仲裁單元實時采用從上到下輪詢的方式,從第一通道開始輪詢,確定傳輸第一通道對應的數據,并向bus command generator(總線命令產生器)發送傳輸第一通道對應的數據的命令,當輪詢到第二通道時,確定傳輸第二通道對應的數據,并向bus command generator發送傳輸第二通道對應的數據的命令,當輪詢到第五通道的時候,若CPU(中央處理器)通過DMA的第三通道向DMA的仲裁單元發送包含傳輸數據信息的DMA請求,則仲裁單元不會立即響應CPU的DMA請求,而是在下一輪的輪詢中,DMA的仲裁單元輪詢到第三通道時,會向bus command generator發送傳輸第三通道的數據的命令。
針對接收到的來自DMA的仲裁單元的傳輸第一通道的數據的命令(DMA的仲裁單元第一次向bus command generator發送傳輸第一通道的數據的命令)后,bus command generator確定源地址、目的地址以及要傳輸的第一通道對應的數據的大小(針對第一通道,地址A為源地址,地址B為目的地址),并緩存在bus command queue(總線命令隊列)中,bus controller(總線控制器)在 收到來自bus command queue的傳輸數據指令后,向數據通路單元發送獲取數據指令,指示數據通路單元到源地址中獲取數據標識對應的數據,在接收到來自數據通路單元的數據后,將獲取的數據寫入到目的地址中,其中,bus command queue是一個FIFO(先進先出)數據緩存器。
以上過程中,假設第一通道、第二通道以及第三通道對應的數據傳輸速率比較小,當數據通路單元達到處理上限時,就會造成總線堵塞,因此當其它硬件模塊通過第四通道、第五通道或者第六通道向DMA的仲裁單元發送DMA請求時,DMA的仲裁單元會暫停對DMA請求的處理,導致數據傳輸效率比較低,DMA性能比較差。
綜上所述,目前DMA的仲裁單元通過round-robin(輪詢)的方式實現對各個DMA通道的仲裁,根據仲裁結果對數據進行傳輸的方法導致數據傳輸效率比較低,DMA性能比較差。
發明內容
本發明實施例提供的一種傳輸數據的方法和設備,用以解決現有技術中存在的通過round-robin方式實現對各個DMA通道的仲裁,根據仲裁結果對數據進行傳輸的方法導致數據傳輸效率比較低,DMA性能比較差的問題。
本發明實施例提供的一種傳輸數據的方法,包括:
針對一個直接內存存取DMA通道,根據該通道的數據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元;
確定至少兩個仲裁單元對應的通道有數據要傳輸時,根據所述至少兩個仲裁單元的優先級傳輸數據。
本發明提供的一種傳輸數據的設備,包括:
確定模塊,用于針對一個直接內存存取DMA通道,根據該通道的數據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元;
處理模塊,用于確定至少兩個仲裁單元對應的通道有數據要傳輸時,根據 所述至少兩個仲裁單元的優先級確定進行傳輸的數據。
在本發明實施例中,采用多個仲裁單元,針對一個直接內存存取DMA通道,根據該通道的數據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元;確定至少兩個仲裁單元對應的通道有數據要傳輸時,根據所述至少兩個仲裁單元的優先級傳輸數據,由于針對一個通道,該通道的數據對應的傳輸性能越好,越在先傳輸該通道對應的數據,從而實現了先對通道的數據對應的傳輸性能好的通道對應的數據的進行傳輸,通過這種優先級的應用,保持總線暢通,進而提高了數據傳輸的效率與DMA的性能。
附圖說明
圖1為現有技術中的仲裁結構;
圖2為本發明實施例傳輸數據的方法流程示意圖;
圖3為本發明實施例的仲裁結構;
圖4為本發明實施例傳輸數據的詳細方法流程示意圖;
圖5為本發明實施例傳輸數據的設備結構示意圖。
具體實施方式
本發明實施例,采用多個仲裁單元,針對一個直接內存存取DMA通道,根據該通道的數據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元;確定至少兩個仲裁單元對應的通道有數據要傳輸時,根據所述至少兩個仲裁單元的優先級傳輸數據。由于針對一個通道,該通道的數據對應的傳輸性能越好,越在先傳輸該通道對應的數據,從而實現了先對通道的數據對應的傳輸性能好的通道對應的數據的進行傳輸,通過這種優先級的應用,保持總線暢通,進而提高了數據傳輸的效率與DMA的性能。
下面結合說明書附圖對本發明實施例作進一步詳細描述。
如圖2所示,本發明實施例傳輸數據的方法包括下列步驟:
步驟201、針對一個直接內存存取DMA通道,根據該通道的數據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元;
步驟202、確定至少兩個仲裁單元對應的通道有數據要傳輸時,根據所述至少兩個仲裁單元的優先級傳輸數據。
較佳地,步驟201中,針對一個直接內存存取DMA通道,傳輸該通道對應的數據之前還包括:
硬件模塊通過該通道向仲裁單元發送DMA請求,請求進行數據傳輸。
其中,所有的硬件模塊第一次發送DMA請求時,要通過各自的通道向同一個仲裁單元發送DMA請求。
實施中,硬件模塊可以是參與數據傳輸的任何硬件模塊,比如CPU,RAM等,至于具體是哪種硬件模塊,可以根據需要進行配置。
以圖3為例,各個硬件模塊通過各自對應的通道向仲裁單元1發送DMA請求,請求進行數據傳輸;
實施中,第一硬件模塊可以通過任意多個通道向仲裁單元1發送DMA請求,比如通過第一通道向仲裁單元1發送DMA請求,可以通過第一通道和第二通道向仲裁單元1發送DMA請求。
其中,在本發明實施例中,以第一硬件模塊、第二硬件模塊、第三硬件模塊、第四硬件模塊和第五硬件模塊向仲裁單元1發送DMA請求為例進行介紹,具體地,第一硬件模塊、第二硬件模塊、第三硬件模塊、第四硬件模塊和第五硬件模塊還可以向其它仲裁單元發送DMA請求,具體向哪個仲裁單元發送DMA請求可以根據需要設定。
較佳地,仲裁單元可以通過固定優先級或者round-robin方式確定傳輸哪個通道對應的數據,并發送傳輸該通道對應的數據的指令,其中,仲裁單元通過固定優先級或者round-robin方式確定傳輸哪個通道對應的數據是現有技術,仲裁單元通過round-robin方式確定傳輸哪個通道對應的數據具體參見本發明的背景技術,仲裁單元通過固定優先級方式確定傳輸哪個通道對應的數據具體參 見網址htp://wiki.cnki.com.cn/HotWord/2373471.htm。
其中,仲裁單元向該仲裁單元對應的總線命令產生器發送傳輸該通道對應的數據的指令。
以圖3為例,若在設定時間內,仲裁單元1在收到來自第一硬件模塊和來自第二硬件模塊的DMA請求,仲裁單元1通過輪詢先確定第一通道有數據要傳輸,確定在先傳輸第一通道對應的數據,向總線命令產生器1發送傳輸第一通道對應的數據的指令;仲裁單元1繼續進行輪詢,確定第二通道有數據要傳輸,向總線命令產生器1發送傳輸第二通道對應的數據的指令;仲裁單元1繼續進行輪詢,確定第三通道沒有數據要傳輸時,第五硬件模塊通過第五通道向仲裁單元1發送DMA請求,仲裁單元1不立即處理來自第五硬件模塊的DMA請求,而是繼續進行輪詢,確定第四通道沒有數據要傳輸,繼續進行輪詢,確定第五通道有數據要傳輸,向總線命令產生器1發送傳輸第五通道對應的數據的指令。
實施中,對已經獲得仲裁的通道做上標記,指示仲裁單元根據標記確定是否已經對該通道進行了仲裁,較佳地,可以對獲得不同次數仲裁的通道做上不同的標記,指示仲裁單元根據標記確定已經對該通道進行了多少次仲裁。
其中,標記可以是仲裁單元能夠根據標記確定是否已經對該通道進行了仲裁和/或仲裁單元能夠根據標記確定已經對該通道進行了多少次仲裁的任何標記,比如數字標記或者字母標記。
較佳地,根據收到的來自仲裁單元的指令,確定該通道對應的源地址、該通道對應的目的地址以及該通道對應的數據標識。
其中,可以是仲裁單元對應的總線命令產生器收到來自該仲裁單元的指令。
實施中,該通道對應的源地址中,數據標識對應的數據可以是DMA請求中請求進行傳輸的數據中的一部分數據。
以圖3為例,若在設定時間內,仲裁單元1在收到來自第一硬件模塊和來 自第二硬件模塊的DMA請求,仲裁單元1通過輪詢先確定第一通道有數據要傳輸,確定在先傳輸第一通道對應的數據,向總線命令產生器1發送傳輸第一通道對應的數據的指令,總線命令產生器1在收到來自仲裁單元1的指令,確定第一通道對應的源地址、第一通道對應的目的地址以及第一通道對應的數據標識,用于指示獲取源地址中數據標識對應的數據,并將獲取的數據傳輸到目的地址。
實施中,若第一硬件模塊發送DMA請求傳輸第一通道對應的源地址中的100兆字節的數據,數據標識對應的數據可以是第一通道對應的源地址中的20兆字節的數據,仲裁單元1通過輪詢先確定第二通道有數據要傳輸,確定在先傳輸第二通道對應的數據,向總線命令產生器1發送傳輸第二通道對應的數據的指令,總線命令產生器1在收到來自仲裁單元1的指令,確定第二通道對應的源地址、第二通道對應的目的地址以及第二通道對應的數據標識,用于指示獲取源地址中數據標識對應的數據,并將獲取的數據傳輸到目的地址。
較佳地,針對收到的來自仲裁單元的多條指令,確定該通道對應的源地址、該通道對應的目的地址以及該通道對應的數據標識。
較佳地,針對多個DMA請求,將會收到來自仲裁單元的多條指令,確定多組通道對應的源地址、通道對應的目的地址以及通道對應的數據標識的信息。
以圖3為例,若在設定時間內,仲裁單元1在收到來自第一硬件模塊和來自第二硬件模塊的DMA請求,仲裁單元1通過輪詢先確定第一通道有數據要傳輸,確定在先傳輸第一通道對應的數據,向總線命令產生器1發送傳輸第一通道對應的數據的指令,總線命令產生器1在收到來自仲裁單元1的指令,確定第一通道對應的源地址、第一通道對應的目的地址以及第一通道對應的數據標識;仲裁單元1通過輪詢確定第二通道有數據要傳輸,確定傳輸第二通道對應的數據,向總線命令產生器1發送傳輸第二通道對應的數據的指令,總線命令產生器1在收到來自仲裁單元1的指令,確定第二通道對應的源地址、第二 通道對應的目的地址以及第二通道對應的數據標識。
具體實施中,采用總線命令隊列存儲確定的多組通道對應的源地址、通道對應的目的地址以及通道對應的數據標識的信息。
其中,總線命令隊列可以是任何存儲設備,比如FIFO數據緩存器。
其中,針對一個通道,確定一組通道對應的源地址、通道對應的目的地址以及通道對應的數據標識的信息,即確定一條傳輸數據指令,總線命令隊列采用先入先出的方式向總線控制器發送傳輸數據指令。
較佳地,針對一個DMA通道,傳輸該通道對應的數據包括:
確定該通道對應的源地址、該通道對應的目的地址以及該通道對應的數據標識;
獲取所述源地址中所述數據標識對應的數據,并將所述數據傳輸到所述目的地址。
較佳地,步驟201中,針對一個DMA通道,該通道的數據對應的傳輸性能為傳輸該通道對應的數據的傳輸時間或傳輸該通道對應的數據的速率。
實施中,由性能確定模塊確定該通道的數據對應的傳輸性能。
其中,各個通道的數據對應的傳輸性能可能不同,即針對各個通道,傳輸通道對應的數據的傳輸時間可能不同;或
針對各個通道,傳輸通道對應的數據的速率可能不同。
實施例一、性能確定模塊確定傳輸該通道對應的數據的傳輸時間。
總線控制器收到傳輸數據指令后,確定源地址、目的地址以及數據標識,并向數據通路發送獲取數據指令,指示數據通路到源地址中獲取數據標識對應的數據,并將獲取的數據標識對應的數據發送給總線控制器,總線控制器將獲取的數據標識對應的數據傳輸到目的地址。
其中,傳輸時間是指總線控制器向數據通路發出獲取數據指令到接收到數據通路返回的獲取的數據標識對應的數據的時間段。
較佳地,可以通過設定定時器實現獲取傳輸時間,在總線控制器向數據通 路發出獲取數據指令時開始開啟定時器,在接收到數據通路返回的獲取的數據標識對應的數據時關閉定時器。
實施例二、性能確定模塊確定傳輸該通道對應的數據的速率。
較佳地,確定傳輸該通道對應的數據的速率包括:
S1、確定傳輸該通道對應的數據的傳輸時間和傳輸容量;
S2、根據所述傳輸時間和傳輸容量確定傳輸該通道對應的數據的速率。
其中,實施例一中,性能確定模塊確定的傳輸該通道對應的數據的傳輸時間與步驟S1中確定的傳輸該通道對應的數據的傳輸時間相同。
其中,傳輸容量是指數據標識對應的數據量的大小。
步驟S2中,根據所述傳輸時間和傳輸容量確定傳輸該通道對應的數據的速率包括:
可以將傳輸容量與傳輸時間的比值確定為傳輸該通道對應的數據的速率。
以圖3為例,若總線命令隊列向總線控制器發送包含第一通道對應的源地址、第一通道對應的目的地址以及第一通道對應的數據標識的傳輸數據指令,第一通道對應的源地址為累加器ACC,第一通道對應的目的地址為程序計數器PC,第一通道對應的數據標識M1對應的數據為延時數據時,則總線控制器向數據通路發出包含ACC和M1的獲取數據指令,并立即向性能確定模塊發送開啟指令,指示性能確定模塊中的定時器啟動計時;
數據通路在收到數據指令后,到ACC中獲取M1對應的數據,并將獲取的延時數據發送給總線控制器,總線控制器在接收到來自數據通路的延時數據時,立即向性能確定模塊發送關閉指令,指示性能確定模塊中的定時器停止計時;
若性能確定模塊根據定時器的計時確定傳輸時間為1S(秒),根據來自總線控制器的延時數據確定傳輸容量為10字節B,則將傳輸容量與傳輸時間的比值(10/1=10bps字節每秒)確定為傳輸該通道對應的數據的速率。
較佳地,將性能確定模塊集成到總線控制器中,可以減小傳輸時間的誤差。
較佳地,步驟201中,根據該通道的數據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元包括:
Z1、確定該通道的數據對應的傳輸性能所在的閾值范圍;
Z2、根據仲裁單元與閾值范圍的對應關系,確定該通道的數據對應的傳輸性能所在的閾值范圍對應的仲裁單元,并將確定所述閾值范圍對應的仲裁單元為該通道對應的仲裁單元。
實施中,由仲裁單元確定模塊確定該通道的數據對應的傳輸性能所在的閾值范圍,根據仲裁單元與閾值范圍的對應關系,確定該通道的數據對應的傳輸性能所在的閾值范圍對應的仲裁單元,并確定閾值范圍對應的仲裁單元為該通道對應的仲裁單元。
較佳地,在步驟Z1之前還包括:
仲裁單元確定模塊接收來自性能確定模塊的該通道的數據對應的傳輸性能。
較佳地,在步驟Z2中,仲裁單元與閾值范圍的對應關系可以存儲在仲裁單元確定模塊中,也可以存儲在其它存儲實體里,當仲裁單元確定模塊需要用到仲裁單元與閾值范圍的對應關系時,到其它存儲實體里調取。
下面以該通道的數據對應的傳輸性能為傳輸該通道對應的數據的速率為例進行介紹,該通道的數據對應的傳輸性能為傳輸該通道對應的數據的傳輸時間的實施情況與本發明實施例該通道的數據對應的傳輸性能為傳輸該通道對應的數據的速率的實施情況類似,在此不再贅述。
確定傳輸該通道對應的數據的速率所在的閾值范圍;
根據仲裁單元與閾值范圍的對應關系,確定傳輸該通道對應的數據的速率所在的閾值范圍對應的仲裁單元,并將確定所述閾值范圍對應的仲裁單元為該通道對應的仲裁單元;
其中,針對該通道的數據對應的傳輸性能為傳輸該通道對應的數據的速率,閾值范圍為速率的閾值范圍;針對該通道的數據對應的傳輸性能為傳輸該 通道對應的數據的傳輸時間,閾值范圍為傳輸時間的閾值范圍。
以圖3為例,若傳輸該通道對應的數據的速率為58bps,仲裁單元與閾值范圍的對應關系為:若傳輸通道對應的數據的速率小于50bps,則對應仲裁單元3;若傳輸通道對應的數據的速率在50bps~90bps,則對應仲裁單元2;若傳輸通道對應的數據的速率大于90bps,則對應仲裁單元1;
則仲裁單元確定模塊確定傳輸該通道對應的數據的速率所在的閾值范圍為50bps~90bps,根據仲裁單元與閾值范圍的對應關系,確定該通道對應的仲裁單元為仲裁單元2。
具體實施中,仲裁單元與閾值范圍的對應關系可以根據具體的應用場景進行設定。
其中,針對存在兩個仲裁單元的情況,可以通過對傳輸各個通道對應的數據的速率的加權確定閾值范圍。
以圖3為例,若傳輸第一通道對應的數據的速率為20bps,傳輸第二通道對應的數據的速率為40bps,傳輸第三通道對應的數據的速率為60bps,傳輸第四通道對應的數據的速率為50bps,傳輸第五通道對應的數據的速率為60bps,則傳輸各個通道對應的數據的速率的加權值為46bps,則確定仲裁單元與閾值范圍的對應關系為:若傳輸通道對應的數據的速率小于46bps,則對應仲裁單元2;若傳輸通道對應的數據的速率大于46bps,則對應仲裁單元2。
上述是以存在三個仲裁單元為例進行介紹,實施中,總裁單元有多少個可以根據需要而定,仲裁單元設置的個數越多,傳輸數據的效率越高。
其中,可以給多個仲裁單元劃分優先級,傳輸該通道對應的數據的速率越大,傳輸該通道對應的數據對應的仲裁單元的優先級越高;傳輸該通道對應的數據的傳輸時間越小,傳輸該通道對應的數據對應的仲裁單元的優先級越高。
較佳地,步驟202中,確定至少兩個仲裁單元對應的通道有數據要傳輸之前還包括:
針對多個仲裁單元的一個仲裁單元,可以通過固定優先級或者round-robin 方式確定傳輸該仲裁單元對應的通道中的哪個通道的數據,還可以通過傳輸該仲裁單元對應的通道的數據的速率確定傳輸該仲裁單元對應的通道中的哪個通道的數據。
以圖3為例,若傳輸第一通道對應的數據的速率為20bps,傳輸第二通道對應的數據的速率為40bps,傳輸第三通道對應的數據的速率為65bps,傳輸第四通道對應的數據的速率為50bps,傳輸第五通道對應的數據的速率為60bps,第一通道和第二通道對應仲裁單元3,第四通道對應仲裁單元2,第三通道和第五通道對應仲裁單元1,由于仲裁單元3對應的通道中,傳輸第二通道對應的數據的速率大于傳輸第一通道對應的數據的速率,則仲裁單元3確定先傳輸第二通道對應的數據中的部分數據,再傳輸第一通道對應的數據中的部分數據,再傳輸第二通道對應的數據中的部分數據,如此循環交替進行。
較佳地,仲裁單元1、總線命令產生器1以及總線命令隊列1之間的指令交互與上述提及的仲裁單元、總線命令產生器以及總線命令隊列之間的指令交互類似,仲裁單元2、總線命令產生器2以及總線命令隊列2之間的指令交互與上述提及的仲裁單元、總線命令產生器以及總線命令隊列之間的指令交互類似,仲裁單元3、總線命令產生器3以及總線命令隊列3之間的指令交互與上述提及的仲裁單元、總線命令產生器以及總線命令隊列之間的指令交互類似,在此不再贅述。
其中,針對不同優先級的仲裁單元,總線命令隊列存儲容量也不同,較佳地,仲裁單元優先級越高,總線命令隊列存儲容量越大,數據傳輸效率越高。
較佳地,步驟202中,確定至少兩個仲裁單元對應的通道有數據要傳輸包括有多種方式,比如在設定時間段內接收到至少兩個仲裁單元對應的傳輸數據指令后,確定至少兩個仲裁單元對應的通道有數據要傳輸,或者在設定時間段內收到的來自至少兩個仲裁單元的傳輸指令,確定至少兩個仲裁單元對應的通道有數據要傳輸。
方式一、在設定時間段內接收到至少兩個仲裁單元對應的傳輸數據指令 后,確定至少兩個仲裁單元對應的通道有數據要傳輸;
其中,每個仲裁單元對應的傳輸數據指令不同。
其中,設定時間段可以是任何時間段,比如1ms(毫秒),100us(微秒),可以根據需要設定。
當設定時間段的值為0時,即在同時接收到至少兩個仲裁單元對應的傳輸數據指令后,確定至少兩個仲裁單元對應的通道有數據要傳輸的情況同樣適用于本發明。
較佳地,所述傳輸數據指令包括源地址、目的地址以及數據標識;每個仲裁單元對應的傳輸數據指令不同包括下列中的一種或多種:
一、每個仲裁單元對應的傳輸數據指令中的源地址不同;
以圖3為例,若第一通道對應仲裁單元1,第二通道對應仲裁單元2,第一通道對應的源地址為ROM,第一通道對應的數據標識為A1,第二通道對應的源地址為PC,第二通道對應的數據標識為A2,第一通道和第二通道對應的目的地址均為ACC,則仲裁單元1對應的傳輸數據指令包括ROM、ACC以及A1,仲裁單元2對應的傳輸數據指令包括PC、ACC以及A2,在設定時間內,總線控制器收到來自仲裁單元1對應的傳輸數據指令以及仲裁單元2對應的傳輸數據指令,則確定至少兩個仲裁單元對應的通道有數據要傳輸;其中,每個仲裁單元對應的傳輸數據指令中的源地址不同。
二、每個仲裁單元對應的傳輸數據指令中的目的地址不同;
以圖3為例,若第一通道對應仲裁單元1,第二通道對應仲裁單元2,第一通道和第二通道對應的源地址為PC,第一通道對應的數據標識為A1,第一通道對應的目的地址為ROM,第二通道對應的目的地址為ACC,第二通道對應的數據標識為A1,則仲裁單元1對應的傳輸數據指令包括PC、ROM以及A1,仲裁單元2對應的傳輸數據指令包括PC、ACC以及A1,在設定時間內,總線控制器收到來自仲裁單元1對應的傳輸數據指令以及仲裁單元2對應的傳輸數據指令,則確定至少兩個仲裁單元對應的通道有數據要傳輸;其中,每個 仲裁單元對應的傳輸數據指令中的目的地址不同。
三、每個仲裁單元對應的傳輸數據指令中的數據標識不同。
以圖3為例,若第一通道對應仲裁單元1,第二通道對應仲裁單元2,第一通道和第二通道對應的源地址為PC,第一通道和第二通道對應的對應的目的地址為ROM,第一通道對應的數據標識為A1,第二通道對應的數據標識為A2,則仲裁單元1對應的傳輸數據指令包括PC、ROM以及A1,仲裁單元2對應的傳輸數據指令包括PC、ROM以及A2,在設定時間內,總線控制器收到來自仲裁單元1對應的傳輸數據指令以及仲裁單元2對應的傳輸數據指令,則確定至少兩個仲裁單元對應的通道有數據要傳輸;其中,每個仲裁單元對應的傳輸數據指令中的數據標識不同。
方式二、在設定時間段內收到的來自至少兩個仲裁單元的傳輸指令,確定至少兩個仲裁單元對應的通道有數據要傳輸。
其中,設定時間段可以是任何時間段,比如1ms(毫秒),100us(微秒),可以根據需要設定。
當設定時間段的值為0時,即在同時接收到至少兩個仲裁單元對應的傳輸數據指令后,確定至少兩個仲裁單元對應的通道有數據要傳輸的情況同樣適用于本發明。
其中,仲裁單元發送傳輸指令,用于通知總線控制器該仲裁單元對應的通道有數據要進行傳輸。
較佳地,根據所述至少兩個仲裁單元的優先級傳輸數據包括:
先處理優先級高的仲裁單元對應的傳輸數據指令,即先傳輸優先級高的仲裁單元對應的通道的數據。
其中,仲裁單元的優先級越高,傳輸仲裁單元對應的通道的數據的速率越大。
其中,如果在設定時間段內收到來自一個仲裁單元的傳輸指令,則無需判斷該仲裁單元的優先級,直接傳輸該仲裁單元對應的通道的數據。
其中,仲裁單元的優先級可以有總線控制器進行存儲,也可以由其它存儲實體進行存儲,當需要用到仲裁單元的優先級時,總線控制器到其它存儲實體調取。
本發明實施例是以存在三個仲裁單元,五個DMA通道為例進行說明,需要說明的是,本發明實施例并不局限于三個仲裁單元,五個DMA通道,針對不同的應用需求,其他情況也適用本發明實施例,針對其他情況的實施方式與本發明實施例的實施方式類似,在此不再贅述。
如圖4所示,本發明實施例傳輸數據的詳細方法包括下列步驟:
步驟401、第一硬件模塊通過第一通道向仲裁單元1發送DMA請求,請求將數據M從地址A傳輸到地址B;第三硬件模塊通過第三通道向仲裁單元1發送DMA請求,請求將數據N從地址C傳輸到地址D;第四硬件模塊通過第四通道向仲裁單元1發送DMA請求,請求將數據O從地址E傳輸到地址F;
其中,所有的硬件模塊第一次發送DMA請求時,要通過各自的通道向同一個仲裁單元發送DMA請求。
實施中,所有的硬件模塊同時向哪個仲裁單元發送DMA請求可以根據需要設定,比如同時向仲裁單元1發送DMA請求。
實施中,第一硬件模塊可以通過第一通道向仲裁單元1發送DMA請求,請求將數據M從地址A傳輸到地址B;第一硬件模塊也可以通過第一通道向仲裁單元1發送DMA請求,請求將數據M從地址A傳輸到地址B;通過第二通道向仲裁單元1發送DMA請求,請求將數據N從地址A傳輸到地址B,具體可以根據需要設定。
步驟402、仲裁單元1在收到來自硬件模塊的DMA請求時,通過固定優先級或者round-robin(輪詢)方式確定傳輸哪個通道對應的數據,并向總線命令產生器1發送傳輸該通道對應的數據的指令,指示總線命令產生器1確定該通道對應的源地址、該通道對應的目的地址以及該通道對應的數據標識;
其中,仲裁單元1通過固定優先級或者round-robin方式確定傳輸哪個通道 對應的數據的實施方式與圖2中仲裁單元通過固定優先級或者round-robin方式確定傳輸哪個通道對應的數據的實施方式相同,在此不再贅述。
步驟403、總線命令產生器1根據收到的來自仲裁單元1的指令,確定該通道對應的源地址、該通道對應的目的地址以及該通道對應的數據標識;
步驟404、針對第一硬件模塊、第三硬件模塊以及第四硬件模塊的DMA請求,仲裁單元1根據固定優先級或者round-robin方式發送三條傳輸該通道對應的數據的指令,總線命令產生器1確定多組通道對應的源地址、通道對應的目的地址以及通道對應的數據標識;
步驟405、在確定一組通道對應的源地址、通道對應的目的地址以及通道對應的數據標識后,總線命令產生器1會向總線命令隊列1發送確定的一組通道對應的源地址、通道對應的目的地址以及通道對應的數據標識;
步驟406、總線命令隊列1存儲接收到的多組通道對應的源地址、通道對應的目的地址以及通道對應的數據標識;
較佳地,也可以采用其它存儲實體存儲多組通道對應的源地址、通道對應的目的地址以及通道對應的數據標識。
步驟407、總線命令隊列1采用先入先出的方式將存儲的多組通道對應的源地址、通道對應的目的地址以及通道對應的數據標識中的一組確定為一條傳輸數據指令,并向總線控制器發送;
其中,傳輸數據指令包含源地址、目的地址以及數據標識,指示獲取源地址中數據標識對應的數據,并傳輸到目的地址。
步驟408、總線控制器接收到來自總線命令隊列1的傳輸數據指令后,確定源地址、目的地址以及數據標識,并向數據通路發送包含確定的源地址以及數據標識的獲取數據指令;
步驟409、總線控制器在發出獲取數據指令的同時,向性能確定模塊發送指令,指示性能確定模塊中設定的定時器開始定時;
步驟410、數據通路到源地址中獲取數據標識對應的數據,并將數據發送 給總線控制器;
步驟411、總線控制器在收到來自數據通路的數據的同時,向性能確定模塊發送指令,指示性能確定模塊中設定的定時器停止定時,并向性能確定模塊發送收到的數據的數據量信息;
步驟412、總線控制器將收到來自數據通路的數據傳輸到目的地址;
步驟413、性能確定模塊確定傳輸該通道對應的數據的傳輸時間和傳輸容量,并計算出傳輸該通道對應的數據的速率;
步驟414、性能確定模塊將計算出的傳輸該通道對應的數據的速率發送給仲裁單元確定模塊;
步驟415、仲裁單元確定模塊確定收到的傳輸該通道對應的數據的速率所在的閾值范圍,根據仲裁單元與閾值范圍的對應關系,確定傳輸該通道對應的數據的速率所在的閾值范圍對應的仲裁單元,并確定閾值范圍對應的仲裁單元為該通道對應的仲裁單元;
步驟416、針對每個仲裁單元,仲裁單元根據收到的DMA請求確定該仲裁單元對應的通道有數據要進行傳輸;
針對仲裁單元、總線命令產生器以及總線命令隊列的交互,參見執行步驟402~步驟407;
步驟417、總線控制器確定至少兩個仲裁單元對應的通道有數據要傳輸時,根據所述至少兩個仲裁單元的優先級傳輸數據。
其中,步驟417的實施方式見本發明圖2的實施方式。
基于同一發明構思,本發明實施例中還提供了一種傳輸數據的設備、接收設備,由于該設備解決問題的原理與本發明實施例的方法相似,因此該設備的實施可以參見方法的實施,重復之處不再贅述。
圖5為本發明實施例傳輸數據的設備結構示意圖,如圖所示,本發明實施例的傳輸數據的設備包括:
確定模塊501,用于針對一個直接內存存取DMA通道,根據該通道的數 據對應的傳輸性能,從多個仲裁單元中確定該通道對應的仲裁單元;
處理模塊502,用于確定至少兩個仲裁單元對應的通道有數據要傳輸時,根據所述至少兩個仲裁單元的優先級確定進行傳輸的數據。
較佳地,針對一個直接內存存取DMA通道,該通道的數據對應的傳輸性能為傳輸該通道對應的數據的傳輸時間或傳輸該通道對應的數據的速率;
確定模塊501,具體用于確定傳輸該通道對應的數據的傳輸時間或傳輸該通道對應的數據的速率。
較佳地,針對該通道的數據對應的傳輸性能為傳輸該通道對應的數據的速率;確定模塊501,具體用于確定傳輸該通道對應的數據的傳輸時間和傳輸容量,并根據所述傳輸時間和傳輸容量確定該通道的數據對應的傳輸性能。
較佳地,確定模塊501,具體用于確定該通道的數據對應的傳輸性能所在的閾值范圍,根據仲裁單元與閾值范圍的對應關系,確定該通道的數據對應的傳輸性能所在的閾值范圍對應的仲裁單元,并將確定所述閾值范圍對應的仲裁單元為該通道對應的仲裁單元。
較佳地,處理模塊502,具體用于在設定時間段內接收到至少兩個仲裁單元對應的傳輸數據指令后,確定至少兩個仲裁單元對應的通道有數據要傳輸,其中,每個仲裁單元對應的傳輸數據指令不同。
較佳地,所述傳輸數據指令包括源地址、目的地址以及數據標識;每個仲裁單元對應的傳輸數據指令不同包括下列中的一種或多種:每個仲裁單元對應的傳輸數據指令中的源地址不同;每個仲裁單元對應的傳輸數據指令中的目的地址不同;每個仲裁單元對應的傳輸數據指令中的數據標識不同。
其中,本發明傳輸數據的設備的實施例中,確定模塊501相當于本發明實施例的仲裁結構(見圖3)中的仲裁單元確定模塊,處理模塊502相當于本發明實施例的仲裁結構中的總線控制器;在確定模塊501,具體用于確定傳輸該通道對應的數據的傳輸時間和傳輸容量,并根據所述傳輸時間和傳輸容量確定該通道的數據對應的傳輸性能時,確定模塊501還相當于本發明實施例的仲裁 結構中的性能確定模塊。
較佳地,本發明實施例還包括如圖3所示的DMA通道、總線命令產生器以及總線命令隊列等,發送DMA請求的硬件模塊、DMA通道、總線命令產生器、總線命令隊列以及數據通路單元等的實施方式詳見本發明圖2的實施和本發明圖4的實施。
其中,上述是以存在有限個DMA通道、仲裁單元確定模塊、仲裁單元、總線命令產生器、總線命令隊列為例進行介紹,實施中,DMA通道、仲裁單元確定模塊、仲裁單元、總線命令產生器、總線命令隊列的數量可以根據需要而定,然而需要滿足:DMA通道、仲裁單元確定模塊、仲裁單元、總線命令產生器、總線命令隊列的數量相同。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。

關于本文
本文標題:一種傳輸數據的方法和設備.pdf
鏈接地址:http://www.pqsozv.live/p-6180756.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
钻石光影