IP Library Granted Patent US 7,398,375
Granted Patent B2
US 7,398,375 · App. 10/406,475 · Granted Jul 8, 2008

Technique for reduced-tag dynamic scheduling and reduced-tag prediction

Assignee: The Regents of the University of Michigan
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,398,375
App. No.
10/406,475
Granted
Jul 8, 2008
Kind
B2
Abstract

The present invention provides a dynamic scheduling scheme that uses reservation stations having at least one station that stores an at least two operand instruction. An allocator portion determines that the instruction, entering the pipeline, has one ready operand and one not-ready operand, and accordingly places it in a station having only one comparator. The one comparator then compares the not-ready operand with tags broadcasted on a result tag bus to determine when the not-ready operand becomes ready. Once ready, execution is requested to the corresponding functional unit.

Claims (32)

1. A reservation station comprising:

a plurality of stations adapted to maintain an instruction having at least two source operands;

a first subset of the plurality of stations includes two tag comparators, one for each of the at least two source operands, each of the two tag comparators is configured to snoop a result tag bus for a result tag that matches a tag for each of the respective source operands;

a second subset of the plurality of stations includes one tag comparator assigned to one of the at least two source operands, the one tag comparator is configured to snoop the result tag bus for a result tag that matches a tag of the assigned source operand; and

a third subset of the plurality of stations includes zero tag comparators.

2. The registration station according to claim 1 , wherein:

the first subset of stations comprises two stations;

the second subset of stations comprises four stations; and

the third subset of stations comprises eight stations.

3. A method for scheduling an instruction for execution, comprising:

receiving an instruction having a first unavailable operand and a second unavailable operand;

predicting that the second unavailable operand will become available after the first unavailable operand;

positioning the instruction in a station having one tag comparator such that only the second unavailable operand is compared to tags broadcasted on a result tag bus by a tag comparator;

executing the instruction when the tag comparator determines that the second unavailable operand is available.

4. The method according to claim 3 , further comprising validating the prediction step after the second unavailable operand becomes available to ensure that the first unavailable operand is available.

5. A dynamic scheduler pipeline comprising:

a reservation station having a plurality of stations for storing instructions;

a first subset of the reservation stations, each of the first subset having two tag comparators to compare tags of respective operands in a two operand instruction in the first subset with tags broadcasted on the result tag bus;

a second subset of the reservation stations, each of the second subset comprising one tag comparator that compares one tag of a two operand instruction in the second subset with tags broadcasted on the result tag bus;

a third subset of the reservation stations, each of the third subset comprising no tag comparators; and

an allocator that positions instructions into the stations based on a number of unavailable operands within the instructions;

wherein at least one of the stations has less than two tag comparators for comparing an operand of an at least two operand instruction with tags broadcasted on a result tag bus.

6. The dynamic scheduler pipeline according to claim 5 , wherein the allocator is configured to position an instruction having two unavailable operands into the first subset.

7. The dynamic scheduler pipeline according to claim 5 , wherein the allocator is configured to position instructions having one unavailable operand in the second subset or first subset.

8. The dynamic scheduler pipeline according to claim 5 , wherein the allocator is configured to position instructions having no unavailable operands into the third, second or first subset.

9. A method for scheduling instructions for execution, comprising:

receiving an instruction having at least two operands, wherein at least one of the at least two operands is unavailable;

positioning the instruction in a station of a reservation station based on a number of unavailable operands within the instruction;

predicting which of two unavailable operands of a two operand instruction will be the last available operand and wherein the last available operand is positioned in a station having only one tag comparator;

comparing a tag of the at least one unavailable operand with tags broadcasted on a result tag bus to determine when the unavailable operand becomes available;

not comparing a tag of an available operand with the tags broadcasted on the result tag bus; and

requesting permission for execution of the instruction when the at least one unavailable operand is determined to be available.

Assignments (2)
CONFIRMATORY LICENSE Recorded Jun 15, 2012
From: UNIVERSITY OF MICHIGAN
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 028382/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2003
From: ERNST, DANIEL J.; AUSTIN, TODD M.
To: REGENTS OF THE UNIVERSITY OF MICHIGAN, THE
Reel/Frame 013936/0751 →
Continuity (2)
Provisional Application 6037002700 · Apr 4, 2002
Related Publication 20030191925A1 · Oct 9, 2003