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

技术编号:24335019 阅读:55 留言:0更新日期:2020-05-29 21:54
本发明专利技术的方面包括在乱序(OoO)处理器中检测第一组运行中指令中的所有指令具有完成状态。第一组运行中指令是全局完成表(GCT)条目中最早的一组。确定GCT中的条目与第一组运行中指令和紧接在第一组运行中指令之后调度的第二组运行中指令都相关联的合并条目。第一组运行中指令和第二组运行中指令在单个处理器周期中完成。完成至少部分基于检测到第一组运行中指令中的所有指令具有完成状态。完成包括请求释放第一组和第二组运行中指令使用的资源。

Global completion table entries that complete the merge in the shuffle processor

【技术实现步骤摘要】
【国外来华专利技术】在乱序处理器中完成合并的全局完成表条目
本专利技术的实施例总体上涉及乱序(OoO)处理器,并且更具体地涉及在乱序处理器中完成合并的全局完成表(GCT)条目。
技术介绍
在乱序处理器中,指令排序单元(ISU)将组中的指令调度到各种发布队列,重命名寄存器以支持乱序执行,将来自各种发布队列的指令发布到执行流水线,完成已执行的指令并处理异常条件。寄存器重命名通常是在将指令放入各自的发布队列之前,由ISU中的映射器逻辑执行的。使用位于ISU的发布队列中的依赖性矩阵来跟踪指令之间的依赖性,并且ISU中的GCT会跟踪从调度到完成的所有运行中(in-flight)指令。
技术实现思路
本专利技术的实施例包括用于在乱序处理器中完成合并的全局完成表(GCT)条目的方法、系统和计算机程序产品。计算机实现的方法的非限制性示例包括在乱序处理器的指令排序单元(ISU)中检测第一组运行中指令中的所有指令的状态为已完成。第一组与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的六个指令可以包括六个非分支指令,五个非分支本文档来自技高网...

【技术保护点】
1.一种计算机实现的方法,包括:/n在乱序(OoO)处理器的指令排序单元(ISU)中检测第一组运行中指令中的所有指令的状态为已完成,该第一组与跟踪运行中指令组的调度顺序和状态的全局完成表(GCT)中的条目相关联,其中,其中调度顺序指示该第一组运行中指令是与GCT相关联的最早指令组;/n确定GCT中的条目与第一组运行中指令以及紧接在第一组运行中指令之后调度的第二组运行中指令都相关联的合并条目;/n在单个处理器周期中完成第一组运行中指令和第二组运行中指令,完成至少部分基于检测到第一组运行中指令中的所有指令均具有完成状态,完成包括请求释放第一组和第二组运行中指令使用的资源。/n

【技术特征摘要】
【国外来华专利技术】20171130 US 15/826,7541.一种计算机实现的方法,包括:
在乱序(OoO)处理器的指令排序单元(ISU)中检测第一组运行中指令中的所有指令的状态为已完成,该第一组与跟踪运行中指令组的调度顺序和状态的全局完成表(GCT)中的条目相关联,其中,其中调度顺序指示该第一组运行中指令是与GCT相关联的最早指令组;
确定GCT中的条目与第一组运行中指令以及紧接在第一组运行中指令之后调度的第二组运行中指令都相关联的合并条目;
在单个处理器周期中完成第一组运行中指令和第二组运行中指令,完成至少部分基于检测到第一组运行中指令中的所有指令均具有完成状态,完成包括请求释放第一组和第二组运行中指令使用的资源。


2.根据权利要求1所述的计算机实现的方法,其中完成还包括释放由所述第一组和第二组运行中指令使用的资源。


3.根据权利要求1所述的计算机实现的方法,其中合并条目还与紧接在第二组运行中指令之前调度的至少另一组运行中指令相关联。


4.如权利要求1所述的计算机实现的方法,其中资源包括按顺序分配的先进先出(FIFO)资源,并且请求释放包括将指针移动到所述FIFO资源中的指定位置的请求。


5.如权利要求4所述的计算机实现的方法,其中所述FIFO资源选自由加载重排序队列(LRQ)中的条目、存储重排序队列(SRQ)中的条目和有效地址表(EAT)的中的条目组成的组。


6.根据权利要求1所述的计算机实现的方法,其中资源包括以随机顺序分配的随机顺序资源。


7.根据权利要求3所述的计算机实现的方法,其中随机顺序资源是由寄存器映射器表指定的寄存器。


8.一种系统,包括:
具有计算机可读指令的存储器;和
用于执行计算机可读指令的一个或多个处理器,该计算机可读指令控制一个或多个处理器以执行以下操作:
在乱序(OoO)处理器的指令排序单元(ISU)中检测第一组运行中指令中的所有指令的状态为已完成,该第一组与跟踪运行中指令组的调度顺序和状态的全局完成表(GCT)中的条目相关联,其中,其中调度顺序指示该第一组运行中指令是与GCT相关联的最早指令组;
确定GCT中的条目与第一组运行中指令以及紧接在第一组运行中指令之后调度的第二组运行中指令都相关联的合并条目;
在单个处理器周期中完成第一组运行中指令和第二组运行中指令,完成至少部分基于检测到第一组运行中指令中的所有指令均具有完成状态,完成包括请求释放第一组和第二组运行中指令使用的资源。

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

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

1