System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于計算機軟件開發,具體涉及一種基于數據處理模式預測的simd指令轉換優化方法。
技術介紹
1、現有x86架構下的simd擴展指令集支持的字長有多種,例如在256位模式下向量寄存器能夠存儲256位的數據,常見的操作包括對256位向量的算術運算、邏輯運算等。neon是arm架構中的simd擴展指令集,它的數據向量長度通常為128位。因此,當采用neon指令處理x86架構simd指令相關的較長的數據時,需要先將x86架構的數據拆分為多個neon指令可處理的較短的數據再分別進行處理。然而,由于需要執行額外的拆分和合并操作,所以基于數據拆分的方式在arm架構中模擬執行x86架構simd指令時可能會導致可執行文件執行性能的下降。
技術實現思路
1、有鑒于此,本專利技術提供了一種基于數據處理模式預測的simd指令轉換優化方法,通過預測數據處理模式確定了操作數的類型及語義,在操作數精確分割和加載的基礎上實現了simd指令的轉換。
2、本專利技術提供的一種基于數據處理模式預測的simd指令轉換優化方法,具體包括以下步驟:
3、步驟1、若可執行文件存在對應的指令轉換策略列表,則根據指令轉換策略列表完成該可執行文件的執行,結束本流程;否則通過動態指令轉換加載執行該可執行文件;
4、步驟2、獲取當前待轉換指令及其操作數,確定操作數的類型,將arm指令的字長記為第一字長,操作數為線性方式排列的數組時執行步驟3,操作數為非線性排列邏輯結構的矩陣時執行步驟8;
...【技術保護點】
1.一種基于數據處理模式預測的SIMD指令轉換優化方法,其特征在于,具體包括以下步驟:
2.根據權利要求1所述的SIMD指令轉換優化方法,其特征在于,所述步驟2中所述確定操作數的類型的方式為:根據操作數的尋址方式確定,尋址方式確定的地址為基地址與偏移量之和,當偏移量為索引和元素大小之積時,判定操作數為線性方式排列的數組;當偏移量為兩個索引、列數及元素大小的運算結果時,判定操作數為非線性排列邏輯結構的矩陣。
3.根據權利要求1所述的SIMD指令轉換優化方法,其特征在于,所述步驟3中所述確定第一操作數的數據類型的方式為:與當前待轉換指令相關的功能代碼段為第一代碼段,由第一代碼段中的指令形成第一指令集合,當第一指令集合中包含圖像處理的操作碼時,判定第一操作數為圖像數據;當第一指令集合中包含音頻數據處理的操作碼時,判定第一操作數為音頻數據。
4.根據權利要求3所述的SIMD指令轉換優化方法,其特征在于,所述第一代碼段通過二進制代碼特征分析確定。
5.根據權利要求1所述的SIMD指令轉換優化方法,其特征在于,所述步驟4中所述將第一操作數分割為
6.根據權利要求1所述的SIMD指令轉換優化方法,其特征在于,所述步驟6中所述第一操作數分割為N個子操作數的方式為:將第一元素大小與第一長度之積與第一字長的比值向上取整作為第一分割數N,前N-1個子操作數的長度為第一字長,最后一個子操作數的長度為第一操作數余下的長度。
7.根據權利要求1所述的SIMD指令轉換優化方法,其特征在于,所述步驟9中所述將第一操作數的每行數據分割為K個子操作數的方式為:將第一元素大小與Q之積與第一字長的比值向上取整作為第二分割數K,前K-1個子操作數的長度為第一字長,最后一個子操作數的長度為第一操作數中每行余下的長度。
8.根據權利要求1所述的SIMD指令轉換優化方法,其特征在于,所述步驟9中所述將第二操作數的每列數據分割為K個子操作數的方式為:前K-1個子操作數的長度為第一字長,最后一個子操作數的長度為第二操作數中每列余下的長度。
9.根據權利要求1所述的SIMD指令轉換優化方法,其特征在于,所述步驟10中所述第四循環體的實現方式為:令循環次數k的初始值為1且k不大于K,將第一操作數的第q列的第k個子操作數加載到第k個ARM寄存器中,將第二操作數的第q行的第k個子操作數加載到第K+k個ARM寄存器中,若k小于K則令k自加1后繼續執行第四循環體,否則結束循環。
...【技術特征摘要】
1.一種基于數據處理模式預測的simd指令轉換優化方法,其特征在于,具體包括以下步驟:
2.根據權利要求1所述的simd指令轉換優化方法,其特征在于,所述步驟2中所述確定操作數的類型的方式為:根據操作數的尋址方式確定,尋址方式確定的地址為基地址與偏移量之和,當偏移量為索引和元素大小之積時,判定操作數為線性方式排列的數組;當偏移量為兩個索引、列數及元素大小的運算結果時,判定操作數為非線性排列邏輯結構的矩陣。
3.根據權利要求1所述的simd指令轉換優化方法,其特征在于,所述步驟3中所述確定第一操作數的數據類型的方式為:與當前待轉換指令相關的功能代碼段為第一代碼段,由第一代碼段中的指令形成第一指令集合,當第一指令集合中包含圖像處理的操作碼時,判定第一操作數為圖像數據;當第一指令集合中包含音頻數據處理的操作碼時,判定第一操作數為音頻數據。
4.根據權利要求3所述的simd指令轉換優化方法,其特征在于,所述第一代碼段通過二進制代碼特征分析確定。
5.根據權利要求1所述的simd指令轉換優化方法,其特征在于,所述步驟4中所述將第一操作數分割為n個子操作數的方式為:將第一元素大小與第一長度之積與第一字長的比值向上取整作為第一分割數n,前n-1個子操作數的長度為第二長度,第二長度的取值滿足為3的倍數且與第一元素大小之積小于第一字長的條件,最后...
【專利技術屬性】
技術研發人員:溫研,
申請(專利權)人:北京麟卓信息科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。