Method and apparatus for halting a processor and providing state visibility on a pipeline phase basis
First Claim
1. A method for debugging a processor within a data processing system, the processor having an instruction execution pipeline, comprising the steps of:
- executing system code in the processor instruction execution pipeline in a normal operational manner to initiate a plurality of overlapping operations in a plurality of stages of the instruction pipeline;
halting the normal operation of the processor in a manner that at least one of the overlapping operations is incomplete and then saving a first state representative of the instruction execution pipeline; and
single stepping the instruction execution pipeline one pipeline phase in a manner that initiates a second plurality of overlapping operations in the plurality of stages of the instruction execution pipeline, such that at least a second one of the overlapping operations is incomplete, and then saving a second state representative of the instruction pipeline.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing system on an integrated circuit 42 with microprocessor 1 and peripheral devices 60-61 is provided with an emulation unit 50 which allows debugging and emulation of integrated circuit 42 when connected to an external test system 51. Microprocessor 1 has in instruction execution pipeline that has several execution phases which involve fetch/decode units 10a-c and functional execution units 12, 14, 16 and 18. The pipeline of microprocessor 1 is unprotected so that memory access latency to data memory 22 and register file 20 can be utilized by system program code which is stored in instruction memory 23. Emulation unit 50 provides means for emulating the unprotected pipeline of microprocessor 1 and for rapidly uploading and downloading memories 22-23. Microprocessor 1 is operable to halt in response to an emulation event with partially completed instructions still in the execution pipeline. Thus, emulation unit 50 can provide visibility to the state of the microprocessor on a single pipeline phase basis. Emulation unit 50 operates in a manner to prevent extraneous operations from occurring that could otherwise affect memories 22-23 or peripheral devices 60-61 during emulation.
73 Citations
15 Claims
-
1. A method for debugging a processor within a data processing system, the processor having an instruction execution pipeline, comprising the steps of:
-
executing system code in the processor instruction execution pipeline in a normal operational manner to initiate a plurality of overlapping operations in a plurality of stages of the instruction pipeline; halting the normal operation of the processor in a manner that at least one of the overlapping operations is incomplete and then saving a first state representative of the instruction execution pipeline; and single stepping the instruction execution pipeline one pipeline phase in a manner that initiates a second plurality of overlapping operations in the plurality of stages of the instruction execution pipeline, such that at least a second one of the overlapping operations is incomplete, and then saving a second state representative of the instruction pipeline. - View Dependent Claims (2, 3, 6, 7, 8, 9, 10, 11, 12, 14, 15)
-
-
4. A data processing system comprising a microprocessor having an instruction execution pipeline, the microprocessor further comprising:
-
circuitry for executing system code in the processor instruction execution pipeline in a normal operational manner to initiate a plurality of overlapping operations in a plurality of stages of the instruction pipeline; circuitry for halting the normal operation of the processor in a manner that at least one of the overlapping operations is incomplete; circuitry for saving a first state representative of the instruction execution pipeline; and circuitry for single stepping the instruction execution pipeline one pipeline phase in a manner that initiates a second plurality of overlapping operations in the plurality of stages of the instruction execution pipeline, such that at least a second one of the overlapping operations is incomplete and then saving a second state representative of the instruction pipeline. - View Dependent Claims (5, 13)
-
Specification