System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
【國外來華專利技術】
技術介紹
1、在本公開的一些實施例中,本公開涉及處理器,更具體地但不排他地,涉及用于向量處理器的微指令。
2、一些處理器架構設計為執行單指令多數據(single?instruction?multipledata,simd)指令集架構(instruction?set?architecture,isa)。這種設計用于執行simd?isa的處理器架構有時被稱為向量處理器。向量處理器設計為減小代碼大小和/或執行的微操作的數量,同時仍然對多個數據進行操作。向量處理器的示例包括arm可擴展向量擴展(scalable?vector?extension,sve)和英特爾高級向量擴展(advanced?vectorextension,avx)。
技術實現思路
1、本專利技術的目的是提供一種用于將壓縮位掩碼轉換為擴展位掩碼的處理器、方法、計算機程序和計算機程序產品。
2、根據第一方面,處理器用于:從存儲寄存器中獲取壓縮格式的位掩碼,在單個微操作中,將所述位掩碼從壓縮格式轉換為擴展格式,并將所述擴展格式的所述位掩碼寫入謂詞寄存器,用作執行指令的謂詞。
3、根據第二方面,由處理器執行的方法包括:從存儲寄存器中獲取壓縮格式的位掩碼,在單個微操作中,將所述位掩碼從壓縮格式轉換為擴展格式,并將所述擴展格式的所述位掩碼寫入謂詞寄存器,用作執行指令的謂詞。
4、根據第三方面,計算機程序包括程序指令,所述程序指令在由處理器執行時使所述處理器:從存儲寄存器中獲取壓縮格式
5、根據第四方面,非瞬時性介質存儲程序指令,所述程序指令在由處理器執行時使所述處理器:從存儲寄存器中獲取壓縮格式的位掩碼,在單個微操作中,將所述位掩碼從壓縮格式轉換為擴展格式,并將所述擴展格式的所述位掩碼寫入謂詞寄存器,用作執行指令的謂詞。
6、以壓縮格式存儲所述位掩碼,并在需要時擴展所述壓縮位掩碼,減少了用于存儲所述位掩碼的存儲器數量。壓縮量因所述擴展位掩碼的元素的大小而異。例如,所述壓縮位掩碼的單個比特對應于所述擴展位掩碼的8個比特的元素,則壓縮比為8倍(8x)。
7、與使用幾行軟件代碼相比,單個微操作通過減少開銷和/或提高硬件性能來提高所述處理器的計算效率。例如,與程序員定義多個復雜比特操作的其它方法相比,在單個微操作中將所述壓縮格式的所述位掩碼轉換為所述擴展格式的所述位掩碼簡化了轉換過程和/或減少了錯誤。
8、在所述第一方面、所述第二方面、所述第三方面和所述第四方面的另一種實現方式中,所述處理器包括向量處理器,所述向量處理器用于執行由單指令多數據(singleinstructions?multipledata,simd)指令集架構(instruction?set?architecture,isa)定義的指令,所述處理器還用于從所述謂詞寄存器中獲取所述擴展格式的所述位掩碼,以執行由所述simd?isa定義的指令。
9、單個微操作減少了所述向量處理器使用的存儲器數量,和/或提高了所述向量處理器執行simd?isa的效率。
10、在所述第一方面、所述第二方面、所述第三方面和所述第四方面的另一種實現方式中,所述擴展格式的所述位掩碼包括多個元素,其中,每個元素具有一些比特,所述一些比特由所述元素表示的數據類型定義,所述元素對應于根據所述位掩碼處理的向量的數據類型;其中,所述擴展格式的所述位掩碼包括在固定位置中的每個元素的單個比特和多個占位比特;其中,所述壓縮格式的所述位掩碼包括對應于所述多個元素的多個比特,不包括占位比特。
11、根據所述數據類型確定通過所述壓縮格式的所述位掩碼節省的存儲器數量。例如,對于所述位掩碼的每個比特對應數據字節的向量數組,所述擴展格式的所述位掩碼比所述壓縮格式的所述位掩碼多使用8倍的存儲器。
12、在所述第一方面、所述第二方面、所述第三方面和所述第四方面的另一種實現方式中,轉換包括:對于所述壓縮格式的所述位掩碼的所述多個比特中的每個相應比特:將所述相應比特復制到所述擴展格式的所述位掩碼的所述多個元素中的對應元素內的固定位置,并添加所述對應元素的占位比特。
13、這種轉換在計算上是高效的,和/或根據所述固定位置的位置,很容易適應所述元素的不同數據類型。
14、在所述第一方面、所述第二方面、所述第三方面和所述第四方面的另一種實現方式中,所述謂詞寄存器針對每個新的位掩碼動態覆寫。
15、將所述擴展格式的所述位掩碼寫入到其中的同一謂詞寄存器可以重新用于新計算的擴展位掩碼,而不是將所述擴展位掩碼存儲在存儲器中。例如,與將所述擴展位掩碼存儲在存儲器中相比,將所述謂詞寄存器重新用于不同的擴展位掩碼(同時將所述壓縮位掩碼存儲在所述存儲寄存器中)可以減少所需的存儲器數量。
16、在所述第一方面、所述第二方面、所述第三方面和所述第四方面的另一種實現方式中,所述存儲寄存器中的所述位掩碼保留而不針對每個新的位掩碼覆寫,其中,不同的存儲寄存器用于新的不同的位掩碼。
17、可以以壓縮格式將多個不同的位掩碼存儲在存儲寄存器中。與擴展格式相比,壓縮格式占用的寄存器的存儲器更少。
18、在所述第一方面、所述第二方面、所述第三方面和所述第四方面的另一種實現方式中,所述謂詞寄存器的大小相對于通過執行所述指令而正在處理的向量的大小是固定的。
19、相對于所述向量的大小固定所述謂詞寄存器的大小可以優化分配給所述謂詞寄存器的存儲器數量。
20、在所述第一方面、所述第二方面、所述第三方面和所述第四方面的另一種實現方式中,所述擴展格式的所述位掩碼的多個單個比特中的每個單個比特對應于所述處理器正在處理的向量的多個元素中的單個元素,其中,將不包括所述擴展格式的所述位掩碼的所述多個單個比特的占位比特寫入到所述謂詞寄存器中并且在處理所述向量時未使用;所述壓縮格式的所述位掩碼包括所述多個單個比特,不包括所述占位比特;所述多個元素中的每個元素中的一些比特是基于每個元素表示的數據類型定義的。
21、與擴展格式相比,壓縮格式節省的存儲器數量取決于向量的大小和向量的元素的數據類型。
22、在所述第一方面、所述第二方面、所述第三方面和所述第四方面的另一種實現方式中,還包括:根據正在處理的當前向量的大小和數據類型,動態調整所述擴展格式的所述位掩碼的大小,并且動態調整每個單個元素的大小。
23、動態調整所述位掩碼的大小可以有效地分配所需的存儲器數量。
24、在所述第一方面、所述第二方面、所述第三方面和所述第四方面的另一種實現方式中,所述處理器還用于根據所述擴展格式的所述位掩碼將稀疏矩陣與所述向量相乘。
25、用于獲取擴展格式的位掩碼的單個微操作提高了使用位掩碼將稀疏矩陣與向量相乘的處理器的效率。
本文檔來自技高網...
【技術保護點】
1.一種處理器(202),其特征在于,用于:
2.根據權利要求1所述的處理器,其特征在于,所述處理器包括向量處理器,其中,所述向量處理器用于執行由單指令多數據(single?instructions?multipledata,SIMD)指令集架構(instruction?set?architecture,ISA)定義的指令,所述處理器還用于從所述謂詞寄存器中獲取所述擴展格式的所述位掩碼,以執行由所述SIMD?ISA定義的指令。
3.根據上述權利要求中任一項所述的處理器,其特征在于,所述擴展格式的所述位掩碼包括多個元素(308A),其中,每個元素具有一些比特,所述一些比特由所述元素表示的數據類型定義,所述元素對應于根據所述位掩碼處理的向量的數據類型,
4.根據上述權利要求中任一項所述的處理器,
5.根據上述權利要求中任一項所述的處理器,其特征在于,所述謂詞寄存器針對每個新的位掩碼動態覆寫。
6.根據上述權利要求中任一項所述的處理器,其特征在于,所述存儲寄存器中的所述位掩碼保留而不針對每個新的位掩碼覆寫,其中,不同的存儲寄存
7.根據上述權利要求中任一項所述的處理器,其特征在于,所述謂詞寄存器的大小相對于通過執行所述指令而正在處理的向量的大小是固定的。
8.根據上述權利要求中任一項所述的處理器,其特征在于,所述擴展格式的所述位掩碼的多個單個比特中的每個單個比特對應于所述處理器正在處理的向量(302)的多個元素中的單個元素(302A),其中,將不包括所述擴展格式的所述位掩碼的所述多個單個比特的占位比特寫入到所述謂詞寄存器中并且在處理所述向量時未使用;所述壓縮格式的所述位掩碼包括所述多個單個比特,不包括所述占位比特;所述多個元素中的每個元素中的一些比特是基于每個元素表示的數據類型定義的。
9.根據權利要求8所述的處理器,其特征在于,還包括:根據正在處理的當前向量的大小和數據類型,動態調整所述擴展格式的所述位掩碼的大小,并且動態調整每個單個元素的大小。
10.根據權利要求8或9所述的處理器,其特征在于,所述處理器還用于根據所述擴展格式的所述位掩碼將稀疏矩陣與所述向量相乘。
11.根據上述權利要求中任一項所述的處理器,其特征在于,所述位掩碼包括謂詞。
12.一種由處理器執行的方法,其特征在于,包括:
13.一種包括程序指令(206A)的計算機程序,其特征在于,所述程序指令(206A)在由處理器(202)執行時使所述處理器:
14.一種存儲程序指令(206A)的非瞬時性介質(206),其特征在于,所述程序指令(206A)在由處理器(202)執行時使所述處理器(202):
...【技術特征摘要】
【國外來華專利技術】
1.一種處理器(202),其特征在于,用于:
2.根據權利要求1所述的處理器,其特征在于,所述處理器包括向量處理器,其中,所述向量處理器用于執行由單指令多數據(single?instructions?multipledata,simd)指令集架構(instruction?set?architecture,isa)定義的指令,所述處理器還用于從所述謂詞寄存器中獲取所述擴展格式的所述位掩碼,以執行由所述simd?isa定義的指令。
3.根據上述權利要求中任一項所述的處理器,其特征在于,所述擴展格式的所述位掩碼包括多個元素(308a),其中,每個元素具有一些比特,所述一些比特由所述元素表示的數據類型定義,所述元素對應于根據所述位掩碼處理的向量的數據類型,
4.根據上述權利要求中任一項所述的處理器,
5.根據上述權利要求中任一項所述的處理器,其特征在于,所述謂詞寄存器針對每個新的位掩碼動態覆寫。
6.根據上述權利要求中任一項所述的處理器,其特征在于,所述存儲寄存器中的所述位掩碼保留而不針對每個新的位掩碼覆寫,其中,不同的存儲寄存器用于新的不同的位掩碼。
7.根據上述權利要求中任一項所述的處理器,其特征在于,所述謂詞寄存器的大小相對于通過執行所述指令而正在處理的向量的大小是固定的。
8.根據上述權...
【專利技術屬性】
技術研發人員:拉南·薩德,阿爾伯特·揚·伊茲曼,賈伊斯瓦爾·馬尼什·庫馬爾,胡以璇,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。