APPARATUSES AND METHODS TO SELECTIVELY EXECUTE A COMMIT INSTRUCTION
    1.
    发明申请
    APPARATUSES AND METHODS TO SELECTIVELY EXECUTE A COMMIT INSTRUCTION 审中-公开
    选择和方法选择执行委托指令

    公开(公告)号:US20160283247A1

    公开(公告)日:2016-09-29

    申请号:US14668605

    申请日:2015-03-25

    申请人: Intel Corporation

    IPC分类号: G06F9/38

    摘要: Methods and apparatuses relating to selectively executing a commit instruction. In one embodiment, a data storage device stores code that when executed by a hardware processor causes the hardware processor to perform the following: translating an instruction into a translated instruction to be executed by the hardware processor, marking a commit instruction one of for execution and for optional execution by the hardware processor, and including a hint for a commit instruction marked for optional execution; and a hardware commit unit to determine if the commit instruction marked for optional execution is to be executed based on the hint.

    摘要翻译: 与选择性地执行提交指令有关的方法和装置。 在一个实施例中,数据存储装置存储当硬件处理器执行时硬件处理器执行以下操作的代码:将指令转换成由硬件处理器执行的转换指令,标记提交指令以执行和 用于硬件处理器的可选执行,并且包括用于可选执行标记的提交指令的提示; 以及硬件提交单元,用于基于提示来确定标记为可选执行的提交指令是否被执行。

    INSTRUCTION AND LOGIC FOR SCHEDULING INSTRUCTIONS
    2.
    发明申请
    INSTRUCTION AND LOGIC FOR SCHEDULING INSTRUCTIONS 有权
    指令和逻辑的调度说明

    公开(公告)号:US20160085556A1

    公开(公告)日:2016-03-24

    申请号:US14494829

    申请日:2014-09-24

    申请人: Intel Corporation

    IPC分类号: G06F9/38

    摘要: A processor includes a front end and a scheduler. The front end includes logic to determine whether to apply an acyclical or cyclical thread assignment scheme to code received at the processor, and to, based upon a determined thread assignment scheme, assign code to a static logical thread and to a rotating logical thread. The scheduler includes logic to assign the static logical thread to the same physical thread upon a subsequent control flow execution of the static logical thread, and to assign the rotating logical thread to different physical threads upon different executions of instructions in the rotating logical thread.

    摘要翻译: 处理器包括前端和调度器。 前端包括用于确定是否对在处理器处接收到的代码应用非循环或循环线程分配方案的逻辑,以及基于所确定的线程分配方案,将代码分配给静态逻辑线程和旋转逻辑线程。 调度器包括在静态逻辑线程的后续控制流执行时将静态逻辑线程分配给相同物理线程的逻辑,并且在旋转逻辑线程中的指令的不同执行时将旋转逻辑线程分配给不同的物理线程。

    Methods and apparatus to perform region formation for a dynamic binary translation processor

    公开(公告)号:US10474442B2

    公开(公告)日:2019-11-12

    申请号:US15721456

    申请日:2017-09-29

    申请人: Intel Corporation

    IPC分类号: G06F9/30 G06F8/41

    摘要: Methods, apparatus, systems and articles of manufacture to perform region formation for usage by a dynamic binary translation are disclosed. An example apparatus includes an initial region former to form an initial region starting at a first block of hot code of a control flow graph. The initial region former also adds blocks of hot code lying on a first hottest path of the control flow graph. A region extender extends the initial region to form an extended region including the initial region. The extended region begins at a hottest exit of the initial region and includes blocks of hot code lying on a second hottest path until one of a threshold path length has been satisfied or a back edge of the control flow graph is added to the extended region. A region pruner prunes the remove all loop nests except a selected loop nest which forms a final region.

    Optimized call-return and binary translation

    公开(公告)号:US10191745B2

    公开(公告)日:2019-01-29

    申请号:US15475389

    申请日:2017-03-31

    申请人: Intel Corporation

    IPC分类号: G06F9/45 G06F9/30

    摘要: In one example a processor includes a region formation engine to identify a region of code for translation from a guest instruction set architecture to a native instruction set architecture. The processor also includes a binary translator to translate the region of code. The region formation engine is to perform aggressive region formation, which includes forming a region across a boundary of a return instruction. The translated region of code is to prevent a side entry into the translated region of code at a translated return target instruction included in the translated region of code. In more specific examples, performing aggressive region formation includes a region formation grow phase and a region formation cleanup phase. In the grow phase priority may be given to growing complete paths from a call target to a corresponding return. The region formation cleanup phase may comprise eliminating call targets that are not reachable.

    OPTIMIZED CALL RETURN
    7.
    发明申请

    公开(公告)号:US20180285113A1

    公开(公告)日:2018-10-04

    申请号:US15475389

    申请日:2017-03-31

    申请人: Intel Corporation

    IPC分类号: G06F9/30

    CPC分类号: G06F9/30174 G06F9/3016

    摘要: In one example a processor includes a region formation engine to identify a region of code for translation from a guest instruction set architecture to a native instruction set architecture. The processor also includes a binary translator to translate the region of code. The region formation engine is to perform aggressive region formation, which includes forming a region across a boundary of a return instruction. The translated region of code is to prevent a side entry into the translated region of code at a translated return target instruction included in the translated region of code. In more specific examples, performing aggressive region formation includes a region formation grow phase and a region formation cleanup phase. In the grow phase priority may be given to growing complete paths from a call target to a corresponding return. The region formation cleanup phase may comprise eliminating call targets that are not reachable.

    Apparatus and method for efficient register allocation and reclamation

    公开(公告)号:US10083033B2

    公开(公告)日:2018-09-25

    申请号:US14643855

    申请日:2015-03-10

    申请人: INTEL CORPORATION

    IPC分类号: G06F9/30

    摘要: A method and apparatus are described for efficient register reclamation. For example, one embodiment of an apparatus comprises: single usage detection and tagging logic to examine a sequence of instructions to detect logical registers used by the sequence of instructions that have a single use and to tag an instruction as a single usage instruction if the instruction is a consumer of a logical register that has a single use; an allocator to allocate processor resources to execute the sequence of instructions, the processor resources including physical registers mapped to logical registers to execute the sequence of instructions; and register reclamation logic to free up a logical to physical mapping of a single use register in response to detecting the tag provided by the instruction tagging logic.

    METHODS AND APPARATUS TO OPTIMIZE INSTRUCTIONS FOR EXECUTION BY A PROCESSOR
    9.
    发明申请
    METHODS AND APPARATUS TO OPTIMIZE INSTRUCTIONS FOR EXECUTION BY A PROCESSOR 有权
    优化处理器执行指令的方法和装置

    公开(公告)号:US20160364240A1

    公开(公告)日:2016-12-15

    申请号:US14737058

    申请日:2015-06-11

    申请人: Intel Corporation

    IPC分类号: G06F9/38 G06F9/30

    摘要: Methods, apparatus, systems and articles of manufacture are disclosed herein. An example apparatus includes an instruction profiler to identify a predicated block within instructions to be executed by a hardware processor. The example apparatus includes a performance monitor to access a mis-prediction statistic based on an instruction address associated with the predicated block. The example apparatus includes a region former to, in response to determining that the mis-prediction statistic is above a mis-prediction threshold, include the predicated block in a predicated region for optimization.

    摘要翻译: 本文公开了方法,装置,系统和制品。 示例性设备包括指令分析器,用于识别要由硬件处理器执行的指令内的预测块。 示例性装置包括:性能监视器,用于基于与所述预测块相关联的指令地址来访问误差预测统计量。 示例性装置包括区域形成器,响应于确定误差预测统计量高于误差预测阈值,将所述预测块包括在用于优化的预测区域中。

    Instruction and logic for scheduling instructions
    10.
    发明授权
    Instruction and logic for scheduling instructions 有权
    调度指令的指令和逻辑

    公开(公告)号:US09274799B1

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

    申请号:US14494829

    申请日:2014-09-24

    申请人: Intel Corporation

    IPC分类号: G06F9/45 G06F9/38

    摘要: A processor includes a front end and a scheduler. The front end includes logic to determine whether to apply an acyclical or cyclical thread assignment scheme to code received at the processor, and to, based upon a determined thread assignment scheme, assign code to a static logical thread and to a rotating logical thread. The scheduler includes logic to assign the static logical thread to the same physical thread upon a subsequent control flow execution of the static logical thread, and to assign the rotating logical thread to different physical threads upon different executions of instructions in the rotating logical thread.

    摘要翻译: 处理器包括前端和调度器。 前端包括用于确定是否对在处理器处接收到的代码应用非循环或循环线程分配方案的逻辑,以及基于所确定的线程分配方案,将代码分配给静态逻辑线程和旋转逻辑线程。 调度器包括在静态逻辑线程的后续控制流执行时将静态逻辑线程分配给相同物理线程的逻辑,并且在旋转逻辑线程中的指令的不同执行时将旋转逻辑线程分配给不同的物理线程。