本申請涉及處理器,尤其涉及一種指令處理方法、裝置、處理器、存儲介質(zhì)以及計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、目前,為了提高處理器性能,處理器可以采用多發(fā)射微架構(gòu),在一個時鐘周期內(nèi)并行發(fā)射兩條指令、四條指令等多條指令。多發(fā)射微架構(gòu)的處理器核心具有多個指令執(zhí)行端口(port),可以在流水線指令的基礎(chǔ)上并行發(fā)射多路流水線指令,多個指令執(zhí)行端口可以在一個時鐘周期內(nèi)并發(fā)多條執(zhí)行指令,執(zhí)行指令可以為數(shù)據(jù)加密執(zhí)行指令等。在一個時鐘周期內(nèi)并行發(fā)射的多個執(zhí)行指令需要處理相同的輸入?yún)?shù),由于此輸入函數(shù)僅存儲一份數(shù)據(jù)(從內(nèi)存?zhèn)鞯揭粋€寄存器單元中存放),當(dāng)并行發(fā)射的多個執(zhí)行指令中的一個執(zhí)行指令被執(zhí)行時,此寄存器單元被此執(zhí)行指令占用,此執(zhí)行指令獲取此輸入函數(shù)并進(jìn)行處理;并且,在此執(zhí)行指令執(zhí)行完畢之前,并行發(fā)射的多個執(zhí)行指令中的其他執(zhí)行指令處于等待狀態(tài);在此執(zhí)行指令執(zhí)行完畢后,并行發(fā)射的多個執(zhí)行指令中的一個其他執(zhí)行指令才可以從此寄存器單元中獲取此輸入?yún)?shù)并進(jìn)行處理,因此,多個執(zhí)行指令的并行發(fā)射實(shí)際為部分或全部串行發(fā)射,執(zhí)行指令的耗時增加、運(yùn)行效率降低,降低了處理器的性能。
技術(shù)實(shí)現(xiàn)思路
1、本公開提供一種指令處理方法、裝置、處理器、存儲介質(zhì)以及計算機(jī)程序產(chǎn)品。
2、根據(jù)本公開的第一方面,提供一種指令處理方法,應(yīng)用于處理器,所述處理器包括多個指令執(zhí)行端口,各個指令執(zhí)行端口在一個時鐘周期內(nèi)發(fā)射一個執(zhí)行指令或處于空閑狀態(tài),所述指令處理方法包括:為并行發(fā)射的、需要處理相同的輸入?yún)?shù)的多個執(zhí)行指令中的各個執(zhí)行指令,分別指定對應(yīng)的寄存器單元;在所述寄存器單元中存放所述輸入?yún)?shù);當(dāng)并行發(fā)射所述多個執(zhí)行指令時,控制所述多個執(zhí)行指令中的各個執(zhí)行指令,分別從對應(yīng)的寄存器單元中獲取所述輸入?yún)?shù)并進(jìn)行處理。
3、可選地,所述輸入?yún)?shù)包括已發(fā)射的執(zhí)行指令的處理結(jié)果,所述為并行發(fā)射的、需要處理相同的輸入?yún)?shù)的多個執(zhí)行指令中的各個執(zhí)行指令,分別指定對應(yīng)的寄存器單元包括:在所述已發(fā)射的執(zhí)行指令被執(zhí)行之后,為所述多個執(zhí)行指令中的各個執(zhí)行指令分別指定對應(yīng)的寄存器單元。
4、可選地,所述寄存器單元包括第二變量寄存器單元、與所述已發(fā)射的執(zhí)行指令對應(yīng)的第一變量寄存器單元,所述為所述多個執(zhí)行指令中的各個執(zhí)行指令分別指定對應(yīng)的寄存器單元包括:為所述多個執(zhí)行指令中的一個執(zhí)行指令指定所述第一變量寄存器單元,并為所述多個執(zhí)行指令中的各個其他執(zhí)行指令分別指定對應(yīng)的所述第二變量寄存器單元。
5、可選地,所述在所述寄存器單元中存放所述輸入?yún)?shù)包括:在所述第一變量寄存器單元和所述第二變量寄存器單元中存放所述處理結(jié)果。
6、可選地,所述在所述第一變量寄存器單元和所述第二變量寄存器單元中存放所述處理結(jié)果包括:通過所述已發(fā)射的執(zhí)行指令,將所述處理結(jié)果存放在所述第一變量寄存器單元;在所述已發(fā)射的執(zhí)行指令被執(zhí)行之后,發(fā)射第一復(fù)制執(zhí)行指令,用以在所述第二變量寄存器單元中存放所述處理結(jié)果。
7、可選地,在與所述已發(fā)射的執(zhí)行指令對應(yīng)的時鐘周期之后的下一個時鐘周期內(nèi),發(fā)射所述第一復(fù)制執(zhí)行指令。
8、可選地,所述輸入?yún)?shù)包括未被已發(fā)射的執(zhí)行指令處理的參數(shù),所述寄存器單元包括第三變量寄存器單元,所述為并行發(fā)射的、需要處理相同的輸入?yún)?shù)的多個執(zhí)行指令中的各個執(zhí)行指令,分別指定對應(yīng)的寄存器單元包括:為所述多個執(zhí)行指令中的各個執(zhí)行指令分別指定對應(yīng)的第三變量寄存器單元。
9、可選地,所述在所述寄存器單元中存放所述輸入?yún)?shù)包括:在所述第三變量寄存器單元中存放所述初始參數(shù)。
10、可選地,所述在所述第三變量寄存器單元中存放所述初始參數(shù)包括:在所述多個執(zhí)行指令并行發(fā)射之前,發(fā)射第二復(fù)制執(zhí)行指令,用以在所述第三變量寄存器單元中存放所述未被已發(fā)射的執(zhí)行指令處理的參數(shù)。
11、可選地,所述執(zhí)行指令包括用于進(jìn)行橢圓曲線加密的算法執(zhí)行指令,其中,所述算法包括蒙哥馬利梯度算法。
12、可選地,所述指令執(zhí)行端口的數(shù)量包括四個,所述指令處理方法包括:為四個指令執(zhí)行端口分別分配需要發(fā)射的所述算法執(zhí)行指令;為所述四個指令執(zhí)行端口分別分配加密處理數(shù)據(jù),其中,所述加密處理數(shù)據(jù)包括橢圓曲線上的第一點(diǎn)在射影坐標(biāo)系下的第一坐標(biāo)和第二坐標(biāo),以及橢圓曲線上的第二點(diǎn)在射影坐標(biāo)系下的第一坐標(biāo)和第二坐標(biāo)。
13、根據(jù)本公開的第二方面,提供一種指令處理裝置,應(yīng)用于處理器,所述處理器包括多個指令執(zhí)行端口,所述指令執(zhí)行端口在一個時鐘周期發(fā)射一個執(zhí)行指令或處于空閑狀態(tài),所述指令處理裝置包括:分配模塊,用于為并行發(fā)射的、需要處理相同的輸入?yún)?shù)的多個執(zhí)行指令中的各個執(zhí)行指令,分別指定對應(yīng)的寄存器單元;存儲模塊,用于在所述寄存器單元中存放所述輸入?yún)?shù);執(zhí)行模塊,用于當(dāng)并行發(fā)射所述多個執(zhí)行指令時,控制所述多個執(zhí)行指令中的各個執(zhí)行指令,分別從對應(yīng)的寄存器單元中獲取所述輸入?yún)?shù)并進(jìn)行處理。
14、根據(jù)本公開的第三方面,一種處理器,包括如上所述的指令處理裝置。
15、根據(jù)本公開的第四方面,提供一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)指令,所述指令被處理器執(zhí)行如上所述的方法。
16、根據(jù)本公開的第五方面,提供一種計算機(jī)程序產(chǎn)品,所述算機(jī)程序產(chǎn)品存儲有計算機(jī)指令,所述指令被處理器執(zhí)行如上所述的方法。
17、本公開的指令處理方法、裝置、處理器、存儲介質(zhì)以及計算機(jī)程序產(chǎn)品,通過為并行發(fā)射的、需要處理相同的輸入?yún)?shù)的多個執(zhí)行指令分別指定寄存器單元,在寄存器單元中存放此輸入?yún)?shù),當(dāng)并行發(fā)射多個執(zhí)行指令時,控制各個執(zhí)行指令分別從對應(yīng)的寄存器單元中獲取此輸入?yún)?shù)并進(jìn)行處理;能夠?qū)崿F(xiàn)多個執(zhí)行指令的并行發(fā)射,更好地利用并發(fā)特性,提升了指令并行性能,指令運(yùn)行的整體耗時短、效率高。
1.一種指令處理方法,應(yīng)用于處理器,所述處理器包括多個指令執(zhí)行端口,各個指令執(zhí)行端口在一個時鐘周期內(nèi)發(fā)射一個執(zhí)行指令或處于空閑狀態(tài),所述指令處理方法包括:
2.如權(quán)利要求1所述的指令處理方法,其中,所述輸入?yún)?shù)包括已發(fā)射的執(zhí)行指令的處理結(jié)果,所述為并行發(fā)射的、需要處理相同的輸入?yún)?shù)的多個執(zhí)行指令中的各個執(zhí)行指令,分別指定對應(yīng)的寄存器單元包括:
3.如權(quán)利要求2所述的指令處理方法,其中,所述寄存器單元包括第二變量寄存器單元、與所述已發(fā)射的執(zhí)行指令對應(yīng)的第一變量寄存器單元,所述為所述多個執(zhí)行指令中的各個執(zhí)行指令分別指定對應(yīng)的寄存器單元包括:
4.如權(quán)利要求3所述的指令處理方法,其中,所述在所述寄存器單元中存放所述輸入?yún)?shù)包括:
5.如權(quán)利要求4所述的指令處理方法,其中,所述在所述第一變量寄存器單元和所述第二變量寄存器單元中存放所述處理結(jié)果包括:
6.如權(quán)利要求5所述的指令處理方法,其中,
7.如權(quán)利要求2所述的指令處理方法,其中,所述輸入?yún)?shù)包括未被已發(fā)射的執(zhí)行指令處理的參數(shù),所述寄存器單元包括第三變量寄存器單元,所述為并行發(fā)射的、需要處理相同的輸入?yún)?shù)的多個執(zhí)行指令中的各個執(zhí)行指令,分別指定對應(yīng)的寄存器單元包括:
8.如權(quán)利要求7所述的指令處理方法,其中,所述在所述寄存器單元中存放所述輸入?yún)?shù)包括:
9.如權(quán)利要求8所述的指令處理方法,其中,所述在所述第三變量寄存器單元中存放所述初始參數(shù)包括:
10.如權(quán)利要求1至9任一項所述的指令處理方法,其中,
11.如權(quán)利要求10所述的指令處理方法,其中,所述指令執(zhí)行端口的數(shù)量包括四個,所述指令處理方法包括:
12.一種指令處理裝置,應(yīng)用于處理器,所述處理器包括多個指令執(zhí)行端口,所述指令執(zhí)行端口在一個時鐘周期發(fā)射一個執(zhí)行指令或處于空閑狀態(tài),所述指令處理裝置包括:
13.一種處理器,包括:
14.一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)指令,所述指令被處理器執(zhí)行如權(quán)利要求1至11中任一項所述的方法。
15.一種計算機(jī)程序產(chǎn)品,所述算機(jī)程序產(chǎn)品存儲有計算機(jī)指令,所述指令被處理器執(zhí)行如權(quán)利要求1至11中任一項所述的方法。