在乱序处理器中合并全局完成表条目制造技术

技术编号:24296716 阅读:34 留言:0更新日期:2020-05-26 21:22
本发明专利技术的方面包括检测第一组运行中指令中的所有指令具有完成状态。第一组运行中指令与全局完成表(GCT)中的第一分配条目相关联,该表跟踪运行中指令组的调度顺序和状态。GCT包括多个分配条目,其包括第一分配条目和第二分配条目。紧随第一组之前调度的第二组运行中指令与GCT中的第二分配条目相关联。至少部分地基于检测,将第一分配条目合并到第二分配条目中以在GCT中创建单个合并的第二分配条目,该单个合并的第二分条目包括用于第一组运行中指令和第二组运行中指令的完成信息。然后释放第一分配条目。

Merging global completion table entries in a shuffle processor

【技术实现步骤摘要】
【国外来华专利技术】在乱序处理器中合并全局完成表条目
本专利技术的实施例总体上涉及乱序(OoO)处理器,并且更具体地涉及在乱序处理器中合并全局完成表(GCT)条目。
技术介绍
在乱序处理器中,指令排序单元(ISU)将组中的指令调度到各种发布队列,重命名寄存器以支持乱序执行,将来自各种发布队列的指令发布到执行流水线,完成已执行的指令并处理异常条件。寄存器重命名通常是在将指令放入各自的发布队列之前,由ISU中的映射器逻辑执行的。使用位于ISU的发布队列中的依赖性矩阵来跟踪指令之间的依赖性,并且ISU中的GCT会跟踪从调度到完成的所有运行中(in-flight)指令。
技术实现思路
本专利技术的实施例包括用于在乱序处理器中合并全局完成表(GCT)条目的方法、系统和计算机程序产品。计算机实现的方法的非限制性示例包括在乱序处理器的指令排序单元(ISU)中检测第一组运行中指令中的所有指令的状态为已完成。第一组运行中指令与GCT中的第一分配条目相关联,该表跟踪运行中指令组的调度顺序和状态。GCT包括多个分配条目,其包括第一分配条目和第二分配条目。紧随第一组之前调度的第二组运行中指令与GCT中的第二分配条目相关联。至少部分地基于检测,将第一分配条目合并到第二分配条目中以在GCT中创建单个合并的第二分配条目,该单个合并的第二分条目包括用于第一组运行中指令和第二组运行中指令的完成信息。合并之后,GCT中的第一分配条目被释放以由新的一组运行中指令使用。通过本专利技术的技术实现了附加的特征和优点。在此详细描述本专利技术的其他实施例和方面,并且将其视为所要求保护的专利技术的一部分。为了更好地理解本专利技术的优点和特征,请参考说明书和附图。附图说明在说明书所附权利要求书中特别指出并明确要求保护本文所述的专有权的细节。通过以下结合附图的详细描述,本专利技术的实施例的前述以及其他特征和优点将变得显而易见,其中:图1描绘了根据本专利技术一个或多个实施例的系统的框图,该系统包括乱序处理器的指令排序单元(ISU),用于在乱序处理器中提供合并的全局完成表(GCT)条目;图2描绘了根据本专利技术一个或多个实施例的GCT,GCT中的链接以及用于GCT条目的组标签(GTAG)用于在乱序处理器中提供合并的全局完成表(GCT)条目;图3描绘了根据本专利技术一个或多个实施例的在乱序处理器中合并GCT条目的流程图;图4描绘了根据本专利技术一个或多个实施例的在乱序处理器中合并GCT条目的框图;图5描绘了根据本专利技术一个或多个实施例的由乱序处理器中的指令组利用的资源的框图;图6描绘了根据本专利技术一个或多个实施例的用于在乱序处理器中完成合并的GCT条目的流程图;图7描绘了根据本专利技术一个或多个实施例的用于在乱序处理器中实现合并的GCT条目的一些或所有方面的计算机系统的框图。本文所描绘的图是说明性的。在不脱离本专利技术的精神的情况下,图或其中描述的操作可以有许多变型。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。同样,术语“耦合”及其变型描述了在两个元件之间具有通信路径,并且并不意味着元件之间没有中间元件/连接。它们之间所有这些变体都被视为说明书的一部分。在附图和以下对所描述的实施例的详细描述中,在附图中示出的各个元件设有两个或三个数字的附图标记。除少数例外,每个参考数字的最左边的数字与该元素的第一个图相对应。具体实施方式本文所述的本专利技术的一个或多个实施例在乱序处理器的全局完成表(GCT)中提供合并的条目。通过将GCT中的多个条目合并或合并到单个GCT条目中来创建合并的条目。当与合并的GCT条目相对应的组中的所有指令都完成并且合并的条目有资格完成时(例如,下一个完成),则合并的条目中的所有组都作为一个单元同时完成。将组合并到GCT中的单个条目中可以释放GCT中的空间以供其他指令组使用,并且可以缓解由GCT的大小和运行时间长的指令组引起的瓶颈。乱序处理器的指令排序单元(ISU)中的GCT跟踪从调度到完成的所有进行中的指令。在调度时,将一组指令中的完成位设置为反映该组中的有效指令。一条指令成功执行后(例如,没有拒绝),可以通过复位相应的完成位将其标记为完成。当一个组中的所有指令都标记为已完成并且该组是给定线程中最早的指令时,该组可以“完成”。当一个组完成,将所有指令的结果在架构上可见,并释放指令所占用的资源。根据本专利技术的一个或多个实施例,刷新产生也由ISU处理,其中GCT将要丢弃的所有组的刷新合并到掩码中,每个组用掩码的一位来指示应刷新哪些组。GCT还可以通过使用掩码来执行部分组刷新,其中组中的每个指令用掩码的一位指示应刷新组中的哪些指令。如本文所述,本专利技术的一个或多个实施例组合GCT条目以释放GCT中用于其他指令组的空间或条目。根据本专利技术的一个或多个实施例,当较早组还没有准备好要完成但较新组已经准备好要完成时(例如,该组中的所有指令都已经完成而没有麻烦/中断位),可以合并两个条目。在这种情况下,可以将GCT中(对应于较新指令组的)较新条目中的信息合并到GCT中(对应于较早指令组的)较早条目中,而GCT中较新条目可被释放供另一组指令使用。当较早条目卡住时,其他较新条目可以继续与较早条目(可能是GCT中最早的条目)合并。当由较早条目表示或相关联的组中的一个或多个指令尚未完成并且该组无法完成时,较早组将被卡住。当较早组最终完成时,它释放负载重新排序队列(LRQ)条目、存储重新排序队列(SRQ)条目、有效地址表(EAT)条目以及组合或合并到较早GCT条目的所有组的资源。这使得与较新指令组相关联的GCT条目可以被释放并被重新使用(重新分配),而不必等待与较早组相关联的长时间运行的指令完成。通过更快地释放资源可以减少由于缺少可用的GCT条目使GCT成为瓶颈而导致调度暂缓的发生。如本文中所使用的,术语“较新组”是指在“较早组”中的一组指令的最近或之后调度的一组指令。如本文所使用的,术语“紧随其后的组”或“下一个较早组”指的是在特定的指令组被调度之后被调度的第一组指令。如本文所使用的术语“紧随之前的组”或“下一个较早组”是指紧接在特定的指令组被调度之前被调度的指令组。如本文中所使用的,术语“最早的组”是指ISU中具有最早的调度时间的指令组,即,在GCT中已经存在了最长时间的指令组。现在转到图1,总体上描绘了根据本专利技术一个或多个实施例的一种系统100的框图,该系统100包括乱序处理器的指令排序单元(ISU),用于在乱序处理器中提供合并的GCT。图1所示的系统100包括指令获取单元/指令解码单元(IFU/IDU)106,获取并解码一组指令以输入到设置块108,该设置块108准备解码后的指令以输入到ISU的映射器110。根据本专利技术的一个或多个实施例,IFU/IDU106可一次获取和解码来自线程的六个指令。根据本专利技术的一个或多个实施例,发送给设置块108的六个指令可以包括六个非分支指令,五个非分支指令和一个分支指令,或四个非分支指令和两个分支指令。根据本专利技术的一个或多个实施例,设置块108在将获取的本文档来自技高网...

【技术保护点】
1.一种计算机实现的方法,包括:/n在乱序(OoO)处理器的指令排序单元(ISU)中检测第一组运行中指令中的所有指令的状态为已完成,其中/n第一组运行中指令与全局完成表(GCT)中的第一分配条目相关联,该表跟踪运行中指令组的调度顺序和状态,/nGCT包括多个分配条目,包括第一分配条目和第二分配条目,以及/n紧接在第一组之前调度的第二组运行中指令与GCT中的第二分配条目相关联;/n至少部分地基于所述检测,将第一分配条目合并到第二分配条目中以创建合并的第二分配条目,该合并的第二分配条目包括用于第一组运行中指令和第二组运行中指令的完成信息;以及/n合并之后,在GCT中释放第一分配条目以由新的一组运行中指令使用。/n

【技术特征摘要】
【国外来华专利技术】20171130 US 15/826,7521.一种计算机实现的方法,包括:
在乱序(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所述的系统,其中所述合并包括...

【专利技术属性】
技术研发人员:J·西尔贝曼B·辛哈罗伊
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1