IP Library Granted Patent US 7,007,205
Granted Patent B1
US 7,007,205 · App. 09/788,174 · Granted Feb 28, 2006

Method and apparatus for recording trace data in a microprocessor based integrated circuit

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,007,205
App. No.
09/788,174
Granted
Feb 28, 2006
Kind
B1
Abstract

An integrated circuit ( 10 ) includes a central processing unit ( 12 ), an instruction cache ( 14 ), a data cache ( 16 ), and a trace recorder. The central processing unit ( 12 ) interacts with the instruction cache ( 14 ) and the data cache ( 16 ) in order to execute instructions. Information passed between the central processing unit ( 12 ), the instruction cache ( 14 ), and the data cache ( 16 ) not normally available for external analysis may be captured by the trace recorder ( 20 ) in response to various triggering events. The information captured by the trace recorder ( 20 ) may subsequently be provided to external test equipment in order to analyze the operation of the central processing unit ( 12 ) for failure correction.

Claims (36)

1. An integrated circuit, comprising:

a central processing unit;

an instruction cache in communication with the central processing unit;

a data cache in communication with the central processing unit;

a trace recorder operable to capture selective information passed from the central processing unit to the instruction cache and the data cache immediately prior to and immediately subsequent to a triggering event, the trace recorder including a memory array, the trace recorder operable to continuously capture selective information in a selective first set of blocks of the memory array prior to the triggering event, the trace recorder operable to capture information subsequent to the triggering event in a second set of blocks of the memory array without writing over information captured prior to the triggering event in the first set of blocks of the memory array, the second set of blocks being separate from the first set of blocks.

2. The integrated circuit of claim 1 , wherein the trace recorder is a single memory unit operable to capture information associated with both a first triggering event and a second triggering event.

3. The integrated circuit of claim 2 , wherein the trace recorder is operable to maintain captured information prior to and associated with the first triggering event upon occurrence of the second triggering event.

4. The integrated circuit of claim 2 , wherein the trace recorder is operable to capture information subsequent to and associated with the first triggering event upon the occurrence of the second triggering event.

5. The integrated circuit of claim 2 , wherein the trace recorder is operable to capture information associated with the second triggering event prior to and subsequent to the second triggering event.

6. The integrated circuit of claim 1 , wherein the trace recorder is operable to inhibit capturing of information.

7. The integrated circuit of claim 1 , wherein the trace recorder is operable to provide captured information to a device external to the integrated circuit.

8. The integrated circuit of claim 1 , wherein the trace recorder is operable to store captured data in non-consecutive storage locations.

9. The integrated circuit of claim 1 , wherein the trace recorder is operable to capture data every Nth operating cycle of the central processing unit.

10. The integrated circuit of claim 1 , wherein the trace recorder is operable to maintain captured information associated with the first and second triggering events despite the occurrence of a third triggering event.

11. A method of recording trace data in a microprocessor based integrated circuit, comprising:

identifying a triggering event;

capturing information transferred from a central processing unit to an associated instruction cache pertaining to the triggering event;

capturing information transferred from a central processing unit to a data cache pertaining to the triggering event;

wherein the information is captured immediately prior to and immediately subsequent to the triggering event, wherein the information is continuously captured in a selective first set of blocks of a memory array prior to the triggering event, wherein the information is captured subsequent to the triggering event in a second set of blocks of the memory array without writing over information captured prior to the triggering event in the first set of blocks of the memory array, the second set of blocks being separate from the first set of blocks.

12. The method of claim 11 , wherein information pertaining to the triggering event is captured and maintained despite the occurrence of a subsequent triggering event.

13. The method of claim 11 , wherein information is captured in non-consecutive storage locations.

14. The method of claim 11 , further comprising:

outputting captured information.

15. The method of claim 11 , wherein information is captured for every Nth cycle associated with the operation of the central processing unit.

16. A trace recorder for a microprocessor based integrated circuit, comprising:

a memory array operable to capture information passed from a central processing unit to instruction and data caches of the integrated circuit;

a trigger control register operable to initiate information capture;

a capture control register operable to determine how information is to be captured and maintained;

an order map register operable to determine where information is to be captured within the memory array;

wherein information is captured immediately prior to and immediately subsequent to a triggering event, the memory array operable to continuously capture selective information in a selective first set of blocks of the memory array prior to the triggering event, the memory array operable to capture information subsequent to the triggering event in a second set of blocks of the memory array without writing over information captured prior to the triggering event in the first set of blocks of the memory array, the second set of blocks being separate from the first set of blocks.

17. The trace recorder of claim 16 , further comprising:

an inhibit mask register operable to selectively inhibit capturing of information.

18. The trace recorder of claim 16 , further comprising:

controller logic operable to access the memory array according to the trigger control register, the capture control register, and the order map register.

19. The trace recorder of claim 18 , wherein the controller logic generates memory addresses to the memory array.

20. The trace recorder of claim 16 , wherein information associated with the triggering event is maintained in the memory array during capture of information associated with a subsequent triggering event.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2013
From: GRAPHICS PROPERTIES HOLDINGS, INC.
To: LG ELECTRONICS, INC.
Reel/Frame 029604/0090 →
CHANGE OF NAME Recorded Aug 26, 2009
From: SILICON GRAPHICS, INC.
To: GRAPHICS PROPERTIES HOLDINGS, INC.
Reel/Frame 023134/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2007
From: GENERAL ELECTRIC CAPITAL CORPORATION
To: MORGAN STANLEY & CO., INCORPORATED
Reel/Frame 019995/0895 →
SECURITY INTEREST Recorded Oct 24, 2006
From: SILICON GRAPHICS, INC.
To: GENERAL ELECTRIC CAPITAL CORPORATION
Reel/Frame 018545/0777 →
SECURITY AGREEMENT Recorded Aug 19, 2005
From: SILICON GRAPHICS, INC. AND SILICON GRAPHICS FEDERAL, INC. (EACH A DELAWARE CORPORATION)
To: WELLS FARGO FOOTHILL CAPITAL, INC.
Reel/Frame 016871/0809 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2001
From: YEAGER, KENNETH C.; PELTIER, STEVEN T.; ZHANG, DAVID X.
To: SILICON GRAPHICS, INC.
Reel/Frame 011563/0644 →