能够发送及重新发送附属链接的排程器、包括该排程器的处理器以及排程方法技术

技术编号:2875593 阅读:167 留言:0更新日期:2012-04-11 18:40
排程器发送指令运算以供执行,但是亦保留该指令运算。若特定的指令运算后来发现需要非臆测执行,该特定的指令运算仍然储存在排程器内。接着判定该特定的指令运算已经变成非臆测的(透过在该特定的指令运算之前的指令运算的发送及执行),该特定的指令运算可以由该排程器重新发送。相较于由该管线排除该特定的指令运算及较新的指令运算及重新提取该特定的指令运算,对于为非臆测执行的指令运算的不正确排程的代价可以减少。此外,该排程器对于每个已经发送的指令运算可维持该附属指示。若该特定的指令运算为重新发送,附属于该特定的指令运算(直接地或非直接地)的指令运算可以透过该附属指示来确认。该排程器亦重新发送该附属指令运算。在程序顺序内接续该特定的指令运算但不附属于该特定的指令运算的指令运算将不重新发送。因此,对于为非臆测执行的指令运算的不正确排程的代价可以比该特定的指令运算及所有较新的指令运算的排除及重新提取该特定的指令运算更为降低。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】专利技术
技术介绍
领域本专利技术涉及处理器的领域,尤其涉及在处理器内的指令排程机制。
技术介绍
超纯量(superscalar)处理器尝试通过在每个时钟周期发送及执行多重指令以及通过使用与设计相符的最高可能时钟频率以达到高效能。一种用于增加每个时钟周期所执行的指令数目的方法为脱序(out oforder)执行。在脱序执行中,指令可以在不同于程序序列(或“程序顺序”)所记载的顺序下执行。在程序序列中的彼此相近的某些指令可具有禁止它们同时执行的附属,同时在程序序列内的后续的指令可不具有在先前指令上的附属。因此,脱序执行可通过增加同时间(在平均上)所执行的指令数目来增加该超纯量处理器的效能。另一种关于脱序执行的方法为臆测(speculative)执行,其中指令是接续其它可导致程序执行进入不同于含有该臆测的指令的路径来执行。例如,若该指令是接续可能造成例外的特定的指令,指令是可以臆测的。若指令是接续一个仍然尚未执行的预测条件的分支指令,该指令亦是可臆测的。同样地,指令可以脱序或臆测地排程、发送等等。遗憾的是,用于脱序或臆测执行的排程指令对于该处理器呈现额外的硬件复杂度。该术语“排程”一般意指选择一个用于执行的指令。通常,该处理器尝试尽可能迅速地安排指令以最大化该平均指令执行速率(例如通过执行脱序的指令以处理用于各种指令形式的附属及硬件可利用性)。这些复杂度可能限制该处理器可以运算的时钟频率。尤其,在指令之间的附属必须由该排程硬件所关联。通常,于此所使用的术语“附属”意指第一指令及后续的第二指令之间以程序顺序的关联,该顺序要求该第一指令的执行早于该第二指令的执行。附属的变化是可以定义的。例如,若该第二指令的来源操作数(source operand)是该第一指令的目标操作数(destination operand),来源操作数附属将发生。通常,指令可能具有一个或一个以上的来源操作数及一个或一个以上的目标操作数。该来源操作数是依据指令定义以产生一个或一个一以的结果(该结果为目标操作数)的待处理的输入值。来源及目标操作数可以是储存在内存位置内而外接至该处理器的记忆操作数,或者可以是储存在寄存器储存位置而包含于该处理器内的暂存操作数。由该处理器所使用的指令集架构定义许多架构寄存器(architectedregisters)。这些寄存器经定义通过该指令集架构而存在,并且指令可以经由编码以使用该架构寄存器而成为来源及目标操作数。一个指令通过在该指令的运算元内的寄存器数目(或寄存器地址)来记载特定的寄存器而成为一个来源及目标操作数。该寄存器数目在该架构寄存器中唯一确认该所选择的寄存器。来源操作数通过来源寄存器数目所确认并且目标操作数通过目标寄存器数目所确认。除了操作数属性之外,一种或一种以上形式的顺序附属可以由处理器来强制。顺序附属例如可以用于简化所使用的硬件或产生正确的程序执行。通过强迫某些指令相对于某些其它指令而按顺序执行,用于处理该指令的脱序执行的结果的硬件可以省略。例如,更新含有一般处理器运算状态的特殊寄存器的指令可能影响大量并未明显存取该特殊寄存器的后续的指令的执行。通常,顺序附属可能由微小架构至微小架构而改变。当该排程机制与附属有关联时,极为可能需要在脱序及/或臆测排程指令上尝试最大化该效能增益的实现。然而,愈积极的排程机制(意即可能阻碍特定指令受到排程的较少的指令),愈有可能使不正确地执行指令产生。用于不正确执行指令的回复机制通常已经排除(purge)了该不正确执行指令及所有来自处理器管线(pipeline)的后续的指令并且重新提取(refetch)该不正确执行指令(及后续的指令)。通常,对于简单的硬件该排除及重新提取将延迟自不正确指令的发现(例如直到该不正确地执行指令成为最旧的指令而丢弃)。每个时钟周期的平均指令数量的实际执行因为该不正确执行及该后续排除的事件而减少。对于时常遭遇不正确执行的积极的排程机制,可归因于这些回复机制的效能降低可能具有相当份量。因此,通过积极臆测或脱序排程而让用于保留效能增益的不正确臆测执行的回复的机制成为可能是需要的。
技术实现思路
上文所列举的问题可全部由本文所描述的排程器所解决。该排程器出用于执行的指令运算,但是亦保留该指令运算。若特定的指令运算后来发现为不正确地执行,该特定指运算可以由该排程器重新发送。好处是相较于排除该特定指令操及来自管线的后来的指令运算以及提取该特定指令操伯,用于指令运算的不正确排程的代价可以减少。效能可以因为对于该不正确执行的减少而增加。再者,由于对于不正确执行的代价是减少的,该排程器可使用更多积极的排程机制。此外,该排程器对于每个已经发送的指令运算可以维持附属指示。若该特定的指令运算是重新发送的,附属该特定指令运算(直接地或非直接地)的指令运算可以经由附属指示来确认。该排程器亦重新发送该附属指令运算。以程序顺序接续于特定指令运算但是并未附属该特定指令运算的指令运算将不再重新发送。因此,对于指令运算的不正确排程的代价可以比该特定指令及所有后来的指令运算的排除以及提取该特定指令运算更为减少。效能因此更为增加。广义地说,排程器是经过充分考虑的。该排程器包括经由配置用于储存第一指令运算的指令缓冲器、连接至该指令缓冲器的发送选取(pick)电路以及控制电路。该发送选取电路经由配置以选择来自该指令缓冲器而用于发送的第一指令运算。连接至该发送选取电路的控制电路经由配置以维持该第一指令运算的第一执行状态。该控制电路经由配置以改变该第一执行状态成为响应于该发送选取电路选择用于发送的该第一指令运算的执行状态。此外,该控制电路经由配置以改变该第一执行状态成为响应于指示该第一指令运算是不正确地执行的第一信号的不执行状态。此外,处理器经过考量包括排程器及执行单元。该排程器经由配置以储存第一指令运算及发送用于执行的指令运算。该排程器经由配置以维持对应于该第一指令运算的第一执行状态,并且经由配置以改变该第一执行状态成为响应于发送该第一指令运算的执行状态。连接至该排程器以接收该第一指令运算以响应由该排程器所发送的第一指令运算,该执行单元经由配置以执行该第一指令运算。该控制电路经由配置以该第一执行状态成为响应于指示该第一指令运算是不正确地执行的第一信号的不执行状态。再者,计算机系统经过考量包含该处理器及输入/输出(I/O)组件,该组件经由配置而对该I/O组件所连接的该计算机系统与另一部计算机系统之间做沟通。再者,本专利技术所提供的方法是经过充分考虑的。第一指令运算由排程器发送至执行单元。该第一指令运算接续该发送而保留于排程器内。第一信号经接收为该第一指令运算执行不正确。该第一指令运算重新发送以响应接收的该第一信号。再者,本专利技术所提供的处理器是经过充分考虑的。该处理器包括排程器及执行单元。该排程器经由配置以储存第一指令运算及发送用于执行的该第一指令运算。该排程器接续发送而经由配置以保留该第一指令运算,并且经连接以接收指示该第一指令运算是不正确地执行的第一信号。响应于该第一信号,该排程器经由配置以重新发送该指令运算而响应该第一信号。连接至该排程器以接收该第一指令运算以响应由该排程器所发送的第一指令运算,其中该执行单元经由配置以执行该第一指令运算。附图说明在读下列详细说明及参考附图后,本专利技术的其它本文档来自技高网
...

【技术保护点】
一种排程器(36),包括: 经配置以储存第一指令运算的缓冲器(80); 连接至该缓冲器(80)的电路(82;86),其中该电路(82;86)经配置由该缓冲器(80)选择用于发送的该第一指令运算,并且其中接续发送,该电路(82;86)经配置以保留该第一指令运算于该缓冲器(80)内,并且其中若该第一指令运算为不正确执行时,该电路(82;86)经配置以重新发送该第一指令运算。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:JB凯勒RW哈达德SG迈耶
申请(专利权)人:先进微装置公司
类型:发明
国别省市:US[美国]

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

1