Method for hybrid processing of software instructions of an emulated computer system
First Claim
1. A method for emulating on a computer system the operation of a guest computer system, comprising the steps of:
- providing an emulation program that runs as an application on the operating system of the host computer system, the emulation program emulating for at least one guest application program the operation of a guest operating system;
receiving at the emulation program blocks of software instructions from the guest application program; and
determining, for each block of instructions, whether (a) the block of instructions includes user level instructions, in which case the instructions are passed to the processor of the computer system for execution, or (b) the block of instructions include supervisor level instructions, in which case the block of instructions is translated and the translated block of instructions is passed to the processor of the computer system for execution.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for processing software instructions in an emulated computing environment is provided in which instruction blocks from the application programs of a guest computer system are parsed to determine whether the instruction blocks include instructions executable at user level or supervisor level. Those instruction blocks that are executable at user level are passed directly to the processor of the host computer system, and those instruction blocks that are executable at supervisor level, are translated before being passed to the processor for execution. In the case of instruction blocks that include instruction blocks executable at supervisor level, prior to translation, a cache is queried to determine whether a translation for the instruction block is in the case. If a translation is in the cache, the translated version in the cache is provided to the processor for execution. If a translation is not in the cache, translation occurs, and the translated instruction block is saved to the cache.
-
Citations
20 Claims
-
1. A method for emulating on a computer system the operation of a guest computer system, comprising the steps of:
-
providing an emulation program that runs as an application on the operating system of the host computer system, the emulation program emulating for at least one guest application program the operation of a guest operating system;
receiving at the emulation program blocks of software instructions from the guest application program; and
determining, for each block of instructions, whether (a) the block of instructions includes user level instructions, in which case the instructions are passed to the processor of the computer system for execution, or (b) the block of instructions include supervisor level instructions, in which case the block of instructions is translated and the translated block of instructions is passed to the processor of the computer system for execution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for emulating on a host computer system the operation of a guest computer system, wherein the application programs of the host computer system and the application programs of the guest computer system can execute on the processor of the host computer system, comprising the steps of:
-
providing an emulation program that emulates the operation of a guest operating system;
receiving at the emulation program software instructions from a guest application program;
parsing the instructions into blocks of instructions;
determining for each block of instructions whether the block includes supervisor level instructions, wherein each block of instructions that does not include a supervisor level instruction is passed to the processor of the host computer system, and wherein each block of instructions that includes a supervisor level instruction undergoes a translation step before being passed to the processor for execution. - View Dependent Claims (11, 12, 13, 14, 15, 16, 18, 19, 20)
-
-
17. A method for emulating on a host computer system the operation of a guest computer system, the guest computer system including guest application program designed to executed on the processor of the host computer system, comprising the steps of:
-
providing an emulation program that runs as an application on the operating system of the host computer system, the emulation program emulating for at least one guest application program the operation of a guest operating system;
receiving at the emulation program blocks of instructions from a selected guest application program;
parsing each block of instruction to determine whether each block of instructions includes supervisor level instructions, and, for those blocks of instructions that do not include supervisor level instructions, passing the block of instructions to the processor of the host computer system for execution; and
for those blocks of instructions that include supervisor level instructions, translating the block of instructions before passing the translated block of instructions to the processor of the host computer system for execution.
-
Specification