Accepting or rolling back execution of instructions based on comparing predicted and actual dependency control signals
    1.
    发明授权
    Accepting or rolling back execution of instructions based on comparing predicted and actual dependency control signals 失效
    基于比较预测和实际相关性控制信号来接受或回滚指令的执行

    公开(公告)号:US08589662B2

    公开(公告)日:2013-11-19

    申请号:US13371181

    申请日:2012-02-10

    IPC分类号: G06F9/30

    摘要: A dynamic predictive and/or exact caching mechanism is provided in various stages of a microprocessor pipeline so that various control signals can be stored and memorized in the course of program execution. Exact control signal vector caching may be done. Whenever an issue group is formed following instruction decode, register renaming, and dependency checking, an encoded copy of the issue group information can be cached under the tag of the leading instruction. The resulting dependency cache or control vector cache can be accessed right at the beginning of the instruction issue logic stage of the microprocessor pipeline the next time the corresponding group of instructions come up for re-execution. Since the encoded issue group bit pattern may be accessed in a single cycle out of the cache, the resulting microprocessor pipeline with this embodiment can be seen as two parallel pipes, where the shorter pipe is followed if there is a dependency cache or control vector cache hit.

    摘要翻译: 在微处理器管线的各个阶段提供动态预测和/或精确缓存机制,使得可以在程序执行过程中存储和存储各种控制信号。 精确的控制信号矢量缓存可以完成。 每当在指令解码,注册重命名和依赖关系检查之后形成问题组时,可以在引导指令的标签下缓存问题组信息的编码副本。 所产生的依赖性高速缓存或控制向量高速缓存可以在微处理器流水线的指令发出逻辑阶段的开始时被下一次相应的指令组出现以重新执行。 由于可以在高速缓存中的单个周期中访问编码的问题组位模式,所以具有该实施例的所得微处理器流水线可以被看作是两个并行的管道,其中如果存在依赖性高速缓存或控制向量高速缓存 击中。

    Control signal memoization in a multiple instruction issue microprocessor
    2.
    发明授权
    Control signal memoization in a multiple instruction issue microprocessor 失效
    在多指令发出微处理器中控制信号记忆

    公开(公告)号:US08151092B2

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

    申请号:US11034284

    申请日:2005-01-12

    IPC分类号: G06F9/30

    摘要: A dynamic predictive and/or exact caching mechanism is provided in various stages of a microprocessor pipeline so that various control signals can be stored and memorized in the course of program execution. Exact control signal vector caching may be done. Whenever an issue group is formed following instruction decode, register renaming, and dependency checking, an encoded copy of the issue group information can be cached under the tag of the leading instruction. The resulting dependency cache or control vector cache can be accessed right at the beginning of the instruction issue logic stage of the microprocessor pipeline the next time the corresponding group of instructions come up for re-execution. Since the encoded issue group bit pattern may be accessed in a single cycle out of the cache, the resulting microprocessor pipeline with this embodiment can be seen as two parallel pipes, where the shorter pipe is followed if there is a dependency cache or control vector cache hit.

    摘要翻译: 在微处理器管线的各个阶段提供动态预测和/或精确缓存机制,使得可以在程序执行过程中存储和存储各种控制信号。 精确的控制信号矢量缓存可以完成。 每当在指令解码,注册重命名和依赖关系检查之后形成问题组时,可以在引导指令的标签下缓存问题组信息的编码副本。 所产生的依赖性高速缓存或控制向量高速缓存可以在微处理器流水线的指令发出逻辑阶段的开始时被下一次相应的指令组出现以重新执行。 由于可以在高速缓存中的单个周期中访问编码的问题组位模式,所以具有该实施例的所得微处理器流水线可以被看作是两个并行的管道,其中如果存在依赖性高速缓存或控制向量高速缓存 击中。

    CONTROL SIGNAL MEMOIZATION IN A MULTIPLE INSTRUCTION ISSUE MICROPROCESSOR
    3.
    发明申请
    CONTROL SIGNAL MEMOIZATION IN A MULTIPLE INSTRUCTION ISSUE MICROPROCESSOR 失效
    多指令问题微处理器中的控制信号记录

    公开(公告)号:US20120144166A1

    公开(公告)日:2012-06-07

    申请号:US13371181

    申请日:2012-02-10

    IPC分类号: G06F9/38 G06F9/312

    摘要: A dynamic predictive and/or exact caching mechanism is provided in various stages of a microprocessor pipeline so that various control signals can be stored and memorized in the course of program execution. Exact control signal vector caching may be done. Whenever an issue group is formed following instruction decode, register renaming, and dependency checking, an encoded copy of the issue group information can be cached under the tag of the leading instruction. The resulting dependency cache or control vector cache can be accessed right at the beginning of the instruction issue logic stage of the microprocessor pipeline the next time the corresponding group of instructions come up for re-execution. Since the encoded issue group bit pattern may be accessed in a single cycle out of the cache, the resulting microprocessor pipeline with this embodiment can be seen as two parallel pipes, where the shorter pipe is followed if there is a dependency cache or control vector cache hit.

    摘要翻译: 在微处理器管线的各个阶段提供动态预测和/或精确缓存机制,使得可以在程序执行过程中存储和存储各种控制信号。 精确的控制信号矢量缓存可以完成。 每当在指令解码,注册重命名和依赖关系检查之后形成问题组时,可以在引导指令的标签下缓存问题组信息的编码副本。 所产生的依赖性高速缓存或控制向量高速缓存可以在微处理器流水线的指令发出逻辑阶段的开始时被下一次相应的指令组出现以重新执行。 由于可以在高速缓存中的单个周期中访问编码的问题组位模式,所以具有该实施例的所得微处理器流水线可以被看作是两个并行管道,其中如果存在依赖性高速缓存或控制向量高速缓冲存储器 击中。

    Method and apparatus to extend the number of instruction bits in processors with fixed length instructions, in a manner compatible with existing code
    4.
    发明授权
    Method and apparatus to extend the number of instruction bits in processors with fixed length instructions, in a manner compatible with existing code 有权
    以与现有代码兼容的方式扩展具有固定长度指令的处理器中指令位数目的方法和装置

    公开(公告)号:US07865699B2

    公开(公告)日:2011-01-04

    申请号:US11931815

    申请日:2007-10-31

    IPC分类号: G06F9/00

    摘要: This invention pertains to apparatus, method and a computer program stored on a computer readable medium. The computer program includes instructions for use with an instruction unit having a code page, and has computer program code for partitioning the code page into at least two sections for storing in a first section thereof a plurality of instruction words and, in association with at least one instruction word, for storing in a second section thereof an extension to each instruction word in the first section. The computer program further includes computer program code for setting a state of at least one page table entry bit for indicating, on a code page by code page basis, whether the code page is partitioned into the first and second sections for storing instruction words and their extensions, or whether the code page is comprised instead of a single section storing only instruction words.

    摘要翻译: 本发明涉及存储在计算机可读介质上的装置,方法和计算机程序。 计算机程序包括与具有代码页的指令单元一起使用的指令,并且具有用于将代码页划分为至少两个部分的计算机程序代码,用于在其第一部分中存储多个指令字,并且至少与 一个指令字,用于在其第二部分中存储对第一部分中的每个指令字的扩展。 计算机程序还包括用于设置至少一个页表条目位的状态的计算机程序代码,用于通过代码页在代码页上指示代码页是否被分割成用于存储指令字的第一和第二部分,以及它们 扩展,还是包含代码页而不是仅存储指令字的单个部分。

    Extending the number of instruction bits in processors with fixed length instructions, in a manner compatible with existing code
    5.
    发明授权
    Extending the number of instruction bits in processors with fixed length instructions, in a manner compatible with existing code 有权
    以与现有代码兼容的方式扩展具有固定长度指令的处理器中的指令位数

    公开(公告)号:US07340588B2

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

    申请号:US10720585

    申请日:2003-11-24

    IPC分类号: G06F12/02

    摘要: This invention pertains to apparatus, method and a computer program stored on a computer readable medium. The computer program includes instructions for use with an instruction unit having a code page, and has computer program code for partitioning the code page into at least two sections for storing in a first section thereof a plurality of instruction words and, in association with at least one instruction word, for storing in a second section thereof an extension to each instruction word in the first section. The computer program further includes computer program code for setting a state of at least one page table entry bit for indicating, on a code page by code page basis, whether the code page is partitioned into the first and second sections for storing instruction words and their extensions, or whether the code page is comprised instead of a single section storing only instruction words.

    摘要翻译: 本发明涉及存储在计算机可读介质上的装置,方法和计算机程序。 计算机程序包括与具有代码页的指令单元一起使用的指令,并且具有用于将代码页划分为至少两个部分的计算机程序代码,用于在其第一部分中存储多个指令字,并且至少与 一个指令字,用于在其第二部分中存储对第一部分中的每个指令字的扩展。 计算机程序还包括用于设置至少一个页表条目位的状态的计算机程序代码,用于通过代码页在代码页上指示代码页是否被分割成用于存储指令字的第一和第二部分,以及它们 扩展,还是包含代码页而不是仅存储指令字的单个部分。

    Method and apparatus for eliminating the need for register assignment, allocation, spilling and re-filling
    6.
    发明授权
    Method and apparatus for eliminating the need for register assignment, allocation, spilling and re-filling 有权
    无需注册分配,分配,溢出和重新填充的方法和设备

    公开(公告)号:US07206923B2

    公开(公告)日:2007-04-17

    申请号:US10735054

    申请日:2003-12-12

    IPC分类号: G06F12/00 G06F9/38

    摘要: A method and apparatus is provided to manage data in computer registers in a program, making more computer registers available to one or more programmers utilizing a name level instruction. The method and apparatus disclosed herein presents a way of reducing the overhead of register management, by introducing a concept of a name level for each of the named architected registers in a processor. The method provides a programmer with a larger register name-space while not increasing the size of the instruction word in the processor instruction-set architecture. It also provides for the facilitation of architectural features which overload the architected register namespace and ease the overhead of register management. This provides for the addition of more computer registers without changing the instruction format of the computer.

    摘要翻译: 提供了一种方法和装置来管理程序中的计算机寄存器中的数据,使得使用名称级别指令的一个或多个程序员可以使用更多的计算机寄存器。 本文公开的方法和装置通过在处理器中引入每个命名架构寄存器的名称级别的概念来呈现减少注册管理开销的方式。 该方法为编程器提供了更大的寄存器名称空间,而不增加处理器指令集架构中的指令字的大小。 它还提供了对架构特征的便利化,这样就可以使架构化的寄存器命名空间过载,并且简化了寄存器管理的开销。 这样可以增加更多的计算机寄存器,而不用改变计算机的指令格式。

    Transient cache storage with discard function for disposable data
    7.
    发明授权
    Transient cache storage with discard function for disposable data 有权
    用于一次性数据的具有丢弃功能的瞬态缓存存储

    公开(公告)号:US07461209B2

    公开(公告)日:2008-12-02

    申请号:US11295300

    申请日:2005-12-06

    IPC分类号: G06F12/12

    摘要: A method and apparatus for storing non-critical processor information without imposing significant costs on a processor design is disclosed. Transient data are stored in the processor-local cache hierarchy. An additional control bit forms part of cache addresses, where addresses having the control bit set are designated as “transient storage addresses.” Transient storage addresses are not written back to external main memory and, when evicted from the last level of cache, are discarded. Preferably, transient storage addresses are “privileged” in that they are either not accessible to software or only accessible to supervisory or administrator-level software having appropriate permissions. A number of management functions/instructions are provided to allow administrator/supervisor software to manage and/or modify the behavior of transient cache storage. This transient storage scheme allows the cache hierarchy to store data items that may be used by the processor core but that may be too expensive to allocate to external memory.

    摘要翻译: 公开了一种用于存储非关键处理器信息而不对处理器设计造成重大成本的方法和装置。 瞬态数据存储在处理器本地缓存层次结构中。 附加控制位构成高速缓存地址的一部分,其中具有控制位置位的地址被指定为“瞬时存储地址”。 瞬态存储地址不会被写回外部主存储器,而当从最后一级高速缓存驱逐时,它们将被丢弃。 优选地,瞬态存储地址是“特权的”,因为它们不能被软件访问或只能具有具有适当权限的监督或管理员级软件访问。 提供了许多管理功能/指令,以允许管理员/管理软件管理和/或修改瞬态缓存存储的行为。 这种瞬态存储方案允许高速缓存层级来存储处理器核心可能使用的数据项,但是可能太昂贵以分配给外部存储器。

    COMPUTER PROCESSING SYSTEM EMPLOYING AN INSTRUCTION SCHEDULE CACHE
    8.
    发明申请
    COMPUTER PROCESSING SYSTEM EMPLOYING AN INSTRUCTION SCHEDULE CACHE 失效
    使用指令列表缓存的计算机处理系统

    公开(公告)号:US20080162884A1

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

    申请号:US11618948

    申请日:2007-01-02

    IPC分类号: G06F9/312

    摘要: A processor core and method of executing instructions, both of which utilizes schedules, are presented. Each of the schedules includes a sequence of instructions, an address of a first of the instructions in the schedule, an order vector of an original order of the instructions in the schedule, a rename map of registers for each register in the schedule, and a list of register names used in the schedule. The schedule exploits instruction-level parallelism in executing out-of-order instructions. The processor core includes a schedule cache that is configured to store schedules, a shared cache configured to store both I-side and D-side cache data, and an execution resource for requesting a schedule to be executed from the schedule cache. The processor core further includes a scheduler disposed between the schedule cache and the cache. The scheduler creating the schedule using branch execution history from a branch history table to create the instructions when the schedule requested by the execution resource is not found in the schedule cache. The processor core executes the instructions according to the schedule being executed. The method includes requesting a schedule from a schedule cache. The method further includes fetching the schedule, when the schedule is found in the schedule cache; and creating the schedule, when the schedule is not found in the schedule cache. The method also includes renaming the registers in the schedule to avoid false dependencies in a processor core, mapping registers to renamed registers in the schedule, and stitching register values in and out of another schedule according to the list of register names and the rename map of registers.

    摘要翻译: 呈现执行指令的处理器核心和方法,两者都利用时间表。 每个时间表包括指令序列,调度表中的第一指令的地址,调度表中的指令的原始顺序的顺序向量,调度表中每个寄存器的寄存器的重命名映射,以及 时间表中使用的寄存器名称列表。 该调度在执行无序指令时利用指令级并行性。 处理器核心包括被配置为存储调度的调度高速缓存,被配置为存储I侧和D侧缓存数据的共享高速缓存以及用于从调度高速缓存请求执行调度的执行资源。 处理器核心还包括设置在调度高速缓存和高速缓存之间的调度器。 调度器使用分支执行历史从分支历史表创建调度,以便在调度高速缓存中找不到由执行资源请求的调度时创建指令。 处理器核心根据执行的进度执行指令。 该方法包括从调度缓存请求调度。 该方法还包括当在调度高速缓存中找到调度时获取调度; 并且在调度缓存中找不到调度时创建调度。 该方法还包括重新命名调度中的寄存器,以避免处理器核心中的错误依赖性,将寄存器映射到调度表中的重命名寄存器,以及根据寄存器名称和重命名映射 注册

    Computer processing system employing an instruction schedule cache
    9.
    发明授权
    Computer processing system employing an instruction schedule cache 失效
    计算机处理系统采用指令调度缓存

    公开(公告)号:US07454597B2

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

    申请号:US11618948

    申请日:2007-01-02

    IPC分类号: G06F9/38

    摘要: A processor core and method of executing instructions, both of which utilizes schedules, are presented. Each of the schedules includes a sequence of instructions, an address of a first of the instructions in the schedule, an order vector of an original order of the instructions in the schedule, a rename map of registers for each register in the schedule, and a list of register names used in the schedule. The schedule exploits instruction-level parallelism in executing out-of-order instructions. The processor core includes a schedule cache that is configured to store schedules, a shared cache configured to store both I-side and D-side cache data, and an execution resource for requesting a schedule to be executed from the schedule cache. The processor core further includes a scheduler disposed between the schedule cache and the cache. The scheduler creating the schedule using branch execution history from a branch history table to create the instructions when the schedule requested by the execution resource is not found in the schedule cache. The processor core executes the instructions according to the schedule being executed. The method includes requesting a schedule from a schedule cache. The method further includes fetching the schedule, when the schedule is found in the schedule cache; and creating the schedule, when the schedule is not found in the schedule cache. The method also includes renaming the registers in the schedule to avoid false dependencies in a processor core, mapping registers to renamed registers in the schedule, and stitching register values in and out of another schedule according to the list of register names and the rename map of registers.

    摘要翻译: 呈现执行指令的处理器核心和方法,两者都利用时间表。 每个时间表包括指令序列,调度表中的第一指令的地址,调度表中的指令的原始顺序的顺序向量,调度表中每个寄存器的寄存器的重命名映射,以及 时间表中使用的寄存器名称列表。 该调度在执行无序指令时利用指令级并行性。 处理器核心包括被配置为存储调度的调度高速缓存,被配置为存储I侧和D侧缓存数据的共享高速缓存以及用于从调度高速缓存请求执行调度的执行资源。 处理器核心还包括设置在调度高速缓存和高速缓存之间的调度器。 调度器使用分支执行历史从分支历史表创建调度,以便在调度高速缓存中找不到由执行资源请求的调度时创建指令。 处理器核心根据执行的进度执行指令。 该方法包括从调度缓存请求调度。 该方法还包括当在调度高速缓存中找到调度时获取调度; 并且在调度缓存中找不到调度时创建调度。 该方法还包括重新命名调度中的寄存器,以避免处理器核心中的错误依赖性,将寄存器映射到调度表中的重命名寄存器,以及根据寄存器名称和重命名映射列表将寄存器值拼接到另一个调度表中。 注册

    Non-Homogeneous Multi-Processor System With Shared Memory
    10.
    发明申请
    Non-Homogeneous Multi-Processor System With Shared Memory 审中-公开
    具有共享内存的非均匀多处理器系统

    公开(公告)号:US20080162877A1

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

    申请号:US12049324

    申请日:2008-03-15

    IPC分类号: G06F15/76 G06F9/30

    CPC分类号: H04L63/168 H04L67/10

    摘要: A computer architecture and programming model for high speed processing over broadband networks are provided. The architecture employs a consistent modular structure, a common computing module and uniform software cells. The common computing module includes a control processor, a plurality of processing units, a plurality of local memories from which the processing units process programs, a direct memory access controller and a shared main memory. A synchronized system and method for the coordinated reading and writing of data to and from the shared main memory by the processing units also are provided. A hardware sandbox structure is provided for security against the corruption of data among the programs being processed by the processing units. The uniform software cells contain both data and applications and are structured for processing by any of the processors of the network. Each software cell is uniquely identified on the network.

    摘要翻译: 提供了一种用于宽带网络高速处理的计算机体系结构和编程模型。 该架构采用一致的模块化结构,通用的计算模块和统一的软件单元。 公共计算模块包括控制处理器,多个处理单元,处理单元处理程序的多个本地存储器,直接存储器存取控制器和共享主存储器。 还提供了一种用于由处理单元协调地读取和从共享主存储器写入数据的同步系统和方法。 提供了一种硬件沙盒结构,用于防止由处理单元处理的程序中的数据损坏的安全性。 统一软件单元包含数据和应用程序,并且被构造为由网络的任何处理器进行处理。 每个软件单元在网络上唯一标识。