Method and Apparatus for Register Renaming in a Microprocessor
    17.
    发明申请
    Method and Apparatus for Register Renaming in a Microprocessor 审中-公开
    微处理器中寄存器重命名的方法和装置

    公开(公告)号:US20080077778A1

    公开(公告)日:2008-03-27

    申请号:US11534711

    申请日:2006-09-25

    IPC分类号: G06F9/30

    CPC分类号: G06F9/30105 G06F9/384

    摘要: Register renaming as contemplated by this invention allows processor hardware to use a larger set of registers than the architected registers visible to the compiler. This larger set of registers is called the physical register file. Thus, dynamically renaming every compiler-suggested architected register to a microarchitecture-specific physical register, allows the processor to overcome name dependencies and the hazards (pipeline slowdowns) induced by name dependencies. The invention here described differs from prior renaming techniques in that it extracts significant benefit from renaming with a fraction of the number of physical registers previously used for this process. The invention therefore also simplifies the logic involved in supporting the use of the physical registers.

    摘要翻译: 根据本发明预期的寄存器重命名允许处理器硬件使用比编译器可见的架构寄存器更大的一组寄存器。 这个更大的寄存器集称为物理寄存器文件。 因此,动态地将每个编译器建议的架构寄存器重新命名为特定于微架构的物理寄存器,从而允许处理器克服名称依赖性以及名称依赖性引起的危险(管道减速)。 这里描述的本发明与先前的重命名技术不同之处在于,它使用先前用于该过程的物理寄存器数量的一部分来重命名提取了显着的益处。 因此,本发明也简化了支持使用物理寄存器所涉及的逻辑。

    Method and apparatus for dynamically managing instruction buffer depths for non-predicted branches
    19.
    发明授权
    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.

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