Decoder having independently loaded micro-alias and macro-alias
registers accessible simultaneously by one micro-operation
    1.
    发明授权
    Decoder having independently loaded micro-alias and macro-alias registers accessible simultaneously by one micro-operation 失效
    解码器具有独立加载的微别名和宏别名寄存器,可通过一个微操作同时访问

    公开(公告)号:US5559974A

    公开(公告)日:1996-09-24

    申请号:US459284

    申请日:1995-06-02

    摘要: A decoder that includes a micro-alias register to store information from a micro-operation for use by later micro-operations in the micro-operation flow. The decoder includes one or more XLAT PLAs that produces PLA control micro-operations ("Cuops"), a microcode sequencing unit that produces microcode Cuops, and an aliasing mechanism that extracts fields and stores them in macro-alias registers. A multiplexer is provided to select the appropriate Cuop to be stored in a Cuop register. Multiple Cuops may issue each cycle. A multiplexer is coupled to select one of the Cuops and to store predetermined fields in the micro-alias register for use by subsequent Cuops. Micro-alias data and macro-alias data can be utilized simultaneously with a Cuop to form an Auop.

    摘要翻译: 一种解码器,其包括微型别名寄存器,用于存储来自微操作的信息以供微操作流中的后续微操作使用。 解码器包括产生PLA控制微操作(“Cuops”)的一个或多个XLAT PLA,产生微代码Cuops的微代码排序单元,以及提取字段并将其存储在宏别名寄存器中的混叠机制。 提供多路复用器以选择要存储在Cuop寄存器中的适当Cuop。 多个Cuops可以发出每个周期。 多路复用器被耦合以选择Cuops中的一个并且将预定字段存储在微别名寄存器中以供随后的Cuops使用。 Micro-alias数据和宏别名数据可以与Cuop同时使用以形成Auop。

    Method for state recovery during assist and restart in a decoder having
an alias mechanism
    2.
    发明授权
    Method for state recovery during assist and restart in a decoder having an alias mechanism 失效
    在具有别名机制的解码器中辅助和重启期间的状态恢复方法

    公开(公告)号:US5566298A

    公开(公告)日:1996-10-15

    申请号:US204744

    申请日:1994-03-01

    摘要: A state recovery and restart method that simplifies assist handling. The recovery and restart method also handles micro-branch mispredictions. An assist sequence is executed in microcode to assist an error-causing macroinstruction. If data is required from an error-causing macroinstruction, it is fetched, decoded, and macro-alias registers are restored with macro-alias data. To recover the state of the micro-alias registers, micro-alias data from a micro-operation of the flow may be loaded into the micro-alias register. Subsequently, control returns to the Micro-operation Sequence (MS) unit to issue further error correction Control micro-operations (Cuops). In order to simplify restart, the Cuops originating from the error-causing macroinstruction supplied by the translate programmable logic arrays (XLAT PLAs) are loaded into the Cuop registers, with their valid bits unasserted. If microcode requests a restart beginning at one of the Cuops stored in the Cuop register, then the bits for that Cuop and subsequent Cuops are marked valid. Thus, the instruction can be restarted anywhere within the microcode sequence.

    摘要翻译: 一种简化辅助处理的状态恢复和重启方法。 恢复和重新启动方法也处理微分支错误预测。 在微代码中执行辅助序列以辅助引起错误的宏指令。 如果需要来自导致错误的宏指令的数据,则会获取,解码和使用宏别名数据恢复宏别名寄存器。 为了恢复微别名寄存器的状态,来自流程的微操作的微别名数据可以被加载到微别名寄存器中。 随后,控制返回到微操作序列(MS)单元以发出进一步的纠错控制微操作(Cuops)。 为了简化重新启动,由翻译可编程逻辑阵列(XLAT PLA)提供的引起误差的宏指令产生的钳位被加载到Cuop寄存器中,其有效位被置为无效。 如果微码请求从Cuop寄存器中存储的一个Cuops开始重新启动,那么该Cuop和后续Cuops的位将被标记为有效。 因此,可以在微代码序列内的任何地方重新启动指令。

    Decoding circuit and method providing immediate data for a
