• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    用于為CPU提供矢量流指令集架構擴展的方法和設備技術

    技術編號:42048510 閱讀:27 留言:0更新日期:2024-07-16 23:29
    本發(fā)明專利技術提供了一種用于為CPU提供矢量流指令集架構擴展的方法和設備。一方面,提供了一種矢量流引擎單元,所述矢量流引擎單元包括:第一快速內(nèi)存存儲器,其中,所述第一快速內(nèi)存存儲器用于臨時存儲來自內(nèi)存的矢量數(shù)據(jù)流的數(shù)據(jù),以加載到矢量寄存器文件中;第二快速內(nèi)存存儲器,其中,所述第二快速內(nèi)存存儲器用于臨時存儲來自所述矢量寄存器文件的所述矢量數(shù)據(jù)流的所述數(shù)據(jù),以加載到所述內(nèi)存中;預取器,其中,所述預取器用于執(zhí)行以下操作:將所述矢量數(shù)據(jù)流的所述數(shù)據(jù)從所述內(nèi)存預取到所述第一快速存儲器內(nèi)存中,將所述矢量數(shù)據(jù)流的所述數(shù)據(jù)從所述矢量寄存器文件預取到所述第二快速存儲器內(nèi)存中;流配置表(stream?configuration?table,SCT),其中,所述SCT存儲用于從所述矢量數(shù)據(jù)流中預取數(shù)據(jù)的流信息。

    【技術實現(xiàn)步驟摘要】
    【國外來華專利技術】

    本專利技術涉及處理單元和計算機架構,尤其涉及一種用于為中央處理器(centralprocessing?unit,cpu)提供矢量流指令集架構擴展的方法和設備。


    技術介紹

    1、一般來說,計算中的內(nèi)存訪問延遲比較高,往往是系統(tǒng)的性能瓶頸。在高性能計算(high?performance?computing,hpc)、數(shù)字信號處理(digital?signal?processing,dsp)、人工智能(artificial?intelligence,ai)/機器學習(machine?learning,ml)和計算機視覺(computer?vision,cv)等領域,通常以流的形式對存儲在內(nèi)存中的數(shù)據(jù)重復執(zhí)行類似的計算操作。在應用內(nèi)存在循環(huán)或嵌套循環(huán)的情況下,會對數(shù)據(jù)重復執(zhí)行類似的操作,而鑒于內(nèi)存訪問的限制,這會給性能帶來相當大的影響。為了提高內(nèi)存訪問的效率,通過預取操作,將cpu可能訪問的指令和/或數(shù)據(jù)從存儲數(shù)據(jù)的內(nèi)存位置復制到速度更快的本地內(nèi)存,例如本地高速緩存內(nèi)存。

    2、根據(jù)索引值類型,基于數(shù)組的內(nèi)存訪問可以分類為以下兩種:基于歸納變量對索引值的直接內(nèi)存訪問,和基于另一個數(shù)組訪問對索引值的間接內(nèi)存訪問。在基于數(shù)組的間接內(nèi)存訪問的情況下,使用現(xiàn)有方案的預取操作的效率會大大降低,其中,訪問在數(shù)組結構中定義,數(shù)組索引由另一個數(shù)組訪問定義。


    技術實現(xiàn)思路

    1、本專利技術提供了一種用于為cpu提供矢量流指令集架構擴展并用于處理矢量數(shù)據(jù)流的方法和設備。通用cpu和域特定cpu都可以設計為廣義定義的架構類型,其中,每個處理器都有指令集架構(instruction?set?architecture,isa)。本專利技術的矢量化的流指令集可以用于通用cpu和域特定cpu。在本文描述的各個示例中,提供了在以矢量格式并行(即并發(fā))配置的多個數(shù)據(jù)流上操作的矢量isa擴展。isa表示計算機的抽象模型。isa可以以物理cpu的形式實現(xiàn)。本專利技術的矢量isa擴展對isa進行了擴展,使其能夠處理矢量數(shù)據(jù)流。矢量isa擴展維護矢量數(shù)據(jù)流的數(shù)組之間的依賴關系。可以對矢量數(shù)據(jù)流進行矢量化處理,其中,通過基于依賴關系從寄存器中確定數(shù)組索引來進行批量數(shù)組索引計算。為較高級別的依賴流檢索內(nèi)存的顯式指令導致隱式指令在較高級別的依賴流所依賴的一個或多個矢量數(shù)據(jù)流中執(zhí)行。本專利技術的矢量isa擴展使得主機計算設備的處理單元除了標量指令之外還可以發(fā)布矢量指令。本專利技術還提供了一種矢量流引擎單元(vector?stream?engine?unit,v-seu)。v-seu為硬件處理單元,用于執(zhí)行從矢量處理isa擴展輸出的矢量流。

    2、根據(jù)本專利技術的第一方面,提供了一種處理單元處理矢量數(shù)據(jù)流的方法,所述方法包括:啟動用于第一組基于數(shù)組的內(nèi)存訪問的第一矢量數(shù)據(jù)流,其中,所述第一矢量數(shù)據(jù)流與用于向前移動所述第一組基于數(shù)組的內(nèi)存訪問的第一數(shù)組索引相關聯(lián),所述第一數(shù)組索引為歸納變量;啟動用于第二組基于數(shù)組的內(nèi)存訪問的第二矢量數(shù)據(jù)流,其中,所述第二矢量數(shù)據(jù)流與用于向前移動所述第二組基于數(shù)組的內(nèi)存訪問的第二數(shù)組索引相關聯(lián),所述第二數(shù)組索引依賴于所述第一組基于數(shù)組的內(nèi)存訪問的數(shù)組值;通過將所述第一數(shù)組索引向前移動多個增量,將所述第一組基于數(shù)組的內(nèi)存訪問請求的第一多個數(shù)據(jù)元素從內(nèi)存預取到第一快速內(nèi)存存儲器中;將所述第二組基于數(shù)組的內(nèi)存訪問請求的第二多個數(shù)據(jù)元素從矢量寄存器文件預取到第二快速內(nèi)存存儲器中,其中,當所述第一多個數(shù)據(jù)被用作數(shù)組值時,所述第二數(shù)組索引向前移動;通過用于所述第二矢量數(shù)據(jù)流的顯式指令來處理多個所述預取的第二多個數(shù)據(jù)元素,其中,所述顯式指令的所述執(zhí)行導致所述處理單元將所述顯式指令轉換為隱式指令,以執(zhí)行多個所述預取的第一多個數(shù)據(jù)元素。

    3、在第一方面的一些或全部示例中,所述第一多個數(shù)據(jù)元素和所述第二多個數(shù)據(jù)元素是基于存儲在流配置表(stream?configuration?table,sct)中的流信息預取的。

    4、在第一方面的一些或全部示例中,所述歸納變量的初始值和結束值以及所述第一組基于數(shù)組的內(nèi)存訪問的基地址存儲在所述第一矢量數(shù)據(jù)流的所述sct中。

    5、在第一方面的一些或全部示例中,所述sct的所述流信息包括流依賴關系信息。

    6、在第一方面的一些或全部示例中,所述方法還包括:在預取所述第二多個數(shù)據(jù)元素之前,確定所述第二多個數(shù)據(jù)元素中的沖突;響應于在所述預取所述第二多個數(shù)據(jù)元素期間檢測到?jīng)_突,至少對所述第二多個數(shù)據(jù)元素中的沖突數(shù)據(jù)元素進行串行化。

    7、在第一方面的一些或全部示例中,僅有所述沖突數(shù)據(jù)元素是在所述預取所述第二多個數(shù)據(jù)元素期間進行串行化的。

    8、在第一方面的一些或全部示例中,所述方法還包括:響應于檢測到?jīng)_突,生成沖突掩碼;其中,所述沖突數(shù)據(jù)元素是使用所述沖突掩碼進行串行化的。

    9、在第一方面的一些或全部示例中,在維持所述矢量數(shù)據(jù)流的數(shù)組之間的依賴關系的同時對所述矢量數(shù)據(jù)流進行矢量化處理,其中,通過基于所述依賴關系從所述矢量寄存器文件的寄存器中確定數(shù)組索引值來批量執(zhí)行數(shù)組索引計算。

    10、在第一方面的一些或全部示例中,所述方法還包括:將標量指令轉換為矢量指令,其中,所述矢量指令包括所述第一矢量數(shù)據(jù)流和所述第二矢量數(shù)據(jù)流。

    11、根據(jù)本專利技術的第二方面,提供了一種系統(tǒng),示例性地,所述系統(tǒng)可以是矢量流引擎單元,所述系統(tǒng)包括:第一快速內(nèi)存存儲器,其中,所述第一快速內(nèi)存存儲器用于臨時存儲來自內(nèi)存的矢量數(shù)據(jù)流的數(shù)據(jù),以加載到矢量寄存器文件中;第二快速內(nèi)存存儲器,其中,所述第二快速內(nèi)存存儲器用于臨時存儲來自所述矢量寄存器文件的所述矢量數(shù)據(jù)流的所述數(shù)據(jù),以加載到所述內(nèi)存中;預取器,其中,所述預取器用于執(zhí)行以下操作:將所述矢量數(shù)據(jù)流的所述數(shù)據(jù)從所述內(nèi)存預取到所述第一快速存儲器內(nèi)存中,將所述矢量數(shù)據(jù)流的所述數(shù)據(jù)從所述矢量寄存器文件預取到所述第二快速存儲器內(nèi)存中;流配置表(streamconfiguration?table,sct),其中,所述sct存儲用于從所述矢量數(shù)據(jù)流中預取數(shù)據(jù)的流信息。

    12、在第二方面的一些或全部示例中,所述歸納變量的初始值和結束值以及所述第一組基于數(shù)組的內(nèi)存訪問的基地址存儲在所述第一矢量數(shù)據(jù)流的sct中。

    13、在第二方面的一些或全部示例中,所述sct的所述流信息包括流依賴關系信息。

    14、在第二方面的一些或全部示例中,所述第一快速內(nèi)存存儲器和所述第二快速內(nèi)存存儲器為先進先出(first-in-first-out,fifo)緩沖器。

    15、在第二方面的一些或全部示例中,所述fifo的大小基于預取深度。

    16、在第二方面的一些或全部示例中,以固定大小的矢量批次訪問每個矢量化的數(shù)據(jù)流中的數(shù)據(jù),所述fifo的大小是所述矢量數(shù)據(jù)流的矢量批次的大小的倍數(shù)。

    17、在第二方面的一些或全部示例中,多路復用器根據(jù)相應的信號類型選擇所述矢量流引擎單元的信號,并將所述選定的信號傳遞給所述內(nèi)存或本文檔來自技高網(wǎng)...

    【技術保護點】

    1.一種處理單元處理矢量數(shù)據(jù)流的方法,其特征在于,所述方法包括:

    2.根據(jù)權利要求1所述的方法,其特征在于,所述第一多個數(shù)據(jù)元素和所述第二多個數(shù)據(jù)元素是基于存儲在流配置表(stream?configuration?table,SCT)中的流信息預取的。

    3.根據(jù)權利要求2所述的方法,其特征在于,所述歸納變量的初始值和結束值以及所述第一組基于數(shù)組的內(nèi)存訪問的基地址存儲在所述第一矢量數(shù)據(jù)流的所述SCT中。

    4.根據(jù)權利要求2所述的方法,其特征在于,所述SCT的所述流信息包括流依賴關系信息。

    5.根據(jù)權利要求1所述的方法,其特征在于,還包括:

    6.根據(jù)權利要求5所述的方法,其特征在于,所述沖突數(shù)據(jù)元素是在所述預取所述第二多個數(shù)據(jù)元素期間進行串行化的。

    7.根據(jù)權利要求6所述的方法,其特征在于,還包括:

    8.根據(jù)權利要求1所述的方法,其特征在于,在維持所述矢量數(shù)據(jù)流的數(shù)組之間的依賴關系的同時對所述矢量數(shù)據(jù)流進行處理,其中,通過基于所述依賴關系從所述矢量寄存器文件的寄存器中確定數(shù)組索引值來批量執(zhí)行數(shù)組索引計算。

    9.根據(jù)權利要求1所述的方法,其特征在于,還包括:

    10.一種系統(tǒng),其特征在于,包括:

    11.根據(jù)權利要求10所述的系統(tǒng),其特征在于,歸納變量的初始值和結束值以及第一組基于數(shù)組的內(nèi)存訪問的基地址存儲在第一矢量數(shù)據(jù)流的SCT中。

    12.根據(jù)權利要求11所述的系統(tǒng),其特征在于,所述SCT的所述流信息包括流依賴關系信息。

    13.根據(jù)權利要求11所述的系統(tǒng),其特征在于,所述第一快速內(nèi)存存儲器和所述第二快速內(nèi)存存儲器為先進先出(first-in-first-out,F(xiàn)IFO)緩沖器。

    14.根據(jù)權利要求13所述的系統(tǒng),其特征在于,所述FIFO的大小基于預取深度。

    15.根據(jù)權利要求14所述的系統(tǒng),其特征在于,以固定大小的矢量批次訪問每個矢量化的數(shù)據(jù)流中的數(shù)據(jù),所述FIFO的大小是所述矢量數(shù)據(jù)流的所述矢量批次的大小的倍數(shù)。

    16.根據(jù)權利要求11所述的系統(tǒng),其特征在于,多路復用器根據(jù)相應的信號類型選擇矢量流引擎單元的信號,并將所述選定的信號傳遞給所述內(nèi)存或所述矢量寄存器文件。

    17.根據(jù)權利要求11所述的系統(tǒng),其特征在于,所述矢量數(shù)據(jù)流包括具有重復模式的內(nèi)存訪問序列,其中,所述重復模式是循環(huán)和嵌套循環(huán)的結果。

    18.根據(jù)權利要求11所述的系統(tǒng),其特征在于,所述矢量數(shù)據(jù)流分類為以下兩組:定義內(nèi)存訪問模式的內(nèi)存流和定義值的重復模式的歸納流。

    19.根據(jù)權利要求18所述的系統(tǒng),其特征在于,所述內(nèi)存流依賴于用于直接內(nèi)存訪問的歸納流或用于間接內(nèi)存訪問的另一個內(nèi)存流。

    20.根據(jù)權利要求11所述的系統(tǒng),其特征在于,矢量流引擎單元還包括編譯器,其中,所述編譯器用于編譯源代碼并將編譯后的代碼移植到主機計算設備的至少一個處理單元進行執(zhí)行。

    ...

    【技術特征摘要】
    【國外來華專利技術】

    1.一種處理單元處理矢量數(shù)據(jù)流的方法,其特征在于,所述方法包括:

    2.根據(jù)權利要求1所述的方法,其特征在于,所述第一多個數(shù)據(jù)元素和所述第二多個數(shù)據(jù)元素是基于存儲在流配置表(stream?configuration?table,sct)中的流信息預取的。

    3.根據(jù)權利要求2所述的方法,其特征在于,所述歸納變量的初始值和結束值以及所述第一組基于數(shù)組的內(nèi)存訪問的基地址存儲在所述第一矢量數(shù)據(jù)流的所述sct中。

    4.根據(jù)權利要求2所述的方法,其特征在于,所述sct的所述流信息包括流依賴關系信息。

    5.根據(jù)權利要求1所述的方法,其特征在于,還包括:

    6.根據(jù)權利要求5所述的方法,其特征在于,所述沖突數(shù)據(jù)元素是在所述預取所述第二多個數(shù)據(jù)元素期間進行串行化的。

    7.根據(jù)權利要求6所述的方法,其特征在于,還包括:

    8.根據(jù)權利要求1所述的方法,其特征在于,在維持所述矢量數(shù)據(jù)流的數(shù)組之間的依賴關系的同時對所述矢量數(shù)據(jù)流進行處理,其中,通過基于所述依賴關系從所述矢量寄存器文件的寄存器中確定數(shù)組索引值來批量執(zhí)行數(shù)組索引計算。

    9.根據(jù)權利要求1所述的方法,其特征在于,還包括:

    10.一種系統(tǒng),其特征在于,包括:

    11.根據(jù)權利要求10所述的系統(tǒng),其特征在于,歸納變量的初始值和結束值以及第一組基于數(shù)組的內(nèi)存訪問的基地址存儲在第一矢量數(shù)據(jù)流的sct中。

    12.根據(jù)權...

    【專利技術屬性】
    技術研發(fā)人員:馬齊亞爾·古達爾齊芮澤·阿茲米何瑞森錢志釗
    申請(專利權)人:華為技術有限公司
    類型:發(fā)明
    國別省市:

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

    1
    主站蜘蛛池模板: 亚洲AV无码乱码精品国产| 亚洲成av人无码亚洲成av人| 国产成人无码网站| 亚洲午夜福利精品无码| 久久精品成人无码观看56| 亚洲一区AV无码少妇电影| 无码人妻久久一区二区三区蜜桃| 自拍偷在线精品自拍偷无码专区| 一本无码人妻在中文字幕免费| 国产精品99无码一区二区| 无码国产激情在线观看| 少妇伦子伦精品无码STYLES| 久久久久无码专区亚洲av| 亚洲AV无码AV日韩AV网站| 亚洲国产精品成人精品无码区 | 亚洲av永久无码| 中文无码喷潮在线播放| 精品无码成人网站久久久久久 | 婷婷四虎东京热无码群交双飞视频| 亚洲精品无码久久久| 精品无码久久久久久久久水蜜桃 | 亚洲人成国产精品无码| 亚洲中文无码亚洲人成影院| 国产av永久无码天堂影院| r级无码视频在线观看| 国产av永久精品无码| 精品国产性色无码AV网站| 无码H黄肉动漫在线观看网站| 免费看又黄又无码的网站| 久久午夜无码鲁丝片直播午夜精品| 东京热加勒比无码视频| 亚洲一本大道无码av天堂| 亚洲AV无码一区二区三区鸳鸯影院| 精品无码人妻夜人多侵犯18| 久久无码人妻一区二区三区午夜| 亚洲av无码国产精品夜色午夜| 国产AV无码专区亚洲AV漫画 | 免费A级毛片无码A∨免费| 亚洲精品无码mv在线观看网站| 国产亚洲3p无码一区二区| 国产精品无码一区二区三级|