MICROPROCESSOR THAT TRANSLATES CONDITIONAL LOAD/STORE INSTRUCTIONS INTO VARIABLE NUMBER OF MICROINSTRUCTIONS
    1.
    发明申请
    MICROPROCESSOR THAT TRANSLATES CONDITIONAL LOAD/STORE INSTRUCTIONS INTO VARIABLE NUMBER OF MICROINSTRUCTIONS 有权
    将条件负载/存储指令转换成可变数量的微处理器的微处理器

    公开(公告)号:US20140122847A1

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

    申请号:US14007116

    申请日:2012-04-06

    IPC分类号: G06F9/26

    摘要: An instruction translator receives a conditional load/store instruction that specifies a condition, destination/data register, base register, offset source, and memory addressing mode. The instruction instructs the microprocessor to load data from a memory location into the destination register (conditional load) or store data to the memory location from the data register (conditional store) only if the condition flags satisfy the condition. The offset source specifies whether the offset is an immediate value or a value in an offset register. The addressing mode specifies whether the base register is updated when the condition flags satisfy the condition. The instruction translator translates the conditional load instruction into a number of microinstructions, which varies as a function of the offset source, addressing mode, and whether the conditional instruction is a conditional load or store instruction. An out-of-order execution pipeline executes the microinstructions to generate results specified by the instruction.

    摘要翻译: 指令转换器接收指定条件,目标/数据寄存器,基址寄存器,偏移源和存储器寻址模式的条件加载/存储指令。 只有当条件标志满足条件时,指令才指示微处理器将数据从存储单元加载到目标寄存器(条件加载)中,或者将数据从数据寄存器(条件存储)​​存储到存储单元。 偏移源指定偏移量是立即值还是偏移量寄存器中的值。 寻址模式指定条件标志满足条件时是否更新基址寄存器。 指令翻译器将条件加载指令转换为多个微指令,其作为偏移源,寻址模式以及条件指令是条件加载还是存储指令的函数而变化。 无序执行流水线执行微指令以生成指令指定的结果。

    Microprocessor that translates conditional load/store instructions into variable number of microinstructions
    2.
    发明授权
    Microprocessor that translates conditional load/store instructions into variable number of microinstructions 有权
    将条件加载/存储指令转换为可变数量的微指令的微处理器

    公开(公告)号:US09244686B2

    公开(公告)日:2016-01-26

    申请号:US14007116

    申请日:2012-04-06

    摘要: An instruction translator receives a conditional load/store instruction that specifies a condition, destination/data register, base register, offset source, and memory addressing mode. The instruction instructs the microprocessor to load data from a memory location into the destination register (conditional load) or store data to the memory location from the data register (conditional store) only if the condition flags satisfy the condition. The offset source specifies whether the offset is an immediate value or a value in an offset register. The addressing mode specifies whether the base register is updated when the condition flags satisfy the condition. The instruction translator translates the conditional load instruction into a number of microinstructions, which varies as a function of the offset source, addressing mode, and whether the conditional instruction is a conditional load or store instruction. An out-of-order execution pipeline executes the microinstructions to generate results specified by the instruction.

    摘要翻译: 指令转换器接收指定条件,目标/数据寄存器,基址寄存器,偏移源和存储器寻址模式的条件加载/存储指令。 只有当条件标志满足条件时,指令才指示微处理器将数据从存储单元加载到目标寄存器(条件加载)中,或者将数据从数据寄存器(条件存储)​​存储到存储单元。 偏移源指定偏移量是立即值还是偏移量寄存器中的值。 寻址模式指定条件标志满足条件时是否更新基址寄存器。 指令翻译器将条件加载指令转换为多个微指令,其作为偏移源,寻址模式以及条件指令是条件加载还是存储指令的函数而变化。 无序执行流水线执行微指令以生成指令指定的结果。

    CONDITIONAL STORE INSTRUCTIONS IN AN OUT-OF-ORDER EXECUTION MICROPROCESSOR
    4.
    发明申请
    CONDITIONAL STORE INSTRUCTIONS IN AN OUT-OF-ORDER EXECUTION MICROPROCESSOR 有权
    不合格执行微处理器的条件存储指令

    公开(公告)号:US20140122843A1

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

    申请号:US14007097

    申请日:2012-04-06

    IPC分类号: G06F9/38 G06F9/30

    摘要: An instruction translator translates a conditional store instruction (specifying data register, base register, and offset register of the register file) into at least two microinstructions. An out-of-order execution pipeline executes the microinstructions. To execute a first microinstruction, an execution unit receives a base value and an offset from the register file and generates a first result as a function of the base value and offset. The first result specifies the memory location address. To execute a second microinstruction, an execution unit receives the first result and writes the first result to an allocated entry in the store queue if the condition flags satisfy the condition (the store queue subsequently writes the data to the memory location specified by the address), and otherwise kills the allocated store queue entry so that the store queue does not write the data to the memory location specified by the address.

    摘要翻译: 指令翻译器将条件存储指令(指定寄存器文件的指定数据寄存器,基址寄存器和偏移寄存器)转换为至少两个微指令。 无序执行管线执行微指令。 为了执行第一微指令,执行单元从寄存器文件接收基值和偏移量,并且产生作为基值和偏移量的函数的第一结果。 第一个结果指定内存位置地址。 为了执行第二微指令,如果条件标志满足条件(存储队列随后将数据写入由地址指定的存储器位置),则执行单元接收第一结果并将第一结果写入存储队列中的已分配条目, ,否则将杀死所分配的存储队列条目,使得存储队列不将数据写入由地址指定的存储器位置。

    Conditional load instructions in an out-of-order execution microprocessor
    5.
    发明授权
    Conditional load instructions in an out-of-order execution microprocessor 有权
    无序执行微处理器中的条件加载指令

    公开(公告)号:US09378019B2

    公开(公告)日:2016-06-28

    申请号:US14007077

    申请日:2012-04-06

    IPC分类号: G06F9/30

    摘要: A microprocessor instruction translator translates a conditional load instruction into at least two microinstructions. An out-of-order execution pipeline executes the microinstructions. To execute a first microinstruction, an execution unit receives source operands from the source registers of a register file and responsively generates a first result using the source operands. To execute a second the microinstruction, an execution unit receives a previous value of the destination register and the first result and responsively reads data from a memory location specified by the first result and provides a second result that is the data if a condition is satisfied and that is the previous destination register value if not. The previous value of the destination register comprises a result produced by execution of a microinstruction that is the most recent in-order previous writer of the destination register with respect to the second microinstruction.

    摘要翻译: 微处理器指令转换器将条件加载指令转换成至少两个微指令。 无序执行管线执行微指令。 为了执行第一微指令,执行单元从寄存器堆的源寄存器接收源操作数,并使用源操作数响应地生成第一结果。 为了执行微指令,执行单元接收目的地寄存器的先前值和第一结果,并响应于从第一结果指定的存储器位置读取数据,并且如果满足条件则提供作为数据的第二结果, 这是以前的目标寄存器值,如果没有。 目的地寄存器的先前值包括通过执行作为目的地寄存器相对于第二微指令的最新的有序先前的写入器的微指令而产生的结果。

    CONDITIONAL LOAD INSTRUCTIONS IN AN OUT-OF-ORDER EXECUTION MICROPROCESSOR
    6.
    发明申请
    CONDITIONAL LOAD INSTRUCTIONS IN AN OUT-OF-ORDER EXECUTION MICROPROCESSOR 有权
    不合格执行微处理器的条件负载指令

    公开(公告)号:US20140013089A1

    公开(公告)日:2014-01-09

    申请号:US14007077

    申请日:2012-04-06

    IPC分类号: G06F9/30

    摘要: A microprocessor instruction translator translates a conditional load instruction into at least two microinstructions. An out-of-order execution pipeline executes the microinstructions. To execute a first microinstruction, an execution unit receives source operands from the source registers of a register file and responsively generates a first result using the source operands. To execute a second the microinstruction, an execution unit receives a previous value of the destination register and the first result and responsively reads data from a memory location specified by the first result and provides a second result that is the data if a condition is satisfied and that is the previous destination register value if not. The previous value of the destination register comprises a result produced by execution of a microinstruction that is the most recent in-order previous writer of the destination register with respect to the second microinstruction.

    摘要翻译: 微处理器指令转换器将条件加载指令转换成至少两个微指令。 无序执行管线执行微指令。 为了执行第一微指令,执行单元从寄存器堆的源寄存器接收源操作数,并使用源操作数响应地生成第一结果。 为了执行微指令,执行单元接收目的地寄存器的先前值和第一结果,并响应于从第一结果指定的存储器位置读取数据,并且如果满足条件则提供作为数据的第二结果, 这是以前的目标寄存器值,如果没有。 目的地寄存器的先前值包括通过执行作为目的地寄存器相对于第二微指令的最新的有序先前的写入器的微指令而产生的结果。

    MICROPROCESSOR WITH PRIVATE MICROCODE RAM
    7.
    发明申请
    MICROPROCESSOR WITH PRIVATE MICROCODE RAM 有权
    微处理器与私有MICROCODE RAM

    公开(公告)号:US20080256336A1

    公开(公告)日:2008-10-16

    申请号:US12034503

    申请日:2008-02-20

    IPC分类号: G06F9/30 G06F9/312

    摘要: A microprocessor includes a private RAM (PRAM), for use by microcode, which is non-user-accessible and within its own distinct address space from the system memory address space. The PRAM is denser and slower than user-accessible registers of the microprocessor macroarchitecture, thereby enabling it to provide significantly more storage for microcode. The microinstruction set includes a microinstruction for loading data from the PRAM into the user-accessible registers, and a microinstruction for storing data from user-accessible registers to the PRAM. The microcode may also use the two microinstructions to load/store between the PRAM and non-user-accessible registers of the microarchitecture. Examples of PRAM uses include: computational temporary storage area; storage of x86 VMX VMCS in response to VMREAD and VMWRITE macroinstructions; instantiation of non-user-accessible storage, such as the x86 SMBASE register; and instantiation of x86 MSRs that tolerate the additional access latency of the PRAM, such as the IA32_SYSENTER_CS MSR.

    摘要翻译: 微处理器包括专用RAM(PRAM),用于微码,这是非用户可访问的,并且在其自身与系统存储器地址空间不同的地址空间内。 PRAM比微处理器宏构架的用户可访问的寄存器更密集和更慢,从而使其能够为微码提供显着更多的存储。 微指令集包括用于将来自PRAM的数据加载到用户可访问寄存器中的微指令,以及用于将来自用户可访问寄存器的数据存储到PRAM的微指令。 微代码还可以使用两个微指令来加载/存储在微架构的PRAM和非用户可访问的寄存器之间。 PRAM使用的示例包括:计算临时存储区域; 存储x86 VMX VMCS以响应VMREAD和VMWRITE宏指令; 实例化非用户可访问的存储,如x86 SMBASE寄存器; 以及容忍PRAM的附加访问延迟(例如IA32_SYSENTER_CS MSR)的x86 MSR的实例化。

    Microprocessor with private microcode RAM
    8.
    发明授权
    Microprocessor with private microcode RAM 有权
    具有专用微码RAM的微处理器

    公开(公告)号:US07827390B2

    公开(公告)日:2010-11-02

    申请号:US12034503

    申请日:2008-02-20

    IPC分类号: G06F9/312

    摘要: A microprocessor includes a private RAM (PRAM), for use by microcode, which is non-user-accessible and within its own distinct address space from the system memory address space. The PRAM is denser and slower than user-accessible registers of the microprocessor macroarchitecture, thereby enabling it to provide significantly more storage for microcode. The microinstruction set includes a microinstruction for loading data from the PRAM into the user-accessible registers, and a microinstruction for storing data from user-accessible registers to the PRAM. The microcode may also use the two microinstructions to load/store between the PRAM and non-user-accessible registers of the microarchitecture. Examples of PRAM uses include: computational temporary storage area; storage of x86 VMX VMCS in response to VMREAD and VMWRITE macroinstructions; instantiation of non-user-accessible storage, such as the x86 SMBASE register; and instantiation of x86 MSRs that tolerate the additional access latency of the PRAM, such as the IA32_SYSENTER_CS MSR.

    摘要翻译: 微处理器包括专用RAM(PRAM),用于微码,这是非用户可访问的,并且在其自身与系统存储器地址空间不同的地址空间内。 PRAM比微处理器宏构架的用户可访问的寄存器更密集和更慢,从而使其能够为微码提供显着更多的存储。 微指令集包括用于将来自PRAM的数据加载到用户可访问寄存器中的微指令,以及用于将来自用户可访问寄存器的数据存储到PRAM的微指令。 微代码还可以使用两个微指令来加载/存储在微架构的PRAM和非用户可访问的寄存器之间。 PRAM使用的示例包括:计算临时存储区域; 存储x86 VMX VMCS以响应VMREAD和VMWRITE宏指令; 实例化非用户可访问的存储,如x86 SMBASE寄存器; 以及容忍PRAM的附加访问延迟(例如IA32_SYSENTER_CS MSR)的x86 MSR的实例化。

    MICROPROCESSOR WITH ALU INTEGRATED INTO LOAD UNIT
    10.
    发明申请
    MICROPROCESSOR WITH ALU INTEGRATED INTO LOAD UNIT 有权
    微处理器与ALU集成到负载单元中

    公开(公告)号:US20110035569A1

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

    申请号:US12609169

    申请日:2009-10-30

    摘要: A superscalar pipelined microprocessor includes a register set defined by its instruction set architecture, a cache memory, execution units, and a load unit, coupled to the cache memory and distinct from the other execution units. The load unit comprises an ALU. The load unit receives an instruction that specifies a memory address of a source operand, an operation to be performed on the source operand to generate a result, and a destination register of the register set to which the result is to be stored. The load unit reads the source operand from the cache memory. The ALU performs the operation on the source operand to generate the result, rather than forwarding the source operand to any of the other execution units of the microprocessor to perform the operation on the source operand to generate the result. The load unit outputs the result for subsequent retirement to the destination register.

    摘要翻译: 超标量流水线微处理器包括由其指令集架构定义的寄存器组,高速缓冲存储器,执行单元和负载单元,耦合到高速缓冲存储器并且与其他执行单元不同。 负载单元包括一个ALU。 加载单元接收指定源操作数的存储器地址的指令,要在源操作数上执行的用于生成结果的操作以及要存储结果的寄存器集的目标寄存器。 加载单元从缓存中读取源操作数。 ALU对源操作数执行操作以生成结果,而不是将源操作数转发到微处理器的任何其他执行单元,以对源操作数执行操作以生成结果。 加载单元将结果退出到目的地寄存器。