← Back to Patent Explorer
US5680584A Expired / Lapsed US ⏱️ 0.0 years remaining

Simulator system for code execution and debugging within a multi-architecture environment

Assignee: WICRESOFT Co Ltd
•
Filing: 1994-11-21
•
Granted: 1997-10-21
•
Expires: 2014-11-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system embodies a first hardware (X) architecture for providing an X domain for an X code. The computer system includes a system for simulating a second hardware (Y) architecture providing a Y domain for Y code and for executing the Y code, and a debugger operable in the Y domain for debugging the X and Y codes. The simulating system includes a sub-system for providing support services for the debugger to enable it to debug the Y code, including modification of Y machine state and setting of breakpoints. The computer system also includes a sub-system for generating a call for cross-domain memory data access under predetermined conditions, such as direct memory access failures.

Inventors

  • 👤 Mark A. Herdeg
  • 👤 Michael V. Iles

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 07:33
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3698; G06F9/00; G06F9/06; G06F9/44; G06F9/455; G06F9/45504; G06F11/22; G06F11/26; G06F11/261

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 260 words
In a computer system that embodies a first hardware (X) architecture providing an X domain and includes a memory system and a system operable in said X domain for executing and debugging multiple codes comprising X code, a system for simulating at least a second computer hardware (Y) architecture on said computer system comprising: (A) means for simulating a Y architecture providing a Y domain characterized by a Y machine state; (B) means for executing Y code on said simulating means; (C) means for responding to calls from an environment manager coupled with said executing and debugging system to initiate operation of said Y code executing means when a code execution call is received; and (D) means for terminating each initiated Y-code execution in response to predetermined conditions and for making a corresponding return to said environment manager for execution of X code in said X domain by said executing and debugging system; (E) said simulating system further including means for executing predetermined support services in response to calls therefor, said support service executing means including means for providing access to said Y machine state by said executing and debugging system, thereby enabling said executing and debugging system to debug said Y code during execution thereof in said Y domain by said Y code execution means in addition to debugging X code during execution thereof in said X domain by said executing and debugging system, whereby said executing and debugging system is operable in said X domain for debugging of code in both said X domain and said Y domain.
Claim 2
Dependent Claim 260 words
In a computer system that embodies a first hardware (X) architecture providing an X domain and includes a memory system and a system operable in said X domain for executing and debugging multiple codes comprising X code, a system for simulating at least a second computer hardware (Y) architecture on said computer system comprising: (A) means for simulating a Y architecture providing a Y domain characterized by a Y machine state; (B) means for executing Y code on said simulating means; (C) means for responding to calls from an environment manager coupled with said executing and debugging system to initiate operation of said Y code executing means when a code execution call is received; and (D) means for terminating each initiated Y-code execution in response to predetermined conditions and for making a corresponding return to said environment manager for execution of X code in said X domain by said executing and debugging system; (E) said simulating system further including means for executing predetermined support services in response to calls therefor, said support service executing means including means for providing access to said Y machine state by said executing and debugging system, thereby enabling said executing and debugging system to debug said Y code during execution thereof in said Y domain by said Y code execution means in addition to debugging X code during execution thereof in said X domain by said executing and debugging system, whereby said executing and debugging system is operable in said X domain for debugging of code in both said X domain and said Y domain.
Claim 3
Dependent Claim 27 words
The simulating system of claim 1 wherein said access providing means includes means for reading said Y machine state and for writing to said Y machine state.
Claim 4
Dependent Claim 32 words
The simulating system of claim 1 wherein said access providing means includes means for processing Y-code and X-code breakpoints in the respective Y domain and X domain in response to breakpoint calls.
Claim 5
Dependent Claim 24 words
The simulating system of claim 3 wherein said processing means includes means for setting and cancelling Y-code and X-code breakpoints at specified memory addresses.
Claim 6
Dependent Claim 32 words
The simulating system of claim 4 wherein said processing means includes means for generating a list of active breakpoints in said X code and Y code as information for a system user.
Claim 7
Dependent Claim 35 words
The simulating system of claim 1 wherein said terminating means generates a return to said environment manager for a Y-code execution break if a breakpoint is set at the address in a Y-code program counter.
Claim 8
Dependent Claim 199 words
A computer system having a first hardware embodying a first architecture associated with a first instruction set providing a first domain including means for executing a first code including a plurality of instructions of said first instruction set, said computer system comprising: A) simulating means for simulating a second architecture associated with a second instruction set providing a second domain for executing a second code including a plurality of instructions of said second instruction set, said second domain characterized by a machine state associated with each said second code instruction; and B) a debugger including a debugger program comprising instructions of said first instruction set executable by said computer system in said first domain for debugging said first code and second code, said debugger having access to machine state associated with code executed in said first domain; C) said simulating means including means for providing support services for said debugger to enable said debugger to debug said second code, including i) means for providing said debugger with access to each said machine state of said second domain, and responsive to said debugger, for modifying said machine state, and ii) means for setting and storing breakpoints in said second code.
Claim 9
Dependent Claim 199 words
A computer system having a first hardware embodying a first architecture associated with a first instruction set providing a first domain including means for executing a first code including a plurality of instructions of said first instruction set, said computer system comprising: A) simulating means for simulating a second architecture associated with a second instruction set providing a second domain for executing a second code including a plurality of instructions of said second instruction set, said second domain characterized by a machine state associated with each said second code instruction; and B) a debugger including a debugger program comprising instructions of said first instruction set executable by said computer system in said first domain for debugging said first code and second code, said debugger having access to machine state associated with code executed in said first domain; C) said simulating means including means for providing support services for said debugger to enable said debugger to debug said second code, including i) means for providing said debugger with access to each said machine state of said second domain, and responsive to said debugger, for modifying said machine state, and ii) means for setting and storing breakpoints in said second code.
Claim 10
Dependent Claim 57 words
The computer system in accordance with claim 7, further comprising memory means for storing said first and second codes at a plurality of memory locations identified by unique addresses, and said breakpoint means identifies said breakpoints by storing a representation of said addresses of said first code and second code at which said breakpoints are to occur.
Claim 11
Dependent Claim 18 words
The computer system in accordance with claim 8, wherein said memory means stores a list of said breakpoints.
Claim 12
Dependent Claim 59 words
The computer system in accordance with claim 7, further including memory means for storing data, said memory means responsive to memory and read and memory write commands for respectively supplying and modifying said stored data, means for generating a call for cross-domain memory access under pre-determined conditions, including a memory data read failure and a memory data write failure.
Claim 13
Dependent Claim 23 words
The computer system in accordance with claim 7, wherein said state access means includes means for reading and writing to said machine state.
Claim 14
Dependent Claim 36 words
The computer system in accordance with claim 7, wherein said simulating means includes multiple registers, and said state access means includes means for writing to said registers, and means for reading the contents of said registers.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-10-20 2001-04-21 2001-10-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-10-20 2005-04-21 2005-10-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-10-20 2009-04-21 2009-10-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag