Scheduler which retries load/store hit situations
    1.
    发明授权
    Scheduler which retries load/store hit situations 有权
    重新加载/存储命中情况的计划程序

    公开(公告)号:US06622235B1

    公开(公告)日:2003-09-16

    申请号:US09476204

    申请日:2000-01-03

    IPC分类号: G06F938

    摘要: A scheduler issues memory operations without regard to whether or not resources are available to handle each possible execution outcome of that memory operation. The scheduler also retains the memory operation after issuance. If a condition occurs which prevents correct execution of the memory operation, the memory operation is retried. The scheduler subsequently reschedules and reissues the memory operation in response to the retry. Additionally, the scheduler may receive a retry type indicating the reason for retry. Certain retry types may indicate a delayed reissuance of the memory operation until the occurrence of a subsequent event. In response to such retry types, the scheduler monitors for the subsequent event and delays reissuance until the event is detected. The scheduler may include a physical address buffer to detect a load memory operation which incorrectly issued prior to an older store memory operation upon which it is dependent for the memory operation. The scheduler may also include a store tag buffer to detect that a load memory operation is to be reissued due to the reissuance of a store memory operation on which the load was determined to be dependent during the previous execution of the load memory operation.

    摘要翻译: 调度器发出存储器操作,而不考虑资源是否可用于处理该存储器操作的每个可能的执行结果。 调度程序也保留发行后的内存操作。 如果发生阻止正确执行存储器操作的条件,则重试存储器操作。 调度器随后重新调度并重新发出响应于重试的存储器操作。 此外,调度器可以接收指示重试原因的重试类型。 某些重试类型可能指示存储器操作的延迟重新发布,直到发生后续事件。 响应于这种重试类型,调度器监视后续事件并延迟重新发布,直到检测到事件。 调度器可以包括物理地址缓冲器,以检测在其依赖于存储器操作的较旧的存储存储器操作之前错误地发出的加载存储器操作。 调度器还可以包括存储标签缓冲器,以检测由于在先前执行加载存储器操作期间确定负载被确定为依赖的存储存储器操作的重新发布,将重新发布加载存储器操作。

    Scheduler capable of issuing and reissuing dependency chains
    2.
    发明授权
    Scheduler capable of issuing and reissuing dependency chains 有权
    调度器能够发布和重新发布依赖关系链

    公开(公告)号:US06542984B1

    公开(公告)日:2003-04-01

    申请号:US09476578

    申请日:2000-01-03

    IPC分类号: G06F1576

    摘要: A scheduler issues instruction operations for execution, but also retains the instruction operations. If a particular instruction operation is subsequently found to be incorrectly executed, the particular instruction operation may be reissued from the scheduler. The penalty for incorrect scheduling of instruction operations may be reduced as compared to purging the particular instruction operation and younger instruction operations from the pipeline and refetching the particular instruction operation. Furthermore, the scheduler may employ a more aggressive scheduling mechanism since the penalty for incorrect execution is reduced. Additionally, the scheduler maintains the dependency indications for each instruction operation which has been issued. If the particular instruction operation is reissued, the instruction operations which are dependent on the particular instruction operation (directly or indirectly) may be identified via the dependency indications. The scheduler reissues the dependent instruction operations as well. Instruction operations which are subsequent to the particular instruction operation in program order but which are not dependent on the particular instruction operation are not reissued. Accordingly, the penalty for incorrect scheduling of instruction operations may be further decreased over the purging of the particular instruction and all younger instruction operations and refetching the particular instruction operation.

    摘要翻译: 调度器执行指令操作,还保留指令操作。 如果随后发现特定的指令操作被错误地执行,则可以从调度器重新发出特定的指令操作。 与从流水线中清除特定的指令操作和更年轻的指令操作以及重新指定特定的指令操作相比,指令操作的不正确调度的惩罚可能会减少。 此外,调度器可以采用更积极的调度机制,因为减少了错误执行的惩罚。 此外,调度器维护已发出的每个指令操作的依赖指示。 如果重新发出特定的指令操作,则可以通过依赖指示来识别依赖于特定指令操作(直接或间接)的指令操作。 调度程序也重新发出相关的指令操作。 不按照程序顺序执行特定指令操作但不依赖于特定指令操作的指令操作不重新发行。 因此,可以通过清除特定指令和所有更年轻的指令操作并重新获取特定的指令操作来进一步减少对指令操作的不正确调度的惩罚。

    Scheduler which discovers non-speculative nature of an instruction after issuing and reissues the instruction
    3.
    发明授权
    Scheduler which discovers non-speculative nature of an instruction after issuing and reissues the instruction 有权
    调度程序在发布和重新发出指令后发现指令的非推测性质

    公开(公告)号:US06564315B1

    公开(公告)日:2003-05-13

    申请号:US09476322

    申请日:2000-01-03

    IPC分类号: G06F9312

    摘要: A scheduler issues instruction operations for execution, but also retains the instruction operations. If a particular instruction operation is subsequently found to be required to execute non-speculatively, the particular instruction operation is still stored in the scheduler. Subsequent to determining that the particular operation has become non-speculative (through the issuance and execution of instruction operations prior to the particular instruction operation), the particular instruction operation may be reissued from the scheduler. The penalty for incorrect scheduling of instruction operations which are to execute non-speculatively may be reduced as compared to purging the particular instruction operation and younger instruction operations from the pipeline and refetching the particular instruction operation. Additionally, the scheduler may maintain the dependency indications for each instruction operation which has been issued. If the particular instruction operation is reissued, the instruction operations which are dependent on the particular instruction operation (directly or indirectly) may be identified via the dependency indications. The scheduler reissues the dependent instruction operations as well. Instruction operations which are subsequent to the particular instruction operation in program order but which are not dependent on the particular instruction operation are not reissued. Accordingly, the penalty for incorrect scheduling of instruction operations which are to be executed non-speculatively may be further decreased over the purging of the particular instruction and all younger instruction operations and refetching the particular instruction operation.

    摘要翻译: 调度器执行指令操作,还保留指令操作。 如果随后发现特定的指令操作被要求非推测地执行,则特定的指令操作仍然存储在调度器中。 在确定特定操作已经变得不推测(通过在特定指令操作之前发出和执行指令操作)之后,特定指令操作可以从调度器重新发行。 与从流水线中清除特定的指令操作和较年轻的指令操作以及重新指定特定的指令操作相比,与推测性地执行的指令操作的不正确调度的惩罚可能会减少。 此外,调度器可以维护已经发出的每个指令操作的依赖指示。 如果重新发出特定的指令操作,则可以通过依赖指示来识别依赖于特定指令操作(直接或间接)的指令操作。 调度程序也重新发出相关的指令操作。 不按照程序顺序执行特定指令操作但不依赖于特定指令操作的指令操作不重新发行。 相应地,可以通过清除特定指令和所有更年轻的指令操作并重新获取特定的指令操作来进一步减少非推测性地执行不正确地调度指令操作的惩罚。

    Store load forward predictor untraining
    4.
    发明授权
    Store load forward predictor untraining 有权
    存储负载向前预测器未训练

    公开(公告)号:US06651161B1

    公开(公告)日:2003-11-18

    申请号:US09476937

    申请日:2000-01-03

    IPC分类号: G06F900

    摘要: A processor employs a store to load forward (STLF) predictor which may indicate, for dispatching loads, a dependency on a store. The dependency is indicated for a store which, during a previous execution, interfered with the execution of the load. Since a dependency is indicated on the store, the load is prevented from scheduling and/or executing prior to the store. The STLF predictor is trained with information for a particular load and store in response to executing the load and store and detecting the interference. Additionally, the STLF predictor may be untrained (e.g. information for a particular load and store may be deleted) if a load is indicated by the STLF predictor as dependent upon a particular store and the dependency does not actually occur. In one implementation, the STLF predictor records at least a portion of the PC of a store which interferes with the load in a first table indexed by the load PC. A second table maintains a corresponding portion of the store PCs of recently dispatched stores, along with tags identifying the recently dispatched stores. In another implementation, the STLF predictor records a difference between the tags assigned to a load and a store which interferes with the load in a first table indexed by the load PC. The PC of the dispatching load is used to select a difference from the table, and the difference is added to the tag assigned to the load.

    摘要翻译: 处理器使用存储来加载(STLF)预测器,其可以指示用于调度负载对存储的依赖性。 对于在先前执行期间干扰负载的执行的存储器,指示依赖性。 由于在存储器上指示依赖关系,所以在存储之前防止了负载的调度和/或执行。 响应于执行负载并存储和检测干扰,STLF预测器被训练用于特定负载和存储的信息。 此外,如果由STLF预测器指示负载依赖于特定存储并且实际上不发生依赖性,则STLF预测器可以是未经训练的(例如,针对特定负载的信息可以被删除)。 在一个实现中,STLF预测器在由负载PC索引的第一表中记录干扰负载的商店的PC的至少一部分。 第二个表维护最近派驻的商店的商店PC的相应部分,以及标识最近派发的商店的标签。 在另一实现中,STLF预测器记录分配给负载的标签与由负载PC索引的第一表中的负载干扰的存储器之间的差异。 调度负载的PC用于选择与表的差异,并将差值添加到分配给负载的标签。

    Store load forward predictor training
    5.
    发明授权
    Store load forward predictor training 有权
    存储负载前进预测器训练

    公开(公告)号:US06694424B1

    公开(公告)日:2004-02-17

    申请号:US09476579

    申请日:2000-01-03

    IPC分类号: G06F900

    摘要: A processor employs a store to load forward (STLF) predictor which may indicate, for dispatching loads, a dependency on a store. The dependency is indicated for a store which, during a previous execution, interfered with the execution of the load. Since a dependency is indicated on the store, the load is prevented from scheduling and/or executing prior to the store. The STLF predictor is trained with information for a particular load and store in response to executing the load and store and detecting the interference. Additionally, the STLF predictor may be untrained (e.g. information for a particular load and store may be deleted) if a load is indicated by the STLF predictor as dependent upon a particular store and the dependency does not actually occur. In one implementation, the STLF predictor records at least a portion of the PC of a store which interferes with the load in a first table indexed by the load PC. A second table maintains a corresponding portion of the store PCs of recently dispatched stores, along with tags identifying the recently dispatched stores. In another implementation, the STLF predictor records a difference between the tags assigned to a load and a store which interferes with the load in a first table indexed by the load PC. The PC of the dispatching load is used to select a difference from the table, and the difference is added to the tag assigned to the load.

    摘要翻译: 处理器使用存储来加载(STLF)预测器,其可以指示用于调度负载对存储的依赖性。 对于在先前执行期间干扰负载的执行的存储器,指示依赖性。 由于在存储器上指示依赖关系,所以在存储之前防止了负载的调度和/或执行。 响应于执行负载并存储和检测干扰,STLF预测器被训练用于特定负载和存储的信息。 此外,如果由STLF预测器指示负载依赖于特定存储并且实际上不发生依赖性,则STLF预测器可以是未经训练的(例如,针对特定负载的信息可以被删除)。 在一个实现中,STLF预测器在由负载PC索引的第一表中记录干扰负载的商店的PC的至少一部分。 第二个表维护最近派驻的商店的商店PC的相应部分,以及标识最近派发的商店的标签。 在另一实现中,STLF预测器记录分配给负载的标签与由负载PC索引的第一表中的负载干扰的存储器之间的差异。 调度负载的PC用于选择与表的差异,并将差值添加到分配给负载的标签。

    Store to load forward predictor training using delta tag
    6.
    发明授权
    Store to load forward predictor training using delta tag 有权
    存储使用delta标签加载预测器训练

    公开(公告)号:US06622237B1

    公开(公告)日:2003-09-16

    申请号:US09476192

    申请日:2000-01-03

    IPC分类号: G06F900

    CPC分类号: G06F9/3834 G06F9/3838

    摘要: A processor employs a store to load forward (STLF) predictor which may indicate, for dispatching loads, a dependency on a store. The dependency is indicated for a store which, during a previous execution, interfered with the execution of the load. Since a dependency is indicated on the store, the load is prevented from scheduling and/or executing prior to the store. The STLF predictor is trained with information for a particular load and store in response to executing the load and store and detecting the interference. Additionally, the STLF predictor may be untrained (e.g. information for a particular load and store may be deleted) if a load is indicated by the STLF predictor as dependent upon a particular store and the dependency does not actually occur. In one implementation, the STLF predictor records at least a portion of the PC of a store which interferes with the load in a first table indexed by the load PC. A second table maintains a corresponding portion of the store PCs of recently dispatched stores, along with tags identifying the recently dispatched stores. In another implementation, the STLF predictor records a difference between the tags assigned to a load and a store which interferes with the load in a first table indexed by the load PC. The PC of the dispatching load is used to select a difference from the table, and the difference is added to the tag assigned to the load.

    摘要翻译: 处理器使用存储来加载(STLF)预测器,其可以指示用于调度负载对存储的依赖性。 对于在先前执行期间干扰负载的执行的存储器,指示依赖性。 由于在存储器上指示依赖关系,所以在存储之前防止了负载的调度和/或执行。 响应于执行负载并存储和检测干扰,STLF预测器被训练用于特定负载和存储的信息。 此外,如果由STLF预测器指示负载依赖于特定存储并且实际上不发生依赖性,则STLF预测器可以是未经训练的(例如,针对特定负载的信息可以被删除)。 在一个实现中,STLF预测器在由负载PC索引的第一表中记录干扰负载的商店的PC的至少一部分。 第二个表维护最近派驻的商店的商店PC的相应部分,以及标识最近派发的商店的标签。 在另一实现中,STLF预测器记录分配给负载的标签与由负载PC索引的第一表中的负载干扰的存储器之间的差异。 调度负载的PC用于选择与表的差异,并将差值添加到分配给负载的标签。

    Determination of execution resource allocation based on concurrently executable misaligned memory operations
    7.
    发明授权
    Determination of execution resource allocation based on concurrently executable misaligned memory operations 失效
    基于同时执行的对齐内存操作确定执行资源分配

    公开(公告)号:US06704854B1

    公开(公告)日:2004-03-09

    申请号:US09433185

    申请日:1999-10-25

    IPC分类号: G06F930

    摘要: A processor includes execution resources for handling a first memory operation and a concurrent second memory operation. If one of the memory operations is misaligned, the processor may allocate the execution resources for the other memory operation to that memory operation. In one embodiment, the older memory operation proceeds if misalignment is detected. The younger memory operation is retried and may be reexecuted at a later time. If the older memory operation is misaligned, the execution resources provided for the younger operation may be allocated to the older memory operation. If only the younger memory operation is misaligned, the younger memory operation may be the older memory operation during a subsequent reexecution and may thus be allocated the execution resources to allow the memory operation to complete.

    摘要翻译: 处理器包括用于处理第一存储器操作和并行第二存储器操作的执行资源。 如果其中一个存储器操作未对准,则处理器可以将该另一存储器操作的执行资源分配给该存储器操作。 在一个实施例中,如果检测到未对准,则旧的存储器操作进行。 较年轻的内存操作被重试,可能会在以后重新执行。 如果较旧的内存操作未对齐,则为年轻操作提供的执行资源可能会分配给较旧的内存操作。 如果仅较年轻的存储器操作未对准,则较小的存储器操作可能是在随后的重新执行期间较旧的存储器操作,因此可以分配执行资源以允许存储器操作完成。

    Fabric limiter circuits
    8.
    发明授权
    Fabric limiter circuits 有权
    织物限制电路

    公开(公告)号:US08744602B2

    公开(公告)日:2014-06-03

    申请号:US13008171

    申请日:2011-01-18

    IPC分类号: G05B11/01 H04W4/00

    CPC分类号: H04L49/10

    摘要: One or more fabric control circuits may be inserted in a communication fabric to control various aspects of the communications by components in the system. The fabric control circuits may be included on the interface of the components to the communication fabric, for example. Some systems that include a hierarchical communication fabric may also include fabric control circuits that may alternatively or additionally be included. The fabric control circuits may be programmable, and thus may provide the ability to tune the communication fabric to meet performance and/or functionality goals.

    摘要翻译: 可以将一个或多个结构控制电路插入到通信结构中,以通过系统中的组件来控制通信的各个方面。 例如,结构控制电路可以包括在组件的接口到通信结构。 包括分级通信结构的一些系统还可以包括可以可选地或另外包括的结构控制电路。 织物控制电路可以是可编程的,因此可以提供调谐通信结构以满足性能和/或功能目标的能力。

    REGISTER FILE POWER SAVINGS
    9.
    发明申请
    REGISTER FILE POWER SAVINGS 有权
    注册文件节电

    公开(公告)号:US20130290681A1

    公开(公告)日:2013-10-31

    申请号:US13460178

    申请日:2012-04-30

    IPC分类号: G06F9/30

    摘要: A system and method for efficiently reducing the power consumption of register file accesses. A processor is operable to execute instructions with two or more data types, each with an associated size and alignment. Data operands for a first data type use operand sizes equal to an entire width of a physical register within a physical register file. Data operands for a second data type use operand sizes less than an entire width of a physical register. Accesses of the physical register file for operands associated with a non-full-width data type do not access a full width of the physical registers. A given numerical value may be bypassed for the portion of the physical register that is not accessed.

    摘要翻译: 一种有效降低寄存器文件访问功耗的系统和方法。 处理器可操作以执行具有两个或多个数据类型的指令,每个数据类型具有相关联的大小和对齐。 第一种数据类型的数据操作数使用等于物理寄存器文件中物理寄存器的整个宽度的操作数大小。 第二种数据类型的数据操作数使用小于物理寄存器整个宽度的操作数大小。 访问与非全宽数据类型相关的操作数的物理寄存器文件不能访问物理寄存器的全部宽度。 对于未访问的物理寄存器的部分,可以忽略给定的数值。