1.一種數(shù)據(jù)處理裝置,包括:
寄存器重命名電路,被配置為:響應(yīng)于指令,將由所述指令指定的架構(gòu)寄存器區(qū)分符映射至將被訪問(wèn)的物理寄存器;以及
可用寄存器控制電路,被配置為控制哪些物理寄存器可用于由所述寄存器重命名電路映射至架構(gòu)寄存器區(qū)分符;
其中,針對(duì)至少一個(gè)具有兩個(gè)或更多個(gè)物理寄存器的組,所述可用寄存器控制電路被配置為根據(jù)組追蹤指示信息來(lái)控制所述組的物理寄存器是否可用,所述組追蹤指示信息指示是否存在對(duì)所述組中的任意物理寄存器的至少一個(gè)待決訪問(wèn)。
2.如權(quán)利要求1所述的數(shù)據(jù)處理裝置,其中,所述可用寄存器控制電路被配置為:當(dāng)針對(duì)包括不可用的物理寄存器的物理寄存器的組的組追蹤指示信息指示存在對(duì)所述組中的任意物理寄存器的至少一個(gè)待決訪問(wèn)時(shí),阻止所述不可用的物理寄存器變?yōu)榭捎谩?/p>
3.如前述任一權(quán)利要求所述的數(shù)據(jù)處理裝置,其中,所述組追蹤指示信息包括具有第一值和第二值之一的組待決指示信息,所述第一值指示存在對(duì)所述組中的任意物理寄存器的待決訪問(wèn),所述第二值指示不存在對(duì)所述組中的任意物理寄存器的待決訪問(wèn)。
4.如前述任一權(quán)利要求所述的數(shù)據(jù)處理裝置,其中,所述組追蹤指示信息包括組計(jì)數(shù)器,用于對(duì)對(duì)所述組中的任意物理寄存器的待決訪問(wèn)進(jìn)行計(jì)數(shù)。
5.如前述任一權(quán)利要求所述的數(shù)據(jù)處理裝置,包括寄存器讀取單元,該單元被配置為:響應(yīng)于至少一些指令,從物理寄存器讀取值。
6.如權(quán)利要求5所述的數(shù)據(jù)處理裝置,其中,所述寄存器讀取單元包括發(fā)布隊(duì)列,該隊(duì)列被配置為對(duì)要被發(fā)布用于執(zhí)行的指令進(jìn)行排隊(duì)。
7.如權(quán)利要求5所述的數(shù)據(jù)處理裝置,其中,所述寄存器讀取單元包括被配置為執(zhí)行指令的執(zhí)行單元的至少一部分。
8.如權(quán)利要求5-7中任一項(xiàng)所述的數(shù)據(jù)處理裝置,其中,所述組追蹤 指示信息包括組計(jì)數(shù)器,該組計(jì)數(shù)器指示由所述寄存器讀取單元中的待決指令對(duì)所述組中的任意物理寄存器的引用的數(shù)目。
9.如權(quán)利要求8所述的數(shù)據(jù)處理裝置,其中,所述可用寄存器控制電路被配置為:響應(yīng)于引用正被提供給所述寄存器讀取單元的物理寄存器的組中任一者的指令,使所述組計(jì)數(shù)器遞增。
10.如權(quán)利要求8和9中任一項(xiàng)所述的數(shù)據(jù)處理裝置,其中,所述可用寄存器控制電路被配置為:響應(yīng)于引用正被從所述寄存器讀取單元移除的、或完成所述寄存器讀取單元中的處理的物理寄存器的組中任一者的指令,使所述組計(jì)數(shù)器遞減。
11.如權(quán)利要求8至10中任一項(xiàng)所述的數(shù)據(jù)處理裝置,其中,所述可用寄存器控制電路被配置為:當(dāng)針對(duì)包括不可用的物理寄存器的物理寄存器的組的組計(jì)數(shù)器具有除預(yù)定值以外的值時(shí),阻止所述不可用的物理寄存器變?yōu)榭捎谩?/p>
12.如權(quán)利要求11所述的數(shù)據(jù)處理裝置,其中,所述預(yù)定值為零。
13.如權(quán)利要求5至7中任一項(xiàng)所述的數(shù)據(jù)處理裝置,其中,所述寄存器讀取單元包括多個(gè)寄存器讀取間隙,用于存儲(chǔ)待決的寄存器讀取的指示信息;
所述組追蹤指示信息包括指示哪個(gè)寄存器讀取間隙存儲(chǔ)了指定所述組中的任意物理寄存器的待決寄存器讀取的指示信息。
14.如前述任一權(quán)利要求所述的數(shù)據(jù)處理裝置,包括多個(gè)組追蹤指示信息,每個(gè)組追蹤指示信息對(duì)應(yīng)于具有兩個(gè)或更多個(gè)物理寄存器的相應(yīng)的組;
其中,針對(duì)每個(gè)組,所述可用寄存器控制電路被配置為:根據(jù)對(duì)應(yīng)的組追蹤指示信息來(lái)控制所述組的物理寄存器是否可用。
15.如權(quán)利要求8至12中任一項(xiàng)所述的數(shù)據(jù)處理裝置,其中,所述裝置包括Z個(gè)物理寄存器;
物理寄存器的每個(gè)組包括G個(gè)物理寄存器,其中2≤G≤Z;
所述寄存器讀取單元能夠處理多達(dá)M個(gè)待決的寄存器讀?。?/p>
所述裝置包括Z/G個(gè)組計(jì)數(shù)器,每個(gè)組計(jì)數(shù)器包括至少N位,其中N 為大于或等于log2(M×G+1)的最小整數(shù)。
16.如前述任一權(quán)利要求所述的數(shù)據(jù)處理裝置,其中,對(duì)于所述組的每個(gè)物理寄存器,所述可用寄存器控制電路被配置為:根據(jù)所述組追蹤指示信息和至少一個(gè)進(jìn)一步的參數(shù)來(lái)控制所述物理寄存器是否可用。
17.如權(quán)利要求16所述的數(shù)據(jù)處理裝置,其中,所述至少一個(gè)進(jìn)一步的參數(shù)包括以下的一個(gè)或多個(gè):
指示所述物理寄存器當(dāng)前是否被映射至架構(gòu)寄存器區(qū)分符的參數(shù);
指示是否存在對(duì)所述物理寄存器的未完成寫(xiě)入的參數(shù);以及
指示是否存在未解決的投機(jī)指令的參數(shù),所述投機(jī)指令指定此前被映射至所述物理寄存器的架構(gòu)寄存器區(qū)分符。
18.一種數(shù)據(jù)處理裝置,包括:
用于映射的裝置,該裝置響應(yīng)于指令,將由所述指令指定的架構(gòu)寄存器區(qū)分符映射至將被訪問(wèn)的物理寄存器;以及
用于控制的裝置,該裝置控制哪些物理寄存器可用于由所述用于映射的裝置映射至架構(gòu)寄存器區(qū)分符;
其中,針對(duì)至少一個(gè)具有兩個(gè)或更多物理寄存器的組,所述用于控制的裝置被配置為根據(jù)組追蹤指示信息來(lái)控制所述組的物理寄存器是否可用,所述組追蹤指示信息指示是否存在對(duì)所述組中的任意物理寄存器的至少一個(gè)待決訪問(wèn)。
19.一種數(shù)據(jù)處理方法,包括:
響應(yīng)于指令,將由所述指令指定的架構(gòu)寄存器區(qū)分符映射至將被訪問(wèn)的物理寄存器;以及
對(duì)于物理寄存器的至少一個(gè)組:
維護(hù)組追蹤指示信息,該信息表示是否存在對(duì)所述組中的任意物理寄存器的至少一個(gè)待決訪問(wèn);
根據(jù)所述組追蹤指示信息,控制所述組的物理寄存器是否在映射步驟中可用于映射至架構(gòu)寄存器區(qū)分符。