IP Library Granted Patent US 8,171,266
Granted Patent B2
US 8,171,266 · App. 09/922,551 · Granted May 1, 2012

Look-ahead load pre-fetch in a processor

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 8,171,266
App. No.
09/922,551
Granted
May 1, 2012
Kind
B2
Abstract

A method for look-ahead load pre-fetching that reduces the effects of instruction stalls caused by high latency instructions. Look-ahead load pre-fetching is accomplished by searching an instruction stream for load memory instructions while the instruction stream is stalled waiting for completion of a previous instruction in the instruction stream. A pre-fetch operation is issued for each load memory instruction found. The pre-fetch operations cause data for the corresponding load memory instructions to be copied to a cache, thereby avoiding long latencies in the subsequent execution of the load memory instructions.

Claims (24)

1. A method for look-ahead load pre-fetch, comprising the steps of:

searching an instruction stream sequentially per instruction to find a load memory instruction in response to the instruction stream being stalled while waiting for completion of a previous instruction in the instruction stream;

issuing a pre-fetch operation to fetch the load memory instruction.

2. The method of claim 1 , wherein the previous instruction is a previous load memory instruction.

3. The method of claim 1 , wherein the step of issuing comprises the step of issuing the pre-fetch operation if a memory address for the load memory instruction is resolved and not otherwise.

4. The method of claim 1 , wherein the step of issuing the pre-fetch operation comprises the step of issuing the pre-fetch operation while the instruction stream is stalled on the previous instruction.

5. The method of claim 1 , wherein the pre-fetch operation reads a set of data from a main memory and stores the data in a cache.

6. The method of claim 1 , further comprising the steps of searching the instruction stream for a set of additional load memory instructions and issuing a pre-fetch operation for each additional load memory instruction having a memory address which is resolved while the instruction stream is stalled.

7. An apparatus for look-ahead load pre-fetch, comprising:

means for searching an instruction stream sequentially per instruction to find a load memory instruction in response to the instruction stream being stalled while waiting for completion of a previous instruction in the instruction stream;

means for issuing a pre-fetch operation to fetch the load memory instruction.

8. The apparatus of claim 7 , wherein the previous instruction is a previous load memory instruction.

9. The apparatus of claim 7 , wherein the means for issuing comprises means for issuing the pre-fetch operation if a memory address for the load memory instruction is resolved and not otherwise.

10. The apparatus of claim 7 , wherein the means for issuing the pre-fetch operation comprises means for issuing the pre-fetch operation while the instruction stream is stalled on the previous instruction.

11. The apparatus of claim 7 , wherein the pre-fetch operation reads a set of data from a main memory and stores the data in a cache.

12. The apparatus of claim 7 , further comprising means for searching the instruction stream for a set of additional load memory instructions and means for issuing a pre-fetch operation for each additional load memory instruction having a memory address which is resolved while the instruction stream is stalled.

13. A processor, comprising:

a instruction pipeline for executing an instruction stream;

means for searching the instruction pipeline sequentially per instruction to find a load memory instruction in response to the instruction pipeline being stalled while waiting for completion of a previous instruction in the instruction stream;

a functional unit that issues a pre-fetch operation to fetch the load memory instruction.

14. The processor of claim 13 , wherein the instruction pipeline searches the instruction pipeline during a stall on a load memory instruction in the instruction stream.

15. The processor of claim 13 , wherein the functional unit issues the pre-fetch operation if a memory address for the load memory instruction is resolved and not otherwise.

16. The processor of claim 13 , wherein the functional unit issues the pre-fetch operation while the instruction stream is stalled.

17. The processor of claim 13 , further comprising a cache such that the pre-fetch operation reads a set of data from a main memory and stores the data in the cache.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2022
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 061244/0298 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2003
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.
Reel/Frame 014061/0492 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2002
From: KARP, ALAN H.; GUPTA, RAJIV
To: HEWLETT-PACKARD COMPANY
Reel/Frame 012434/0954 →