The processor includes a back end and a front end for executing decoded instructions. The front-end consists of two decoding clusters and circuits for receiving data elements representing uncoded instructions in programmatic order and guiding a subset of data elements to the decoding cluster. The IP generator guides a subset of data elements to the first cluster, detects the conditions indicating that the load balancing action should be taken, and depends on the action taken, guides the subset of data elements of the first subset to the first or second decoding cluster in a programmatic order. This action may include annotating BTB entries, inserting false branches into BTB, forcing cluster handover, or suppressing cluster handover. The detected conditions can be predicted branches or annotations, or heuristic methods based on queue status, UOP counting, or waiting time values.
【技术实现步骤摘要】
【国外来华专利技术】用于乱序集群化解码中的负载平衡的系统和方法相关申请的交叉引用本申请要求2016年9月29日提交的题为“用于乱序集群化解码中的负载平衡的系统和方法”(“SYSTEMANDMETHODFORLOADBALANCINGINOUT-OF-ORDERCLUSTEREDDECODING”)的美国非临时专利申请No.15/280,460的优先权权益,该美国非临时专利申请通过引用整体结合于此。
本公开涉及处理逻辑、微处理器以及相关联的指令集架构领域,当由处理器或其他处理逻辑执行该指令集架构时,该指令集架构执行逻辑、数学或其他功能性操作。相关技术的描述多处理器系统正变得越来越普遍。多处理器系统的应用包括动态域分区一直到桌面计算。为了利用多处理器系统,要被执行的代码可被分成多个线程以供各种处理实体执行。每个线程可以彼此并行地执行。可以在系统中实现应用的流水线操作以便更高效地执行应用。可以将如在处理器上所接收的指令解码为原生的或更原生的术语或指令字以供在处理器上执行。处理器可以实现在芯片上系统中。附图说明在附图中的诸个图中通过示例而非限制地示出各个实施例:图1A是根据本公开的实施例的示例性计算机系统的框图,该计算机系统被形成为具有可以包括用于执行指令的执行单元的处理器;图1B示出了根据本公开的实施例的数据处理系统;图1C示出了用于执行文本串比较操作的数据处理系统的其他实施例;图2是根据本公开的实施例的处理器的微架构的框图,处理器可以包括用于执行指令的逻辑电路;图3A示出了根据本公开的实施例的多媒体寄存器中的各种紧缩数据类型表示;图3B示出了根据本公开的实施例的可能的寄存器内 ...
【技术保护点】
1.一种用于执行指令的处理器,包括:执行集群,包括一个或多个执行单元,用于执行经解码指令;第一和第二解码集群,各自包括一个或多个解码器;用于以下操作的电路:接收多个数据元素,所述多个数据元素各自用于表示按程序顺序的程序的未解码指令的有序序列中的未解码指令;将所述多个数据元素的第一子集引导到所述第一解码集群,数据元素的第一子集中的数据元素将按程序顺序,并且所述第一解码集群包括用于解码数据元素的第一子集以生成经解码指令的第一子集的电路;检测指示特定集群负载平衡动作将被采取的条件;采取所述特定集群负载平衡动作;取决于所采取的特定集群负载平衡动作,确定按程序顺序紧跟着数据元素的第一子集的所述多个数据元素的第二子集将被引导到所述第一解码集群还是所述第二解码集群;将数据元素的第二子集引导到所述第一和第二解码集群中的所确定的一个,数据元素的第二子集中的数据元素将按程序顺序,并且所述解码集群中的所确定的一个包括用于解码数据元素的第二子集以生成经解码指令的第二子集的电路;按程序顺序将经解码指令的第一和第二子集提供给所述执行集群以供执行。
【技术特征摘要】
【国外来华专利技术】2016.09.29 US 15/280,4601.一种用于执行指令的处理器,包括:执行集群,包括一个或多个执行单元,用于执行经解码指令;第一和第二解码集群,各自包括一个或多个解码器;用于以下操作的电路:接收多个数据元素,所述多个数据元素各自用于表示按程序顺序的程序的未解码指令的有序序列中的未解码指令;将所述多个数据元素的第一子集引导到所述第一解码集群,数据元素的第一子集中的数据元素将按程序顺序,并且所述第一解码集群包括用于解码数据元素的第一子集以生成经解码指令的第一子集的电路;检测指示特定集群负载平衡动作将被采取的条件;采取所述特定集群负载平衡动作;取决于所采取的特定集群负载平衡动作,确定按程序顺序紧跟着数据元素的第一子集的所述多个数据元素的第二子集将被引导到所述第一解码集群还是所述第二解码集群;将数据元素的第二子集引导到所述第一和第二解码集群中的所确定的一个,数据元素的第二子集中的数据元素将按程序顺序,并且所述解码集群中的所确定的一个包括用于解码数据元素的第二子集以生成经解码指令的第二子集的电路;按程序顺序将经解码指令的第一和第二子集提供给所述执行集群以供执行。2.如权利要求1所述的处理器,其特征在于:所述处理器进一步包括分支目标缓冲器;为了检测指示特定集群负载平衡动作将被采取的条件,所述处理器进一步包括用于以下操作的电路:检测所述分支目标缓冲器中的与数据元素的第一子集相关联的条目包括其值指示负载平衡触发条件的注释。3.如权利要求2所述的处理器,其特征在于:所述注释表示负载平衡权重值,所述负载平衡权重值将取决于由所述第一解码集群或所述第二解码集群生成的经解码指令的计数,或者对所述第一解码集群或所述第二解码集群观察到的解码等待时间;为了检测指示特定集群负载平衡动作将被采取的条件,所述处理器进一步包括用于以下操作的电路:确定所述负载平衡权重值超过用于触发所述特定集群负载平衡动作的执行的阈值。4.如权利要求2所述的处理器,其特征在于:所述分支目标缓冲器中的与数据元素的第一子集相关联的所述条目是表示被插入到所述分支目标缓冲器中的假的预测的所采用分支的条目;所述注释包括所述条目表示假的预测的所采用分支而不是实际的预测的所采用分支的指示。5.如权利要求1所述的处理器,其特征在于:所述处理器进一步包括分支目标缓冲器;所述特定集群负载平衡动作包括用于将表示假的预测的所采用分支的条目插入到所述分支目标缓冲器中的操作。6.如权利要求1所述的处理器,其特征在于:所述特定集群负载平衡动作包括用于强制集群切换的操作;所述处理器进一步包括用于以下操作的电路:响应于用于强制集群切换的操作的执行,将数据元素的第二子集引导到所述第二解码集群。7.如权利要求1所述的处理器,其特征在于:所述特定集群负载平衡动作包括用于抑制集群切换的操作;所述处理器进一步包括用于以下操作的电路:响应于用于抑制集群切换的操作的执行,将数据元素的第二子集引导到所述第一解码集群。8.如权利要求1所述的处理器,其特征在于:所述处理器进一步包括:第一队列,与所述第一解码集群相关联,所述第一队列用于保存表示将由所述第一解码集群解码的未解码指令或由所述第一解码器生成的经解码指令的数据;第二队列,与所述第二解码集群相关联,所述第二队列用于保存表示将由所述第二解码集群解码的未解码指令或由所述第二解码器生成的经解码指令的数据;为了检测指示特定集群负载平衡动作将被采取的条件,所述处理器进一步包括用于以下操作的电路:从所述第一队列接收指示所述第一队列的状态的数据;从所述第二队列接收指示所述第二队列的状态的数据;以及将所述第一队列的状态与所述第二队列的状态进行比较。9.如权利要求1所述的处理器,其特征在于:所述处理器进一步包括:第一输出队列,与所述第一解码集群相关联;以及第二输出队列,与所述第二解码集群相关联;所述第一解码集群进一步包括用于以下操作的电路:将经解码指令的第一子集存储在所述第一输出队列中;所述第二解码集群包括用于以下操作的电路:解码数据元素的第二子集以生成经解码指令的第二子集;以及将经解码指令的第二子集存储在所述第二输出队列中;为了按程序顺序将经解码指令的第一和第二子集提供给所述执行集群以供执行,所述处理器进一步包括用于以下操作的电路:合并存储在所述第一输出队列中的经解码指令的至少子集和存储在所述第二输出队列中的经解码指令的至少子集以生成按程序顺序的经解码指令序列。10.一种用于执行指令的方法,包括,在处理器中:接收多个数据元素,所述多个数据元素各自表示按程序顺序的程序的未解码指令的有序序列中的未解码指令;将数据元素的第一子集引导到所述处理器中的第一解码集群;从数据元素的第一子集生成经解码指令的第一子集;检测特定集群负载平衡动作的触发条件;采取所述特定集群负载平衡动作;取决于所采取的动作,确定按程序顺序紧跟着数据元素的第一子集的数据元素的第二子集将被引导到所述处理器中的所述第一解码集群还是第二解码集群;将数据元素的第二子集引导到所确定的解码集群;从数据元素的第二子集生成经解码指令的第二子集;按程序顺序将经解码指令的第一和第二子集提供给所述处理器的执行集群以供执行。11.如权利要求10所述的方法,其特征在于:数据元素的第一子集中的数据元素按程序顺序;数据元素的第二子集中的数据元素按程序顺序。12.如权利要求10所述的方法,其特征在于:从数据元素的第一子集生成经解码指令的第一子集包括:由所述第一解码集群解码数据元素的第一子集以生成经解码指令的第一子集;从数据元素的第二子集生成经解码指令的第二子集包括:由所确定的解码集群解码数据元素的第二子集以生成经解码指令的第二子集...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。