System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 精品欧洲av无码一区二区三区,久久久久亚洲AV无码永不,免费无遮挡无码视频网站
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于數據處理模式預測的SIMD指令轉換優化方法技術

    技術編號:44533469 閱讀:1 留言:0更新日期:2025-03-07 13:23
    本發明專利技術公開了一種基于數據處理模式預測的SIMD指令轉換優化方法,在以動態指令轉換方式執行可執行文件時,根據待轉換指令操作數的尋址方式確定操作數的類型為數組或矩陣,再根據待轉換指令相關功能代碼段的指令功能確定操作數的語義,完成數據處理模式的預測,根據數據處理模式的預測結果確定操作數的分割方式,將待轉換指令轉換為ARM指令并根據分割方式確定操作數加載的ARM指令形成ARM指令序列,由待轉換指令與ARM指令序列的對應關系形成指令轉換策略列表,根據指令轉換策略列表完成指令轉換,實現了數據處理模式相關的操作數分割,有效降低了分割操作所引入的性能損失。

    【技術實現步驟摘要】

    本專利技術屬于計算機軟件開發,具體涉及一種基于數據處理模式預測的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;p>

    5、步驟3、將操作數記為第一操作數,第一操作數中元素的大小為第一元素大小,第一操作數的長度為第一長度;確定第一操作數的數據類型,當第一操作數為圖像數據時執行步驟4,當第一操作數為音頻數據時執行步驟6;

    6、步驟4、若第一元素大小與第一長度之積大于第一字長,則將第一操作數分割為n個子操作數,再執行步驟5;否則保持第一操作數不變,執行步驟11;

    7、步驟5、建立循環總次數為n的第一循環體,與當前待轉換指令功能相同的arm指令為第一arm指令,令循環次數n的初始值為1,將第n個子操作數加載到第n個arm寄存器中,采用第一arm指令計算第n個子操作數,若n小于n則令n自加1后執行第一循環體,否則結束循環;將當前待轉換指令轉換為第一循環體包含的第一arm指令序列完成轉換,將當前待轉換指令與第一arm指令序列的對應關系添加到指令轉換策略列表中,執行步驟12;

    8、步驟6、若第一元素大小與第一長度之積大于第一字長,則將第一操作數分割為n個子操作數,執行步驟7;否則保持第一操作數不變,執行步驟11;

    9、步驟7、建立循環總次數為n的第二循環體,與當前待轉換指令功能相同的arm指令為第二arm指令,令循環次數n的初始值為1,將第n個子操作數加載到第n個arm寄存器中,采用第二arm指令計算第n個子操作數,若n小于n則令n自加1后執行第二循環體,否則結束循環;將當前待轉換指令轉換為第二循環體包含的第二arm指令序列完成轉換,將當前待轉換指令與第二arm指令序列的對應關系添加到指令轉換策略列表中,執行步驟12;

    10、步驟8、操作數為第一操作數和第二操作數,將第一操作數與第二操作數的元素大小記為第一元素大小,獲取第一操作數的行數p及列數q,獲取第二操作數的行數q及列數s;

    11、步驟9、若第一元素大小與q之積大于第一字長,則將第一操作數的每行數據分割為k個子操作數,將第二操作數的每列數據分割為k個子操作數;否則保持第一操作數和第二操作數不變,執行步驟11;

    12、步驟10、建立循環總次數為q的第三循環體,與當前待轉換指令功能相同的arm指令為第三arm指令,令循環次數q的初始值為1且q不大于q;在第三循環體中建立循環總次數為k的第四循環體,將第一操作數的第q列及第二操作數的第q行分別加載到2k個arm寄存器中;采用第三arm指令完成對第一操作數的第q列及第二操作數的第q行的計算,若q小于q則令q自加1后繼續執行第三循環體,否則結束循環;將當前待轉換指令轉換為第三循環體包含的第三arm指令序列完成轉換,將當前待轉換指令與第三arm指令序列的對應關系添加到指令轉換策略列表中,執行步驟12;

    13、步驟11、選取與當前待轉換指令功能相同的arm指令,將當前待轉換指令與該arm指令的對應關系添加到指令轉換策略列表中,執行步驟12;

    14、步驟12、若可執行文件未完成執行則選取下一個指令作為當前待轉換指令,執行步驟2;否則完成可執行文件的執行,結束本流程。

    15、進一步地,所述步驟2中所述確定操作數的類型的方式為:根據操作數的尋址方式確定,尋址方式確定的地址為基地址與偏移量之和,當偏移量為索引和元素大小之積時,判定操作數為線性方式排列的數組;當偏移量為兩個索引、列數及元素大小的運算結果時,判定操作數為非線性排列邏輯結構的矩陣。

    16、進一步地,所述步驟3中所述確定第一操作數的數據類型的方式為:與當前待轉換指令相關的功能代碼段為第一代碼段,由第一代碼段中的指令形成第一指令集合,當第一指令集合中包含圖像處理的操作碼時,判定第一操作數為圖像數據;當第一指令集合中包含音頻數據處理的操作碼時,判定第一操作數為音頻數據。

    17、進一步地,所述第一代碼段通過二進制代碼特征分析確定。

    18、進一步地,所述步驟4中所述將第一操作數分割為n個子操作數的方式為:將第一元素大小與第一長度之積與第一字長的比值向上取整作為第一分割數n,前n-1個子操作數的長度為第二長度,第二長度的取值滿足為3的倍數且與第一元素大小之積小于第一字長的條件,最后一個子操作數的長度為第一操作數余下的長度。

    19、進一步地,所述步驟6中所述第一操作數分割為n個子操作數的方式為:將第一元素大小與第一長度之積與第一字長的比值向上取整作為第一分割數n,前n-1個子操作數的長度為第一字長,最后一個子操作數的長度為第一操作數余下的長度。

    20、進一步地,所述步驟9中所述將第一操作數的每行數據分割為k個子操作數的方式為:將第一元素大小與q之積與第一字長的比值向上取整作為第二分割數k,前k-1個子操作數的長度為第一字長,最后一個子操作數的長度為第一操作數中每行余下的長度。

    21、進一步地,所述步驟9中所述將第二操作數的每列數據分割為k個子操作數的方式為:前k-1個子操作數的長度為第一字長,最后一個子操作數的長度為第二操作數中每列余下的長度。

    22、進一步地,所述步驟10中所述第四循環體的實現方式為:令循環次數k的初始值為1且k不大于k,將第一操作數的第q列的第k個子操作數加載到第k個arm寄存器中,將第二操作數的第q行的第k個子操作數加載到第k+k個arm寄存器中,若k小于k則令k自加1后繼續執行第四循環體,否則結束循環。

    23、有益效果

    24、本專利技術在以動態指令轉換方式執行可執行文件時,根據待轉換指令操作本文檔來自技高網...

    【技術保護點】

    1.一種基于數據處理模式預測的SIMD指令轉換優化方法,其特征在于,具體包括以下步驟:

    2.根據權利要求1所述的SIMD指令轉換優化方法,其特征在于,所述步驟2中所述確定操作數的類型的方式為:根據操作數的尋址方式確定,尋址方式確定的地址為基地址與偏移量之和,當偏移量為索引和元素大小之積時,判定操作數為線性方式排列的數組;當偏移量為兩個索引、列數及元素大小的運算結果時,判定操作數為非線性排列邏輯結構的矩陣。

    3.根據權利要求1所述的SIMD指令轉換優化方法,其特征在于,所述步驟3中所述確定第一操作數的數據類型的方式為:與當前待轉換指令相關的功能代碼段為第一代碼段,由第一代碼段中的指令形成第一指令集合,當第一指令集合中包含圖像處理的操作碼時,判定第一操作數為圖像數據;當第一指令集合中包含音頻數據處理的操作碼時,判定第一操作數為音頻數據。

    4.根據權利要求3所述的SIMD指令轉換優化方法,其特征在于,所述第一代碼段通過二進制代碼特征分析確定。

    5.根據權利要求1所述的SIMD指令轉換優化方法,其特征在于,所述步驟4中所述將第一操作數分割為N個子操作數的方式為:將第一元素大小與第一長度之積與第一字長的比值向上取整作為第一分割數N,前N-1個子操作數的長度為第二長度,第二長度的取值滿足為3的倍數且與第一元素大小之積小于第一字長的條件,最后一個子操作數的長度為第一操作數余下的長度。

    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的倍數且與第一元素大小之積小于第一字長的條件,最后...

    【專利技術屬性】
    技術研發人員:溫研
    申請(專利權)人:北京麟卓信息科技有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 日韩AV无码一区二区三区不卡| 无码人妻精品一区二区三区66 | 亚洲av永久无码精品三区在线4| 成年无码av片在线| 无码无套少妇毛多18p| 少妇人妻av无码专区| 亚洲中文字幕无码久久2017| 亚洲av无码专区国产不乱码 | 91精品无码久久久久久五月天 | 亚洲成AV人在线观看天堂无码| 亚洲av无码不卡久久| 中文字幕无码久久精品青草| 男男AV纯肉无码免费播放无码| 亚洲国产精品无码专区| 亚洲最大av无码网址| 亚洲大尺度无码无码专线一区| 国产精品无码无需播放器| 日韩aⅴ人妻无码一区二区| 亚洲精品无码一区二区| 秋霞无码一区二区| 亚洲AV无码日韩AV无码导航| 潮喷失禁大喷水aⅴ无码| 67194成是人免费无码| 免费无码又黄又爽又刺激| 亚洲精品中文字幕无码A片老| 99久久人妻无码精品系列蜜桃| 亚洲爆乳精品无码一区二区三区| 成人免费无码H在线观看不卡 | 精品日韩亚洲AV无码| 无码精品人妻一区二区三区人妻斩 | 国产Av激情久久无码天堂| 国产亚洲?V无码?V男人的天堂| 国产人成无码视频在线观看| 国产综合无码一区二区色蜜蜜| 亚洲精品无码你懂的| 久久久久亚洲AV无码去区首| 成人无码嫩草影院| 亚洲AV无码一区二区三区在线观看| 无码精品不卡一区二区三区| 狼人无码精华AV午夜精品| 成人免费无码H在线观看不卡|