Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor
    4.
    发明授权
    Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor 有权
    使用由指令地址索引的片上和片外查找表来控制处理器中的指令执行

    公开(公告)号:US08065504B2

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

    申请号:US11004729

    申请日:2004-12-02

    IPC分类号: G06F9/30

    CPC分类号: G06F9/45533

    摘要: A microprocessor chip has instruction pipeline circuitry, and instruction classification circuitry that classifies instructions as they are executed into a small number of classes and records a classification code value. An on-chip table has entries corresponding to a range of addresses of a memory and designed to hold a statistical assessment of a value of consulting an off-chip table in a memory of the computer. Lookup circuitry is designed to fetch an entry from the on-chip table as part of the basic instruction processing cycle of the microprocessor. A mask has a value set at least in part by a timer. The instruction pipeline circuitry is controlled based on the value of the on-chip table entry corresponding to the address of instructions processed, the current value of the mask, the recorded classification code, and the off-chip table.

    摘要翻译: 微处理器芯片具有指令流水线电路和指令分类电路,它们将执行的指令分类为少量类并记录分类代码值。 片上表具有对应于存储器的一系列地址的条目,并且被设计为保持在计算机的存储器中查看片外表的值的统计评估。 查找电路被设计为从微处理器的基本指令处理周期的一部分获取片上表格中的条目。 掩码至少部分由定时器设置的值。 基于与所处理的指令的地址,掩码的当前值,记录的分类代码和片外表相对应的片上表项的值来控制指令流水线电路。

    Side tables annotating an instruction stream
    5.
    发明授权
    Side tables annotating an instruction stream 有权
    侧表注释指令流

    公开(公告)号:US07069421B1

    公开(公告)日:2006-06-27

    申请号:US09429094

    申请日:1999-10-28

    IPC分类号: G06F9/30

    CPC分类号: G06F9/45533

    摘要: A microprocessor chip, and methods for use in that microprocessor chip. The chip has instruction pipeline circuitry and address translation circuitry. Table lookup circuitry indexes into a table, the table having an entry associated with each corresponding address range translated by the address translation circuitry. Each entry of the table describes a likelihood of the existence of an alternate coding of instructions located in the respective corresponding address range. The table lookup circuitry retrieves a table entry corresponding to the address, and is operable as part of the basic instruction cycle of executing an instruction of a non-supervisor mode program executing on a computer. Interrupt circuitry is cooperatively designed with the instruction pipeline circuitry to trigger an interrupt on execution of an instruction of a process, synchronously based at least in part on a memory state of the computer and the address of the instruction, the architectural definition of the instruction not calling for an interrupt. A handler for the interrupt is responsive to the contents of the table to affect the instruction pipeline circuitry to effect control of an architecturally-visible data manipulation behavior or control transfer behavior of the instruction based on the contents of a table entry associated with the instruction.

    摘要翻译: 微处理器芯片,以及用于该微处理器芯片的方法。 该芯片具有指令流水线电路和地址转换电路。 表查找电路索引到表中,该表具有与由地址转换电路翻译的每个相应地址范围相关联的条目。 该表的每个条目描述存在位于相应的相应地址范围内的指令的替代编码的可能性。 表查找电路检索对应于该地址的表条目,并可作为执行在计算机上执行的非主管模式程序的指令的基本指令周期的一部分。 中断电路与指令流水线电路协同设计,以至少部分地基于计算机的存储状态和指令的地址同步地触发执行过程指令的中断,指令的架构定义不是 要求中断。 用于中断的处理程序响应于表的内容,以影响指令流水线电路,以基于与该指令相关联的表条目的内容来实现对结构上可视数据操纵行为的控制或指令的控制传递行为。

    Computer with two execution modes
    6.
    发明申请
    Computer with two execution modes 有权
    具有两种执行模式的计算机

    公开(公告)号:US20090204785A1

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

    申请号:US11982419

    申请日:2007-10-31

    IPC分类号: G06F9/30 G06F12/10

    摘要: A computer. A processor pipeline alternately executes instructions coded for first and second different computer architectures or coded to implement first and second different processing conventions. A memory stores instructions for execution by the processor pipeline, the memory being divided into pages for management by a virtual memory manager, a single address space of the memory having first and second pages. A memory unit fetches instructions from the memory for execution by the pipeline, and fetches stored indicator elements associated with respective memory pages of the single address space from which the instructions are to be fetched. Each indicator element is designed to store an indication of which of two different computer architectures and/or execution conventions under which instruction data of the associated page are to be executed by the processor pipeline. The memory unit and/or processor pipeline recognizes an execution flow from the first page, whose associated indicator element indicates the first architecture. or execution convention, to the second page, whose associated indicator element indicates the first architecture or execution convention. In response to the recognizing, a processing mode of the processor pipeline or a storage content of the memory adapts to effect execution of instructions in the architecture and/or under the convention indicated by the indicator element corresponding to the instruction's page.

    摘要翻译: 一台电脑。 处理器流水线交替执行针对第一和第二不同计算机体系结构编码的编码或编码以执行第一和第二不同处理惯例的指令。 存储器存储由处理器流水线执行的指令,存储器被划分为页面以供虚拟存储器管理器管理,存储器的单个地址空间具有第一和第二页面。 存储器单元从存储器中取出指令以由流水线执行,并且获取存储的指示符元素,其与要获取指令的单个地址空间的相应存储器页相关联。 每个指示符元素被设计为存储两个不同的计算机体系结构和/或执行约定中的哪一个的指示,在该约定下,相关联的页面的指令数据将由处理器管线执行。 存储器单元和/或处理器流水线识别来自第一页面的执行流程,其相关联的指示符元素指示第一架构。 或执行约定,到第二页,其相关联的指示符元素指示第一个架构或执行约定。 响应于识别,处理器流水线的处理模式或存储器的存储内容适应于执行由该指令页面所对应的指标元素所指示的体系结构和/或规定的指令。

    Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
    7.
    发明授权
    Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination 有权
    用于执行两个指令集的计算机,并添加一个宏指令结束标记,用于在循环终止后执行迭代

    公开(公告)号:US07941647B2

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

    申请号:US11982419

    申请日:2007-10-31

    IPC分类号: G06F9/22

    摘要: A computer. A processor pipeline alternately executes instructions coded for first and second different computer architectures or coded to implement first and second different processing conventions. A memory stores instructions for execution by the processor pipeline, the memory being divided into pages for management by a virtual memory manager, a single address space of the memory having first and second pages. A memory unit fetches instructions from the memory for execution by the pipeline, and fetches stored indicator elements associated with respective memory pages of the single address space from which the instructions are to be fetched. Each indicator element is designed to store an indication of which of two different computer architectures and/or execution conventions under which instruction data of the associated page are to be executed by the processor pipeline. The memory unit and/or processor pipeline recognizes an execution flow from the first page, whose associated indicator element indicates the first architecture or execution convention, to the second page, whose associated indicator element indicates the first architecture or execution convention. In response to the recognizing, a processing mode of the processor pipeline or a storage content of the memory adapts to effect execution of instructions in the architecture and/or under the convention indicated by the indicator element corresponding to the instruction's page.

    摘要翻译: 一台电脑。 处理器流水线交替执行针对第一和第二不同计算机体系结构编码的编码或编码以执行第一和第二不同处理惯例的指令。 存储器存储由处理器流水线执行的指令,存储器被划分为页面以供虚拟存储器管理器管理,存储器的单个地址空间具有第一和第二页面。 存储器单元从存储器中取出指令以由流水线执行,并且获取存储的指示符元素,其与要获取指令的单个地址空间的相应存储器页相关联。 每个指示符元素被设计为存储两个不同的计算机体系结构和/或执行约定中的哪一个的指示,在该约定下,相关联的页面的指令数据将由处理器管线执行。 存储器单元和/或处理器流水线将来自第一页面的执行流程(其相关联的指示符元素指示第一架构或执行约定)识别到第二页面,其第二页面的相关联的指示符元素指示第一个架构或执行约定。 响应于识别,处理器流水线的处理模式或存储器的存储内容适应于执行由该指令页面所对应的指标元素所指示的体系结构和/或规定的指令。

    Modifying program execution based on profiling
    8.
    发明授权
    Modifying program execution based on profiling 有权
    基于分析修改程序执行

    公开(公告)号:US06763452B1

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

    申请号:US09339797

    申请日:1999-06-24

    IPC分类号: G06F900

    摘要: A method and a multiprocessor computer for execution of the method. A first CPU has a general register file, an instruciton pipeline, and profile circuitry. The profile circuitry is operatively interconnected and under common hardware control with the instruction pipeline. The profile circuitry and instruction pipeline are cooperatively interconnected to detect the occurrence of profileable events occurring in the instruction pipeline. The profile circuitry is operable without software intervention to effect recording of profile information describing the profileable events into the general register file, without first capturing the information into a main memory of the computer. The recording is essentially concurrent with the occurrence of the profileable events. A second CPU is configured to analyze the generated profile data, while the execution and profile data generation continue on the first CPU, and to control the execution of the program on the first CPU based at least in part on the analysis of the collected profile data.

    摘要翻译: 一种用于执行该方法的方法和多处理器计算机。 第一个CPU有一个通用寄存器文件,一个通道管道和一个轮廓电路。 配置文件电路与指令管道可操作地互连,并在通用的硬件控制下。 配置文件电路和指令流水线协同互连,以检测在指令流水线中发生的可轮廓事件的发生。 配置文件电路可操作而无需软件干预,以便将描述可描述事件的简档信息记录到通用寄存器文件中,而无需首先将信息捕获到计算机的主存储器中。 录音本质上与可配置事件的发生同时发生。 第二CPU被配置为分析生成的简档数据,同时在第一CPU上继续执行和简档数据生成,并且至少部分地基于所收集的简档数据的分析来控制第一CPU上的程序的执行 。

    Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
    9.
    发明授权
    Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code 有权
    当执行从第一架构代码流向第二架构代码时,更改处理器的数据存储约定

    公开(公告)号:US08074055B1

    公开(公告)日:2011-12-06

    申请号:US09385394

    申请日:1999-08-30

    IPC分类号: G06F9/30

    摘要: A computer. A processor pipeline alternately executes instructions coded for first and second different computer architectures or coded to implement first and second different processing conventions. A memory stores instructions for execution by the processor pipeline, the memory being divided into pages for management by a virtual memory manager, a single address space of the memory having first and second pages. A memory unit fetches instructions from the memory for execution by the pipeline, and fetches stored indicator elements associated with respective memory pages of the single address space from which the instructions are to be fetched. Each indicator element is designed to store an indication of which of two different computer architectures and/or execution conventions under which instruction data of the associated page are to be executed by the processor pipeline. The memory unit and/or processor pipeline recognizes an execution flow from the first page, whose associated indicator element indicates the first architecture or execution convention, to the second page, whose associated indicator element indicates the first architecture or execution convention. In response to the recognizing, a processing mode of the processor pipeline or a storage content of the memory adapts to effect execution of instructions in the architecture and/or under the convention indicated by the indicator element corresponding to the instruction's page.

    摘要翻译: 一台电脑。 处理器流水线交替执行针对第一和第二不同计算机体系结构编码的编码或编码以执行第一和第二不同处理惯例的指令。 存储器存储由处理器流水线执行的指令,存储器被划分为页面以供虚拟存储器管理器管理,存储器的单个地址空间具有第一和第二页面。 存储器单元从存储器中取出指令以由流水线执行,并且获取存储的指示符元素,其与要获取指令的单个地址空间的相应存储器页相关联。 每个指示符元素被设计为存储两个不同的计算机体系结构和/或执行约定中的哪一个的指示,在该约定下,相关联的页面的指令数据将由处理器管线执行。 存储器单元和/或处理器流水线将来自第一页面的执行流程(其相关联的指示符元素指示第一架构或执行约定)识别到第二页面,其第二页面的相关联的指示符元素指示第一个架构或执行约定。 响应于识别,处理器流水线的处理模式或存储器的存储内容适应于执行由该指令页面所对应的指标元素所指示的体系结构和/或规定的指令。

    Detecting reordered side-effects
    10.
    发明授权
    Detecting reordered side-effects 有权
    检测重新排序的副作用

    公开(公告)号:US07254806B1

    公开(公告)日:2007-08-07

    申请号:US09434394

    申请日:1999-11-04

    IPC分类号: G06F9/45 G06F15/00

    摘要: A computer binary translator translates at least a segment of a binary representation of a program from a first instruction set architecture to a second instruction set architecture. A sequence of side-effects in the translation differs from a sequence of side-effects in the original. The translation distinguishes memory loads that are believed to be directed to well-behaved memory from memory loads that are believed to be directed to non-well-behaved memory device(s). Instruction execution circuitry identifies a memory reference that has a side-effect that has been reordered by translation, the memory reference having been believed at translation time to be directed to well-behaved memory but at execution it is found that the reference cannot be guaranteed to be well-behaved. The instruction execution circuitry identifies whether the difference in side-effect order may have a material effect on the execution of the program. A roll-back program state is established, and execution of the original code resumes.

    摘要翻译: 计算机二进制翻译器将程序的二进制表示的至少一段从第一指令集架构转换为第二指令集体系结构。 翻译中的副作用序列与原始的副作用序列不同。 该翻译区分被认为被定向到良好行为的存储器的存储器负载,这些存储器负载相信被定向到不良行为的存储器件。 指令执行电路识别具有通过转换重新排序的副作用的存储器引用,已经将翻译时间相信的存储器引用指向良好的存储器,但是在执行时,发现该引用不能被保证 表现良好。 指令执行电路识别副作用顺序的差异是否可能对程序的执行产生重大影响。 建立回滚程序状态,并恢复原始代码的执行。