System and Method for Group Formation with Multiple Taken Branches Per Group
    1.
    发明申请
    System and Method for Group Formation with Multiple Taken Branches Per Group 失效
    每组多组分组形成的系统和方法

    公开(公告)号:US20100257340A1

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

    申请号:US12417798

    申请日:2009-04-03

    IPC分类号: G06F9/30

    摘要: Disclosed are a method and a system for grouping processor instructions for execution by a processor, where the group of processor instructions includes at least two branch processor instructions. In one or more embodiments, an instruction buffer can decouple an instruction fetch operation from an instruction decode operation by storing fetched processor instructions in the instruction buffer until the fetched processor instructions are ready to be decoded. Group formation can involve removing processor instructions from the instruction buffer and routing the processor instruction to latches that convey the processor instructions to decoders. Processor instructions that are removed from instruction buffer in a single clock cycle can be called a group of processor instructions. In one or more embodiments, the first instruction in the group must be the oldest instruction in the instruction buffer and instructions must be removed from the instruction buffer ordered from oldest to youngest.

    摘要翻译: 公开了一种用于将处理器指令分组以由处理器执行的方法和系统,其中处理器指令组包括至少两个分支处理器指令。 在一个或多个实施例中,指令缓冲器可以通过在指令缓冲器中存储获取的处理器指令直到所读出的处理器指令准备解码,从而将指令提取操作与指令解码操作分离。 组形成可以涉及从指令缓冲器中移除处理器指令并将处理器指令路由到将处理器指令传送给解码器的锁存器。 在单个时钟周期内从指令缓冲区中删除的处理器指令可以称为一组处理器指令。 在一个或多个实施例中,组中的第一指令必须是指令缓冲器中的最早的指令,并且必须从从最老到最小的指令缓冲器中移除指令。

    Group formation with multiple taken branches per group
    2.
    发明授权
    Group formation with multiple taken branches per group 失效
    每组多组分组成组

    公开(公告)号:US08127115B2

    公开(公告)日:2012-02-28

    申请号:US12417798

    申请日:2009-04-03

    IPC分类号: G06F9/30

    摘要: Disclosed are a method and a system for grouping processor instructions for execution by a processor, where the group of processor instructions includes at least two branch processor instructions. In one or more embodiments, an instruction buffer can decouple an instruction fetch operation from an instruction decode operation by storing fetched processor instructions in the instruction buffer until the fetched processor instructions are ready to be decoded. Group formation can involve removing processor instructions from the instruction buffer and routing the processor instruction to latches that convey the processor instructions to decoders. Processor instructions that are removed from instruction buffer in a single clock cycle can be called a group of processor instructions. In one or more embodiments, the first instruction in the group must be the oldest instruction in the instruction buffer and instructions must be removed from the instruction buffer ordered from oldest to youngest.

    摘要翻译: 公开了一种用于将处理器指令分组以由处理器执行的方法和系统,其中处理器指令组包括至少两个分支处理器指令。 在一个或多个实施例中,指令缓冲器可以通过在指令缓冲器中存储获取的处理器指令直到所读出的处理器指令准备解码,从而将指令提取操作与指令解码操作分离。 组形成可以涉及从指令缓冲器中移除处理器指令并将处理器指令路由到将处理器指令传送给解码器的锁存器。 在单个时钟周期内从指令缓冲区中删除的处理器指令可以称为一组处理器指令。 在一个或多个实施例中,组中的第一指令必须是指令缓冲器中的最早的指令,并且必须从从最老到最小的指令缓冲器中移除指令。

    Method and apparatus for dynamically managing instruction buffer depths for non-predicted branches
    4.
    发明授权
    Method and apparatus for dynamically managing instruction buffer depths for non-predicted branches 失效
    用于动态管理非预测分支的指令缓冲区深度的方法和装置

    公开(公告)号:US07779232B2

    公开(公告)日:2010-08-17

    申请号:US11845838

    申请日:2007-08-28

    IPC分类号: G06F9/42 G06F9/312

    CPC分类号: G06F9/3804

    摘要: A method and apparatus for dynamically managing instruction buffer depths for non-predicted branches reduces wasted energy and resources associated with low confidence branch prediction conditions. A portion of the instruction buffer for a instruction thread is allocated for storing predicted branch instruction streams and another portion, which may be zero-sized during high prediction confidence conditions, is allocated to the non-predicted branch instruction stream. The size of the buffers is adjusted dynamically in conformity with an on-going prediction confidence that provides a measure of how well branch prediction mechanisms are working for a given instruction thread. An alternate instruction fetch address table can be maintained and multiplexed with the main fetch address register for addressing the instruction cache, so that the instruction stream can be quickly shifted to the non-predicted path when a branch instruction is resolved to the non-predicted path.

    摘要翻译: 用于动态管理非预测分支的指令缓冲器深度的方法和装置减少与低置信度分支预测条件相关联的浪费的能量和资源。 分配用于指令线程的指令缓冲器的一部分用于存储预测的分支指令流,并且在高预测置信度条件下可以为零大小的另一部分被分配给非预测分支指令流。 缓冲区的大小根据正在进行的预测置信度动态调整,提供了分支预测机制对给定指令线程的工作原理的测量。 替代指令提取地址表可以与主提取地址寄存器保持多路复用,用于对指令高速缓存进行寻址,使得当分支指令被解析为非预测路径时,可以将指令流快速移位到非预测路径 。

    Method and Apparatus for Dynamically Managing Instruction Buffer Depths for Non-Predicted Branches
    6.
    发明申请
    Method and Apparatus for Dynamically Managing Instruction Buffer Depths for Non-Predicted Branches 失效
    用于动态管理非预测分支的指令缓冲区深度的方法和装置

    公开(公告)号:US20090063819A1

    公开(公告)日:2009-03-05

    申请号:US11845838

    申请日:2007-08-28

    IPC分类号: G06F9/312 G06F9/38

    CPC分类号: G06F9/3804

    摘要: A method and apparatus for dynamically managing instruction buffer depths for non-predicted branches reduces wasted energy and resources associated with low confidence branch prediction conditions. A portion of the instruction buffer for a instruction thread is allocated for storing predicted branch instruction streams and another portion, which may be zero-sized during high prediction confidence conditions, is allocated to the non-predicted branch instruction stream. The size of the buffers is adjusted dynamically in conformity with an on-going prediction confidence that provides a measure of how well branch prediction mechanisms are working for a given instruction thread. An alternate instruction fetch address table can be maintained and multiplexed with the main fetch address register for addressing the instruction cache, so that the instruction stream can be quickly shifted to the non-predicted path when a branch instruction is resolved to the non-predicted path.

    摘要翻译: 用于动态管理非预测分支的指令缓冲器深度的方法和装置减少与低置信度分支预测条件相关联的浪费的能量和资源。 分配用于指令线程的指令缓冲器的一部分用于存储预测的分支指令流,并且在高预测置信度条件下可以为零大小的另一部分被分配给非预测分支指令流。 缓冲区的大小根据正在进行的预测置信度动态调整,提供了分支预测机制对给定指令线程的工作原理的测量。 替代指令提取地址表可以与主提取地址寄存器保持多路复用,用于对指令高速缓存进行寻址,使得当分支指令被解析为非预测路径时,可以将指令流快速移位到非预测路径 。

    Thread partitioning in a multi-core environment
    8.
    发明授权
    Thread partitioning in a multi-core environment 有权
    多核环境中的线程分区

    公开(公告)号:US08707016B2

    公开(公告)日:2014-04-22

    申请号:US12024211

    申请日:2008-02-01

    IPC分类号: G06F9/30

    CPC分类号: G06F9/4843 G06F9/3851

    摘要: A set of helper thread binaries is created to retrieve data used by a set of main thread binaries. The set of helper thread binaries and the set of main thread binaries are partitioned according to common instruction boundaries. As a first partition in the set of main thread binaries executes within a first core, a second partition in the set of helper thread binaries executes within a second core, thus “warming up” the cache in the second core. When the first partition of the main completes execution, a second partition of the main core moves to the second core, and executes using the warmed up cache in the second core.

    摘要翻译: 创建一组辅助线程二进制文件来检索一组主线程二进制文件使用的数据。 辅助线程二进制文件集和主线程二进制文件集合根据公共指令边界进行分区。 作为主线程二进制文件集合中的第一分区在第一核心内执行,该辅助线程二进制文件集中的第二分区在第二核心内执行,从而“预热”第二核心中的高速缓存。 当主要的第一分区完成执行时,主核心的第二分区移动到第二核心,并使用第二核心中的预热高速缓存执行。

    Hardware assist thread for dynamic performance profiling
    9.
    发明授权
    Hardware assist thread for dynamic performance profiling 失效
    用于动态性能分析的硬件辅助线

    公开(公告)号:US08612730B2

    公开(公告)日:2013-12-17

    申请号:US12796124

    申请日:2010-06-08

    IPC分类号: G06F9/00

    摘要: A method and data processing system for managing running of instructions in a program. A processor of the data processing system receives a monitoring instruction of a monitoring unit. The processor determines if at least one secondary thread of a set of secondary threads is available for use as an assist thread. The processor selects the at least one secondary thread from the set of secondary threads to become the assist thread in response to a determination that the at least one secondary thread of the set of secondary threads is available for use as an assist thread. The processor changes profiling of running of instructions in the program from the main thread to the assist thread.

    摘要翻译: 一种用于管理程序中的指令的运行的方法和数据处理系统。 数据处理系统的处理器接收监视单元的监视指令。 处理器确定一组辅助线程的至少一个辅助线程是否可用作辅助线程。 响应于确定所述一组次要线程的至少一个辅助线程可用作辅助线程,所述处理器从所述辅助线程组中选择所述至少一个辅助线程以成为所述辅助线程。 处理器将程序中指令的运行情况从主线程更改为辅助线程。

    Speculative popcount data creation
    10.
    发明授权
    Speculative popcount data creation 有权
    投机性的popcount数据创建

    公开(公告)号:US08387065B2

    公开(公告)日:2013-02-26

    申请号:US12425343

    申请日:2009-04-16

    摘要: A method and a data processing system by which population count (popcount) operations are efficiently performed without incurring the latency and loss of critical processing cycles and bandwidth of real time processing. The method comprises: identifying data to be stored to memory for which a popcount may need to be determined; speculatively performing a popcount operation on the data as a background process of the processor while the data is being stored to memory; storing the data to a first memory location; and storing a value of the popcount generated by the popcount operation within a second memory location. The method further comprises: determining a size of data; determining a granular level at which the popcount operation on the data will be performed; and reserving a size of said second memory location that is sufficiently large to hold the value of the popcount.

    摘要翻译: 一种方法和数据处理系统,通过该方法和数据处理系统有效地执行人口计数(popcount)操作,而不会导致关键处理周期的延迟和丢失以及实时处理的带宽。 该方法包括:识别要存储到可能需要确定一个弹出窗口的存储器的数据; 在将数据存储到存储器中的情况下,作为处理器的后台处理推测性地对数据进行弹出数据操作; 将数据存储到第一存储器位置; 以及将由所述popcount操作生成的所述popcount的值存储在第二存储器位置内。 该方法还包括:确定数据的大小; 确定将执行对数据的弹出数据操作的粒度级别; 以及保留所述第二存储器位置的大小足够大以保持所述用户名的值。