Apparatus and method for efficient call/return emulation using a dual return stack buffer

    公开(公告)号:US10545735B2

    公开(公告)日:2020-01-28

    申请号:US15813021

    申请日:2017-11-14

    Abstract: An apparatus and method for a dual return stack buffer (RSB) for use in binary translation systems. For example, one embodiment of a processor comprises: a dual return stack buffer (DRSB) comprising a native RSB and an extended RSB (XRSB), the dual RSB to be used within a binary translation execution environment in which guest call-return instruction sequences are translated to native call-return instruction sequences to be executed directly by the processor; the native RSB to store native return addresses associated with the native call-return instruction sequences; and the XRSB to store emulated return addresses associated with the guest call-return instruction sequences, wherein each native return address stored in the RSB is associated with an emulated return address stored in the XRSB.

    APPARATUSES AND METHODS TO PREVENT EXECUTION OF A MODIFIED INSTRUCTION
    3.
    发明申请
    APPARATUSES AND METHODS TO PREVENT EXECUTION OF A MODIFIED INSTRUCTION 审中-公开
    防止修改指令执行的手段和方法

    公开(公告)号:US20160283234A1

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

    申请号:US14672158

    申请日:2015-03-28

    CPC classification number: G06F9/455 G06F9/45516

    Abstract: Methods and apparatuses relating to preventing the execution of a modified instruction. In one embodiment, an apparatus includes a hardware binary translator to translate an instruction to a translated instruction, and a consistency hardware manager to prevent execution of the translated instruction by a hardware processor on detection of a modification to a virtual to physical address mapping of the instruction after the translation.

    Abstract translation: 与防止修改指令的执行有关的方法和装置。 在一个实施例中,一种装置包括用于将指令转换为转换的指令的硬件二进制转换器和一致性硬件管理器,以防止硬件处理器在检测到对虚拟对物理地址映射的修改时执行转换的指令 翻译后的指示。

    Hybrid atomicity support for a binary translation based microprocessor

    公开(公告)号:US10296343B2

    公开(公告)日:2019-05-21

    申请号:US15474666

    申请日:2017-03-30

    Abstract: A processing device including a first shadow register, a second shadow register, and an instruction execution circuit, communicatively coupled to the first shadow register and the second shadow register, to receive a sequence of instructions comprising a first local commit marker, a first global commit marker, and a first register access instruction referencing an architectural register, speculatively execute the first register access instruction to generate a speculative register state value associated with a physical register, responsive to identifying the first local commit marker, store, in the first shadow register, the speculative register state value, and responsive to identifying the first global commit marker, store, in the second shadow register, the speculative register state value.

    BINARY TRANSLATION SUPPORT USING PROCESSOR INSTRUCTION PREFIXES

    公开(公告)号:US20170192788A1

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

    申请号:US14988298

    申请日:2016-01-05

    CPC classification number: G06F9/30185 G06F9/30138 G06F9/30174 G06F9/4552

    Abstract: A processing system implementing techniques for binary translation support using processor instruction prefixes is provided. In one embodiment, the processing system includes a register bank having a plurality of registers to store data for use in executing instructions and a processor core coupled to the register bank. An instruction to be executed by the processor core is received. The instruction is associated with a binary translator operation to translate input instruction sequences to output instruction sequences. An opcode prefix referencing an extended register of the plurality of registers to be used during the binary translator operation. The extended register preserves a source register value of the plurality of registers.

    Auxiliary Cache for Reducing Instruction Fetch and Decode Bandwidth Requirements

    公开(公告)号:US20170286110A1

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

    申请号:US15087786

    申请日:2016-03-31

    Abstract: A hardware-software co-designed processor includes a front end to decode an instruction, an execution unit to execute the instruction, an auxiliary cache to store auxiliary information for consumption during execution of the instruction, an instruction blender, and a retirement unit to retire the instruction. The auxiliary information may include long immediate values, non-working instructions for emulating an untranslated instruction stream, or execution hints, and is not decoded by the front end. The auxiliary cache includes circuitry to receive the auxiliary information from a binary translator, to store the auxiliary information in the auxiliary cache, and to provide the auxiliary information to the instruction blender prior to execution. The instruction blender includes circuitry to receive the auxiliary information, to blend the instruction with the auxiliary information, and to provide the blended instruction to the execution unit. Use of the auxiliary cache may reduce fetch and decode bandwidth requirements.

Patent Agency Ranking