Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor
    1.
    发明授权
    Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor 有权
    同时多线程(SMT)处理器中重命名寄存器重新分配的方法和逻辑设备

    公开(公告)号:US07290261B2

    公开(公告)日:2007-10-30

    申请号:US10422651

    申请日:2003-04-24

    IPC分类号: G06F9/46

    摘要: A circuit and method provide rename register reallocation for simultaneous multi-threaded (SMT) processors that redistributes rename (mapped) resources between one thread during single-threaded (ST) execution and multiple threads during multi-threaded execution. The processor receives an instruction specifying a transition from a single-threaded to a multi-threaded mode or vice-versa and halts execution of all threads executing on the processor. The internal control logic then signals the resources to reallocate the resources. Rename resources are reallocated by directing an action at the rename mapper. When switching from SMT to ST mode, the mapper is directed to drop entries for the dying thread, but on a switch from ST to SMT mode, “dummy” instruction group dispatch indications are sent to the mapper that indicate use of all architected registers for each thread.

    摘要翻译: 电路和方法为同时多线程(SMT)处理器提供重命名寄存器重新分配,该处理器在单线程(ST)执行期间的一个线程和多线程执行期间的多个线程之间重新分配重命名(映射)资源。 处理器接收指定从单线程转换到多线程模式或反之亦然的指令,并停止在处理器上执行的所有线程的执行。 内部控制逻辑然后发出资源重新分配资源。 重命名资源通过在重命名映射器处指示一个动作来重新分配。 当从SMT切换到ST模式时,映射器被定向到垂死线程的条目,但是在从ST到SMT模式的切换中,将“伪”指令组分派指示发送到映射器,指示使用所有架构的寄存器 每个线程。

    Dual issuing of complex instruction set instructions
    2.
    发明授权
    Dual issuing of complex instruction set instructions 有权
    双重发出复杂的指令集指令

    公开(公告)号:US09104399B2

    公开(公告)日:2015-08-11

    申请号:US12645716

    申请日:2009-12-23

    摘要: A system and method for issuing a processor instruction to multiple processing sections arranged in an out-of-order processing pipeline architecture. The multiple processing sections include a first execution unit with a pipeline length and a second execution unit operating upon data produced by the first execution unit. An instruction issue unit accepts a complex instruction that is cracked into respective micro-ops for the first execution unit and the second execution unit. The instruction issue unit issues the first micro-op to the first execution unit to produce intermediate data. The instruction issue unit then delays for a time period corresponding to the processing pipeline length of the first execution unit. After the delay, a second micro-op is issued to the second execution unit.

    摘要翻译: 一种用于向处理流水线结构排列的多个处理部分发出处理器指令的系统和方法。 多个处理部分包括具有流水线长度的第一执行单元和对由第一执行单元产生的数据进行操作的第二执行单元。 指令发布单元接受对于第一执行单元和第二执行单元破解为相应微操作的复杂指令。 指令发布单元向第一执行单元发出第一微操作以产生中间数据。 然后,指令发布单元延迟与第一执行单元的处理流水线长度对应的时间段。 在延迟之后,向第二执行单元发出第二个微操作。

    SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR TRANSLATING STORAGE ELEMENTS
    3.
    发明申请
    SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR TRANSLATING STORAGE ELEMENTS 有权
    用于转储储存元件的系统,方法和计算机程序产品

    公开(公告)号:US20090217009A1

    公开(公告)日:2009-08-27

    申请号:US12036520

    申请日:2008-02-25

    IPC分类号: G06F9/318

    摘要: A system, method and computer program product for translations in a computer system. The system includes a general purpose register containing a base address of an address translation table. The system also includes a millicode accessible special displacement register configured to receive a plurality of elements to be translated. The system further includes a multiplexer for selecting a particular one of the plurality of elements from the millicode accessible special displacement register and for generating a displacement or offset value. The system further includes an address generator for creating a combined address containing the base address from the general purpose register and the generated displacement or offset value.

    摘要翻译: 一种用于计算机系统中的翻译的系统,方法和计算机程序产品。 该系统包括包含地址转换表的基地址的通用寄存器。 该系统还包括被配置为接收多个要被翻译的元件的毫代可访问特殊位移寄存器。 该系统还包括多路复用器,用于从毫代可访问特殊位移寄存器中选择多个元件中的特定元件,并用于产生位移或偏移值。 该系统还包括地址发生器,用于创建包含来自通用寄存器的基地址和所生成的位移或偏移值的组合地址。

    MICROPROCESSOR, METHOD AND COMPUTER PROGRAM PRODUCT FOR DIRECT PAGE PREFETCH IN MILLICODE CAPABLE COMPUTER SYSTEM
    6.
    发明申请
    MICROPROCESSOR, METHOD AND COMPUTER PROGRAM PRODUCT FOR DIRECT PAGE PREFETCH IN MILLICODE CAPABLE COMPUTER SYSTEM 有权
    MICROPROCESSOR,方法和计算机程序产品,用于在MILLICODE可编程计算机系统中直接提取

    公开(公告)号:US20090210662A1

    公开(公告)日:2009-08-20

    申请号:US12032041

    申请日:2008-02-15

    IPC分类号: G06F9/30 G06F12/08

    CPC分类号: G06F9/30047 G06F12/0862

    摘要: A microprocessor equipped to provide hardware initiated prefetching, includes at least one architecture for performing: issuance of a prefetch instruction; writing of a prefetch address into a prefetch fetch address register (PFAR); attempting a prefetch according to the address; detecting one of a cache miss and a cache hit; and if there is a cache miss, then sending a miss request to a next cache level and attempting cache access in a non-busy cycle; and if there is a cache hit, then incrementing the address in the PFAR and completing the prefetch. A method and a computer program product are provided.

    摘要翻译: 配备提供硬件发起预取的微处理器包括用于执行:发出预取指令的至少一个架构; 将预取地址写入预取提取地址寄存器(PFAR); 根据地址尝试预取; 检测缓存未命中和缓存命中之一; 并且如果存在高速缓存未命中,则将错误请求发送到下一个高速缓存级别,并在非繁忙周期中尝试高速缓存访​​问; 并且如果存在缓存命中,则增加PFAR中的地址并完成预取。 提供了一种方法和计算机程序产品。

    Microprocessor, method and computer program product for direct page prefetch in millicode capable computer system
    7.
    发明授权
    Microprocessor, method and computer program product for direct page prefetch in millicode capable computer system 有权
    微处理器,方法和计算机程序产品,用于在具有计算机能力的计算机系统中进行直接页面预取

    公开(公告)号:US08549255B2

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

    申请号:US12032041

    申请日:2008-02-15

    IPC分类号: G06F12/00

    CPC分类号: G06F9/30047 G06F12/0862

    摘要: A microprocessor equipped to provide hardware initiated prefetching, includes at least one architecture for performing: issuance of a prefetch instruction; writing of a prefetch address into a prefetch fetch address register (PFAR); attempting a prefetch according to the address; detecting one of a cache miss and a cache hit; and if there is a cache miss, then sending a miss request to a next cache level and attempting cache access in a non-busy cycle; and if there is a cache hit, then incrementing the address in the PFAR and completing the prefetch. A method and a computer program product are provided.

    摘要翻译: 配备提供硬件发起预取的微处理器包括用于执行:发出预取指令的至少一个架构; 将预取地址写入预取提取地址寄存器(PFAR); 根据地址尝试预取; 检测缓存未命中和缓存命中之一; 并且如果存在高速缓存未命中,则将错误请求发送到下一个高速缓存级别,并在非繁忙周期中尝试高速缓存访​​问; 并且如果存在缓存命中,则增加PFAR中的地址并完成预取。 提供了一种方法和计算机程序产品。

    Method and apparatus for supporting speculative branch and link/branch
