IP Library Granted Patent US 7,756,697
Granted Patent B2
US 7,756,697 · App. 11/475,044 · Granted Jul 13, 2010

Emulator and emulating method for adjusting the execution timing of instructions included in an application to be emulated

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,756,697
App. No.
11/475,044
Granted
Jul 13, 2010
Kind
B2
Abstract

An emulation technique adjusts the execution timing of instructions included in an application to be emulated. An emulator executes an instruction stream consisting of a plurality of instructions included in the application for an apparatus to be emulated to perform the object AP. This emulator performs successively the instructions included in the instruction stream at a predetermined period, and includes a speed controller for adjusting the emulation speed by intermittently inserting a wait into the instruction stream to emulate execution of the instruction stream. Preferably, this emulator includes a clock generator ( 145 ), in which the speed controller counts the clock input from the clock generator ( 145 ).

Claims (9)

1. An emulator for executing, using a computer processor, an instruction stream consisting of a plurality of instructions included in an application (hereinafter an “object application”) for an apparatus to be emulated (hereinafter an “object apparatus”) to perform said object application, in which said object apparatus performs successively the instructions included in said instruction stream at a predetermined period, said emulator comprising a speed controller for adjusting the emulation speed by emulating execution of said instruction stream by said object apparatus and intermittently inserting a wait into said instruction stream to emulate execution of said instruction stream,

wherein said emulator comprises a scheduler function execution part for performing a process of an emulator main body by making a call back during the execution of the instruction stream for said object application to stop the execution of the instruction stream for said object application, and if the wait is inserted by said speed controller, said scheduler function execution part makes said call back to stop the execution of the instruction stream for said object application.

2. The emulator according to claim 1 , wherein said emulator emulates a plurality of devices included in said object apparatus, said devices to be emulated including a first emulated device operating in a predetermined operating clock system and a second emulated device operating in a clock system different from said predetermined clock system, and said speed controller adjusts the emulation speed for said first emulated device and said second emulated device.

3. The emulator according to claim 2 , comprising a memory, in which said first emulated device is emulated by software within said memory, and a hardware emulator for emulating said second emulated device by hardware.

4. The emulator according to claim 1 , wherein said speed controller compares the emulation speed of the instruction stream by the object apparatus with an intrinsic execution speed of the object application in the object apparatus, while said wait is applied, and adjusts said emulation speed by deciding an insertion frequency of wait based on its comparison result.

5. The emulator according to claim 4 , wherein said emulator comprises a clock generator, said speed controller being able to count clock input from said clock generator, and said speed controller acquires the time required for said object apparatus to execute the instruction executed from a previous time of wait insertion to a present time of wait insertion, and adjusts said emulation speed, based on the acquired time and the time taken to emulate said instruction obtained from the count number of clocks input from said clock generator.

6. The emulator according to claim 1 , wherein when the wait is inserted upon said call back, a number of instructions to be executed by the next time of wait insertion in the execution of said instruction stream is decided.

7. An emulating method performed by an emulator having a speed controller, said method comprising executing an instruction stream consisting of a plurality of instructions included in an application (hereinafter an “object application”) for an apparatus to be emulated (hereinafter an “object apparatus”) to perform said object application, and inserting a wait intermittently into said instruction stream to emulate execution of said instruction stream thereby adjusting the emulation speed,

the method further comprising making a call back during the execution of the instruction stream for said object application to stop the execution of the instruction stream for said object application, and if the wait is inserted, making said call back stop the execution of the instruction stream for said object application.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2011
From: SONY NETWORK ENTERTAINMENT PLATFORM INC.
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 027481/0351 →
CHANGE OF NAME Recorded Dec 26, 2011
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY NETWORK ENTERTAINMENT PLATFORM INC.
Reel/Frame 027445/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2006
From: NAKAMURA, KOJI
To: SONY COMPUTER ENTERTAINMENT, INC.
Reel/Frame 018315/0483 →