IP Library Granted Patent US 7,650,486
Granted Patent B2
US 7,650,486 · App. 12/013,572 · Granted Jan 19, 2010

Dynamic recalculation of resource vector at issue queue for steering of dependent instructions

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,650,486
App. No.
12/013,572
Granted
Jan 19, 2010
Kind
B2
Abstract

A method and apparatus for steering instructions dynamically, at issue time, so as to maximize the efficiency of use of execution units being shared by multiple threads being processed by an SMT processor. Resource vectors are used at issue time to redirect instructions, from threads being processed simultaneously, to shared resources for which the multiple threads are competing. The existing resource vectors for instructions that are queued for issuance are analyzed and, where appropriate, dynamically recalculated and modified for maximum efficiency.

Claims (24)

1. A processor, comprising:

a cache for storing one of more instructions;

a dispatch controller, coupled to the cache, for issuing the instructions to a floating point issue queue; and

the floating point issue queue coupled between the dispatch controller and one or more execution units, for facilitating a dynamic reassignment of the instructions, after the instructions have been issued to the floating point issue queue, from a first execution unit assignment to a different execution unit assignment, the floating point issue queue for:

analyzing the first execution unit assignment for the issued instructions;

determining whether the first execution unit assignment can be optimized by changing the first execution unit assignment; and

in response to determining that the first execution unit assignment can be optimized, dynamically steering the issued instructions to the different execution unit assignment that achieves optimization of the processor.

2. The processor of claim 1 , wherein the floating point issue queue comprises:

means for analyzing resource vector bits for each instruction; and

means for dynamically recalculating and modifying the resource vector bits to steer the instructions to the different execution unit assignment so as to achieve said optimization.

3. The processor of claim 1 , wherein the processor comprises an SMT processor.

4. A computer system, comprising:

memory coupled to one or more processors via a bus, wherein the one or more processors comprises:

a cache for storing one of more instructions;

a dispatch controller, coupled to the cache, for issuing the instructions to a floating point issue queue; and

the floating point issue queue coupled between the dispatch controller and one or more execution units, the floating point issue queue facilitating a dynamic reassignment of the instructions, after the instructions have been issued to the floating point issue queue, from a first execution unit assignment to a different execution unit assignment, the floating point issue queue for:

analyzing the first execution unit assignment for the issued instructions;

determining whether the first execution unit assignment can be optimized by changing the first execution unit assignment; and

in response to determining that the first execution unit assignment can be optimized,

dynamically steering the issued instructions to the different execution unit assignment that achieves optimization of the processor.

5. The computer system of claim 4 , wherein the floating point issue queue comprises:

means for analyzing resource vector bits for each instruction; and

means for dynamically recalculating and modifying the resource vector bits to steer the instructions to the different execution units assignment so as to achieve said optimization.

6. The computer system of claim 4 , wherein the processor comprises an SMT processor.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →