← Back to Patent Explorer
US5884058A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for concurrently dispatching microcode and directly-decoded instructions in a microprocessor

Assignee: GlobalFoundries Inc
•
Filing: 1997-06-18
•
Granted: 1999-03-16
•
Expires: 2017-06-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of instruction dispatch is provided in which a directly-decoded instruction and a microcode instruction are concurrently dispatched ("packed"). The instruction which is second in program order is retained until the succeeding clock cycle. During the succeeding clock cycle, a microcode unit determines if the microcode instruction and the directly-decoded instruction, when taken together, occupy less than or equal to the total number of issue positions available in the microprocessor. If the microcode unit determines that less than or equal to the total number of issue positions are occupied, then the packing is successful. If the microcode unit determines that greater than the total number of issue positions are occupied, then the packing is unsuccessful and the retained instruction is redispatched. Additionally, instruction dispatch selection is performed in two phases. First, a number of instructions are selected as potentially dispatchable instructions. From the potentially dispatchable instructions, a set of actually dispatched instructions may be selected based upon the success or failure of instruction packing during the previous clock cycle and whether or not packing was performed.

Inventors

  • 👤 Rammohan Narayan
  • 👤 Rupaka Mahalingaiah
  • 👤 Paul K. Miller

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 17:50
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3818; G06F9/382; G06F9/30145; G06F9/30149; G06F9/30152; G06F9/3017; G06F9/3802; G06F9/3816; G06F9/3836; G06F9/3853

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 136 words
A method of dispatching instructions in a microprocessor having a plurality of issue positions, comprising: dispatching a first instruction and a second instruction during a first clock cycle, wherein said first instruction precedes said second instruction in program order, and wherein one of said first instruction and said second instruction is a microcode instruction, and wherein another one of said first instruction and said second instruction is a directly-decoded instruction; selecting said second instruction and a third instruction for dispatch during a second clock cycle subsequent to said first clock cycle; and inhibiting dispatch of said second instruction during said second clock cycle responsive to said microcode instruction and said directly-decoded instruction, when dispatched together, occupying a second number of issue positions less than or equal to a total number of said plurality of issue positions.
Claim 2
Independent Claim 136 words
A method of dispatching instructions in a microprocessor having a plurality of issue positions, comprising: dispatching a first instruction and a second instruction during a first clock cycle, wherein said first instruction precedes said second instruction in program order, and wherein one of said first instruction and said second instruction is a microcode instruction, and wherein another one of said first instruction and said second instruction is a directly-decoded instruction; selecting said second instruction and a third instruction for dispatch during a second clock cycle subsequent to said first clock cycle; and inhibiting dispatch of said second instruction during said second clock cycle responsive to said microcode instruction and said directly-decoded instruction, when dispatched together, occupying a second number of issue positions less than or equal to a total number of said plurality of issue positions.
Claim 3
Dependent Claim 32 words
The method as recited in claim 1 further comprising storing said first instruction and said second instruction in a byte queue prior to said dispatching a first instruction and a second instruction.
Claim 4
Dependent Claim 28 words
The method as recited in claim 2 further comprising retaining said second instruction within said byte queue subsequent to said dispatching a first instruction and a second instruction.
Claim 5
Dependent Claim 28 words
The method as recited in claim 3 further comprising discarding said first instruction from said byte queue subsequent to said dispatching a first instruction and a second instruction.
Claim 6
Dependent Claim 19 words
The method as recited in claim 1 wherein said directly-decoded instruction occupies one of said plurality of issue positions.
Claim 7
Dependent Claim 22 words
The method as recited in claim 1 further comprising selecting at least one additional instruction for dispatch during said second clock cycle.
Claim 8
Dependent Claim 29 words
The method as recited in claim 6 further comprising dispatching said additional instruction during said second clock cycle if said second instruction is dispatched during said second clock cycle.
Claim 9
Dependent Claim 29 words
The method as recited in claim 7 further comprising retaining said additional instruction during said second clock cycle if said second instruction is dispatched and is said microcode instruction.
Claim 10
Dependent Claim 29 words
The method as recited in claim 1 wherein said directly-decoded instruction and said microcode instruction are identified via predecode information corresponding to said directly-decoded instruction and said microcode instruction.
Claim 11
Independent Claim 162 words
A method of dispatching instructions to a plurality of issue positions in a microprocessor, comprising: setting a state bit upon dispatch of a first instruction and a second instruction, wherein one of said first instruction and said second instruction is a microcode instruction and another of said first instruction and said second instruction is a directly-decoded instruction; determining a first number of said plurality of issue positions occupied by said microcode instruction; determining a second number of said plurality of issue positions occupied by said directly-decoded instruction; determining if said first number and said second number, when added together, exceeds a total number of said plurality of issue positions; indicating that said total number is exceeded responsive to said determining if said first number and said second number; redispatching said second instruction responsive to said indicating and said state bit being set; and inhibiting redispatch of said second instruction responsive to a lack of said indicating or said state bit being clear.
Claim 12
Independent Claim 162 words
A method of dispatching instructions to a plurality of issue positions in a microprocessor, comprising: setting a state bit upon dispatch of a first instruction and a second instruction, wherein one of said first instruction and said second instruction is a microcode instruction and another of said first instruction and said second instruction is a directly-decoded instruction; determining a first number of said plurality of issue positions occupied by said microcode instruction; determining a second number of said plurality of issue positions occupied by said directly-decoded instruction; determining if said first number and said second number, when added together, exceeds a total number of said plurality of issue positions; indicating that said total number is exceeded responsive to said determining if said first number and said second number; redispatching said second instruction responsive to said indicating and said state bit being set; and inhibiting redispatch of said second instruction responsive to a lack of said indicating or said state bit being clear.
Claim 13
Dependent Claim 32 words
The method as recited in claim 10 further comprising dispatching at least one additional instruction along with redispatch of said second instruction, provided that said second instruction is not said microcode instruction.
Claim 14
Dependent Claim 25 words
The method as recited in claim 10 further comprising resetting said state bit if said first instruction and said second instruction are both directly-decoded instructions.
Claim 15
Dependent Claim 25 words
The method as recited in claim 10 further comprising dispatching a third instruction instead of redispatching said second instruction if said indication is not received.
Claim 16
Dependent Claim 33 words
The method as recited in claim 13 further comprising dispatching said third instruction instead of redispatching said second instruction if said state bit is clear, regardless of receipt or non-receipt of said indication.
Claim 17
Dependent Claim 29 words
The method as recited in claim 10 wherein said directly-decoded instruction and said microcode instruction are identified via predecode information corresponding to said directly-decoded instruction and said microcode instruction.
Claim 18
Independent Claim 216 words
A method for concurrently dispatching a microcode instruction and a directly-decoded instruction to a plurality of issue positions, comprising: dispatching a first plurality of instructions during a first clock cycle, wherein said first plurality of instructions includes said microcode instruction and said directly-decoded instruction; selecting a second plurality of instructions for dispatch during a second clock cycle subsequent to said first clock cycle, wherein said second plurality of instructions is greater in number than a total number of said plurality of issue positions, and wherein said second plurality of instructions includes at least one of said first plurality of instructions; and dispatching at least one instruction during said second clock cycle, wherein said instruction is selected from said second plurality of instructions, and wherein said instruction is said one of said first plurality of instructions if said microcode instruction is determined to occupy a first number of issue positions which, when added to a second number of issue positions occupied by a remainder of said first plurality of instructions, is greater than said total number of said plurality of issue positions, and wherein said instruction differs from said one of said first plurality of instructions if said first number added to said second number is less than or equal to said total number of issue positions.
Claim 19
Independent Claim 216 words
A method for concurrently dispatching a microcode instruction and a directly-decoded instruction to a plurality of issue positions, comprising: dispatching a first plurality of instructions during a first clock cycle, wherein said first plurality of instructions includes said microcode instruction and said directly-decoded instruction; selecting a second plurality of instructions for dispatch during a second clock cycle subsequent to said first clock cycle, wherein said second plurality of instructions is greater in number than a total number of said plurality of issue positions, and wherein said second plurality of instructions includes at least one of said first plurality of instructions; and dispatching at least one instruction during said second clock cycle, wherein said instruction is selected from said second plurality of instructions, and wherein said instruction is said one of said first plurality of instructions if said microcode instruction is determined to occupy a first number of issue positions which, when added to a second number of issue positions occupied by a remainder of said first plurality of instructions, is greater than said total number of said plurality of issue positions, and wherein said instruction differs from said one of said first plurality of instructions if said first number added to said second number is less than or equal to said total number of issue positions.
Claim 20
Dependent Claim 30 words
The method as recited in claim 16 further comprising dispatching at least one additional instruction selected from said second plurality of instructions if said instruction is not said microcode instruction.
Claim 21
Dependent Claim 22 words
The method as recited in claim 17 wherein said instruction is said directly-decoded instruction if said instruction is not said microcode instruction.
Claim 22
Dependent Claim 21 words
The method as recited in claim 16 wherein said directly-decoded instruction and said microcode instruction are identified by corresponding predecode information.
Claim 23
Independent Claim 134 words
A method of dispatching instructions in microprocessor having a plurality of issue positions, comprising: dispatching a first instruction and a second instruction during a first clock cycle, wherein one of said first instruction and said second instruction is a directly-decoded instruction and another one of said first instruction and said second instruction is a microcode instruction; re-dispatching said second instruction during a second clock cycle subsequent to said first clock cycle if said first instruction and said second instruction, when dispatched together, occupy a number of issue positions greater than said plurality of issue positions; and inhibiting redispatch of said second instruction during said second clock cycle if said first instruction and said second instruction, when dispatched together, occupy a number of issue positions less than or equal to said plurality of issue positions.
Claim 24
Independent Claim 134 words
A method of dispatching instructions in microprocessor having a plurality of issue positions, comprising: dispatching a first instruction and a second instruction during a first clock cycle, wherein one of said first instruction and said second instruction is a directly-decoded instruction and another one of said first instruction and said second instruction is a microcode instruction; re-dispatching said second instruction during a second clock cycle subsequent to said first clock cycle if said first instruction and said second instruction, when dispatched together, occupy a number of issue positions greater than said plurality of issue positions; and inhibiting redispatch of said second instruction during said second clock cycle if said first instruction and said second instruction, when dispatched together, occupy a number of issue positions less than or equal to said plurality of issue positions.
Claim 25
Dependent Claim 36 words
The method as recited in claim 20 wherein one of said first instruction and said second instruction is a microcode instruction, and wherein another of said first instruction and said second instruction is a directly-decoded instruction.
Claim 26
Dependent Claim 18 words
The method as recited in claim 20 wherein said first instruction precedes said second instruction in program order.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-15 2002-09-14 2003-03-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-15 2006-09-14 2007-03-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-15 2010-09-14 2011-03-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag