1.一种计算机实现的方法,包括:
在乱序(ooo)处理器的指令排序单元(isu)中检测第一组运行中指令中的所有指令的状态为已完成,其中
第一组运行中指令与全局完成表(gct)中的第一分配条目相关联,该表跟踪运行中指令组的调度顺序和状态,
gct包括多个分配条目,包括第一分配条目和第二分配条目,以及
紧接在第一组之前调度的第二组运行中指令与gct中的第二分配条目相关联;
至少部分地基于所述检测,将第一分配条目合并到第二分配条目中以创建合并的第二分配条目,该合并的第二分配条目包括用于第一组运行中指令和第二组运行中指令的完成信息;以及
合并之后,在gct中释放第一分配条目以由新的一组运行中指令使用。
2.根据权利要求1所述的计算机实现的方法,其中所述合并包括更新所述第二分配条目以反映:
第一分配条目中的有效指令的数目,
第一组运行中指令中的存储操作的数目;和
第一组运行中指令中的加载操作的数目。
3.根据权利要求1所述的计算机实现的方法,其中为所述gct中的每个分配条目分配组标签,以指示所述运行中指令组的调度顺序。
4.如权利要求3所述的计算机实现的方法,其中所述合并包括更新所述第二分配条目以反映分配给所述第一分配条目的组标签和分配给所述第二分配条目的组标签。
5.权利要求3所述的计算机实现的方法,其中所述合并包括更新所述第二分配条目以反映分配给所述第二分配条目的组标签和已经合并到所述第二分配条目中的多个分配条目。
6.如权利要求1所述的计算机实现的方法,其中所述gct使用链表跟踪已调度指令组的调度顺序。
7.根据权利要求1所述的计算机实现的方法,还包括在合并之后:
在乱序处理器的isu中检测第三组运行中指令中的所有指令的状态为完成,其中:
第三组运行中指令与gct中的第三分配条目相关联;
第三组运行中指令紧随第一组运行中指令之后调度;和
至少部分地基于该检测,将第三分配条目合并到单个合并的第二分配条目中以创建更新的单个合并的第二分配条目,该更新的单个合并第二分配条目包括用于第一组运行中指令、第二组运行中指令以及第三组飞行指令的完成信息;和
在gct中释放第三分配条目以由新的运行中指令组使用。
8.如权利要求1所述的计算机实现的方法,还包括在释放之后:
接收第三组运行中指令;
在gct中分配第一条目;和
将gct中的第一分配条目与第三组运行中指令相关联。
9.一种系统,包括:
具有计算机可读指令的存储器;和
用于执行计算机可读指令的一个或多个处理器,该计算机可读指令控制一个或多个处理器以执行以下操作:
在乱序(ooo)处理器的指令排序单元(isu)中检测第一组运行中指令中的所有指令的状态为已完成,其中
第一组运行中指令与全局完成表(gct)中的第一分配条目相关联,该表跟踪运行中指令组的调度顺序和状态,
gct包括多个分配条目,包括第一分配条目和第二分配条目,以及
紧接在第一组之前调度的第二组运行中指令与gct中的第二分配条目相关联;
至少部分地基于所述检测,将第一分配条目合并到第二分配条目中以创建合并的第二分配条目,该合并的第二分配条目包括用于第一组运行中指令和第二组运行中指令的完成信息;以及
合并之后,在gct中释放第一分配条目以由新的一组运行中指令使用。
10.根据权利要求9所述的系统,其中所述合并包括更新所述第二分配条目以反映:
第一分配条目中的有效指令的数目,
第一组运行中指令中的存储操作的数目;和
第一组运行中指令中的加载操作的数。
11.根据权利要求9所述的系统,其中为所述gct中的每个分配条目分配组标签,以指示所述运行中指令组的调度顺序。
12.根据权利要求11所述的系统,其中所述合并包括更新所述第二分配条目以反映分配给所述第一分配条目的组标签和分配给所述第二分配条目的组标签。
13.根据权利要求11所述的系统,其中所述合并包括更新所述第二分配条目以反映分配给所述第二分配条目的组标签和已经合并到所述第二分配条目中的多个分配条目。
14.根据权利要求9所述的系统,其中所述gct使用链表跟踪已调度指令组的调度顺序。
15.根据权利要求9所述的系统,其中操作还包括在合并之后:
在乱序处理器的isu中检测第三组运行中指令中的所有指令的状态为完成,其中:
第三组运行中指令与gct中的第三分配条目相关联;
第三组运行中指令紧随第一组运行中指令之后调度;和
至少部分地基于该检测,将第三分配条目合并到单个合并的第二分配条目中以创建更新的单个合并的第二分配条目,该更新的单个合并第二分配条目包括用于第一组运行中指令、第二组运行中指令以及第三组飞行指令的完成信息;和
在gct中释放第三分配条目以由新的运行中指令组使用。
16.根据权利要求9所述的系统,其中操作还包括在释放之后:
接收第三组运行中指令;
在gct中分配第一条目;和
将gct中的第一分配条目与第三组运行中指令相关联。
17.一种计算机程序产品,包括计算机可读存储介质,该计算机可读存储介质具有体现在其上的程序指令,所述程序指令可由处理器执行以使所述处理器执行以下操作:
在乱序(ooo)处理器的指令排序单元(isu)中检测第一组运行中指令中的所有指令的状态为已完成,其中
第一组运行中指令与全局完成表(gct)中的第一分配条目相关联,该表跟踪运行中指令组的调度顺序和状态,
gct包括多个分配条目,包括第一分配条目和第二分配条目,以及
紧接在第一组之前调度的第二组运行中指令与gct中的第二分配条目相关联;
至少部分地基于所述检测,将第一分配条目合并到第二分配条目中以创建合并的第二分配条目,该合并的第二分配条目包括用于第一组运行中指令和第二组运行中指令的完成信息;以及
合并之后,在gct中释放第一分配条目以由新的一组运行中指令使用。
18.根据权利要求17所述的计算机程序产品,其中所述合并包括更新所述第二分配条目以反映:
第一分配条目中的有效指令的数目,
第一组运行中指令中的存储操作的数目;和
第一组运行中指令中的加载操作的数目。
19.根据权利要求17所述的计算机程序产品,其中所述gct使用链表跟踪已调度指令组的调度顺序。
20.根据权利要求17所述的计算机程序产品,其中操作还包括在合并之后:
在乱序处理器的isu中检测第三组运行中指令中的所有指令的状态为完成,其中:
第三组运行中指令与gct中的第三分配条目相关联;
第三组运行中指令紧随第一组运行中指令之后调度;和
至少部分地基于该检测,将第三分配条目合并到单个合并的第二分配条目中以创建更新的单个合并的第二分配条目,该更新的单个合并第二分配条目包括用于第一组运行中指令、第二组运行中指令以及第三组飞行指令的完成信息;和
在gct中释放第三分配条目以由新的运行中指令组使用。