on count instructions
    9.
    发明授权
    Method and apparatus for supporting speculative branch and link/branch on count instructions 失效
    在计数指令上支持推测分支和链接/分支的方法和装置

    公开(公告)号:US5764970A

    公开(公告)日:1998-06-09

    申请号:US560614

    申请日:1995-11-20

    IPC分类号: G06F9/38 G06F9/40

    摘要: A method and apparatus for supporting speculative execution of count and link register modifying instructions in a microprocessor is provided. The apparatus includes a queue of rename buffers storing count/link register operand data resulting from speculatively executed instructions that modify a count/link register. The queue contains a set of control buffers, wherein each control buffer contains control bits associated with a rename buffer, the control bits including an instruction identifier tag identifying a speculatively executed instruction, the operand data of the speculatively executed instruction being stored in the associated rename buffer, and an available bit indicating when the operand data no longer needs to be stored in the associated rename buffer. The apparatus control logic sets the control bits for each control buffer, including setting the instruction identifier tag to the value indicated by a dispatch unit, and selectively sets or resets the available bit based on resolution of the speculatively executed instruction.

    摘要翻译: 提供了一种用于在微处理器中支持计数和链接寄存器修改指令的推测执行的方法和装置。 该装置包括一个重命名缓冲器队列,存储由推测性地执行的修改计数/链接寄存器的指令产生的计数/链接寄存器操作数数据。 队列包括一组控制缓冲器,其中每个控制缓冲器包含与重命名缓冲器相关联的控制位,控制位包括标识推测性执行的指令的指令标识符标签,被推测执行的指令的操作数数据存储在相关联的重命名 缓冲区,以及指示何时操作数数据不再需要存储在关联的重命名缓冲区中的可用位。 设备控制逻辑设置每个控制缓冲器的控制位,包括将指令标识符标签设置为由调度单元指示的值,并且基于推测执行的指令的分辨率选择性地设置或复位可用位。

    SMT flush arbitration
    10.
    发明授权
    SMT flush arbitration 失效
    SMT冲洗仲裁

    公开(公告)号:US07194603B2

    公开(公告)日:2007-03-20

    申请号:US10422026

    申请日:2003-04-23

    IPC分类号: G06F9/30 G06F9/44

    摘要: A methodology to process flushes in an SMT processor with a dynamically shared group completion table (GCT) and a Flush table comprises identification of incoming flush sources by thread. This uses the forward link array by flush source to determine the next instruction group following the group indicated by the flush source (for example, for mispredicts and load/store flush-next type flushes). Presentation of flush completion table entry numbers or instruction group identifiers (Gtags) to the flush table for computation of oldest flushed group tag corresponding to each thread. The flush selection cycle wherein the flush table outputs are compared against saved versions of all the flush Gtags presented to determine which flush source matches the oldest group output from the flush table. The flush source information is used with the selected oldest Gtag to determine the appropriate additional flushing action to take during the flush cycle.

    摘要翻译: 使用动态共享组完成表(GCT)和冲洗表处理SMT处理器中的刷新的方法包括通过线程识别输入的刷新源。 这通过flush源使用前向链接数组来确定闪存源指示的组之后的下一个指令组(例如,用于错误预测和加载/存储flush-next类型刷新)。 将刷新完成表条目号或指令组标识符(Gtags)呈现给刷新表,以计算与每个线程相对应的最旧刷新组标签。 将刷新表输出的刷新选择循环与所提供的所有刷新Gtags的保存版本进行比较,以确定哪个flush源与flush表中最早的组输出相匹配。 冲洗源信息与所选最旧的Gtag一起使用,以确定在冲洗循环期间采取的适当的额外冲洗动作。