Method and apparatus for verifying the correctness of a processor behavioral model
    1.
    发明授权
    Method and apparatus for verifying the correctness of a processor behavioral model 失效
    用于验证处理器行为模型的正确性的方法和装置

    公开(公告)号:US07139936B2

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

    申请号:US10645567

    申请日:2003-08-22

    IPC分类号: G06F11/00

    CPC分类号: G06F11/261

    摘要: An apparatus verifies the correctness of a behavioral model of a microcode machine, where the microcode machine is operable in a native state and an emulated state. The apparatus includes means for producing the native state, means for producing the emulated state, and means for comparing the native state and the emulated state. Corresponding to the apparatus, a method verifies the correctness of a processor behavioral model, where the processor operates in a native mode state and an emulated mode state. The method includes determining if a macroinstruction to be executed is a native instruction, and, if the macroinstruction is a native instruction, executing the native instruction, the execution producing the native mode state of the processor. The method further includes, if the macroinstruction is not a native instruction, fetching the macroinstruction, providing microinstructions corresponding to the macroinstruction, and executing the microinstructions, the execution producing the native mode state of the processor. Finally, the method includes executing the macroinstruction, the execution producing an emulated state of the processor, and comparing the native mode state the of the processor with the emulated state of the processor.

    摘要翻译: 一种装置验证微代码机器的行为模型的正确性,其中微代码机器可操作于原始状态和仿真状态。 该装置包括用于产生天然状态的装置,用于产生仿真状态的装置,以及用于比较天然状态和仿真状态的装置。 对应于该装置,一种方法验证处理器行为模型的正确性,其中处理器以本机模式状态和仿真模式状态操作。 该方法包括确定要执行的宏指令是否是本地指令,以及如果宏指令是本机指令,则执行本机指令,则产生处理器的本机模式状态的执行。 该方法还包括:如果宏指令不是本机指令,则获取宏指令,提供与宏指令相对应的微指令,以及执行微指令,执行产生处理器的本机模式状态。 最后,该方法包括执行宏指令,执行产生处理器的仿真状态,以及将处理器的本机模式状态与处理器的仿真状态进行比较。

    Method and apparatus for verifying the fine-grained correctness of a behavioral model of a central processor unit
    2.
    发明授权
    Method and apparatus for verifying the fine-grained correctness of a behavioral model of a central processor unit 有权
    用于验证中央处理器单元的行为模型的细粒度正确性的方法和装置

    公开(公告)号:US06625759B1

    公开(公告)日:2003-09-23

    申请号:US09502366

    申请日:2000-02-18

    IPC分类号: H02H305

    CPC分类号: G06F11/261

    摘要: A method and an apparatus checks the fine-grain correctness of a microcode machine central processor unit (CPU) behavioral model. Macroinstructions are decomposed into microinstructions and each microinstruction is executed sequentially. A sequence of microinstructions is determined by an emulated microinstruction sequencer, using dynamic execution information, including information from execution of prior microinstructions in the sequence of microinstructions. At the end of execution of each microinstruction, a reference state is compared to a corresponding state of the behavioral model, and any differences are noted. After execution of all microinstructions in the microinstruction sequence, a reference state is compared to a corresponding state of the behavioral model, and any differences are noted.

    摘要翻译: 一种方法和装置检查微码机中央处理器单元(CPU)行为模型的细粒度正确性。 宏指令被分解为微指令,并且每个微指令都被顺序执行。 微指令序列由模拟的微指令测序仪确定,使用动态执行信息,包括在微指令序列中执行先前微指令的信息。 在每个微指令的执行结束时,将参考状态与行为模型的相应状态进行比较,并且注意到任何差异。 在微指令序列中执行所有微指令之后,将参考状态与行为模型的相应状态进行比较,并记录任何差异。

    Method and apparatus for testing microarchitectural features by using tests written in microcode
    3.
    发明授权
    Method and apparatus for testing microarchitectural features by using tests written in microcode 有权
    通过使用微码编写的测试微体系结构特征的方法和装置

    公开(公告)号:US06643800B1

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

    申请号:US09496367

    申请日:2000-02-02

    IPC分类号: G06F1100

    CPC分类号: G06F9/30174

    摘要: An apparatus and a method of testing computer microarchitectures has a test writer create a test sequence written directly in microinstructions (both native-mode and emulation-only microinstructions). The microinstruction sequence is then inserted into a reprogrammable microcode storage, replacing the normal sequence of microinstructions for a given macroinstruction. In order to execute the microinstructions, the test writer can issue the macroinstruction. The method may be implemented in a simulation model where one set of microinstructions in the reprogrammable microcode storage can be easily replaced. The method may also be applied to an actual microprocessor implementation.

    摘要翻译: 一种测试计算机微体系结构的设备和方法,测试笔者创建一个直接写入微指令(包括天体模式和仅仿真微指令)的测试序列。 然后将微指令序列插入可重编程的微代码存储器中,替换给定宏指令的微指令的正常序列。 为了执行微指令,测试者可以发出宏指令。 该方法可以在仿真模型中实现,其中可重新编程的微代码存储器中的一组微指令可以容易地替换。 该方法也可以应用于实际的微处理器实现。

    Apparatus and method for conditionally flushing a pipeline upon a failure of a test condition
    4.
    发明授权
    Apparatus and method for conditionally flushing a pipeline upon a failure of a test condition 失效
    在测试条件故障时有条件地冲洗管道的装置和方法

    公开(公告)号:US06745322B1

    公开(公告)日:2004-06-01

    申请号:US09507505

    申请日:2000-02-18

    IPC分类号: G06F944

    摘要: A method and apparatus that utilizes a simple test and flush mechanism to implement branch instructions of one Instruction Set Architecture (ISA) using instructions of another ISA is described. During the decoding and sequencing of microinstructions to implement a branch instruction, a fix-up address, which represents the remedial branch target in the event of a mispredicted target or branch condition, is determined and stored. A test condition is set to determine if the prediction or the branch condition was correct. When the test condition fails, the instruction execution pipeline is immediately flushed to avoid executing any instruction remaining in the pipeline following the branch instructions. The flushing of the pipeline signals the instruction fetch control mechanism to redirect the instruction flow to the instruction corresponding to the fix-up address. A method and apparatus according to the present invention further allows flushing of the pipeline when conditions other than ones involved in branch instructions occurs, e.g., to flush stale instructions.

    摘要翻译: 描述了使用简单的测试和刷新机制来使用另一个ISA的指令来实现一个指令集架构(ISA)的分支指令的方法和装置。 在实现分支指令的微指令的解码和排序期间,确定并存储在错误的目标或分支条件的情况下表示补救分支目标的修正地址。 设置测试条件以确定预测或分支条件是否正确。 当测试条件失败时,立即刷新指令执行流水线,以避免在分支指令之后执行流水线中剩余的任何指令。 流水线的冲洗通知指令获取控制机制,将指令流重定向到与固定地址对应的指令。 根据本发明的方法和装置进一步允许在发生分支指令中涉及的条件以外的条件时冲洗管道,例如冲洗陈旧的指令。

    Method and apparatus for implementing two architectures in a chip
    5.
    发明授权
    Method and apparatus for implementing two architectures in a chip 失效
    用于在芯片中实现两种架构的方法和装置

    公开(公告)号:US07343479B2

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

    申请号:US10602916

    申请日:2003-06-25

    IPC分类号: G06F9/455

    摘要: The present invention is a method for implementing two architectures on a single chip. The method uses a fetch engine to retrieve instructions. If the instructions are macroinstructions, then it decodes the macroinstructions into microinstructions, and then bundles those microinstructions using a bundler, within an emulation engine. The bundles are issued in parallel and dispatched to the execution engine and contain pre-decode bits so that the execution engine treats them as microinstructions. Before being transferred to the execution engine, the instructions may be held in a buffer. The method also selects between bundled microinstructions from the emulation engine and native microinstructions coming directly from the fetch engine, by using a multiplexer or other means. Both native microinstructions and bundled microinstructions may be held in the buffer. The method also sends additional information to the execution engine.

    摘要翻译: 本发明是用于在单个芯片上实现两个架构的方法。 该方法使用提取引擎来检索指令。 如果指令是宏指令,则将宏指令解码为微指令,然后在仿真引擎内使用捆绑器捆绑这些微指令。 捆绑包并行发布并分发到执行引擎并包含预解码位,以便执行引擎将它们视为微指令。 在被传送到执行引擎之前,可以将指令保存在缓冲器中。 该方法还可以通过使用多路复用器或其他方式,从模拟引擎的捆绑微指令和直接从获取引擎进行的本机微指令之间进行选择。 本地微指令和捆绑的微指令都可以保存在缓冲区中。 该方法还向执行引擎发送附加信息。

    Method and apparatus for implementing two architectures in a chip using bundles that contain microinstructions and template information
    6.
    发明授权
    Method and apparatus for implementing two architectures in a chip using bundles that contain microinstructions and template information 失效
    用于使用包含微指令和模板信息的束来在芯片中实现两个架构的方法和装置

    公开(公告)号:US06618801B1

    公开(公告)日:2003-09-09

    申请号:US09496845

    申请日:2000-02-02

    IPC分类号: G06F1500

    摘要: The present invention is a method for implementing two architectures on a single chip. The method uses a fetch engine to retrieve instructions. If the instructions are macroinstructions, then it decodes the macroinstructions into microinstructions, and then bundles those microinstructions using a bundler, within an emulation engine. The bundles are issued in parallel and dispatched to the execution engine and contain pre-decode bits so that the execution engine treats them as microinstructions. Before being transferred to the execution engine, the instructions may be held in a buffer. The method also selects between bundled microinstructions from the emulation engine and native microinstructions coming directly from the fetch engine, by using a multiplexor or other means. Both native microinstructions and bundled microinstructions may be held in the buffer. The method also sends additional information to the execution engine.

    摘要翻译: 本发明是用于在单个芯片上实现两个架构的方法。 该方法使用提取引擎来检索指令。 如果指令是宏指令,则将宏指令解码为微指令,然后在仿真引擎内使用捆绑器捆绑这些微指令。 捆绑包并行发布并分发到执行引擎并包含预解码位,以便执行引擎将它们视为微指令。 在被传送到执行引擎之前,可以将指令保存在缓冲器中。 该方法还可以选择来自仿真引擎的捆绑微指令和直接来自取指引擎的本机微指令,通过使用多路复用器或其他方式。 本地微指令和捆绑的微指令都可以保存在缓冲区中。 该方法还向执行引擎发送附加信息。

    Method and apparatus to reduce penalty of microcode lookup
    7.
    发明授权
    Method and apparatus to reduce penalty of microcode lookup 失效
    减少微码查找罚款的方法和装置

    公开(公告)号:US06789186B1

    公开(公告)日:2004-09-07

    申请号:US09507038

    申请日:2000-02-18

    IPC分类号: G06G900

    CPC分类号: G06F9/3804 G06F9/30174

    摘要: A method and apparatus are provided for improving the rate at which macroinstructions are transformed into corresponding microinstructions. Encoding is added to a microcode storage device. The encoding indicates that a microinstruction flow will end in a determined number of cycles. The number of cycles is determined by the number of canceled instructions in a processing pipeline that would be introduced if no flow length prediction was used. For flow lengths less than a determined number of cycles, a hint bit is used in an entry point structure. For flow lengths greater than a determined length, a hint bit is encoded at a third line from an end of the microinstruction flow. Using this method, flows of any length can be hinted. Furthermore, flows that do not originate from the entry point structure can also be hinted. The method reduces the number of hint bits that are needed in the entry point structure and provides for better prediction.

    摘要翻译: 提供了一种方法和装置,用于提高宏指令转换成相应微指令的速率。 编码被添加到微代码存储设备中。 编码指示微指令流将以确定的周期数结束。 循环数由在不使用流量长度预测的情况下将被引入的处理流水线中的取消指令的数量来确定。 对于小于一定数量的循环的流量长度,在入口点结构中使用提示位。 对于大于确定长度的流量长度,提示位在微指令流的末尾的第三行编码。 使用这种方法,可以暗示任何长度的流。 此外,也可以暗示不源于入口点结构的流。 该方法减少了入口点结构中所需的提示位的数量,并提供了更好的预测。

    Methods and apparatus for exchanging the contents of registers
    9.
    发明授权
    Methods and apparatus for exchanging the contents of registers 失效
    用于交换寄存器内容的方法和装置

    公开(公告)号:US06668315B1

    公开(公告)日:2003-12-23

    申请号:US09449804

    申请日:1999-11-26

    IPC分类号: G06F9455

    摘要: A processor based computer system having dependency checking logic and a register stack, wherein the system overrides the dependency logic such that move instructions associated with the stack registers may be executed in parallel. The system operates such that it can be determined whether a stack underflow exception has occurred and if it has, the move instructions can be flushed, and a micro-code handler algorithm invoked that operates to allow execution of the move instructions in parallel without a stack underflow exception.

    摘要翻译: 具有依赖性检查逻辑和寄存器堆栈的基于处理器的计算机系统,其中所述系统覆盖所述依赖性逻辑,使得可以并行执行与所述堆栈寄存器相关联的移动指令。 系统操作使得可以确定是否发生堆栈下溢异常,并且如果已经发生了移动指令,则可以刷新移动指令,并且调用微代码处理器算法来操作以允许平行地执行移动指令而没有堆栈 下溢异常。

    Method and apparatus for emulating an instruction set extension in a digital computer system
    10.
    发明授权
    Method and apparatus for emulating an instruction set extension in a digital computer system 有权
    用于在数字计算机系统中仿真指令集扩展的方法和装置

    公开(公告)号:US06681322B1

    公开(公告)日:2004-01-20

    申请号:US09449846

    申请日:1999-11-26

    IPC分类号: G06F900

    摘要: Methods for emulating an instruction set extension, comprising providing data to be operated upon, executing a first instruction with respect to a first portion of the data without committing the results of the first executed instruction, if no unmasked exceptions occur with respect to the first portion of the data, executing a second instruction with respect to a second portion of the data, and if no unmasked exceptions occur with respect to the second portion of the data, committing the results of the second executed instruction and again executing the first instruction with respect to the first portion of the data. If the first instruction is executed again, its results are committed. A handler is invoked if an unmasked exception occurs.

    摘要翻译: 用于模拟指令集扩展的方法,包括提供要操作的数据,相对于所述数据的第一部分执行第一指令而不提交所述第一执行指令的结果,如果没有相对于所述第一部分发生未被掩蔽的异常 相对于数据的第二部分执行第二指令,并且如果相对于数据的第二部分没有发生未被屏蔽的异常,则提交第二执行指令的结果并再次执行第一指令 到数据的第一部分。 如果再次执行第一条指令,则其结果将被提交。 如果发生未屏蔽的异常,则调用处理程序。