IP Library Granted Patent US 7,571,283
Granted Patent B2
US 7,571,283 · App. 12/113,561 · Granted Aug 4, 2009

Mechanism in a multi-threaded microprocessor to maintain best case demand instruction redispatch

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,571,283
App. No.
12/113,561
Granted
Aug 4, 2009
Kind
B2
Abstract

A method and system for maintaining a best-case demand redispatch of an instruction to allow for maximizing the time a rejected thread may execute in lookahead execution mode, while maintaining the smallest L1 cache miss penalty supported by the memory subsystem. In response to a demand miss, a load/store unit sends a fetch request to the next level cache. The cache line of the demand miss is examined to identify the critical sector. Once the critical sector is identified, a best-case data return time is determined based on the fastest time the next level cache is able to return the critical sector of the cache line. The load/store unit then sends a speculative warning to the dispatch unit to coincide with the best-case data return, wherein the speculative warning prepares the dispatch unit to resend the instruction for execution as soon as data is available to the processor core.

Claims (19)

1. A system for maintaining a best-case demand redispatch of an instruction, comprising:

a bus system;

a communications unit connected to the bus, wherein data is sent and received using the communications unit;

a dispatch unit connected to the bus system for dispatching instructions; and

a load/store unit connected to the dispatch unit, wherein the load/store unit receives the dispatched instructions for execution; and wherein responsive to a demand miss, the load/store unit sends a fetch request to a next level cache in a memory hierarchy, examines a cache line of the demand miss to identify a critical sector of the cache line, generates a best-case data return arrival time by determining a fastest time the next level cache is able to return the critical sector of the cache line; and sends a speculative warning to a dispatch unit to coincide with the best-case data return arrival time, wherein the speculative warning prepares the dispatch unit to resend the instruction for execution as data in the next level cache becomes available to a processor core.

2. The system of claim 1 , wherein the speculative warning prepares the dispatch unit for a restart expected due to a data-coming signal from the next level cache.

3. The system of claim 2 , wherein the load/store unit sends another speculative warning to the dispatch unit in response to an indication that the data-coming signal is not valid.

4. The system of claim 3 , wherein the data-coming signal is not valid due to a resource conflict and the next level cache cannot provide requested data.

5. The system of claim 3 , wherein the dispatch unit receives one or more subsequent data-coming signals prior to receiving an indication that the data-coming signal is not valid.

6. The system of claim 1 , wherein the critical sector is a subsection of the cache line containing data to be used by a demand load that fetched the cache line.

7. The system of claim 1 , wherein determining the fastest time the next level cache is able to return the cache line includes determining a longest allowable time delay upon which the speculative warning must be sent to the dispatch unit.

8. The system of claim 7 , wherein sending the speculative warning after the longest allowable time delay maximizes a time the dispatch unit operates in lookahead execution mode.

9. A computer program product in a computer readable medium for maintaining a best-case demand redispatch of an instruction, comprising:

first instructions for sending a fetch request to a next level cache in a memory hierarchy in response to a demand miss;

second instructions for examining a cache line of the demand miss to identify a critical sector of the cache line;

third instructions for generating a best-case data return arrival time by determining a fastest time the next level cache is able to return the critical sector of the cache line; and

fourth instructions for sending a speculative warning to a dispatch unit to coincide with the best-case data return arrival time, wherein the speculative warning prepares the dispatch unit to resend the instruction for execution as the data in the next level cache becomes available to a processor core.

10. The computer program product of claim 9 , wherein the speculative warning prepares the dispatch unit for a restart expected due to a data-coming signal from the next level cache.

11. The computer program product of claim 9 , wherein sending the speculative warning after the longest allowable time delay maximizes a time the dispatch unit operates in lookahead execution mode.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 027991/0435 →