本領(lǐng)域涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種矢量處理器、矢量指令處理的方法、裝置、設(shè)備及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、目前,矢量處理器架構(gòu)通常采用基于觸發(fā)器的矢量寄存器。其中,基于觸發(fā)器的矢量寄存器一般使用24個(gè)晶體管存儲(chǔ)1個(gè)比特。
2、但是,相關(guān)技術(shù)中矢量處理器通常需要32個(gè)1024比特的矢量寄存器,因此,矢量寄存器需要大量的晶體管,導(dǎo)致了矢量處理器的面積和功耗較大。
技術(shù)實(shí)現(xiàn)思路
1、本公開實(shí)施例提供一種矢量處理器、矢量指令處理的方法、裝置、設(shè)備及計(jì)算機(jī)程序產(chǎn)品,能夠降低矢量寄存器的面積和功耗。
2、第一方面,本公開實(shí)施例提供一種矢量處理器,包括:
3、標(biāo)量處理單元,用于解析并分發(fā)矢量指令,標(biāo)量處理單元包括指令緩存模塊、數(shù)據(jù)緩存模塊、取指模塊和譯碼模塊;
4、矢量處理單元,與標(biāo)量處理單元連接,矢量處理單元包括矢量指令發(fā)射模塊、目標(biāo)處理單元模塊、多個(gè)基于2p?sram的矢量寄存器,用于通過目標(biāo)處理單元模塊執(zhí)行矢量指令發(fā)射模塊發(fā)射的矢量指令,并基于矢量指令對(duì)多個(gè)基于2p?sram的矢量寄存器執(zhí)行讀取操作或?qū)懭氩僮鳎?/p>
5、矢量存儲(chǔ)器,用于存儲(chǔ)目標(biāo)處理單元模塊執(zhí)行讀取操作或?qū)懭氩僮髦兴璞4娴臄?shù)據(jù)。
6、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,目標(biāo)處理單元模塊包括矢量加載模塊、矢量保存模塊和矢量算數(shù)邏輯單元模塊,其中,矢量加載模塊包括一個(gè)寫端口,矢量保存模塊包括一個(gè)讀端口。
7、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,矢量算數(shù)邏輯單元模塊包括多個(gè)矢量算數(shù)邏輯單元模塊,多個(gè)矢量算數(shù)邏輯單元模塊中的每個(gè)矢量算數(shù)邏輯單元模塊包括讀端口和寫端口。
8、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,矢量算數(shù)邏輯單元模塊包括第一矢量算數(shù)邏輯單元模塊和第二矢量算數(shù)邏輯單元模塊,第一矢量算數(shù)邏輯單元模塊包括兩個(gè)讀端口和一個(gè)寫端口;第二矢量算數(shù)邏輯單元模塊包括一個(gè)讀端口和一個(gè)寫端口。
9、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,基于2p?sram的矢量寄存器包括一個(gè)讀端口和一個(gè)寫端口。
10、第二方面,本公開實(shí)施例提供一種矢量指令處理的方法,方法包括:
11、通過矢量處理器中的矢量處理單元獲取標(biāo)量處理單元發(fā)送的矢量指令;
12、通過矢量指令發(fā)射模塊按照預(yù)設(shè)發(fā)射順序向目標(biāo)處理單元模塊發(fā)射矢量指令;
13、通過目標(biāo)處理單元模塊基于矢量指令對(duì)2p?sram的矢量寄存器執(zhí)行讀取操作或者寫入操作。
14、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,在目標(biāo)處理單元模塊是矢量算數(shù)邏輯單元模塊的情況下,矢量算數(shù)邏輯單元模塊對(duì)應(yīng)的矢量指令的流水線周期包括取指周期,譯碼周期,執(zhí)行周期,發(fā)射周期,讀源操作數(shù)周期,目標(biāo)處理操作周期,延遲時(shí)鐘周期和回寫周期。
15、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,矢量指令包括矢量長(zhǎng)度聚合等級(jí)參數(shù),通過目標(biāo)處理單元模塊基于矢量指令對(duì)2p?sram的矢量寄存器執(zhí)行讀取操作或者寫入操作,包括:
16、通過目標(biāo)處理單元模塊對(duì)矢量長(zhǎng)度聚合等級(jí)參數(shù)指示數(shù)量的2p?sram的矢量寄存器執(zhí)行讀取操作或者寫入操作。
17、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,通過目標(biāo)處理單元模塊對(duì)指示數(shù)量的2p?sram的矢量寄存器執(zhí)行讀取操作,包括:
18、通過目標(biāo)處理單元模塊分別讀取指示數(shù)量的2p?sram的矢量寄存器的源操作數(shù);
19、按照源操作數(shù)分別對(duì)指示數(shù)量的2p?sram的源矢量寄存器的所有數(shù)據(jù)進(jìn)行目標(biāo)處理操作,以得到多個(gè)處理結(jié)果,其中,目標(biāo)處理單元模塊分別對(duì)指示數(shù)量的2p?sram的矢量寄存器的所有數(shù)據(jù)進(jìn)行目標(biāo)處理操作的周期不重疊。
20、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,目標(biāo)處理單元模塊包括目標(biāo)矢量算數(shù)邏輯單元模塊,目標(biāo)矢量算數(shù)邏輯單元模塊包括兩個(gè)讀端口和一個(gè)寫端口,通過矢量指令發(fā)射模塊按照預(yù)設(shè)發(fā)射順序向目標(biāo)處理單元模塊發(fā)射矢量指令,包括:
21、通過矢量指令發(fā)射模塊按照預(yù)設(shè)發(fā)射順序向目標(biāo)處理單元模塊發(fā)射矢量指令;
22、在矢量指令中的第一矢量指令對(duì)應(yīng)的目標(biāo)處理單元模塊為目標(biāo)矢量算數(shù)邏輯單元模塊的情況下,延遲發(fā)射第二矢量指令,第二矢量指令的發(fā)射順序在第一矢量指令后。
23、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,目標(biāo)處理單元模塊包括目標(biāo)隊(duì)列,目標(biāo)隊(duì)列用于存儲(chǔ)矢量指令發(fā)射模塊發(fā)射的矢量指令,通過目標(biāo)處理單元模塊基于矢量指令對(duì)2p?sram的矢量寄存器執(zhí)行讀取操作或者寫入操作,包括:
24、在目標(biāo)隊(duì)列中的矢量指令到達(dá)目標(biāo)處理單元模塊對(duì)應(yīng)的周期相位的情況下,基于目標(biāo)隊(duì)列中的矢量指令對(duì)2p?sram的矢量寄存器執(zhí)行讀取操作或者寫入操作。
25、第三方面,本公開實(shí)施例提供了一種設(shè)備,包括第一方面任意一項(xiàng)的裝備。
26、第四方面,本公開實(shí)施例提供了一種設(shè)備,設(shè)備包括處理器,以及存儲(chǔ)有計(jì)算機(jī)程序指令的存儲(chǔ)器;處理器讀取并執(zhí)行計(jì)算機(jī)程序指令,以實(shí)現(xiàn)如第二方面的任意一項(xiàng)的矢量指令處理的方法。
27、第五方面,本公開實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第二方面的任意一項(xiàng)的矢量指令處理的方法。
28、本公開實(shí)施例提供一種矢量處理器、矢量指令處理的方法、裝置、設(shè)備及計(jì)算機(jī)程序產(chǎn)品,該矢量處理器包括標(biāo)量處理單元、矢量處理單元和矢量存儲(chǔ)器。其中,標(biāo)量處理單元,用于解析并分發(fā)矢量指令;矢量處理單元,與標(biāo)量處理單元連接,用于通過目標(biāo)處理單元模塊執(zhí)行矢量指令發(fā)射模塊發(fā)射的矢量指令,并基于矢量指令對(duì)多個(gè)基于2p?sram的矢量寄存器執(zhí)行讀取操作或?qū)懭氩僮?;矢量存?chǔ)器,用于存儲(chǔ)目標(biāo)處理單元模塊執(zhí)行讀取操作或?qū)懭氩僮髦兴璞4娴臄?shù)據(jù)。本申請(qǐng)矢量處理器包括2psram的矢量寄存器,減少使用晶體管的數(shù)量,通過較少數(shù)量的晶體管存儲(chǔ)相同數(shù)量的比特,能夠降低矢量處理器的面積和功耗。
1.一種矢量處理器,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的矢量處理器,其特征在于,所述目標(biāo)處理單元模塊包括矢量加載模塊、矢量保存模塊和矢量算數(shù)邏輯單元模塊,其中,所述矢量加載模塊包括一個(gè)寫端口,所述矢量保存模塊包括一個(gè)讀端口。
3.根據(jù)權(quán)利要求2所述的矢量處理器,其特征在于,所述矢量算數(shù)邏輯單元模塊包括多個(gè)矢量算數(shù)邏輯單元模塊,所述多個(gè)矢量算數(shù)邏輯單元模塊中的每個(gè)矢量算數(shù)邏輯單元模塊包括讀端口和寫端口。
4.根據(jù)權(quán)利要求2所述的矢量處理器,其特征在于,所述矢量算數(shù)邏輯單元模塊包括第一矢量算數(shù)邏輯單元模塊和第二矢量算數(shù)邏輯單元模塊,所述第一矢量算數(shù)邏輯單元模塊包括兩個(gè)讀端口和一個(gè)寫端口;所述第二矢量算數(shù)邏輯單元模塊包括一個(gè)讀端口和一個(gè)寫端口。
5.根據(jù)權(quán)利要求1所述的矢量處理器,其特征在于,所述基于2psram的矢量寄存器包括一個(gè)讀端口和一個(gè)寫端口。
6.一種應(yīng)用于權(quán)利要求1所述矢量處理器的矢量指令處理的方法,其特征在于,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述目標(biāo)處理單元模塊是矢量算數(shù)邏輯單元模塊的情況下,所述矢量算數(shù)邏輯單元模塊對(duì)應(yīng)的矢量指令的流水線周期包括取指周期,譯碼周期,執(zhí)行周期,發(fā)射周期,讀源操作數(shù)周期,目標(biāo)處理操作周期,延遲時(shí)鐘周期和回寫周期。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述矢量指令包括矢量長(zhǎng)度聚合等級(jí)參數(shù),通過所述目標(biāo)處理單元模塊基于所述矢量指令對(duì)2psram的矢量寄存器執(zhí)行讀取操作或者寫入操作,包括:
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述通過所述目標(biāo)處理單元模塊對(duì)所述指示數(shù)量的2p?sram的矢量寄存器執(zhí)行讀取操作,包括:
10.根據(jù)權(quán)利要求6-9任意一項(xiàng)所述的方法,其特征在于,所述目標(biāo)處理單元模塊包括目標(biāo)矢量算數(shù)邏輯單元模塊,所述目標(biāo)矢量算數(shù)邏輯單元模塊包括兩個(gè)讀端口和一個(gè)寫端口,所述通過矢量指令發(fā)射模塊按照預(yù)設(shè)發(fā)射順序向目標(biāo)處理單元模塊發(fā)射所述矢量指令,包括:
11.根據(jù)權(quán)利要求6-9任意一項(xiàng)所述的方法,其特征在于,所述目標(biāo)處理單元模塊包括目標(biāo)隊(duì)列,所述目標(biāo)隊(duì)列用于存儲(chǔ)所述矢量指令發(fā)射模塊發(fā)射的矢量指令,所述通過所述目標(biāo)處理單元模塊基于所述矢量指令對(duì)2p?sram的矢量寄存器執(zhí)行讀取操作或者寫入操作,包括:
12.根據(jù)權(quán)利要求6-9任意一項(xiàng)所述的方法,其特征在于,所述矢量寄存器包括n個(gè)分塊,所述通過所述目標(biāo)處理單元模塊基于所述矢量指令對(duì)2p?sram的矢量寄存器執(zhí)行讀取操作或者寫入操作,包括:
13.一種設(shè)備,其特征在于,所述設(shè)備包括權(quán)利要求1-5任意一項(xiàng)所述的矢量處理器。
14.一種設(shè)備,其特征在于,所述設(shè)備包括:處理器,以及存儲(chǔ)有計(jì)算機(jī)程序指令的存儲(chǔ)器;所述處理器讀取并執(zhí)行所述計(jì)算機(jī)程序指令,以實(shí)現(xiàn)如權(quán)利要求6-12任意一項(xiàng)所述的矢量指令處理的方法。
15.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求6-12任意一項(xiàng)所述的矢量指令處理的方法。