Efficient conditional ALU instruction in read-port limited register file microprocessor
    1.
    发明授权
    Efficient conditional ALU instruction in read-port limited register file microprocessor 有权
    读端口限制寄存器文件微处理器中有效的条件ALU指令

    公开(公告)号:US09032189B2

    公开(公告)日:2015-05-12

    申请号:US13333520

    申请日:2011-12-21

    IPC分类号: G06F9/30

    摘要: A microprocessor having performs an architectural instruction that instructs it to perform an operation on first and second source operands to generate a result and to write the result to a destination register only if its architectural condition flags satisfy a condition specified in the architectural instruction. A hardware instruction translator translates the instruction into first and second microinstructions. To execute the first microinstruction, an execution pipeline performs the operation on the source operands to generate the result. To execute the second microinstruction, it writes the destination register with the result generated by the first microinstruction if the architectural condition flags satisfy the condition, and writes the destination register with the current value of the destination register if the architectural condition flags do not satisfy the condition.

    摘要翻译: 一种微处理器,其执行结构指令,指示其在第一和第二源操作数上执行操作以产生结果,并且仅当其结构条件标志满足建筑指令中指定的条件时才将结果写入目的寄存器。 硬件指令转换器将指令转换为第一和第二微指令。 要执行第一个微指令,执行流水线对源操作数执行操作以生成结果。 要执行第二个微指令,如果架构条件标志满足条件,则将目标寄存器写入由第一微指令生成的结果,如果结构条件标志不满足条件标志,则将目标寄存器写入目标寄存器的当前值 条件。

    Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor
    2.
    发明授权
    Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor 有权
    条件ALU指令条件满足在读端口限制寄存器文件微处理器中的微指令之间的传播

    公开(公告)号:US08924695B2

    公开(公告)日:2014-12-30

    申请号:US13333631

    申请日:2011-12-21

    IPC分类号: G06F9/30

    摘要: An architectural instruction instructs a microprocessor to perform an operation on first and second source operands to generate a result and to write the result to a destination register only if architectural condition flags satisfy a condition specified in the architectural instruction. A hardware instruction translator translates the architectural instruction into first and second microinstructions. To execute the first microinstruction, an execution pipeline performs the operation on the source operands to generate the result, determines whether the architectural condition flags satisfy the condition, and updates a non-architectural indicator to indicate whether the architectural condition flags satisfy the condition. To execute the first microinstruction, if the non-architectural indicator updated by the first microinstruction indicates the architectural condition flags satisfy the condition, it updates the destination register with the result; otherwise, it updates the destination register with the current value of the destination register.

    摘要翻译: 架构指令指示微处理器对第一和第二源操作数执行操作以产生结果,并且只有在体系结构条件标志满足建筑指令中指定的条件时才将结果写入目的寄存器。 硬件指令翻译器将架构指令转换为第一和第二微指令。 为了执行第一微指令,执行流水线对源操作数执行操作以生成结果,确定架构条件标志是否满足条件,并更新非架构指示符以指示架构条件标志是否满足条件。 为了执行第一微指令,如果由第一微指令更新的非架构指示符指示架构条件标志满足条件,则用结果更新目的寄存器; 否则,它将使用目标寄存器的当前值更新目标寄存器。

    Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor
    3.
    发明授权
    Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor 有权
    条件ALU指令在读端口限制寄存器文件微处理器中的微指令之前进行移位生成的进位标志传播

    公开(公告)号:US08880857B2

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

    申请号:US13333572

    申请日:2011-12-21

    IPC分类号: G06F9/30

    摘要: A microprocessor includes a hardware instruction translator that translates an architectural instruction into first and second microinstructions. To execute the first microinstruction, an execution pipeline performs the shift operation on the first source operand to generate the first result and a carry flag value and updates a non-architectural carry flag with the generated carry flag value. To execute the second microinstruction, it performs the second operation on the first result and the second operand to generate the second result and new condition flag values based on the second result. If a architectural condition flags satisfy the condition, it updates the architectural carry flag with the non-architectural carry flag value and updates at least one of the other architectural condition flags with the corresponding generated new condition flag values; otherwise, it updates the architectural condition flags with the current value of the architectural condition flags.

    摘要翻译: 微处理器包括将架构指令转换成第一和第二微指令的硬件指令转换器。 为了执行第一微指令,执行流水线对第一源操作数执行移位操作以产生第一结果和进位标志值,并且利用所生成的进位标志值更新非架构进位标志。 为了执行第二微指令,它对第一结果和第二操作数执行第二操作,以基于第二结果产生第二结果和新条件标志值。 如果架构条件标志满足条件,则使用非架构进位标志值来更新架构进位标志,并用对应的生成的新条件标志值来更新其他架构状态标志中的至少一个; 否则,它使用架构条件标志的当前值更新架构条件标志。

    Microprocessor that translates conditional load/store instructions into variable number of microinstructions
    4.
    发明授权
    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.

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

    Microprocessor with fused store address/store data microinstruction
    5.
    发明授权
    Microprocessor with fused store address/store data microinstruction 有权
    具有融合存储地址/存储数据微指令的微处理器

    公开(公告)号:US08090931B2

    公开(公告)日:2012-01-03

    申请号:US12233261

    申请日:2008-09-18

    IPC分类号: G06F9/34

    摘要: A microprocessor includes an instruction translator that translates PUSHF, POP, and MOVSB x86 macroinstructions into multiple microinstructions that include a fused store microinstruction. For PUSHF, first and second microinstructions moves the x86 EFLAGS register into and mask off bits in a temporary register, and the fused store microinstruction stores it to a memory location. For POP, a first microinstruction loads a first memory location value into a temporary register and the fused store microinstruction stores it to the second memory location. For MOVSB, the first microinstruction loads a first memory location operand into a temporary register and the fused store microinstruction stores it to a second memory location. A reorder buffer receives the fused store microinstruction into exactly one entry. In response to the fused store microinstruction, an instruction dispatcher dispatches store address and store data microinstructions, neither of which occupies a reorder buffer entry, to different respective execution units.

    摘要翻译: 微处理器包括将PUSHF,POP和MOVSB x86宏指令转换成包括融合存储微指令的多个微指令的指令转换器。 对于PUSHF,第一和第二微指令将x86 EFLAGS寄存器移入临时寄存器中并将其屏蔽,并且融合存储微指令将其存储到存储器位置。 对于POP,第一微指令将第一存储器位置值加载到临时寄存器中,并且融合存储器微指令将其存储到第二存储器位置。 对于MOVSB,第一微指令将第一存储器位置操作数加载到临时寄存器中,并且熔接存储器微指令将其存储到第二存储器位置。 重新排序缓冲器将融合存储微指令接收到正好一个条目。 响应于融合存储微指令,指令分派器调度存储地址并存储数据微指令(这两个微指令都不占用重排序缓冲器入口)到不同的各个执行单元。

    Microprocessor with microinstruction-specifiable non-architectural condition code flag register
    6.
    发明授权
    Microprocessor with microinstruction-specifiable non-architectural condition code flag register 有权
    具有微指令可指定非架构状态代码标志寄存器的微处理器

    公开(公告)号:US08069339B2

    公开(公告)日:2011-11-29

    申请号:US12469430

    申请日:2009-05-20

    摘要: A microprocessor includes an architectural register and a non-architectural register, each having a plurality of condition code flags. A first instruction of the microarchitectural instruction set of the microprocessor instructs the microprocessor to update the plurality of condition code flags based on a result of the first instruction. The first instruction includes a field for indicating whether to update the plurality of condition code flags of the architectural or non-architectural register. A second instruction of the microarchitectural instruction set instructs the microprocessor to conditionally perform an operation based on one of the plurality of condition code flags. The second instruction includes a field for indicating whether to use the one of the plurality of condition code flags of the architectural or non-architectural register to determine whether to perform the operation.

    摘要翻译: 微处理器包括架构寄存器和非架构寄存器,每个都具有多个条件码标志。 微处理器的微架构指令集的第一指令指示微处理器基于第一指令的结果来更新多个条件代码标志。 第一指令包括用于指示是否更新架构或非架构寄存器的多个条件代码标志的字段。 微架构指令集的第二指令指示微处理器基于多个条件代码标志之一有条件地执行操作。 第二指令包括用于指示是否使用架构或非架构寄存器的多个条件代码标志中的一个来确定是否执行操作的字段。

    MICROPROCESSOR WITH MICROINSTRUCTION-SPECIFIABLE NON-ARCHITECTURAL CONDITION CODE FLAG REGISTER
    7.
    发明申请
    MICROPROCESSOR WITH MICROINSTRUCTION-SPECIFIABLE NON-ARCHITECTURAL CONDITION CODE FLAG REGISTER 有权
    带微型可编程非标建筑规范标志寄存器的微处理器

    公开(公告)号:US20100299504A1

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

    申请号:US12469430

    申请日:2009-05-20

    IPC分类号: G06F9/30

    摘要: A microprocessor includes an architectural register and a non-architectural register, each having a plurality of condition code flags. A first instruction of the microarchitectural instruction set of the microprocessor instructs the microprocessor to update the plurality of condition code flags based on a result of the first instruction. The first instruction includes a field for indicating whether to update the plurality of condition code flags of the architectural or non-architectural register. A second instruction of the microarchitectural instruction set instructs the microprocessor to conditionally perform an operation based on one of the plurality of condition code flags. The second instruction includes a field for indicating whether to use the one of the plurality of condition code flags of the architectural or non-architectural register to determine whether to perform the operation.

    摘要翻译: 微处理器包括架构寄存器和非架构寄存器,每个都具有多个条件码标志。 微处理器的微架构指令集的第一指令指示微处理器基于第一指令的结果来更新多个条件代码标志。 第一指令包括用于指示是否更新架构或非架构寄存器的多个条件代码标志的字段。 微架构指令集的第二指令指示微处理器基于多个条件代码标志之一有条件地执行操作。 第二指令包括用于指示是否使用架构或非架构寄存器的多个条件代码标志中的一个来确定是否执行操作的字段。

    Apparatus and method for masked move to and from flags register in a processor
    8.
    发明授权
    Apparatus and method for masked move to and from flags register in a processor 有权
    在处理器中屏蔽移动到标志寄存器的装置和方法

    公开(公告)号:US07076639B2

    公开(公告)日:2006-07-11

    申请号:US10279207

    申请日:2002-10-22

    IPC分类号: G06F9/00

    摘要: A method and apparatus are provided for writing to a flags register in a pipeline microprocessor. Responsive to a macro instruction that directs a write to the flags register, a mask is generated using destination information for the write and privilege level information for the write, where the mask permits updates of particular bits within the flags register that are appropriate for the current operating mode. The mask is then ANDed with new values for bits within the flags register and the result is written to the flags register in a single instruction cycle.

    摘要翻译: 提供了一种用于向流水线微处理器中的标志寄存器进行写入的方法和装置。 响应于将指令写入标志寄存器的宏指令,使用用于写入的写入和特权级别信息的目的地信息生成掩码,其中掩码允许更新标志寄存器内适合于当前值的特定位 操作模式。 然后将掩码与标志寄存器中的位的新值进行AND运算,并将结果以单个指令周期写入标志寄存器。

    Conditional load instructions in an out-of-order execution microprocessor
    9.
    发明授权
    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
    10.
    发明申请
    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.

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