Method and apparatus for avoiding WAR hazards in an execute-ahead processor
    81.
    发明申请
    Method and apparatus for avoiding WAR hazards in an execute-ahead processor 有权
    用于在执行前处理器中避免WAR危险的方法和装置

    公开(公告)号:US20050251665A1

    公开(公告)日:2005-11-10

    申请号:US10923218

    申请日:2004-08-20

    IPC分类号: G06F9/38 G06F15/00

    摘要: One embodiment of the present invention provides a system that avoids write-after-read (WAR) hazards while speculatively executing instructions on a processor. The system starts in a normal execution mode, wherein the system issues instructions for execution in program order. Upon encountering an unresolved data dependency during execution of an instruction, the system generates a checkpoint, defers the instruction, and executes subsequent instructions in an execute-ahead mode, wherein instructions that cannot be executed because of unresolved data dependencies are deferred, and wherein other non-deferred instructions are executed in program order. While deferring the instruction, the system stores the instruction along with any resolved source operands for the instruction into a deferred buffer.

    摘要翻译: 本发明的一个实施例提供了一种在推测性地在处理器上执行指令时避免读后读取(WAR)危险的系统。 系统以正常执行模式启动,其中系统以程序顺序发出执行指令。 在执行指令期间遇到未解决的数据依赖性时,系统产生检查点,延迟指令并执行执行模式中的后续指令,其中由于未解决的数据依赖性而不能执行的指令被推迟,并且其中其他 非递延指令按程序顺序执行。 在延迟指令的同时,系统将指令与指令的任何解析的源操作数一起存储到延迟缓冲区中。

    REDUCING PIPELINE RESTART PENALTY
    82.
    发明申请
    REDUCING PIPELINE RESTART PENALTY 有权
    减少管道重启罚款

    公开(公告)号:US20110264862A1

    公开(公告)日:2011-10-27

    申请号:US12768641

    申请日:2010-04-27

    IPC分类号: G06F9/30 G06F12/08

    摘要: Techniques are disclosed relating to reducing the latency of restarting a pipeline in a processor that implements scouting. In one embodiment, the processor may reduce pipeline restart latency using two instruction fetch units that are configured to fetch and re-fetch instructions in parallel with one another. In some embodiments, the processor may reduce pipeline restart latency by initiating re-fetching instructions in response to determining that a commit operation is to be attempted with respect to one or more deferred instructions. In other embodiments, the processor may reduce pipeline restart latency by initiating re-fetching instructions in response to receiving an indication that a request for a set of data has been received by a cache, where the indication is sent by the cache before determining whether the data is present in the cache or not.

    摘要翻译: 公开了关于减少在实现侦察的处理器中重新启动管道的延迟的技术。 在一个实施例中,处理器可以使用配置为彼此并行地获取和重新获取指令的两个指令获取单元来减少流水线重新启动等待时间。 在一些实施例中,响应于确定将针对一个或多个延迟指令尝试提交操作,处理器可以通过启动重新获取指令来减少流水线重新启动等待时间。 在其他实施例中,处理器可以通过响应于接收到对高速缓存已经接收到对一组数据的请求的指示,通过发起重新获取指令来减少流水线重新启动等待时间,其中在由缓存发送指示之前, 数据存在于缓存中。

    CACHE LINE DUPLICATION IN RESPONSE TO A WAY PREDICTION CONFLICT
    83.
    发明申请
    CACHE LINE DUPLICATION IN RESPONSE TO A WAY PREDICTION CONFLICT 有权
    响应方式预测冲突的缓存行重复

    公开(公告)号:US20100023701A1

    公开(公告)日:2010-01-28

    申请号:US12181266

    申请日:2008-07-28

    IPC分类号: G06F12/08

    摘要: Embodiments of the present invention provide a system that handles way mispredictions in a multi-way cache. The system starts by receiving requests to access cache lines in the multi-way cache. For each request, the system makes a prediction of a way in which the cache line resides based on a corresponding entry in the way prediction table. The system then checks for the presence of the cache line in the predicted way. Upon determining that the cache line is not present in the predicted way, but is present in a different way, and hence the way was mispredicted, the system increments a corresponding record in a conflict detection table. Upon detecting that a record in the conflict detection table indicates that a number of mispredictions equals a predetermined value, the system copies the corresponding cache line from the way where the cache line actually resides into the predicted way.

    摘要翻译: 本发明的实施例提供了一种在多路缓存中处理方式错误预测的系统。 系统通过接收访问多路缓存中的高速缓存行的请求来启动。 对于每个请求,系统基于方式预测表中的相应条目来预测高速缓存行驻留的方式。 然后,系统以预测的方式检查高速缓存行的存在。 在确定高速缓存行不以预测的方式存在但是以不同的方式存在,并且因此错误地预测方式时,系统在冲突检测表中增加对应的记录。 当检测到冲突检测表中的记录指示许多误预测值等于预定值时,系统将高速缓存行实际驻留的方式的相应高速缓存行复制到预测的方式。

    Reducing pipeline restart penalty
    84.
    发明授权
    Reducing pipeline restart penalty 有权
    减少管道重新开始罚球

    公开(公告)号:US09086889B2

    公开(公告)日:2015-07-21

    申请号:US12768641

    申请日:2010-04-27

    IPC分类号: G06F9/38 G06F12/08

    摘要: Techniques are disclosed relating to reducing the latency of restarting a pipeline in a processor that implements scouting. In one embodiment, the processor may reduce pipeline restart latency using two instruction fetch units that are configured to fetch and re-fetch instructions in parallel with one another. In some embodiments, the processor may reduce pipeline restart latency by initiating re-fetching instructions in response to determining that a commit operation is to be attempted with respect to one or more deferred instructions. In other embodiments, the processor may reduce pipeline restart latency by initiating re-fetching instructions in response to receiving an indication that a request for a set of data has been received by a cache, where the indication is sent by the cache before determining whether the data is present in the cache or not.

    摘要翻译: 公开了关于减少在实现侦察的处理器中重新启动管道的延迟的技术。 在一个实施例中,处理器可以使用配置为彼此并行地获取和重新获取指令的两个指令获取单元来减少流水线重新启动等待时间。 在一些实施例中,响应于确定将针对一个或多个延迟指令尝试提交操作,处理器可以通过启动重新获取指令来减少流水线重新启动等待时间。 在其他实施例中,处理器可以通过响应于接收到对高速缓存已经接收到对一组数据的请求的指示,通过发起重新获取指令来减少流水线重新启动等待时间,其中在由缓存发送指示之前, 数据存在于缓存中。

    Cache line duplication in response to a way prediction conflict
    85.
    发明授权
    Cache line duplication in response to a way prediction conflict 有权
    缓存线重复响应方式预测冲突

    公开(公告)号:US07979640B2

    公开(公告)日:2011-07-12

    申请号:US12181266

    申请日:2008-07-28

    IPC分类号: G06F12/08

    摘要: Embodiments of the present invention provide a system that handles way mispredictions in a multi-way cache. The system starts by receiving requests to access cache lines in the multi-way cache. For each request, the system makes a prediction of a way in which the cache line resides based on a corresponding entry in the way prediction table. The system then checks for the presence of the cache line in the predicted way. Upon determining that the cache line is not present in the predicted way, but is present in a different way, and hence the way was mispredicted, the system increments a corresponding record in a conflict detection table. Upon detecting that a record in the conflict detection table indicates that a number of mispredictions equals a predetermined value, the system copies the corresponding cache line from the way where the cache line actually resides into the predicted way.

    摘要翻译: 本发明的实施例提供了一种在多路缓存中处理方式错误预测的系统。 系统通过接收访问多路缓存中的高速缓存行的请求来启动。 对于每个请求,系统基于方式预测表中的相应条目来预测高速缓存行驻留的方式。 然后,系统以预测的方式检查高速缓存行的存在。 在确定高速缓存行不以预测的方式存在但是以不同的方式存在,并且因此错误地预测方式时,系统在冲突检测表中增加对应的记录。 当检测到冲突检测表中的记录指示许多误预测值等于预定值时,系统将高速缓存行实际驻留的方式的相应高速缓存行复制到预测的方式。

    Logical power throttling of instruction decode rate for successive time periods
    86.
    发明授权
    Logical power throttling of instruction decode rate for successive time periods 有权
    连续时间段的逻辑功率节制指令解码速率

    公开(公告)号:US08745419B2

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

    申请号:US13529761

    申请日:2012-06-21

    IPC分类号: G06F1/32 G06F9/30

    摘要: A processor includes a device providing a throttling power output signal. The throttling power output signal is used to determine when to logically throttle the power consumed by the processor. At least one core in the processor includes a pipeline having a decode pipe; and a logical power throttling unit coupled to the device to receive the output signal, and coupled to the decode pipe. Following the logical power throttling unit receiving the power throttling output signal satisfying a predetermined criterion, the logical power throttling unit causes the decode pipe to reduce an average number of instructions decoded per processor cycle without physically changing the processor cycle or any processor supply voltages.

    摘要翻译: 处理器包括提供节流功率输出信号的装置。 节流电源输出信号用于确定何时逻辑地调节处理器消耗的功率。 处理器中的至少一个核心包括具有解码管道的管线; 以及耦合到所述设备以接收所述输出信号并且耦合到所述解码管的逻辑功率节流单元。 在接收到满足预定标准的功率节流输出信号的逻辑功率节流单元之后,逻辑功率节流单元使得解码管减少在每个处理器周期解码的平均指令数,而不会物理地改变处理器周期或任何处理器供电电压。

    Deadlock avoidance during store-mark acquisition
    87.
    发明授权
    Deadlock avoidance during store-mark acquisition 有权
    存储标记采集期间的死锁避免

    公开(公告)号:US08732407B2

    公开(公告)日:2014-05-20

    申请号:US12273697

    申请日:2008-11-19

    IPC分类号: G06F12/00 G06F13/00 G06F13/28

    摘要: Some embodiments of the present invention provide a system that avoids deadlock while attempting to acquire store-marks on cache lines. During operation, the system keeps track of store-mark requests that arise during execution of a thread, wherein a store-mark on a cache line indicates that one or more associated store buffer entries are waiting to be committed to the cache line. In this system, store-mark requests are processed in a pipelined manner, which allows a store-mark request to be initiated before preceding store-mark requests for the same thread complete. Next, if a store-mark request fails, within a bounded amount of time, the system removes or prevents store-marks associated with younger store-mark requests for the same thread, thereby avoiding a potential deadlock that can arise when one or more other threads attempt to store-mark the same cache lines.

    摘要翻译: 本发明的一些实施例提供了一种在尝试在高速缓存行上获取存储标记时避免死锁的系统。 在操作期间,系统跟踪在执行线程期间出现的存储标记请求,其中高速缓存行上的存储标记指示一个或多个关联的存储缓冲器条目正在等待被提交到高速缓存行。 在该系统中,存储标记请求以流水线方式处理,这允许在对同一线程完成的先前存储标记请求之前启动存储标记请求。 接下来,如果存储标记请求失败,则在有限的时间内,系统会删除或防止与同一线程的较小的存储标记请求相关联的存储标记,从而避免当一个或多个其他 线程尝试存储标记相同的缓存行。

    METHOD AND STRUCTURE FOR SOLVING THE EVIL-TWIN PROBLEM
    88.
    发明申请
    METHOD AND STRUCTURE FOR SOLVING THE EVIL-TWIN PROBLEM 有权
    解决双向问题的方法与结构

    公开(公告)号:US20100268919A1

    公开(公告)日:2010-10-21

    申请号:US12426550

    申请日:2009-04-20

    IPC分类号: G06F9/30

    摘要: A register file, in a processor, includes a first plurality of registers of a first size, n-bits. A decoder uses a mapping that divides the register file into a second plurality M of registers having a second size. Each of the registers having the second size is assigned a different name in a continuous name space. Each register of the second size includes a plurality N of registers of the first size, n-bits. Each register in the plurality N of registers is assigned the same name as the register of the second size that includes that plurality. State information is maintained in the register file for each n-bit register. The dependence of an instruction on other instructions is detected through the continuous name space. The state information allows the processor to determine when the information in any portion, or all, of a register is valid.

    摘要翻译: 在处理器中的寄存器文件包括第一大小的n位的第一多个寄存器。 解码器使用将寄存器文件分成具有第二大小的第二多个寄存器M的映射。 具有第二大小的每个寄存器在连续的名称空间中被分配不同的名称。 第二大小的每个寄存器包括多个N个第一大小的寄存器,n位。 多个N个寄存器中的每个寄存器被分配与包括该多个寄存器的第二大小的寄存器相同的名称。 状态信息保存在每个n位寄存器的寄存器文件中。 通过连续名称空间检测指令对其他指令的依赖性。 状态信息允许处理器确定寄存器的任何部分或全部中的信息何时有效。

    Starvation-avoiding unbounded transactional memory
    89.
    发明授权
    Starvation-avoiding unbounded transactional memory 有权
    饥饿 - 避免无限交易记忆

    公开(公告)号:US07730265B1

    公开(公告)日:2010-06-01

    申请号:US11715243

    申请日:2007-03-06

    IPC分类号: G06F12/00

    CPC分类号: G06F12/126

    摘要: One embodiment of the present invention provides a system that facilitates efficient transactional execution. During operation, the system executes a starvation-avoiding transaction for a thread, wherein executing the starvation-avoiding transaction involves: (1) placing load-marks on cache lines which are loaded during the starvation-avoiding transaction; (2) placing store-marks on cache lines which are stored to during the starvation-avoiding transaction; and (3) writing a timestamp value into metadata for load-marked and store-marked cache lines. While the thread is executing the starvation-avoiding transaction, the system prevents other threads from executing another starvation-avoiding transaction. Whereby the load-marks and store-marks prevent interfering accesses from other threads to the cache lines during the starvation-avoiding transaction.

    摘要翻译: 本发明的一个实施例提供一种促进有效的事务执行的系统。 在操作期间,系统执行针对线程的避免饥饿事务,其中执行避免饥饿事务涉及:(1)在避免饥饿交易期间加载的高速缓存线上放置加载标记; (2)将存储标记放置在在饥饿 - 避免交易期间存储的高速缓存行上; 和(3)将时间戳值写入用于加载标记和存储标记的高速缓存行的元数据。 当线程正在执行避免饥饿事务时,系统会阻止其他线程执行另一个避免饥饿事务。 由于加载标记和存储标记防止在饥饿 - 避免事务处理期间来自其他线程的访问到缓存线。

    DEADLOCK AVOIDANCE DURING STORE-MARK ACQUISITION
    90.
    发明申请
    DEADLOCK AVOIDANCE DURING STORE-MARK ACQUISITION 有权
    在商店收购期间的死亡避险

    公开(公告)号:US20100125707A1

    公开(公告)日:2010-05-20

    申请号:US12273697

    申请日:2008-11-19

    IPC分类号: G06F12/08

    摘要: Some embodiments of the present invention provide a system that avoids deadlock while attempting to acquire store-marks on cache lines. During operation, the system keeps track of store-mark requests that arise during execution of a thread, wherein a store-mark on a cache line indicates that one or more associated store buffer entries are waiting to be committed to the cache line. In this system, store-mark requests are processed in a pipelined manner, which allows a store-mark request to be initiated before preceding store-mark requests for the same thread complete. Next, if a store-mark request fails, within a bounded amount of time, the system removes or prevents store-marks associated with younger store-mark requests for the same thread, thereby avoiding a potential deadlock that can arise when one or more other threads attempt to store-mark the same cache lines.

    摘要翻译: 本发明的一些实施例提供了一种在尝试在高速缓存行上获取存储标记时避免死锁的系统。 在操作期间,系统跟踪在执行线程期间出现的存储标记请求,其中高速缓存行上的存储标记指示一个或多个关联的存储缓冲器条目正在等待被提交到高速缓存行。 在该系统中,存储标记请求以流水线方式处理,这允许在对同一线程完成的先前存储标记请求之前启动存储标记请求。 接下来,如果存储标记请求失败,则在有限的时间内,系统会删除或防止与同一线程的较小的存储标记请求相关联的存储标记,从而避免当一个或多个其他 线程尝试存储标记相同的缓存行。