本發(fā)明涉及計算機?,尤其涉及一種dma仲裁器和dma仲裁方法。
背景技術:
1、直接內存存取?(direct?memory?access,dma)是一種不需要中央處理器(central?processing?unit,cpu)進行干預便可實現(xiàn)硬件外設與內部存儲器直接進行數據交換的技術,作為一種高速數據傳輸技術在現(xiàn)代存儲芯片領域發(fā)揮重要的作用。
2、相關技術中,在多通道dma數據傳輸時,不同外設之間會存在傳輸沖突,影響數據傳輸效率和系統(tǒng)性能?,F(xiàn)有的仲裁方式固定,不夠靈活,對于一些連續(xù)傳輸請求的場景不能滿足。因此,如何合理設計dma仲裁?器對傳輸效率有著重要的影響。
技術實現(xiàn)思路
1、本發(fā)明提供一種dma仲裁器和dma仲裁方法,通過設置優(yōu)先級處理模塊和傳輸計數模塊,實現(xiàn)dma傳輸通道的優(yōu)先級選擇和輪詢傳輸,保證dma多通道傳輸的優(yōu)先級和公平性;且通過對dma仲裁器硬件單元進行配置,提高了dma仲裁器的靈活性。
2、本發(fā)明提供一種dma仲裁器,包括:
3、優(yōu)先級處理模塊、傳輸計數模塊和配置模塊;
4、所述配置模塊用于配置多個dma通道中的各個dma通道對應的最大傳輸次數;
5、所述優(yōu)先級處理模塊用于從多個dma通道中確定目標dma通道并發(fā)送至dma控制器;其中,在多個dma通道對應的多個傳輸請求中,所述目標dma通道對應的傳輸請求的優(yōu)先級最高;
6、所述傳輸計數模塊用于確定所述dma通道對應的傳輸次數是否已達到所述dma通道對應的最大傳輸次數。
7、根據本發(fā)明提供的一種dma仲裁器,所述傳輸計數模塊包括:
8、通道計數單元、傳輸計數單元和通道使能單元;其中,
9、所述傳輸計數用于對各個dma通道對應的傳輸次數進行計數,得到各個dma通道對應的傳輸次數;
10、所述通道使能單元用于在所述dma通道對應的傳輸次數小于或等于所述dma通道對應的最大傳輸次數的情況下,使能所述dma通道;
11、所述通道計數單元用于對已完成傳輸的dma通道進行計數。
12、根據本發(fā)明提供的一種dma仲裁器,所述配置模塊還用于配置dma通道對應的通道保持傳輸信息;所述通道保持傳輸信息用于指示在dma通道對應的傳輸次數大于所述dma通道對應的最大傳輸次數的情況下,繼續(xù)在所述dma通道進行傳輸。
13、根據本發(fā)明提供的一種dma仲裁器,所述dma仲裁器還包括:
14、邏輯處理模塊;所述邏輯處理模塊用于確定傳輸請求是否為有效的傳輸請求。
15、根據本發(fā)明提供的一種dma仲裁器,所述邏輯處理模塊具體用于:
16、在所述dma通道對應的傳輸次數小于或等于所述dma通道對應的最大傳輸次數的情況下,或dma通道對應的通道保持傳輸信息為目標值的情況下,確定傳輸請求為有效的傳輸請求。
17、根據本發(fā)明提供的一種dma仲裁器,所述dma仲裁器還包括:
18、比較器;所述比較器用于根據當前的目標dma通道和緩存的歷史的目標dma通道,確定目標dma通道是否改變;
19、所述通道計數單元用于在所述dma通道對應的傳輸次數等于所述dma通道對應的最大傳輸次數的情況下,確定所述dma通道已完成傳輸;或,在所述dma通道對應的傳輸次數小于所述dma通道對應的最大傳輸次數但目標dma通道改變的情況下,確定所述dma通道已完成傳輸。
20、本發(fā)明還提供一種dma,包括所述dma仲裁器。
21、本發(fā)明還提供一種dma仲裁方法,包括:
22、配置多個dma通道中的各個dma通道對應的最大傳輸次數;
23、從多個dma通道中確定目標dma通道并發(fā)送至dma控制器;其中,在多個dma通道對應的多個傳輸請求中,所述目標dma通道對應的傳輸請求的優(yōu)先級最高;
24、確定所述目標dma通道對應的傳輸次數是否已達到所述dma通道對應的最大傳輸次數。
25、本發(fā)明還提供一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)如上述任一種所述dma仲裁方法。
26、本發(fā)明還提供一種非暫態(tài)計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述dma仲裁方法。
27、本發(fā)明還提供一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述dma仲裁方法。
28、本發(fā)明提供的dma仲裁器,通過設置優(yōu)先級處理模塊和傳輸計數模塊,實現(xiàn)dma傳輸通道的優(yōu)先級選擇和輪詢傳輸,保證dma多通道傳輸的優(yōu)先級和公平性;且通過對dma仲裁器硬件單元進行配置,提高了dma仲裁器的靈活性。
1.一種dma仲裁器,其特征在于,包括:
2.根據權利要求1所述的dma仲裁器,其特征在于,所述傳輸計數模塊包括:
3.根據權利要求?1所述的dma仲裁器,其特征在于,所述配置模塊還用于配置dma通道對應的通道保持傳輸信息;所述通道保持傳輸信息用于指示在dma通道對應的傳輸次數大于所述dma通道對應的最大傳輸次數的情況下,繼續(xù)在所述dma通道進行傳輸。
4.根據權利要求1-3任一項所述的dma仲裁器,其特征在于,所述dma仲裁器還包括:
5.根據權利要求4所述的dma仲裁器,其特征在于,所述邏輯處理模塊具體用于:
6.根據權利要求2所述的dma仲裁器,其特征在于,所述dma仲裁器還包括:
7.一種直接內存存取dma設備,其特征在于,包括如權利要求1-6任一項所述的dma仲裁器。
8.一種dma仲裁方法,其特征在于,應用于如權利要求1-6任一項所述的dma仲裁器,包括:
9.一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述程序時實現(xiàn)如權利要求1至6任一項所述dma仲裁方法。
10.一種非暫態(tài)計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權利要求1至6任一項所述dma仲裁方法。