System converter that implements a run ahead run time guest instruction conversion/decoding process and a prefetching process where guest code is pre-fetched from the target of guest branches in an instruction sequence

US10353680B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10353680-B2
Application numberUS-201514807353-A
CountryUS
Kind codeB2
Filing dateJul 23, 2015
Priority dateJul 25, 2014
Publication dateJul 16, 2019
Grant dateJul 16, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system for an agnostic runtime architecture. The system includes a system emulation/virtualization converter, an application code converter, and a converter wherein a system emulation/virtualization converter and an application code converter implement a system emulation process, and wherein the system converter implements a system and application conversion process for executing code from a guest image, wherein the system converter or the system emulator. The system further includes a run ahead run time guest such an conversion/decoding process, and a prefetching process where guest code is pre-fetched from the target of guest branches in an instruction sequence.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a processor; a system emulation/virtualization converter; an application code converter, wherein the system emulation/virtualization converter and the application code converter implement a system emulation process; and a system converter, wherein the system converter implements a system and application conversion process for executing code from a guest image, wherein the code from the guest image comprises a first guest branch and a second guest branch, and wherein the system emulation process or the system and application conversion process are operable to implement: a run ahead run time guest fetch and conversion/decoding process, wherein the run ahead run time guest fetch and conversion/decoding process converts the first guest branch into a first native branch and converts the second guest branch into a second native branch; a prefetching process, wherein the code from the guest image is pre-fetched from corresponding targets of the first and second guest branches in an instruction sequence, and wherein the first guest branch and the second guest branch are pre-fetched into a guest fetch buffer; and a frequency tracking process, wherein the frequency tracking process identifies the most frequently executed guest instructions of the code from the guest image. 2. The system of claim 1 , wherein the most frequently executed guest instructions and their mappings are stored at a low level cache structure. 3. The system of claim 1 , wherein a mapping table is used to provide an equivalent instruction format for a looked up guest instruction format. 4. The system of claim 1 , wherein the code from the guest image comprises application code and operating system/system specific code for execution. 5. The system of claim 1 , further comprising a plurality of conversion tables including a first level conversion table and a second level conversion table coupled to the guest fetch buffer converting the code from the guest image into corresponding native code. 6. A microprocessor comprising: a system emulation/virtualization converter; an application code converter, wherein the system emulation/virtualization converter and the application code converter implement a system emulation process; and a system converter, wherein the system converter implements a system and application conversion process for executing code from a guest image, wherein the code from the guest image comprises a first guest branch and a second guest branch, and wherein the system and emulation process or the system and application conversion process are operable to implement: a run ahead run time guest fetch and conversion/decoding process, wherein the run ahead run time guest fetch and conversion/decoding process converts the first guest branch into a first native branch and converts the second guest branch into a second native branch: a prefetching process, wherein the code from the guest image is pre-fetched from corresponding targets of the first and second guest branches in an instruction sequence, and wherein the first guest branch and the second guest branch are pre-fetched into a guest fetch buffer; and a frequency tracking process, wherein the frequency tracking process identifies the most frequently executed guest instructions of the code from the guest image. 7. The microprocessor claim 6 , wherein most frequently executed guest instructions and their mappings are stored at a low level cache structure. 8. The microprocessor of claim 6 , wherein a mapping table is used to provide an equivalent instruction format for a looked up guest instruction format. 9. The microprocessor of claim 6 , wherein the code from the guest image comprises application code and operating system/system specific code for execution. 10. The microprocessor of claim 6 , further comprising a plurality of conversion tables including a first level conversion table and a second level conversion table coupled to the guest fetch buffer for converting the code from the guest image into corresponding native code. 11. A computer system, comprising a microprocessor comprising a core and a plurality of caches, wherein the microprocessor further comprises: a system emulation/virtualization converter; an application code converter, wherein the system emulation/virtualization converter and the application code converter implement a system emulation process; and a system converter, wherein the system converter implements a system and application conversion process for executing code from a guest image, wherein the code from the guest image comprises a first guest branch and a second guest branch, and wherein the system emulation process or the system and application conversion process are operable to implement: a run ahead run time guest fetch and conversion/decoding process, wherein the run ahead run time guest fetch and conversion/decoding process converts the first guest branch into a first native branch and converts the second guest branch into a second native branch; a prefetching process, wherein the code from the guest image is pre-fetched from corresponding targets of the first and second guest branches in an instruction sequence, and wherein the first guest branch and the second guest branch are pre-fetched into a guest fetch buffer; and a frequency tracking process, wherein the frequency tracking process identifies the most frequently executed guest instructions of the code from the guest image. 12. The computer system of claim 11 , wherein most frequently executed guest instructions and their mappings are stored at a low level cache structure. 13. The computer system of claim 11 , wherein a mapping table is used to provide an equivalent instruction format for a looked up guest instruction format. 14. The computer system of claim 11 , further including a plurality of conversion tables including a first level conversion table and a second level conversion table coupled to the guest fetch buffer for converting the code from the guest image into corresponding native code.

Assignees

Inventors

Classifications

  • Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM · CPC title

  • Runtime code conversion or optimisation · CPC title

  • Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators · CPC title

  • for branches, e.g. hedging, branch folding · CPC title

  • G06F8/443Primary

    Optimisation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10353680B2 cover?
A system for an agnostic runtime architecture. The system includes a system emulation/virtualization converter, an application code converter, and a converter wherein a system emulation/virtualization converter and an application code converter implement a system emulation process, and wherein the system converter implements a system and application conversion process for executing code from a …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/45516. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 16 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).