micro-operation issued from a decoder
    3.
    发明授权
    Decoding circuit and method providing immediate data for a micro-operation issued from a decoder 失效
    解码电路和方法提供从解码器发出的微操作的即时数据

    公开(公告)号:US5581717A

    公开(公告)日:1996-12-03

    申请号:US204742

    申请日:1994-03-01

    摘要: Decoding circuitry and a method supplying an immediate field that is issued from a decoder. A macroinstruction is supplied to the decoding circuit, which generates a first micro-operation that includes a first aliasing field and a first immediate field. The first aliasing field indicates the source of the micro-operation that will eventually be issued from the decoder. If the source is the first immediate field, then the alias field is further examined to determine the interpretation to be placed upon the data. The data may be interpreted literally, or as an address into a constant ROM, thereby providing an ability to output wide, 32-bit immediate data from a narrower, 9-bit input addresses. Additional sources for immediate data include macro-alias registers, macro-branch information, and micro-branch information.

    摘要翻译: 解码电路和提供从解码器发出的立即字段的方法。 宏指令被提供给解码电路,其产生包括第一混叠字段和第一立即字段的第一微操作。 第一个混叠字段指示最终将从解码器发出的微操作的源。 如果源是第一个立即字段,则进一步检查别名字段以确定要放置在数据上的解释。 数据可以被字面地解释,或者作为一个地址到恒定的ROM中,从而提供从较窄的9位输入地址输出宽的32位立即数据的能力。 即时数据的其他来源包括宏别名寄存器,宏分支信息和微分支信息。

    Method and apparatus for generating a microinstruction responsive to the
specification of an operand, in addition to a microinstruction based on
the opcode, of a macroinstruction
    4.
    发明授权
    Method and apparatus for generating a microinstruction responsive to the specification of an operand, in addition to a microinstruction based on the opcode, of a macroinstruction 失效
    响应于操作数的指定而产生微指令的方法和装置,除了基于操作码的微指令之外,宏指令

    公开(公告)号:US6041403A

    公开(公告)日:2000-03-21

    申请号:US721900

    申请日:1996-09-27

    IPC分类号: G06F9/28 G06F9/30 G06F9/38

    摘要: A method and apparatus for decoding a macroinstruction, the macroinstruction including an operational code (opcode) and a specification of an operand, is described. The method includes two primary steps, which are performed either serially or in parallel. When performed serially, the steps may be performed in any order. The first primary step involves the generation of a first micro-instruction, specifying a first micro-operation, the first micro-instruction being derived from the specification of the operand of the macroinstruction. The second primary step involves the generation of a second micro-instruction, specifying a second micro-operation, the second micro-instruction being derived from the opcode of macroinstruction. The specification of the operand may specify the operand to be either a memory operand or a register operand in a manner that necessitates data processing or manipulation prior to a memory access or to execution of the second micro-instruction. More specifically, the specification of the operand in the macroinstruction may require alignment of operands retrieved from registers, prior to execution of the second instruction. In this case, the first micro-instruction may require a shift operation after retrieval of the operands.

    摘要翻译: 描述了用于解码宏指令的方法和装置,包括操作代码(操作码)的宏指令和操作数的指定。 该方法包括串行或并行执行的两个主要步骤。 当连续执行时,可以以任何顺序执行步骤。 第一个主要步骤涉及产生第一个微指令,指定第一个微操作,第一个微指令是从宏指令的操作数的指定中导出的。 第二主要步骤涉及产生第二微指令,指定第二微操作,第二微指令是从宏指令的操作码导出的。 操作数的指定可以将操作数指定为存储器操作数或寄存器操作数,其方式是在存储器访问之前必须进行数据处理或操作,或执行第二微指令。 更具体地说,宏指令中的操作数的规范可能需要在执行第二指令之前对从寄存器检索的操作数的对齐。 在这种情况下,第一微指令可能需要在检索操作数之后进行移位操作。

    Decoder having a split queue system for processing intstructions in a
