Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
199 words
A method for debugging a processor within a data processing system, the processor having an instruction execution pipeline with at least a first pipeline phase followed by a second pipeline phase, comprising the steps of: forming a software breakpoint instruction within a sequence of instructions by replacing a field within an operational instruction with a predetermined breakpoint code; fetching and executing a portion of the sequence of instructions in the processor instruction execution pipeline in a normal operational manner to initiate a plurality of overlapping operations in the instruction pipeline; fetching and partially executing the software breakpoint instruction in the first pipeline phase of the instruction pipeline; halting the normal operation of the instruction pipeline in response to decoding the breakpoint code in the second pipeline phase of the instruction pipeline; performing a debug function in response to decoding the breakpoint code; and restarting the normal operation of the instruction pipeline after the step of performing a debug function without refetching the operational instruction which was replaced by the software breakpoint instruction in a manner such that the operational instruction is executed as if the field within the operational instruction had not been replaced with the predetermined breakpoint code.
Claim 2
Independent Claim
199 words
A method for debugging a processor within a data processing system, the processor having an instruction execution pipeline with at least a first pipeline phase followed by a second pipeline phase, comprising the steps of: forming a software breakpoint instruction within a sequence of instructions by replacing a field within an operational instruction with a predetermined breakpoint code; fetching and executing a portion of the sequence of instructions in the processor instruction execution pipeline in a normal operational manner to initiate a plurality of overlapping operations in the instruction pipeline; fetching and partially executing the software breakpoint instruction in the first pipeline phase of the instruction pipeline; halting the normal operation of the instruction pipeline in response to decoding the breakpoint code in the second pipeline phase of the instruction pipeline; performing a debug function in response to decoding the breakpoint code; and restarting the normal operation of the instruction pipeline after the step of performing a debug function without refetching the operational instruction which was replaced by the software breakpoint instruction in a manner such that the operational instruction is executed as if the field within the operational instruction had not been replaced with the predetermined breakpoint code.
Claim 3
Dependent Claim
37 words
The method of claim 1, wherein the step of halting further comprises preserving memory access latency by halting the normal operation of the instruction pipeline in a manner that suspends completion of the plurality of overlapping operations.
Claim 4
Dependent Claim
16 words
The method of claim 2, wherein the field within the operational instruction is a single bit.
Claim 5
Dependent Claim
17 words
The method of claim 2, wherein the field within the operational instruction is not the opcode field.
Claim 6
Dependent Claim
26 words
The method of claim 2, further comprising the step of transferring a state representative of the suspended plurality of overlapping states to an external test system.
Claim 7
Dependent Claim
49 words
The method of claim 1, wherein the step of restarting further comprises replacing the breakpoint code in the operational instruction after the breakpoint code is decoded in the second phase of the instruction pipeline such that the operational instruction is executed with the original field of the operational instruction.
Claim 8
Independent Claim
240 words
A method for debugging a processor within a data processing system the processor having an instruction execution pipeline with at least a first pipeline phase followed by a second pipeline phase, comprising the steps of: forming a software breakpoint instruction within a sequence of instructions by replacing a field within an operational instruction with a predetermined breakpoint code, wherein the field within the operational instruction is the opcode field; fetching and executing a portion of the sequence of instructions in the processor instruction execution pipeline in a normal operational manner to initiate a plurality of overlapping operations in the instruction pipeline; fetching and partially executing the software breakpoint instruction in the first pipeline phase of the instruction pipeline; halting the normal operation of the instruction pipeline in response to decoding the breakpoint code in the second pipeline phase of the instruction pipeline in a manner that suspends completion of the plurality of overlapping operations; performing a debug function in response to decoding the breakpoint code; and restarting the normal operation of the instruction pipeline after the step of performing a debug function without refetching the operational instruction which was replaced by the software breakpoint instruction; and wherein the step of restarting further comprises replacing a decoded value of the software breakpoint instruction in a register associated with the second phase of the pipeline with a decoded value representative of the operational instruction which was replaced by the software breakpoint instruction.
Claim 9
Independent Claim
240 words
A method for debugging a processor within a data processing system the processor having an instruction execution pipeline with at least a first pipeline phase followed by a second pipeline phase, comprising the steps of: forming a software breakpoint instruction within a sequence of instructions by replacing a field within an operational instruction with a predetermined breakpoint code, wherein the field within the operational instruction is the opcode field; fetching and executing a portion of the sequence of instructions in the processor instruction execution pipeline in a normal operational manner to initiate a plurality of overlapping operations in the instruction pipeline; fetching and partially executing the software breakpoint instruction in the first pipeline phase of the instruction pipeline; halting the normal operation of the instruction pipeline in response to decoding the breakpoint code in the second pipeline phase of the instruction pipeline in a manner that suspends completion of the plurality of overlapping operations; performing a debug function in response to decoding the breakpoint code; and restarting the normal operation of the instruction pipeline after the step of performing a debug function without refetching the operational instruction which was replaced by the software breakpoint instruction; and wherein the step of restarting further comprises replacing a decoded value of the software breakpoint instruction in a register associated with the second phase of the pipeline with a decoded value representative of the operational instruction which was replaced by the software breakpoint instruction.
Claim 10
Independent Claim
196 words
A method for debugging a processor within a data processing system, the processor having an instruction execution pipeline for executing a sequence of instructions fetched from an instruction memory, comprising the steps of: selecting a target instruction within the sequence of instructions; forming a software breakpoint instruction within the sequence of instructions by replacing a selected field within the target instruction with a predetermined breakpoint code; fetching and executing a portion of the sequence of instructions in the processor instruction execution pipeline in a normal operational manner to initiate a plurality of overlapping operations in the instruction pipeline; fetching and partially executing the target instruction in the instruction pipeline; halting the normal operation of the instruction pipeline in response to decoding the breakpoint code in the instruction pipeline; performing a debug function in the processor in response to decoding the breakpoint code; and restarting the normal operation of the instruction pipeline after the step of performing a debug function in a manner such that the target instruction is executed as if the selected field within the target instruction had not been replaced with a predetermined breakpoint code without refetching the target instruction from the instruction memory.
Claim 11
Independent Claim
196 words
A method for debugging a processor within a data processing system, the processor having an instruction execution pipeline for executing a sequence of instructions fetched from an instruction memory, comprising the steps of: selecting a target instruction within the sequence of instructions; forming a software breakpoint instruction within the sequence of instructions by replacing a selected field within the target instruction with a predetermined breakpoint code; fetching and executing a portion of the sequence of instructions in the processor instruction execution pipeline in a normal operational manner to initiate a plurality of overlapping operations in the instruction pipeline; fetching and partially executing the target instruction in the instruction pipeline; halting the normal operation of the instruction pipeline in response to decoding the breakpoint code in the instruction pipeline; performing a debug function in the processor in response to decoding the breakpoint code; and restarting the normal operation of the instruction pipeline after the step of performing a debug function in a manner such that the target instruction is executed as if the selected field within the target instruction had not been replaced with a predetermined breakpoint code without refetching the target instruction from the instruction memory.
Claim 12
Dependent Claim
37 words
The method of claim 8, wherein the step of halting further comprises preserving memory access latency by halting the normal operation of the instruction pipeline in a manner that suspends completion of the plurality of overlapping operations.
Claim 13
Dependent Claim
17 words
The method of claim 8, wherein the selected field within the target instruction is a single bit.
Claim 14
Dependent Claim
18 words
The method of claim 8, wherein the selected field within the target instruction is not the opcode field.
Claim 15
Dependent Claim
66 words
The method of claim 8, wherein the step of restarting further comprises the step of replacing the breakpoint code in the target instruction with the original contents of the selected field after the breakpoint code is decoded in the instruction pipeline such that the target instruction is executed with the original selected field of the target instruction without refetching the target instruction from the instruction memory.
Claim 16
Dependent Claim
34 words
The method of claim 12, wherein the step of forming a software breakpoint instruction saves the original contents of the selected field of the target instruction in a test system connected to the processor.
Claim 17
Dependent Claim
36 words
The method of claim 12, wherein during the step of replacing the breakpoint code the original contents of the selected field of the target instruction is provided by an external test system connected to the processor.
Claim 18
Dependent Claim
201 words
A digital system having a processor, the processor comprising: an instruction register for holding an instruction to be executed; an instruction execution pipeline connected to the instruction register to execute instructions; memory circuitry connected to the processor for holding data and instructions; emulation circuitry connected to the instruction register and to the instruction execution pipeline; a test port connected to the emulation circuitry for connecting an external test system; wherein the emulation circuitry comprises detection circuitry operable to detect when a selected field of a target instruction contains a software breakpoint code; emulation control circuitry operable to halt the normal operation of the instruction execution pipeline in response to the detection circuitry detecting a software breakpoint code so that an external test system connected to the test port can perform a debug operation on the digital system; and wherein the emulation control circuitry is further operable to restart the normal operation of the instruction pipeline after the detection circuitry detects a software breakpoint code in a manner such that the target instruction is executed as if an original contents of the selected field within the target instruction had not been replaced with the software breakpoint code without refetching the target instruction.
Claim 19
Dependent Claim
201 words
A digital system having a processor, the processor comprising: an instruction register for holding an instruction to be executed; an instruction execution pipeline connected to the instruction register to execute instructions; memory circuitry connected to the processor for holding data and instructions; emulation circuitry connected to the instruction register and to the instruction execution pipeline; a test port connected to the emulation circuitry for connecting an external test system; wherein the emulation circuitry comprises detection circuitry operable to detect when a selected field of a target instruction contains a software breakpoint code; emulation control circuitry operable to halt the normal operation of the instruction execution pipeline in response to the detection circuitry detecting a software breakpoint code so that an external test system connected to the test port can perform a debug operation on the digital system; and wherein the emulation control circuitry is further operable to restart the normal operation of the instruction pipeline after the detection circuitry detects a software breakpoint code in a manner such that the target instruction is executed as if an original contents of the selected field within the target instruction had not been replaced with the software breakpoint code without refetching the target instruction.
Claim 20
Dependent Claim
45 words
The digital system of claim 15, wherein the emulation circuitry further comprises circuitry for replacing the software breakpoint code in the selected field of the target instruction with the original contents of the selected field while the target instruction is in the instruction execution pipeline.
Claim 21
Dependent Claim
51 words
The digital system of claim 15, wherein the emulation circuitry further comprises circuitry for replacing decoded results of the software breakpoint code in the selected field of the target instruction with decoded results of the original contents of the selected field while the target instruction is in the instruction execution pipeline.
Claim 22
Dependent Claim
18 words
The digital system of claim 15, wherein the selected field within the target instruction is a single bit.
Claim 23
Dependent Claim
19 words
The digital system of claim 15, wherein the selected field within the target instruction is not an opcode field.
Claim 24
Dependent Claim
32 words
The digital system of claim 15, further comprising at least one peripheral device selected from the group consisting of a timer, a serial port, a disk drive, a ROM and a RAM.