IP Library › Granted Patent US 6,848,031
Granted Patent B2
US 6,848,031 · App. 10/033,112 · Granted Jan 25, 2005

Parallel searching for an instruction at multiple cache levels

Assignee: Intel 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 6,848,031
App. No.
10/033,112
Granted
Jan 25, 2005
Kind
B2
Abstract

A system and method of fetching processor instructions provides enhanced performance. The method and system provide for receiving a request for an instruction, and searching a cache system at a first level for the instruction. The cache system is searched at a second level for the instruction in parallel with the first level based on a prediction of whether the instruction will be found at the first level.

Claims (48)

1. A method of fetching processor instructions, the method comprising:

receiving a request for an instruction;

searching a cache system at a first level for the instruction; and

searching the cache system at a second level for the instruction in parallel with the first level based on a prediction of whether the instruction will be found at the first level.

2. The method of claim 1 further including:

determining a parameter value corresponding to a first level search history for the instruction;

comparing the parameter value to a predetermined threshold; and

initializing the search of the cache system at the second level if the parameter value exceeds the predetermined threshold.

3. The method of claim 2 further including determining a cache miss value corresponding to the first level search history.

4. The method of claim 3 further including tracking a number of cache misses for a predetermined number of cache searches corresponding to the instruction.

5. The method of claim 4 further including initializing search of the cache system at the second level if the number cache misses for the predetermined number of cache searches is greater than zero.

6. The method of claim 2 further including storing the parameter value to a computer readable storage medium.

7. The method of claim 6 further including storing the parameter value in the cache system.

8. The method of claim 2 further including retrieving the parameter value from a computer readable storage medium.

9. The method of claim 8 further including retrieving the parameter value from the cache system.

10. The method of claim 1 further including receiving a front end re-start instruction.

11. The method of claim 1 further including searching the cache system at a trace cache level for the instruction, the trace cache level being the first level of the cache system.

12. The method of claim 1 further including searching an instruction cache for the instruction, the instruction cache being the second level of the cache system.

13. The method of claim 1 further including searching the cache system at a main memory level for the instruction, the main memory level being the second level of the cache system.

14. The method of claim 1 , further including fetching the instruction from the second level if the instruction is found at the second level and the instruction is not found at the first level, decoding the instruction and providing the decode instruction to an execution core.

15. A method of searching a cache system at a second level, the method comprising:

determining a parameter value corresponding to a first level search history for an instruction;

comparing the parameter value to a predetermined threshold; and

initializing a search of the cache system at the second level if the parameter value exceeds the predetermined threshold, wherein the search for the instruction at the second level is to be conducted in parallel with a search of the cache system for the instruction at the first level.

16. The method of claim 15 further including determining a cache miss value corresponding to the first level search history.

17. The method of claim 16 further including tracking a number of cache misses for a predetermined number of cache searches corresponding to the instruction.

18. The method of claim 16 further including initializing the search of the cache system at the second level if the number cache misses for the predetermined number of cache searches is greater than zero.

19. The method of claim 16 further including storing the parameter value to a computer readable storage medium.

20. The method of claim 16 further including retrieving the parameter value from a computer readable storage medium.

21. A computer readable storage medium storing a set of instructions capable of being executed by a processor to:

receive a request for an instruction;

search a cache system at a first level for the instruction; and

search the cache system at a second level for the instruction in parallel with the first level based on a prediction of whether the instruction will be found at the first level.

22. The storage medium of claim 21 wherein the set of instructions are further capable of being executed by the processor to:

determine a parameter value corresponding to a first level search history for the instruction;

compare the parameter value to a predetermined threshold; and

initiate the search of the cache system at the second level if the parameter value exceeds the predetermined threshold.

23. The storage medium of claim 21 , wherein the set of instructions are further capable of being executed to:

fetch the instruction from the second level if the instruction is found at the second level and the instruction is not found at the first level;

decode the instruction; and

provide the decoded instruction to an execution core.

24. A processor instruction management system comprising:

an instruction supply engine having a cache system, the supply engine to generate a decoded instruction based on a request for the decoded instruction; and

an execution core to execute the decoded instruction, the instruction supply engine to search the cache system at a first level for the instruction and to search the cache system at a second level for the instruction in parallel with the first level based on a prediction of whether the instruction will be found at the first level.

25. The instruction management system of claim 24 wherein the instruction supply engine further includes:

a shift register to receive a first level search history signal for the instruction, the signal defining a number of cache misses for a predetermined number of cache searches corresponding to the instruction; and

an OR gate coupled to the shift register, the OR gate generating a miss prediction signal if the number of cache misses for the predetermined number of cache searches is greater than zero.

26. The instruction management system of claim 25 wherein the shift register has three data outputs, the predetermined number of cache searches to be three.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2002
From: JOURDAN, STEPHAN J.
To: INTEL CORPORATION
Reel/Frame 012419/0383 →
Continuity (1)
Related Publication 20030126366A1 · Jul 3, 2003