System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及直接存儲訪問,特別涉及一種單存儲空間緩存dma命令組結構。
技術介紹
1、現在層次化存儲中,常見使用dma(direct?memory?access,直接存儲訪問)提供在外設和存儲器之間或者存儲器與存儲器之間的高速數據傳輸。無需cpu干預,通過dma數據可以快速搬運,節省cpu資源。dma的作用就是實現數據的直接傳輸,去掉傳統數據傳輸需要cpu參與的過程。
2、在日漸復雜的存儲需求中,通常一次dma命令組包含多個dma命令,為了提高數據搬運效率,常見使用乒乓buffer存儲dma命令,即在當前buffer執行dma命令組時,另一片buffer緩存下一命令組。然而乒乓buffer在提高效率的同時,也造成了存儲空間的浪費,因此在保證dma命令組搬運效率的情況下,有效節省存儲空間是優化緩存dma命令組策略的重要組成部分。
技術實現思路
1、本專利技術的目的在于提供一種單存儲空間緩存dma命令組結構,以解決
技術介紹
中的問題。
2、為解決上述技術問題,本專利技術提供了一種單存儲空間緩存dma命令組結構,包括主機、虛擬group配置模塊、dma命令組緩存模塊和從機;其中,
3、所述虛擬group配置模塊的輸入端與所述主機的輸出端連接,所述虛擬group配置模塊的輸出端與所述dma命令組緩存模塊的輸入端連接;所述虛擬group配置模塊用于接收主機狀態信號,根據接收到的狀態信號產生讀寫控制信號,并發送讀寫控制信號至所述dma命令組緩存模塊,進行dm
4、所述dma命令組緩存模塊的輸入端同時與所述主機的輸出端、所述虛擬group配置模塊的輸出端連接,所述dma命令組緩存模塊的輸出端與所述從機的輸入端連接;所述dma命令組緩存模塊用于緩存dma命令組,并根據所述虛擬group配置模塊所發送的讀寫控制信號,進行dma命令組緩存控制;
5、所述dma命令組緩存模塊接收所述主機發送的dma命令組,根據所述虛擬group配置模塊所產生的讀寫使能信號,完成dma命令的搬運;所述從機接收執行dma命令組。
6、在一種實施方式中,所述虛擬group配置模塊在dma命令組中單個命令之后添加命令使能信號enable,并作為寫入所述dma命令組緩存模塊的使能信號;所述虛擬group配置模塊在dma命令組結束后添加命令組啟用信號launch,并作為讀取所述dma命令組緩存模塊的使能信號。
7、在一種實施方式中,所述虛擬group配置模塊包含兩組虛擬group,分別為group0與group1,二者順序執行,在launch信號啟用當前group之后,使當前group處于忙碌狀態,直至當前dma命令組全部執行完畢,當前group忙碌狀態結束,在此期間下一命令組啟用另一group。
8、在一種實施方式中,所述虛擬group配置模塊中group0、group1的狀態有7個,分別是“group0空閑/group1空閑”、“group0緩存/group1空閑”、“group0忙碌/group1空閑”、“group0忙碌/group1緩存”、“group0空閑/group1緩存”、“group0空閑/group1忙碌”、“group0緩存/group1忙碌”;
9、在“group0空閑/group1空閑”狀態時,默認group0優先級高于group1;
10、在“group0空閑/group1空閑”狀態時,若有enable使能,狀態跳入“group0緩存/group1空閑”;
11、“group0緩存/group1空閑”狀態時,若有launch使能,狀態跳入“group0忙碌/group1空閑”;
12、“group0忙碌/group1空閑”狀態時,若無enable使能,狀態跳入“group0空閑/group1空閑”,本次dma命令組執行完畢;若有enable使能,狀態跳入“group0忙碌/group1緩存”;
13、“group0忙碌/group1緩存”狀態時,若當前dma命令組執行完畢且無launch使能,狀態跳入“group0空閑/group1緩存”;若當前dma命令組執行完畢且有launch使能,狀態跳入“group0空閑/group1忙碌”;
14、“group0空閑/group1緩存”狀態時,若有launch使能,狀態跳入“group0空閑/group1忙碌”;
15、“group0空閑/group1忙碌”狀態時,若無enable使能,狀態跳入“group0空閑/group1空閑”,本次dma命令組執行完畢;若有enable使能,狀態跳入“group0緩存/group1忙碌”;
16、“group0緩存/group1忙碌”狀態時,若當前dma命令組執行完畢且無launch使能,狀態跳入“group0緩存/group1空閑”;若當前dma命令組執行完畢且有launch使能,狀態跳入“group0忙碌/group1空閑”。
17、本專利技術提供的一種單存儲空間緩存dma命令組結構,通過虛擬group配置模塊對dma命令組緩存模塊的讀寫控制,并將命令組分配至合適的虛擬group,提高dma命令組存儲空間利用率。
本文檔來自技高網...【技術保護點】
1.一種單存儲空間緩存DMA命令組結構,其特征在于,包括主機、虛擬Group配置模塊、DMA命令組緩存模塊和從機;其中,
2.如權利要求1所述的單存儲空間緩存DMA命令組結構,其特征在于,所述虛擬Group配置模塊在DMA命令組中單個命令之后添加命令使能信號Enable,并作為寫入所述DMA命令組緩存模塊的使能信號;所述虛擬Group配置模塊在DMA命令組結束后添加命令組啟用信號Launch,并作為讀取所述DMA命令組緩存模塊的使能信號。
3.如權利要求2所述的單存儲空間緩存DMA命令組結構,其特征在于,所述虛擬Group配置模塊包含兩組虛擬Group,分別為Group0與Group1,二者順序執行,在Launch信號啟用當前Group之后,使當前Group處于忙碌狀態,直至當前DMA命令組全部執行完畢,當前Group忙碌狀態結束,在此期間下一命令組啟用另一Group。
4.如權利要求1所述的單存儲空間緩存DMA命令組結構,其特征在于,所述虛擬Group配置模塊中Group0、Group1的狀態有7個,分別是“Group0空閑/Group1空閑
...【技術特征摘要】
1.一種單存儲空間緩存dma命令組結構,其特征在于,包括主機、虛擬group配置模塊、dma命令組緩存模塊和從機;其中,
2.如權利要求1所述的單存儲空間緩存dma命令組結構,其特征在于,所述虛擬group配置模塊在dma命令組中單個命令之后添加命令使能信號enable,并作為寫入所述dma命令組緩存模塊的使能信號;所述虛擬group配置模塊在dma命令組結束后添加命令組啟用信號launch,并作為讀取所述dma命令組緩存模塊的使能信號。
3.如權利要求2所述的單存儲空間緩存dma命令組結構,其特征在于,所述虛擬group配置模塊包含兩組虛擬group,分別為group0與group1,二...
【專利技術屬性】
技術研發人員:印象,高楊,嚴奕誠,張辛未,
申請(專利權)人:中電科申泰信息科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。