Patent US5694589A successfully refreshed from Google Patents.
US5694589A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Instruction breakpoint detection apparatus for use in an out-of-order microprocessor
Assignee: Intel Corp
•
Filing: 1995-06-13
•
Granted: 1997-12-02
•
Expires: 2015-06-13
Abstract
Abstract Code breakpoint detection logic for a superscalar microprocessor. Superscalar operation in a microprocessor is maintained with a single breakpoint detection mechanism which performs breakpoint detection prior to instruction decoding. One bit for each byte in an instruction packet is provided as a result of a comparison of the aligned instruction fetch to the debug registers. After decoding, if the first byte of an instruction has an appended breakpoint true bit, then an event is signaled for breakpoint handling by the superscalar microprocessor.
Inventors
- 👤 Andrew F. Glew
- 👤 Ashwani Kumar Gupta
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-03 21:53
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06F11/3648; G06F9/00; G06F9/06; G06F9/30; G06F9/30145; G06F9/30149; G06F9/30152; G06F9/38; G06F9/3818; G06F9/382
Claims Analysis
Total Claims: 33
Claim 1
Independent Claim
158 words
An instruction breakpoint detection apparatus comprising: a memory element to store a linear breakpoint address; an instruction fetch mechanism to retrieve a packet of aligned instruction data in accordance with a provided fetch instruction pointer, said packet of aligned instruction data including (N) bytes; a comparing circuit coupled to said instruction fetch mechanism and in communication with said memory element, said comparing circuit to compare said fetch instruction pointer to said linear breakpoint address; and a byte marking circuit, coupled and responsive to said comparing circuit, to generate a breakpoint marking sequence including (N) bits, each of which is associated with a respective byte of said packet of aligned instruction data, and identifying at least one byte of said packet of aligned instruction data as a code breakpoint, said breakpoint marking sequence being generated responsive to a match between at least a portion of said fetch instruction pointer and at least a portion of said linear breakpoint address.
Claim 2
Dependent Claim
158 words
An instruction breakpoint detection apparatus comprising: a memory element to store a linear breakpoint address; an instruction fetch mechanism to retrieve a packet of aligned instruction data in accordance with a provided fetch instruction pointer, said packet of aligned instruction data including (N) bytes; a comparing circuit coupled to said instruction fetch mechanism and in communication with said memory element, said comparing circuit to compare said fetch instruction pointer to said linear breakpoint address; and a byte marking circuit, coupled and responsive to said comparing circuit, to generate a breakpoint marking sequence including (N) bits, each of which is associated with a respective byte of said packet of aligned instruction data, and identifying at least one byte of said packet of aligned instruction data as a code breakpoint, said breakpoint marking sequence being generated responsive to a match between at least a portion of said fetch instruction pointer and at least a portion of said linear breakpoint address.
Claim 3
Dependent Claim
50 words
The instruction breakpoint detection apparatus of claim 1 wherein instruction addresses comprise (T) total bits comprising (U) upper bits and (L) lower bits, the comparing circuit comprising circuitry to compare the upper (U) bits of the fetch instruction pointer with the upper (U) bits of the stored linear breakpoint address.
Claim 4
Dependent Claim
56 words
The instruction breakpoint apparatus of claim 2 wherein said byte marking circuit comprises an L:N decoding circuit to convert the lower (L) bits of the stored breakpoint address to said breakpoint marking sequence for marking said packet of aligned instruction data with a breakpoint bit which identifies said at least one byte as said code breakpoint.
Claim 5
Dependent Claim
50 words
The instruction breakpoint detection apparatus of claim 3 wherein said (T) total bits of (U) upper bits and (L) lower bits comprises 32 bits with 28 upper bits and 4 lower bits, said packet of aligned instruction data comprises 16 bytes, and said L:N decoding circuit comprises a 4:16 decoder.
Claim 6
Dependent Claim
66 words
The instruction breakpoint detection apparatus of claim 3 further comprising: an additional plurality of (M) memory elements to store a plurality of linear breakpoint addresses; and an additional plurality of (M) byte marking circuits, each associated with one of said additional plurality of memory elements, wherein said comparing circuit includes circuitry to compare said fetch instruction pointer to each of said plurality of linear breakpoint addresses.
Claim 7
Dependent Claim
49 words
The instruction breakpoint detection apparatus of claim 3 further including an instruction decoding mechanism to receive fetch instruction data, said instruction decoding mechanism including: detection circuitry to determine if the first byte of an instruction is marked with a breakpoint bit; and signaling circuitry to signal a breakpoint condition.
Claim 8
Dependent Claim
27 words
The instruction breakpoint detection apparatus of claim 5 wherein said breakpoint marking sequence includes only 1 bit for each byte of said packet of aligned instruction data.
Claim 9
Dependent Claim
26 words
The instruction breakpoint detection apparatus of claim 5 wherein said breakpoint marking sequence includes M bits for each byte of said packet of aligned instruction data.
Claim 10
Dependent Claim
217 words
A microprocessor comprising: an instruction execution block to execute instructions; an instruction fetch and decode block coupled to communicate with said instruction execution block, said instruction fetch and decoding block to fetch and decode instruction data for providing said instructions to said instruction execution block; and an instruction break point detection apparatus incorporated within said instruction fetch and decode block, said instruction breakpoint detection apparatus comprising: a memory element to store a linear breakpoint address; an instruction fetch mechanism to retrieve a packet of aligned instruction data in accordance with a provided fetch instruction pointer, said packet of aligned instruction data including (N) bytes; a comparing circuit coupled to said instruction fetch mechanism and in communication with said memory element, said comparing circuitry to compare said fetch instruction pointer to said linear breakpoint address; and a byte marking circuit, coupled and responsive to said comparing circuit, to generate a breakpoint marking sequence including (N) bits, each of which is associated with a respective byte of said packet of aligned instruction data, and identifying at least one byte of said packet of aligned instruction data as a code breakpoint, said breakpoint marking sequence being generated responsive to a match between at least a portion of said fetch instruction and at least a portion of said linear breakpoint address.
Claim 11
Dependent Claim
217 words
A microprocessor comprising: an instruction execution block to execute instructions; an instruction fetch and decode block coupled to communicate with said instruction execution block, said instruction fetch and decoding block to fetch and decode instruction data for providing said instructions to said instruction execution block; and an instruction break point detection apparatus incorporated within said instruction fetch and decode block, said instruction breakpoint detection apparatus comprising: a memory element to store a linear breakpoint address; an instruction fetch mechanism to retrieve a packet of aligned instruction data in accordance with a provided fetch instruction pointer, said packet of aligned instruction data including (N) bytes; a comparing circuit coupled to said instruction fetch mechanism and in communication with said memory element, said comparing circuitry to compare said fetch instruction pointer to said linear breakpoint address; and a byte marking circuit, coupled and responsive to said comparing circuit, to generate a breakpoint marking sequence including (N) bits, each of which is associated with a respective byte of said packet of aligned instruction data, and identifying at least one byte of said packet of aligned instruction data as a code breakpoint, said breakpoint marking sequence being generated responsive to a match between at least a portion of said fetch instruction and at least a portion of said linear breakpoint address.
Claim 12
Dependent Claim
47 words
The microprocessor of claim 9 wherein instruction addresses comprise (T) total bits comprising (U) upper bits and (L) lower bits, the comparing circuit comprising circuitry to compare the upper (U) bits of the fetch instruction pointer with the upper (U) bits of the stored linear breakpoint address.
Claim 13
Dependent Claim
54 words
The microprocessor of claim 10 wherein said byte marking circuit comprises an L:N decoding circuit to convert the lower (L) bits of the stored breakpoint address to said breakpoint marking sequence for marking said packet of aligned instruction data with a breakpoint bit which identifies said at least one byte as said code breakpoint.
Claim 14
Dependent Claim
47 words
The microprocessor of claim 11 wherein said (T) total bits of (U) upper bits and (L) lower bits comprises 32 bits with 28 upper bits and 4 lower bits, said packet of aligned instruction data comprises 16 bytes, and said L:N decoding circuit comprises a 4:16 decoder.
Claim 15
Dependent Claim
63 words
The microprocessor of claim 11 further comprising: an additional plurality of (M) memory elements to store a plurality of linear breakpoint addresses; and an additional plurality of (M) byte marking circuits, each associated with one of said additional plurality of memory elements, wherein said comparing circuit includes circuitry to compare said fetch instruction pointer to each of said plurality of linear breakpoint addresses.
Claim 16
Dependent Claim
46 words
The microprocessor of claim 11 further including an instruction decoding mechanism to receive fetch instruction data, said instruction decoding mechanism including: detection circuitry to determine if the first byte of an instruction is marked with a breakpoint bit; and signaling circuitry to signal a breakpoint condition.
Claim 17
Dependent Claim
24 words
The microprocessor of claim 13 wherein said breakpoint marking sequence includes only 1 bit for each byte of said packet of aligned instruction data.
Claim 18
Dependent Claim
23 words
The microprocessor of claim 13 wherein said breakpoint marking sequence includes M bits for each byte of said packet of aligned instruction data.
Claim 19
Dependent Claim
238 words
A computer system comprising: a bus; a main memory, coupled to said bus to store digital data; and a microprocessor, coupled to said bus, to process said digital data, said microprocessor comprising: an instruction fetch and decode block coupled to communicate with an execution block, said instruction fetch and decode block to fetch and decode instruction data for providing said instructions to said instruction execution block; and an instruction break point detection apparatus incorporated within said instruction fetch and decode block, said instruction breakpoint detection apparatus comprising: a memory element to store a linear breakpoint address; an instruction fetch mechanism to retrieve a packet of aligned instruction data in accordance with a provided fetch instruction pointer, said packet of aligned instruction data including (N) bytes; a comparing circuit coupled to said instruction fetch mechanism and in communication with said memory element, said comparing circuit to compare said fetch instruction pointer to said linear breakpoint address; and a byte marking circuit, coupled and responsive to said comparing circuit, to generate a breakpoint marking sequence including (N) bits, each of which is associated with a respective byte of said packet of aligned instruction data, and identifying at least one byte of said packet of aligned instruction data as a code breakpoint, said breakpoint marking sequence being generated responsive to a match between at least a portion of said fetch instruction and at least a portion of said linear breakpoint address.
Claim 20
Dependent Claim
238 words
A computer system comprising: a bus; a main memory, coupled to said bus to store digital data; and a microprocessor, coupled to said bus, to process said digital data, said microprocessor comprising: an instruction fetch and decode block coupled to communicate with an execution block, said instruction fetch and decode block to fetch and decode instruction data for providing said instructions to said instruction execution block; and an instruction break point detection apparatus incorporated within said instruction fetch and decode block, said instruction breakpoint detection apparatus comprising: a memory element to store a linear breakpoint address; an instruction fetch mechanism to retrieve a packet of aligned instruction data in accordance with a provided fetch instruction pointer, said packet of aligned instruction data including (N) bytes; a comparing circuit coupled to said instruction fetch mechanism and in communication with said memory element, said comparing circuit to compare said fetch instruction pointer to said linear breakpoint address; and a byte marking circuit, coupled and responsive to said comparing circuit, to generate a breakpoint marking sequence including (N) bits, each of which is associated with a respective byte of said packet of aligned instruction data, and identifying at least one byte of said packet of aligned instruction data as a code breakpoint, said breakpoint marking sequence being generated responsive to a match between at least a portion of said fetch instruction and at least a portion of said linear breakpoint address.
Claim 21
Dependent Claim
48 words
The computer system of claim 17 wherein instruction addresses comprise (T) total bits comprising (U) upper bits and (L) lower bits, the comparing circuit comprising circuitry to compare the upper (U) bits of the fetch instruction pointer with the upper (U) bits of the stored linear breakpoint address.
Claim 22
Dependent Claim
55 words
The computer system of claim 18 wherein said byte marking circuit comprises an L:N decoding circuit to convert the lower (L) bits of the stored breakpoint address to said breakpoint marking sequence for marking said packet of aligned instruction data with a breakpoint bit which identifies said at least one byte as said code breakpoint.
Claim 23
Dependent Claim
48 words
The computer system of claim 19 wherein said (T) total bits of (U) upper bits and (L) lower bits comprises 32 bits with 28 upper bits and 4 lower bits, said packet of aligned instruction data comprises 16 bytes, and said L:N decoding circuit comprises a 4:16 decoder.
Claim 24
Dependent Claim
64 words
The computer system of claim 19 further comprising: an additional plurality of (M) memory elements to store a plurality of linear breakpoint addresses; and an additional plurality of (M) byte marking circuits, each associated with one of said additional plurality of memory elements, wherein said comparing circuit includes circuitry to compare said fetch instruction pointer to each of said plurality of linear breakpoint addresses.
Claim 25
Dependent Claim
47 words
The computer system of claim 19 further including an instruction decoding mechanism for receiving fetch instruction data, said instruction decoding mechanism including: detection circuitry to determine if the first byte of an instruction is marked with a breakpoint bit; and signaling circuitry to signal a breakpoint condition.
Claim 26
Dependent Claim
25 words
The computer system of claim 21 wherein said breakpoint marking sequence includes only 1 bit for each byte of said packet of aligned instruction data.
Claim 27
Dependent Claim
24 words
The computer system of claim 21 wherein said breakpoint marking sequence includes M bits for each byte of said packet of aligned instruction data.
Claim 28
Independent Claim
109 words
A method of detecting instruction code breakpoints comprising the steps of: storing a breakpoint address in a memory element; fetching an aligned packet of (N) bytes of instruction data based on a fetch instruction pointer; comparing the fetch instruction pointer to the breakpoint address; generating a breakpoint marking sequence including (N) bits, each of which is associated with a respective byte of said aligned packet, and identifying at least one byte of said (N) bytes of said aligned packet as a code breakpoint, if said comparing step produces a match between at least a portion of said fetch instruction pointer and at least a portion of said breakpoint address.
Claim 29
Independent Claim
109 words
A method of detecting instruction code breakpoints comprising the steps of: storing a breakpoint address in a memory element; fetching an aligned packet of (N) bytes of instruction data based on a fetch instruction pointer; comparing the fetch instruction pointer to the breakpoint address; generating a breakpoint marking sequence including (N) bits, each of which is associated with a respective byte of said aligned packet, and identifying at least one byte of said (N) bytes of said aligned packet as a code breakpoint, if said comparing step produces a match between at least a portion of said fetch instruction pointer and at least a portion of said breakpoint address.
Claim 30
Dependent Claim
27 words
The method of claim 25 further comprising the step of signaling a breakpoint event if a first byte of an instruction is identified as the code breakpoint.
Claim 31
Dependent Claim
23 words
The method of claim 26 wherein said comparing step comprises the step of comparing said fetch instruction pointer with multiple stored breakpoint addresses.
Claim 32
Dependent Claim
26 words
The method of claim 26 wherein after said signaling step, said method comprises the step of determining which stored breakpoint address matched said fetch instruction pointer.
Claim 33
Dependent Claim
56 words
The method of claim 28 wherein sad comparing step comprises the step of comparing the upper bits of said breakpoint address with the upper bits of said fetch instruction pointer and said generating step comprises the steps of decoding the lower bits of said breakpoint address and appending said breakpoint marking sequence to said aligned packet.
References Cited (Backward Citations)
US5165027A
Cited
US5442757A
Cited
US5481685A
Cited
US5479616A
Cited
US5479652A
Cited
US5479652B1
Cited
US5491793A
Cited
US5537559A
Cited
US5404473A
Cited
US5530804A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-12-01 | 2001-06-02 | 2001-12-02 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-12-01 | 2005-06-02 | 2005-12-02 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-12-01 | 2009-06-02 | 2009-12-02 | $7700.00 | Window Closed / Lapsed |