本公開(kāi)的實(shí)施例涉及一種指令流水線的處理方法和處理裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著現(xiàn)代處理器的性能的逐步提升,需要處理器快速對(duì)多條指令進(jìn)行執(zhí)行,但多條指令的正確處理常常受限于處理器的硬件資源,因此,對(duì)處理器硬件資源的合理利用是提高現(xiàn)代處理器的指令處理性能的重要因素之一。
技術(shù)實(shí)現(xiàn)思路
1、本公開(kāi)至少一實(shí)施例提供一種指令流水線的處理方法,該指令流水線的處理方法,包括:獲取將在同一操作周期中發(fā)射的多條指令;對(duì)于多條指令中的對(duì)象指令,在跳過(guò)查找寄存器映射表中對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器的情形下,響應(yīng)于對(duì)象指令的至少兩條老指令之間具有數(shù)據(jù)依賴鏈,根據(jù)對(duì)象指令的目的架構(gòu)寄存器是否與至少兩條老指令中的至少一老指令的目的架構(gòu)寄存器相同,確定是否釋放對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器;其中,老指令為多條指令中指令順序先于對(duì)象指令的指令,數(shù)據(jù)依賴鏈表示在對(duì)應(yīng)的多條指令的架構(gòu)寄存器之間具有數(shù)據(jù)傳遞關(guān)系,對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器為對(duì)象指令的目的架構(gòu)寄存器在對(duì)象指令之前被映射的物理寄存器。
2、例如,在本公開(kāi)至少一些實(shí)施例提供的指令流水線的處理方法,還包括:響應(yīng)于至少兩條老指令之間具有數(shù)據(jù)依賴鏈,確定至少兩條老指令的目的架構(gòu)寄存器的新物理寄存器相同,至少兩條老指令的目的架構(gòu)寄存器的新物理寄存器為至少兩條老指令的目的架構(gòu)寄存器當(dāng)前映射的物理寄存器。
3、例如,在本公開(kāi)至少一些實(shí)施例提供的指令流水線的處理方法中,確定是否釋放對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器,包括:響應(yīng)于對(duì)象指令與數(shù)據(jù)依賴鏈中至少一老指令具有寫(xiě)后寫(xiě)關(guān)系以及對(duì)象指令與數(shù)據(jù)依賴鏈中除至少一老指令之外的其他老指令不具有寫(xiě)后寫(xiě)關(guān)系,確定對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器不能釋放。
4、例如,在本公開(kāi)至少一些實(shí)施例提供的指令流水線的處理方法中,至少兩條老指令包括第一老指令和第二老指令,第一老指令的指令順序先于第二老指令,響應(yīng)于至少兩條老指令之間具有數(shù)據(jù)依賴鏈,包括:響應(yīng)于第一老指令和第二老指令具有讀后寫(xiě)關(guān)系以及第二老指令為數(shù)據(jù)傳輸取消型指令,確定第一老指令和第二老指令之間具有數(shù)據(jù)依賴鏈。
5、例如,在本公開(kāi)至少一些實(shí)施例提供的指令流水線的處理方法中,確定是否釋放對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器,包括:響應(yīng)于對(duì)象指令與第一老指令具有寫(xiě)后寫(xiě)關(guān)系且對(duì)象指令與第二老指令不具有寫(xiě)后寫(xiě)關(guān)系,確定對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器不能釋放。
6、例如,在本公開(kāi)至少一些實(shí)施例提供的指令流水線的處理方法中,確定是否釋放對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器,包括:響應(yīng)于對(duì)象指令與第二老指令具有寫(xiě)后寫(xiě)關(guān)系且對(duì)象指令與第一老指令不具有寫(xiě)后寫(xiě)關(guān)系,確定對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器不能釋放。
7、例如,在本公開(kāi)至少一些實(shí)施例提供的指令流水線的處理方法中,至少兩條老指令還包括第三老指令,第三老指令的指令順序后于第二老指令,確定是否釋放對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器,包括:響應(yīng)于對(duì)象指令與第二老指令具有寫(xiě)后寫(xiě)關(guān)系、對(duì)象指令與第三老指令不具有寫(xiě)后寫(xiě)關(guān)系以及第三老指令與第一老指令不具有寫(xiě)后寫(xiě)關(guān)系,確定對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器不能釋放。
8、例如,在本公開(kāi)至少一些實(shí)施例提供的指令流水線的處理方法,還包括:響應(yīng)于確定對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器不能釋放,為對(duì)象指令的目的架構(gòu)寄存器分配新物理寄存器。
9、本公開(kāi)至少一實(shí)施例還提供一種指令流水線的處理裝置,該指令流水線的處理裝置包括獲取單元和確定單元,獲取單元,被配置為獲取將在同一操作周期中發(fā)射的多條指令;確定單元,被配置為對(duì)于多條指令中的對(duì)象指令,在跳過(guò)查找寄存器映射表中對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器的情形下,響應(yīng)于對(duì)象指令的至少兩條老指令之間具有數(shù)據(jù)依賴鏈,根據(jù)對(duì)象指令的目的架構(gòu)寄存器是否與至少兩條老指令中的至少一老指令的目的架構(gòu)寄存器相同,確定是否釋放對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器;其中,老指令為多條指令中指令順序先于對(duì)象指令的指令,數(shù)據(jù)依賴鏈表示在對(duì)應(yīng)的多條指令的架構(gòu)寄存器之間具有數(shù)據(jù)傳遞關(guān)系,對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器為對(duì)象指令的目的架構(gòu)寄存器在對(duì)象指令之前被映射的物理寄存器。
10、本公開(kāi)至少一實(shí)施例還提供一種指令流水線的處理裝置,該指令流水線的處理裝置包括至少一個(gè)存儲(chǔ)單元以及至少一個(gè)處理單元,至少一個(gè)存儲(chǔ)單元被配置為存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令;至少一個(gè)處理單元,被配置為執(zhí)行計(jì)算機(jī)可執(zhí)行指令,其中,計(jì)算機(jī)可執(zhí)行指令被至少一個(gè)處理單元執(zhí)行時(shí)實(shí)現(xiàn)本公開(kāi)任一實(shí)施例提供的指令流水線處理方法。
11、本公開(kāi)至少一些實(shí)施例還提供一種電子設(shè)備,包括本公開(kāi)任一實(shí)施例提供的指令流水線的處理裝置。
12、本公開(kāi)至少一些實(shí)施例還提供一種非暫時(shí)性存儲(chǔ)介質(zhì),該非暫時(shí)性存儲(chǔ)介質(zhì)非暫時(shí)性地存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令,其中,當(dāng)計(jì)算機(jī)可執(zhí)行指令由至少一個(gè)處理器執(zhí)行時(shí),實(shí)現(xiàn)本公開(kāi)任一實(shí)施例提供的指令流水線的處理方法。
1.一種指令流水線的處理方法,包括:
2.如權(quán)利要求1所述的指令流水線的處理方法,還包括:
3.如權(quán)利要求2所述的指令流水線的處理方法,其中,所述確定是否釋放所述對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器,包括:
4.如權(quán)利要求2所述的指令流水線的處理方法,其中,所述至少兩條老指令包括第一老指令和第二老指令,所述第一老指令的指令順序先于所述第二老指令,
5.如權(quán)利要求4所述的指令流水線的處理方法,其中,所述確定是否釋放所述對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器,包括:
6.如權(quán)利要求4所述的指令流水線的處理方法,其中,所述確定是否釋放所述對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器,包括:
7.如權(quán)利要求4所述的指令流水線的處理方法,其中,所述至少兩條老指令還包括第三老指令,所述第三老指令的指令順序后于所述第二老指令,所述確定是否釋放所述對(duì)象指令的目的架構(gòu)寄存器對(duì)應(yīng)的老物理寄存器,包括:
8.如權(quán)利要求1-7任一所述的指令流水線的處理方法,還包括:
9.一種指令流水線的處理裝置,包括:
10.一種指令流水線的處理裝置,包括:
11.一種電子設(shè)備,包括權(quán)利要求9或10所述的指令流水線的處理裝置。
12.一種非暫時(shí)性存儲(chǔ)介質(zhì),非暫時(shí)性地存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令,其中,當(dāng)所述計(jì)算機(jī)可執(zhí)行指令由至少一個(gè)處理器執(zhí)行時(shí),實(shí)現(xiàn)根據(jù)權(quán)利要求1-8中任一所述的指令流水線處理方法。