IP Library Granted Patent US 6,937,961
Granted Patent B2
US 6,937,961 · App. 10/255,427 · Granted Aug 30, 2005

Performance monitor and method therefor

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 6,937,961
App. No.
10/255,427
Granted
Aug 30, 2005
Kind
B2
Abstract

Embodiments of the present invention relate generally to a monitoring unit and method which counts a number of qualified clusters of a selected event type based on a size threshold, granularity threshold, and distance threshold time. In one embodiment, a qualified cluster is a cluster which meets both the size threshold and granularity threshold. In one embodiment, a qualified cluster is detected and counted by the cluster counter if it occurs at least the distance threshold time after a previous counted qualified cluster. For example, in one implementation, the performance monitor waits until a distance threshold time expires prior to detecting a next qualified cluster. Alternatively, all qualified clusters are detected where the cluster counter counts a qualified cluster only if it occurs at least the distance threshold time after a previous qualified cluster, regardless of whether it was counted by the cluster counter or not.

Claims (52)

1. A performance monitor comprising:

an input operative to receive an indication of an event;

control logic coupled to the input, the control logic operative to determine the occurrence of a qualified cluster of an event meeting a size threshold and a granularity threshold;

a counter coupled to the control logic, the counter indicating a number of qualified clusters of the event with each subsequent qualified cluster indicated by the counter occurring at least a distance threshold time after a previously qualified cluster indicated by the counter.

2. The performance monitor of claim 1 wherein the counter dictates a number of qualified clusters of the event with each subsequent qualified cluster indicated by the counter occurring at least the distance threshold time after a previously qualified cluster.

3. The performance monitor of claim 1 further comprising:

at least one counter control register for receiving a programmed of the distance threshold time.

4. The performance monitor of claim 1 wherein the control logic includes a second counter, the second counter being initialized with a value indicative of the distance threshold time and decremented to zero to indicate the passage of the distance threshold.

5. The performance monitor of claim 1 further comprising:

a distance counter, the contents of the distance counter ranging from a value indicative of the distance threshold time to zero;

a size counter, the contents of the size counter ranging from a value indicative of the size threshold to zero;

a granularity counter, the contents of the granularity counter ranging from a value indicative of the granularity threshold to zero;

wherein after the first incrementation of the counter, the counter is incremented when the contents of the distance counter, the size counter, and the granularity counter are zero and no event is occurring as indicated via the input.

6. The performance monitor of claim 1 further comprising:

a distance counter, the contents of the distance counter ranging from a value indicative of the distance threshold time to zero;

a size counter, the contents of the size counter ranging from a value indicative of the size threshold to zero;

a granularity counter, the contents of the granularity counter ranging from a value indicative of the granularity threshold to zero;

wherein after the first incrementation of the counter, the size counter and the granularity counter are not decremented until the distance counter has been decremented to zero.

7. The performance monitor of claim 1 further comprising:

a control register including a portion indicating an event type of the clusters to be counted by the cluster counter.

8. A data processing system comprising:

a processor;

a monitoring unit including:

an input operative to receive an indication of an event;

control logic coupled to the input, the control logic operative to determine the occurrence of a qualified cluster of an event meeting a size threshold and a granularity threshold;

a counter coupled to the control logic, the counter indicating a number of qualified clusters of the event with each subsequent qualified cluster indicated by the counter occurring at least a distance threshold time after a previously qualified cluster indicated by the counter.

9. The system of claim 8 further comprising:

a bus, wherein the event includes a transfer of data on the bus.

10. The system of claim 8 further comprising:

a peripheral device operably coupled to the processor, wherein the event includes a transfer of data between the peripheral device and the processor.

11. The system of claim 8 further comprising:

a memory operably coupled to the processor, wherein the event includes a transfer of data between the memory and the processor.

12. The system of claim 8 wherein the event includes a receipt of an Ethernet frame from an Ethernet network.

13. The system of claim 8 wherein the processor and performance monitor are integrated in an integrate circuit.

14. A method for providing a count of a number of clusters of an event of an electronic system comprising:

determining an occurrence of a first qualifying cluster of an event and incrementing a count, wherein the determining includes determining if a size threshold number of the event occurs within a granularity threshold time of each other;

incrementing the count if a second qualifying cluster is determined to after at least a distance threshold time from the occurrence of the first qualifying cluster.

15. The method of claim 14 wherein determining whether a second qualifying cluster occurs after at least the distance threshold time from the occurrence of the first qualifying cluster includes reading a distance counter initialized with a value indicating distance threshold time and decremented to zero.

16. The method of claim 15 wherein the distance counter is initialized after the incrementation of the count.

17. The method of claim 15 wherein the distance counter is initialized after the determination of the occurrence of a qualified cluster.

18. The method of claim 14 further comprising:

writing a value indicating the distance threshold time into a register to set the distance threshold time.

19. The method of claim 14 wherein determining whether a second qualifying cluster occurs after at least a distance threshold time from the occurrence of the first qualifying cluster includes reading a distance counter.

20. The method of claim 14 wherein determining an occurrence of a qualified cluster further includes:

determining that a size counter initialized with a value indicating a size threshold number has decremented to zero; and

determining that a granularity counter initialized with a value indicating granularity threshold time has decremented to zero.

21. The method of claim 14 wherein determining whether a second qualifying cluster occurs after at least the distance threshold time from the occurrence of the first qualifying cluster further includes:

reading a distance counter initialized with a value indicating the distance threshold time and decremented to zero;

determining that a size counter initialized with a value indicating a size threshold number has decremented to zero;

determining that a granularity counter initialized with a value indicating a granularity threshold time has decremented to zero;

wherein the size counter and the granularity counter are not decremented until the distance counter has been decremented to zero.

22. The method of claim 14 wherein the event includes a bus transaction.

Assignments (16)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: ZENITH INVESTMENTS, LLC
To: APPLE INC.
Reel/Frame 034749/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: ZENITH INVESTMENTS, LLC
Reel/Frame 033687/0336 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Feb 2, 2007
From: FREESCALE SEMICONDUCTOR, INC.; FREESCALE ACQUISITION CORPORATION; FREESCALE ACQUISITION HOLDINGS CORP.; FREESCALE HOLDINGS (BERMUDA) III, LTD.
To: CITIBANK, N.A. AS COLLATERAL AGENT
Reel/Frame 018855/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2004
From: MOTOROLA, INC
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 015360/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2002
From: CABRAL, CARLOS J.; NUNEZ, JOSE M.
To: MOTOROLA, INC.
Reel/Frame 013341/0207 →