System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術實施例涉及計算機,尤其涉及一種控制單元、片上系統及地址轉換錯誤處理方法。
技術介紹
1、dma(direct?memory?access,直接內存訪問)是一種硬件機制,它允許外圍設備和主內存之間直接傳輸它們的輸入/輸出數據,而不需要系統處理器的參與。使用這種機制可以大大提高與設備通信的吞吐量。dma的主要過程為:處理器向dma控制器下發數據傳輸指令,由dma控制器完成數據傳輸,并返回傳輸完成通知。
2、dma過程中,常出現被訪問內存地址為多個離散區域的情況,例如,被訪問內存地址為:從基地址a1開始的長度為l1的內存區域、從基地址a2開始的長度為l2的內存區域,以及從基地址a3開始的長度為l3的內存區域。為了降低處理器下發的指令數,可以采用sg-dma(scatter-gather?dma,離散-聚集dma)方案:引入多個鏈表,一個鏈表對應一個離散區域,就單個鏈表而言,除了存儲對應的一個離散區域地址信息外,還存儲下一個鏈表的地址信息;sg-dma控制器接收處理器下發的傳輸配置信息后,基于其中包括的第一個鏈表的地址在內存中訪問第一個鏈表;進而基于第一個鏈表中存儲的地址信息訪問對應的內存區域,進行該內存區域內的數據傳輸,之后,再基于鏈表中存儲的下一鏈表的地址信息,訪問下個鏈表,……,以此類推,直至完成對各離散區域的訪問。
3、為了降低內存開銷,sg-dma控制器采用共享虛擬地址的特性進行內存訪問,即:sg-dma控制器在內存訪問過程中直接使用虛擬地址,再由內存管理單元將上述虛擬地址轉換成內存中的物理地
4、相關的sg-dma方案中,當出現地址轉換錯誤時,對應的上層任務往往需要整體重新執行,對整個任務的執行性能影響較大。以高速對稱加解密這一任務場景為例,當某個任務對應的數據量較大,若在處理接近結束時出現錯誤,丟棄任務,整體重新計算的開銷會非常大。
技術實現思路
1、有鑒于此,本專利技術實施例提供一種控制單元、片上系統及地址轉換錯誤處理方法,以至少部分解決上述問題。
2、根據本專利技術實施例的第一方面,提供了一種控制單元,應用于片上系統,所述片上系統還包括:處理單元和內存,所述控制單元,包括:數據傳輸模塊,用于接收包括鏈表虛擬地址的傳輸配置信息;按照對所述鏈表虛擬地址進行地址轉換得到的鏈表物理地址進行鏈表訪問,獲取鏈表中包括的目標數據虛擬地址;按照對所述目標數據虛擬地址進行地址轉換得到的目標數據物理地址,在所述處理單元和所述內存之間傳輸目標數據,并在目標數據傳輸過程中記錄已傳輸數據量;錯誤上報模塊,用于若出現地址轉換錯誤,停止目標數據傳輸過程并將已傳輸數據量確定為斷點位置信息,向所述處理單元發送包括所述斷點位置信息的出錯通知。
3、根據本專利技術實施例的第二方面,提供了一種片上系統,包括:根據上述第一方面所述的控制單元;處理單元,用于對所述控制單元傳輸的數據執行預設算法;在所述預設算法執行過程中,若接收到所述控制單元發送的出錯通知,停止預設算法的執行過程,基于所述出錯通知確定已執行預設算法的已處理數據量,并向上游節點上報包括所述已處理數據量的錯誤提示信息。
4、根據本專利技術實施例的第三方面,提供了一種數據中心,包括:根據上述第二方面所述的片上系統。
5、根據本專利技術實施例的第四方面,提供了一種地址轉換錯誤處理方法,應用于片上系統中的控制單元,所述片上系統還包括:處理單元和內存,所述控制單元包括:數據傳輸模塊和錯誤上報模塊,所述方法包括:通過數據傳輸模塊,接收包括鏈表虛擬地址的傳輸配置信息;按照對所述鏈表虛擬地址進行地址轉換得到的鏈表物理地址進行鏈表訪問,獲取鏈表中包括的目標數據虛擬地址;按照對所述目標數據虛擬地址進行地址轉換得到的目標數據物理地址,在所述處理單元和內存之間傳輸目標數據,并在目標數據傳輸過程中記錄已傳輸數據量;若出現地址轉換錯誤,通過錯誤上報模塊,停止目標數據傳輸過程并將已傳輸數據量確定為斷點位置信息,向所述處理單元發送包括所述斷點位置信息的出錯通知。
6、根據本專利技術實施例的第五方面,提供了一種計算機存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現根據上述第四方面所述的方法。
7、根據本專利技術實施例提供的控制單元、片上系統及地址轉換錯誤處理方法,在基于鏈表進行數據傳輸的過程中,當出現地址轉換錯誤時,在上報的出錯通知中包括了斷點位置信息。也就是說,本專利技術實施例中,當出現地址轉換錯誤時,上傳的是包括有斷點位置信息的出錯通知,這樣,對應的上層任務在收到上述出錯通知之后,可以快速確定出任務中的待完成部分,進而當重新進行任務執行時只要執行上述待完成部分即可,無需重新進行整個任務的執行,避免了因任務重復執行而導致的計算資源浪費,有效降低了地址轉換錯誤對于任務執行性能的影響。
本文檔來自技高網...【技術保護點】
1.一種控制單元,應用于片上系統,所述片上系統還包括:處理單元和內存,所述控制單元,包括:
2.根據權利要求1所述的控制單元,其中,若所述地址轉換錯誤為在鏈表訪問時出現的錯誤,所述錯誤上報模塊具體用于:在接收到地址轉換錯誤通知時,停止目標數據傳輸過程并將已傳輸數據量確定為斷點位置信息,向所述處理單元發送包括所述斷點位置信息的出錯通知;
3.根據權利要求1所述的控制單元,其中,所述數據傳輸模塊包括:數據讀取子模塊和數據寫入子模塊;所述錯誤上報模塊包括:讀取錯誤上報子模塊和寫入錯誤上報子模塊;
4.根據權利要求3所述的控制單元,其中,若第一錯誤上報子模塊接收到地址轉換錯誤通知,所述第一錯誤上報子模塊,還用于:向第二錯誤上報子模塊發送第一出錯通知;其中,所述第一錯誤上報子模塊為讀取錯誤上報子模塊,所述第二錯誤上報子模塊為寫入錯誤上報子模塊,第一出錯通知為讀取出錯通知;或者,所述第一錯誤上報子模塊為寫入錯誤上報子模塊,所述第二錯誤上報子模塊為讀取錯誤上報子模塊,第一出錯通知為寫入出錯通知;
5.根據權利要4所述的控制單元,其中,所述第一錯誤
6.根據權利要5所述的控制單元,其中,在接收到所述讀取錯誤上報子模塊發送的讀取出錯通知之后,所述寫入錯誤上報子模塊,還用于:若所述數據寫入子模塊在數據寫入過程中出現地址轉換錯誤,停止數據寫入過程并將已寫入數據量確定為斷點位置信息,發送包括所述斷點位置信息的寫入出錯通知。
7.一種片上系統,包括:
8.一種數據中心,包括:根據權利要求7所述的片上系統。
9.一種地址轉換錯誤處理方法,應用于片上系統中的控制單元,所述片上系統還包括:處理單元和內存,所述控制單元包括:數據傳輸模塊和錯誤上報模塊,所述方法包括:
10.一種計算機存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現根據權利要求9所述的方法。
...【技術特征摘要】
1.一種控制單元,應用于片上系統,所述片上系統還包括:處理單元和內存,所述控制單元,包括:
2.根據權利要求1所述的控制單元,其中,若所述地址轉換錯誤為在鏈表訪問時出現的錯誤,所述錯誤上報模塊具體用于:在接收到地址轉換錯誤通知時,停止目標數據傳輸過程并將已傳輸數據量確定為斷點位置信息,向所述處理單元發送包括所述斷點位置信息的出錯通知;
3.根據權利要求1所述的控制單元,其中,所述數據傳輸模塊包括:數據讀取子模塊和數據寫入子模塊;所述錯誤上報模塊包括:讀取錯誤上報子模塊和寫入錯誤上報子模塊;
4.根據權利要求3所述的控制單元,其中,若第一錯誤上報子模塊接收到地址轉換錯誤通知,所述第一錯誤上報子模塊,還用于:向第二錯誤上報子模塊發送第一出錯通知;其中,所述第一錯誤上報子模塊為讀取錯誤上報子模塊,所述第二錯誤上報子模塊為寫入錯誤上報子模塊,第一出錯通知為讀取出錯通知;或者,所述第一錯誤上報子模塊為寫入錯誤上報子模塊,所述第二錯誤上報子模塊為讀...
【專利技術屬性】
技術研發人員:邵彬,汪學泱,韋健,
申請(專利權)人:平頭哥上海半導體技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。