×

Emulating a computer run time environment

  • US 8,494,833 B2
  • Filed: 05/09/2008
  • Issued: 07/23/2013
  • Est. Priority Date: 05/09/2008
  • Status: Active Grant
First Claim
Patent Images

1. A method of emulating a computer run time environment, the method implemented as a component of a dynamic binary translation loop that operates in an emulation environment to translate target executable code compiled for execution on a target computer to translated code executable on a host computer of a kind other than the target computer, the target executable code comprising user-level application code and target operating system code, the target executable code comprising target executable processes, the target operating system code effecting context switches among the target executable processes, the method comprising:

  • storing translated code in blocks of a translated code cache, each block of the translated code cache designated for storage of translated code for a separate one of the target executable processes, including identifying each block in dependence upon an identifier of the process for which the block is designated as storage;

    executing by the emulation environment a particular one of the target executable processes, using for target code translation the translated code in the block of the translated code cache designated as storage for the particular process; and

    upon encountering a context switch by the target operating system from execution of the particular one of the target executable processes to execution of a new target executable process, changing from the block designated for the particular process to using for target code translation the translated code in the block of the translated code cache designated as storage for the new target executable process,wherein the method is implemented on a network on chip (‘

    NOC’

    ), the NOC comprising integrated processor (‘

    IP’

    ) blocks, routers, memory communications controllers, and network interface controller, each IP block connected to a router through a memory communications controller and a network interface controller, each memory communications controller controlling communication between an IP block and memory, and each network interface controller controlling inter-IP block communications through routers, wherein each router implements a plurality of virtual communications channels, the virtual communications channels characterized by different communication types.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×