first queue separate from their associated data processed in a second
queue
    5.
    发明授权
    Decoder having a split queue system for processing intstructions in a first queue separate from their associated data processed in a second queue 失效
    解码器具有分离队列系统,用于处理与在第二队列中处理的相关联的数据分离的第一队列中的指令

    公开(公告)号:US5668985A

    公开(公告)日:1997-09-16

    申请号:US204992

    申请日:1994-03-01

    IPC分类号: G06F9/22 G06F9/30 G06F9/38

    摘要: A split queue system for a decoder that supplies one or more micro-operations and data associated with the micro-operations. A main queue is coupled to receive one or more micro-operations from the decoder, and supply it to a next processing stage to provide a process micro-operation. A shadow queue is coupled to receive data associated with the micro-operation, in the same cycle that the micro-operation is supplied to the main queue. A control circuit is coupled to the main queue for issuing micro-operation from the main queue into the next processing stage in a first cycle, and in a second cycle issuing, the micro-operation therefrom. Also in the second cycle, the control circuit issues the data associated with the micro-operation from the shadow queue, so that the data is synchronized with its associated processed micro-operation.

    摘要翻译: 用于解码器的分离队列系统,其提供与微操作相关联的一个或多个微操作和数据。 主队列被耦合以从解码器接收一个或多个微操作,并将其提供给下一个处理阶段以提供处理微操作。 耦合影子队列以在微操作被提供给主队列的同一周期中接收与微操作相关联的数据。 控制电路耦合到主队列,用于在第一周期中从主队列发出微操作到下一个处理级,并且在第二周期中从其发出微操作。 同样在第二周期中,控制电路从影子队列发出与微操作相关联的数据,使得数据与其相关联的处理的微操作同步。

    Method and apparatus for aligning an instruction boundary in variable
length macroinstructions with an instruction buffer
    6.
    发明授权
    Method and apparatus for aligning an instruction boundary in variable length macroinstructions with an instruction buffer 失效
    用于将可变长度宏指令中的指令边界与指令缓冲器对齐的方法和装置

    公开(公告)号:US5822555A

    公开(公告)日:1998-10-13

    申请号:US716974

    申请日:1996-09-20

    IPC分类号: G06F9/30

    摘要: A circuit and method for supplying and aligning a block of multiple variable length macro instructions to an instruction buffer. Only one cycle is required to align and rotate the block of instruction code. A last byte vector of the instruction code in the instruction buffer is scanned from the last byte in a direction from back to front, thereby saving time. Rotating begins immediately so that a next block of instruction code is available in a next cycle. The block is stored in the instruction buffer after all macroinstructions therein have been steered to the decoder.

    摘要翻译: 一种用于将多个可变长度宏指令的块提供和对准到指令缓冲器的电路和方法。 只需一个周期来对齐和旋转指令代码块。 指令缓冲器中的指令代码的最后一个字节向量从最后一个字节沿着从前到前的方向扫描,从而节省时间。 立即开始旋转,以便在下一个周期中下一个指令代码块可用。 在其中的所有宏指令被转向解码器之后,该块被存储在指令缓冲器中。

    Method and apparatus for aligning an instruction boundary in variable
length macroinstructions with an instruction buffer
    7.
    发明授权
    Method and apparatus for aligning an instruction boundary in variable length macroinstructions with an instruction buffer 失效
    用于将可变长度宏指令中的指令边界与指令缓冲器对齐的方法和装置

    公开(公告)号:US5600806A

    公开(公告)日:1997-02-04

    申请号:US204862

    申请日:1994-03-01

    IPC分类号: G06F9/30 G06F12/04

    摘要: A circuit and method for supplying and aligning a block of multiple variable length macro instructions to an instruction buffer. Only one cycle is required to align and rotate the block of instruction code. A last byte vector of the instruction code in the instruction buffer is scanned from the last byte in a direction from back to front, thereby saving time. Rotating begins immediately so that a next block of instruction code is available in a next cycle. The block is stored in the instruction buffer after all macroinstructions therein have been steered to the decoder.

    摘要翻译: 一种用于将多个可变长度宏指令的块提供和对准到指令缓冲器的电路和方法。 只需一个周期来对齐和旋转指令代码块。 指令缓冲器中的指令代码的最后一个字节向量从最后一个字节沿着从前到前的方向扫描,从而节省时间。 立即开始旋转,以便在下一个周期中下一个指令代码块可用。 在其中的所有宏指令被转向解码器之后,该块被存储在指令缓冲器中。

    Packing valid micro operations received from a parallel decoder into
