IP Library Granted Patent US 7,350,029
Granted Patent B2
US 7,350,029 · App. 11/054,889 · Granted Mar 25, 2008

Data stream prefetching in a microprocessor

Assignee: International Business Machines Corporation
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,350,029
App. No.
11/054,889
Granted
Mar 25, 2008
Kind
B2
Abstract

A method of prefetching data in a microprocessor includes identifying a data stream associated with a process and determining a depth associated with the data stream based upon prefetch factors including the number of currently concurrent data streams and data consumption rates associated with the concurrent data streams. Data prefetch requests are allocated with the data stream to reflect the determined depth of the data stream. Allocating data prefetch requests may include allocating prefetch requests for a number of cache lines away from the cache line currently being referenced, wherein the number of cache lines is equal to the determined depth. The method may include, responsive to determining the depth associated with a data stream, configuring prefetch hardware to reflect the determined depth for the identified data stream. Prefetch control bits in an instruction executed by the processor control the prefetch hardware configuration.

Claims (10)

1. A method of prefetching data in a microprocessor, comprising:

identifying a data stream associated with a program, wherein the data stream comprises a sequence of memory addresses that reference two or more contiguous cache lines;

determining a depth associated with the data stream based upon prefetch factors including the number of concurrent data streams and data consumption rates associated with the concurrent data streams; and

generating data prefetch requests associated with the data stream to reflect the determined depth of the data stream.

2. The method of claim 1 , wherein generating data prefetch requests includes generating prefetch requests for a number of cache lines adjacent and contiguous to a cache line currently being referenced by the program, wherein the number of cache lines is equal to the determined depth.

3. The method of claim 1 , further comprising, responsive to determining the depth associated with a data stream, configuring prefetch hardware to reflect the determined depth for the identified data stream.

4. The method of claim 3 , wherein configuring the prefetch hardware is controlled by prefetch control bits in an instruction executed by the processor.

5. The method of claim 4 , wherein the prefetch control bits include a field of bits indicative of a depth associated with the data stream and an indicator of the number of bytes in the data stream.

6. The method of claim 1 , wherein determining the depth associated with the data stream comprises determining a programmable default depth, wherein the default depth is applicable to a data stream unless the data stream explicitly overrides the default depth.

7. The method of claim 6 , further comprising altering the default depth wherein the altered default depth applies to all subsequent streams referring to the default depth.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2005
From: FLUHR, ERIC J.; FREY, BRADLY G.; GRISWELL, JOHN B., JR.; LE, HUNG Q.; MAY, CATHY; O'CONNELL, FRANCIS P.; SILHA, EDWARD J.; WILLIAMS, ALBERT T.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 015822/0599 →
Continuity (1)
Related Publication 20060179239A1 · Aug 10, 2006