Hardware-software debugger using simulation speed enhancing techniques including skipping unnecessary bus cycles, avoiding instruction fetch simulation, eliminating the need for explicit clock pulse generation and caching results of instruction decoding
Title: | Hardware-software debugger using simulation speed enhancing techniques including skipping unnecessary bus cycles, avoiding instruction fetch simulation, eliminating the need for explicit clock pulse generation and caching results of instruction decoding |
---|---|
Patent Number: | 5,678,028 |
Publication Date: | October 14, 1997 |
Appl. No: | 08/328,429 |
Application Filed: | October 25, 1994 |
Abstract: | The speed of a hardware-software debugger is markedly increased through the use of high speed simulators which ignore all systems operations except those where design errors are expected to manifest themselves, by skipping CPU bus cycles of no interest for the simulation, by not explicitly simulating periodic clock signals and generating only schedules of clock signals, and by caching instructions when alien computers are used in the simulation process to eliminate decoding of the instructions of the target computer. |
Inventors: | Bershteyn, Mikhail (Campbell, CA); Casley, Ross Thomas (Palo Alto, CA); Chien, Chiahon (Saratoga, CA); Ghosh, Abhijit (Berkeley, CA); Jain, Anurag (Santa Clara, CA); Lipsie, Michael Leigh (Los Gatos, CA); Tarrodaychik, Donald (Santa Clara, CA); Yamamoto, Osamu (San Jose, CA) |
Assignees: | Mitsubishi Electric Information Technology Center America, Inc. (Cambridge, MA) |
Claim: | We claim |
Claim: | 1. A system for increasing the speed of a hardware-software debugger for debugging a target system having a CPU, a memory, and a number of hardware modules, a interconnected with a bus, comprising |
Claim: | means for simulating said target system including a CPU simulator, a memory simulator, a number of simulators for said hardware modules, and a simulation manager coupled to said CPU simulator, said memory simulator and said number of simulators for said hardware modules for executing simulation control and debugging commands periodically calling different simulators and passing control to the appropriate simulator; |
Claim: | a bus simulator for interconnecting said hardware module simulators, said memory simulator and said CPU simulator, said bus providing signals corresponding to bus cycles; and |
Claim: | means for skipping bus cycles not necessary for simulation wherein said skipping means includes means for determining whether there is an instruction fetch on said bus, or a data access cycle on said bus, and if there is a data access cycle, determining whether bus operation for said data access cycle is for said memory rather than one of said hardware modules, whereby it is not necessary to interpret every bus signal by avoiding instruction fetch simulation and whereby the speed increase is due to skipping unnecessary cycles. |
Claim: | 2. The system of claim 1 and further including a clock source simulator for generating schedules of periodic clock signals at initialization times to provide repetitive simulation of said periodic clock signals, and means coupled to said bus for decoding said schedule and for producing a local set of clock pulses at the time determined by said schedule, whereby all clock pulses need not be explicitly generated. |
Claim: | 3. The system of claim 1 wherein the program running on said CPU involves repetitive execution of the same instruction, and further including a cache for temporary storage of decoded instructions and for retrieval thereof by translation, such that after a first decoding is done, the next time said same instruction is encountered only the results of the translation of said some instruction are retrieved from said cache, thus to take advantage of the caching of the results of instruction decoding. |
Current U.S. Class: | 395/500; 364/578; 39518/304; 39518/309; 371/225 |
Current International Class: | G06F 9455; G01R 3128 |
Patent References Cited: | 5313618 May 1994 Pawloski 5327361 July 1994 Long et al. 5329471 July 1994 Swoboda et al. 5357628 October 1994 Yuen 5388060 February 1995 Adams, Jr. et al. 5438673 August 1995 Court et al. 5440697 August 1995 Boegel et al. |
Primary Examiner: | Louis-Jacques, Jacques |
Attorney, Agent or Firm: | Tendler, Robert K. |
Accession Number: | edspgr.05678028 |
Database: | USPTO Patent Grants |
Language: | English |
---|