IP Library Granted Patent US 9,658,849
Granted Patent B2
US 9,658,849 · App. 13/770,243 · Granted May 23, 2017

Processor simulation environment

Inventors: James Kenney (Oxfordshire, GB); Simon Davidmann (Oxfordshire, GB)
Assignee: IMPERAS SOFTWARE LTD.
G06F9/30003G06F9/3004G06F9/30043G06F9/30087G06F9/455
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 9,658,849
App. No.
13/770,243
Granted
May 23, 2017
Kind
B2
Abstract

In a method of simulating a processor system by running code that simulates the system on a host processor, code is translated at run time to a form required by the host processor. All instructions are mapped to a native instruction set of the host using two or more different code dictionaries: the translated instructions are mapped to multiple and different dictionaries dependent on the execution privilege level or mode of the simulated processor. If an instruction is encountered during runtime that changes the mode of the processor the code dictionary is switched to use the dictionary associated with the new mode. The different modes require different instruction mappings to the native instruction set of the host using different models that more accurately represent the behavior of the system code and hardware in the system being simulated.

Claims (11)

1. A method of simulating a processor system by running system code that simulates the system on a host processor, in which the system code has two or more execution privilege levels or modes and is translated at run time to a form required by the host processor; comprising the steps of:

(i) selecting a specific code dictionary from a set of two or more different code dictionaries, each execution privilege level or mode being associated with a different code dictionary;

(ii) mapping all instructions to a native instruction set of the host processor using the code dictionary selected from the set of two or more different code dictionaries,

in which, in a first mode, all instructions that are outside a SPECULATE/COMMIT region are mapped to a native instruction set of the host using the first code dictionary; and in which, in a second mode, all instructions within a SPECULATE/COMMIT region are mapped to the native instruction set of the host using a second code dictionary.

2. The method of claim 1 in which, if an instruction is encountered during runtime that changes the mode of the host processor, the code dictionary is switched to use the dictionary associated with the new mode.

3. The method of claim 1 in which the different modes require different instruction mappings to the native instruction set of the host using different models that more accurately represent the behaviour of the system code and hardware in the processor system being simulated.

4. The method of claim 1 , in which a mode, associated with a specific dictionary, is a user mode, being a restricted mode and provides access to a subset of the resources of the processor and system.

5. The method of claim 1 , in which a mode, associated with a specific dictionary, is a system mode, being an unrestricted mode and allows the processor to access all of the resources of the processor and system.

6. The method of claim 1 , in which a mode, associated with a specific dictionary, is a hypervisor mode.

7. The method of claim 1 , in which a mode, associated with a specific dictionary, is a virtual memory mode.

8. The method of claim 1 , in which a mode, associated with a specific dictionary, is a physical memory mode.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2026
From: SYNOPSYS, INC.
To: MIPS HOLDING, INC.
Reel/Frame 075040/0078 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2024
From: IMPERAS SOFTWARE LIMITED
To: SYNOPSYS, INC.
Reel/Frame 066515/0118 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2024
From: KENNEY, JAMES
To: IMPERAS LTD.
Reel/Frame 066517/0302 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2024
From: IMPERAS LTD.
To: IMPERAS SOFTWARE LTD.
Reel/Frame 066643/0737 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2024
From: DAVIDMANN, SIMON
To: IMPERAS SOFTWARE LTD.
Reel/Frame 066643/0943 →
Priority Claims (2)
GB 0613409.2 · Jul 6, 2006 · national
GB 0708497.3 · May 2, 2007 · national
Continuity (2)
Continuation In Part 12307636
Related Publication 20130173887A1 · Jul 4, 2013