IP Library Granted Patent US 7,813,909
Granted Patent B2
US 7,813,909 · App. 11/696,691 · Granted Oct 12, 2010

Register mapping in emulation of a target system on a host system

Assignee: Sony Computer Entertainment Inc.
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,813,909
App. No.
11/696,691
Granted
Oct 12, 2010
Kind
B2
Abstract

Methods and systems for register mapping in emulation of a target system on a host system are disclosed. Statistics for use of a set of registers of a target system processor are determined. Based on the statistics a first subset of the target system registers, including one or more most commonly used registers is determined. The registers in the first subset are directly mapped to a first group of registers of a host system processor. A second subset of the set of target system registers is dynamically mapped to a second group of registers of the host system processor.

Claims (31)

1. A method for emulation of a target system on a host system, the method comprising:

determining statistics for use of a set of registers of a target system processor;

based on the statistics, determining a first subset of registers of the set of registers, the first subset including one or more most commonly used registers;

directly mapping the first subset of registers to a first group of registers of a host system processor;

dynamically mapping a second subset of the set of registers to a second group of registers of the host system processor; and

emulating the target system processor on the host system processor using the first and second groups of registers

wherein some of the registers in the set of registers of the target system processor are larger than the registers in the first and second groups of registers of the host system processor; and

wherein directly mapping the first subset of registers or dynamically mapping the second subset of registers includes mapping a lower field of a target system register to a first host system register and mapping an upper field of the target system register to a second host system register.

2. The method of claim 1 wherein the host system processor is a power processor element of a cell processor.

3. The method of claim 2 wherein one or more of the registers in the first and/or second groups are registers in a VMX unit of the power processor element.

4. The method of claim 1 , further comprising performing an operation with the host processor that produces an intermediate result and storing the intermediate result in one or more registers of the second group of registers.

5. The method of claim 1 wherein the target system processor is an emotion engine.

6. The method of claim 5 , further comprising emulating the emotion engine with the host system processor by translating instructions for the emotion engine into machine code that is readable by the host system processor.

7. The method of claim 1 , further comprising rotating the dynamic mapping of the registers in the second subset to reduce a likelihood of blocking of a target system instruction.

8. The method of claim 6 , wherein the target system includes one or more additional processors, the method further comprising emulating the one or more additional processors by interpreting instructions for the one or more additional processors and running the interpreted instructions on the host system processor or one or more co-processors associated with the host system processor.

9. The method of claim 1 , further comprising dynamically reconfiguring the direct mapping of the first subset of registers and/or the dynamic mapping of the second subset of registers.

10. The method of claim 1 wherein emulating the target system includes translating instructions for the target system processor.

11. The method of claim 1 wherein the registers in the set of registers of the target system processor include 128-bit registers and the registers in the first and second groups of registers of the host system processor include 64-bit registers.

12. A host system for emulation of a target system, comprising:;

one or more host system processors;

a memory coupled to the one or more host system processors;

a set of processor executable instructions embodied in the memory, the processor executable instructions including instructions for implementing a method for emulation of a target system on a host system, the method including:

determining statistics for use of a set of registers of a target system processor;

based on the statistics, determining a first subset of registers of the set of registers, the first subset including one or more most commonly used registers;

directly mapping the first subset of registers to a first group of registers of a host system processor; and

dynamically mapping a second subset of the set of registers to a second group of registers of the host system processor wherein some of the registers in the set of registers of the target system processor are larger than the registers in the first and second groups of registers of the host system processor; and wherein directly mapping the first subset of registers or dynamically mapping the second subset of registers includes mapping a lower field of a target system register to a first host system register and mapping an upper field of the target system register to a second host system register.

13. The system of claim 12 wherein the one or more host system processors include a power processor element.

14. The system of claim 13 wherein the one or more host system processors further include one or more synergistic processor elements coupled to the power processor element, whereby the host system includes a cell processor.

15. The system of claim 13 wherein one or more of the registers in the first and/or second groups are registers in a VMX unit of the power processor element.

16. The system of claim 12 wherein the registers in the set of registers of the target system processor are larger than the registers in the first and second groups of registers of the host system processor.

17. The system of claim 16 wherein the registers in the set of registers of the target system processor are 128-bit registers and the registers in the first and second groups of registers of the host system processor are 64-bit registers.

Assignments (4)
CHANGE OF NAME Recorded Jul 1, 2016
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 039239/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2011
From: SONY NETWORK ENTERTAINMENT PLATFORM INC.
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 027449/0380 →
CHANGE OF NAME Recorded Dec 26, 2011
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY NETWORK ENTERTAINMENT PLATFORM INC.
Reel/Frame 027445/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2007
From: SARGAISON, STEWART; SUBA, VICTOR
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 019438/0845 →
Continuity (7)
Provisional Application 6074626700 · May 3, 2006
Provisional Application 6074626800 · May 3, 2006
Provisional Application 6074627300 · May 3, 2006
Provisional Application 6079743500 · May 3, 2006
Provisional Application 6079776100 · May 3, 2006
Provisional Application 6079776200 · May 3, 2006
Related Publication 20080040093A1 · Feb 14, 2008