Patent ID: 7617087
Filing Date: 2009-11-10
Classification: G06F

Abstract:
1. A memory management method for an emulator in a computer system, with the computer system having an instruction cache and including a processor capable of interpreting and executing a first instruction set, and a memory, said method being a memory management method carried out in conjunction with a dynamic conversion type program execution in which an emulation program stored in said memory executes a program described with a second instruction set while converting said program at need into a program described with said first instruction set, and, as a procedure for initializing a converted instruction storing area table used for retrieval of an address of a program described with said first instruction set, corresponding to a program described with said second instruction set, said method being carried out by the computer system and comprising operations of: 1) before executing an emulation operation, acquiring address information related to a portion of said emulation program to be executed plural times in the emulation operation; 2) before executing the emulation operation, specifying, from said address information, a memory address that brings about cache conflict in said instruction cache with said portion, and reserving a storing area in advance that does not conflict with the portion and setting the storing area, which is located at an address other than the specified memory address, to store therein a converted instruction; 3) before executing the emulation operation, carrying out retrieval with said converted instruction storing area table as to whether or not a program created with the first instruction set, corresponding to a program created with said second instruction set, exists on said memory; 4) before executing the emulation operation, when a program created with the first instruction set exists, executing the program by said processor; and 5) before executing the emulation operation, when no program created with the first instruction set exists, converting the program created with said second instruction set into a program created with the first instruction set, storing the converted program within a range of a set storing area of said memory, and storing, in said converted instruction storing area table, a correspondence relation between the storing address of the stored program and the program created with said first instruction set.