adjacent locations of an output queue
    8.
    发明授权
    Packing valid micro operations received from a parallel decoder into adjacent locations of an output queue 失效
    将从并行解码器接收的有效微操作打包到输出队列的相邻位置

    公开(公告)号:US5673427A

    公开(公告)日:1997-09-30

    申请号:US675419

    申请日:1996-07-03

    摘要: A micro-operation queue for holding a plurality of micro-operations supplied simultaneously by a decoder. A plurality of packing multiplexers are coupled to receive the plurality of micro-operations, and valid bits associated therewith, and to provide packed micro-operation data output in which the valid micro-operations are positioned in adjacent outputs, thereby removing all empty slots. A FIFO queue receives the packed data, in responsive to valid micro-operations, stores the valid micro-operations starting with the next available empty queue location. An embodiment described in which the FIFO queue includes a circular queue with a plurality of entries. In one embodiment, alignment multiplexers for the circular queue are combined with the packing multiplexers, to provide a single-level plurality of packing and aligning multiplexers that has a control system that, responsive to the valid bits of the packed data and the next available pointer of the circular queue, packs, aligns, and stores the micro-operations into the circular queue from where they can be issued.

    摘要翻译: 一种用于保持由解码器同时提供的多个微操作的微操作队列。 耦合多个封装多路复用器以接收多个微操作以及与其相关联的有效位,并且提供压缩的微操作数据输出,其中有效微操作位于相邻的输出端,从而去除所有的空槽。 FIFO队列接收打包数据,响应于有效的微操作,存储从下一个可用空队列位置开始的有效微操作。 所描述的实施例,其中FIFO队列包括具有多个条目的循环队列。 在一个实施例中,用于循环队列的对准多路复用器与打包多路复用器组合,以提供具有控制系统的单级多个打包和对准多路复用器,该控制系统响应于打包数据的有效位和下一个可用指针 的循环队列,将微操作打包,对齐并存储到可以从其发布的循环队列中。

    Method for parallel steering of fixed length fields containing a
variable length instruction from an instruction buffer to parallel
decoders
    9.
    发明授权
    Method for parallel steering of fixed length fields containing a variable length instruction from an instruction buffer to parallel decoders 失效
    包含从指令缓冲器到并行解码器的可变长度指令的固定长度字段的并行方法

    公开(公告)号:US5586277A

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

    申请号:US479867

    申请日:1995-06-07

    IPC分类号: G06F9/30 G06F9/38

    摘要: A circuit and method for simultaneously steering multiple aligned macroinstructions from an instruction buffer to a decoder that receives and decodes multiple macroinstructions in parallel. A first macroinstruction is supplied to a first decoder by steering a first predetermined number of bytes following the first buffer byte. A second macroinstruction is supplied by scanning a first opcode byte vector to locate a first opcode byte, and then steering a second predetermined number of bytes beginning at said first opcode to a second decoder. Operations to locate the first byte of each of the macroinstructions and to steer them to the decoders are accomplished in one cycle. If said macroinstruction cannot be decoded by said second decoder, then it is resteered to the first decoder. Steering and resteering operations continue until all complete macroinstructions within the instruction buffer have been accepted by the decoders.

    摘要翻译: 一种用于从指令缓冲器同时引导多个对准的宏指令到解码器的电路和方法,该解码器并行地接收和解码多个宏指令。 通过转向第一缓冲区字节之后的第一预定数量的字节来将第一宏指令提供给第一解码器。 通过扫描第一操作码字节向量来定位第一操作码字节,然后将从所述第一操作码开始的第二预定数量的字节转向第二解码器来提供第二宏指令。 定位每个宏指令的第一个字节并将其转向解码器的操作在一个周期内完成。 如果所述宏指令不能由所述第二解码器解码,则将其重新安排到第一解码器。 指导缓冲区内的所有完整宏指令都被解码器接受,继续操作和重新开始操作。