Patent US5923862A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5923862A Expired / Lapsed US ⏱️ 0.0 years remaining

Processor that decodes a multi-cycle instruction into single-cycle micro-instructions and schedules execution of the micro-instructions

Assignee: Samsung Electronics Co Ltd
•
Filing: 1997-01-28
•
Granted: 1999-07-13
•
Expires: 2017-01-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An instruction decoder in a processor decodes an instruction by creating a decode buffer entry that includes global fields, operand fields, and a set of micro-instructions. Each micro-instruction represent an operation that an associated execution unit can execute in a single clock cycle. A scheduler issues the micro-instructions from one or more entries to the execution units for possible parallel and out-of-order execution. Each execution unit completes an operation, typically, in one clock cycle and does not monitor instructions that may block a pipeline. The execution units do not need separate decoding for multiple stages. One global field indicates which micro-instructions are execute first. Further, micro-instructions have fields that indicate an execution sequence. The scheduler issues operations in the order indicated by the global fields and the micro-instructions. When the last operation for an instruction is completed, the instruction is retired and removed from the decode buffer.

Inventors

  • 👤 Le Trong Nguyen
  • 👤 Heonchul Park

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 18:32
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/22; G06F9/30; G06F9/3017; G06F9/28; G06F9/30003; G06F9/30007; G06F9/30036; G06F9/30038; G06F9/30145; G06F9/3016; G06F9/30167; G06F9/38; G06F9/3836; G06F9/3838; G06F9/3854; G06F9/3858

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 108 words
A processor comprising: a plurality of execution units, each execution unit being adapted to complete a single-cycle operation; a decode buffer which is partitioned into a plurality of entries, wherein each entry includes: a plurality of micro-instruction fields for storage of micro-instructions; and a field for identifying which of the micro-instruction is to be executed first; and a decoder adapted to decode instructions, wherein for each instruction decoded, the decoder writes one or more micro-instructions in the micro-instruction fields of an entry associated with the instruction, each micro-instruction identifying an operation to be executed by one of the execution units during execution of the instruction by the processor.
Claim 2
Dependent Claim 108 words
A processor comprising: a plurality of execution units, each execution unit being adapted to complete a single-cycle operation; a decode buffer which is partitioned into a plurality of entries, wherein each entry includes: a plurality of micro-instruction fields for storage of micro-instructions; and a field for identifying which of the micro-instruction is to be executed first; and a decoder adapted to decode instructions, wherein for each instruction decoded, the decoder writes one or more micro-instructions in the micro-instruction fields of an entry associated with the instruction, each micro-instruction identifying an operation to be executed by one of the execution units during execution of the instruction by the processor.
Claim 3
Dependent Claim 39 words
The processor of claim 1, wherein a first of the micro-instruction fields for a first micro-instruction includes a sub-field identifying a second of the micro-instruction fields for a second micro-instruction that is to be executed after the first micro-instruction.
Claim 4
Dependent Claim 59 words
The processor of claim 2, further comprising a scheduler coupled to the decode buffer, wherein the scheduler comprises: issuing logic that attempts to issue micro-instructions from the decode buffer to the execution units; and instruction dependency checking logic to prevent the issuing logic from issuing a micro-instruction that would interfere with in-order execution of the first and second micro-instructions.
Claim 5
Dependent Claim 45 words
The processor of claim 3, wherein instruction dependency checking logic further comprises logic coupled to the micro-instruction fields that generates from the micro-instructions stored the micro-instruction fields that signals that control the relative order in which the issuing logic can issue micro-instructions from an entry.
Claim 6
Dependent Claim 39 words
The processor of claim 1, wherein each entry further comprises a first operand field that identifies a source operand for an instruction associated with the entry and a second operand field that identifies a destination operand for the instruction.
Claim 7
Dependent Claim 21 words
The processor of claim 1, wherein each micro-instruction field is dedicated for use by an associated one of the execution units.
Claim 8
Dependent Claim 36 words
The processor of claim 6, wherein each micro-instruction field comprises a sub-field for a value indicating whether the micro-instruction field is storing a valid micro-instruction for execution by the execution unit associated with the micro-instruction field.
Claim 9
Dependent Claim 23 words
The processor of claim 1, further comprising a scheduler that is coupled to the buffer and schedules execution of micro-instructions in the buffer.
Claim 10
Dependent Claim 235 words
A processor comprising: a plurality of execution units, each execution unit being adapted to complete a single-cycle operation; a decode buffer which is partitioned into a plurality of entries, wherein each entry includes: a plurality of micro-instruction fields for storage of micro-instructions; a first operand field that identifies a source operand for an instruction associated with the entry; and a second operand field that identifies a destination operand for the instruction; a decoder adapted to decode instructions, wherein for each instruction decoded, the decoder writes one or more micro-instructions in the micro-instruction fields of an entry associated with the instruction, each micro-instruction identifying an operation to be executed by one of the execution units during execution of the instruction by the processor; and a scheduler coupled to the decode buffer, wherein the scheduler comprises: issuing logic that attempts to issue micro-instructions from the decode buffer to the execution units; and operand dependency logic coupled to compare the first operand field in a first of the entries to the second operand field in a second of the entries, the first entry being associated with an instruction that is newer than an instruction that is associated with the second entry, wherein the operand dependency logic prevents the issuing logic from issuing a micro-instruction from the first entry if the first field in the first entry identifies the same operand as the second field in the second entry.
Claim 11
Dependent Claim 235 words
A processor comprising: a plurality of execution units, each execution unit being adapted to complete a single-cycle operation; a decode buffer which is partitioned into a plurality of entries, wherein each entry includes: a plurality of micro-instruction fields for storage of micro-instructions; a first operand field that identifies a source operand for an instruction associated with the entry; and a second operand field that identifies a destination operand for the instruction; a decoder adapted to decode instructions, wherein for each instruction decoded, the decoder writes one or more micro-instructions in the micro-instruction fields of an entry associated with the instruction, each micro-instruction identifying an operation to be executed by one of the execution units during execution of the instruction by the processor; and a scheduler coupled to the decode buffer, wherein the scheduler comprises: issuing logic that attempts to issue micro-instructions from the decode buffer to the execution units; and operand dependency logic coupled to compare the first operand field in a first of the entries to the second operand field in a second of the entries, the first entry being associated with an instruction that is newer than an instruction that is associated with the second entry, wherein the operand dependency logic prevents the issuing logic from issuing a micro-instruction from the first entry if the first field in the first entry identifies the same operand as the second field in the second entry.
Claim 12
Dependent Claim 140 words
A processor comprising: plurality of execution units, each execution unit being adapted to complete a single-cycle operation; a decode buffer which is partitioned into a plurality of entries, wherein each entry includes a plurality of micro-instruction fields for storage of micro-instructions; a decoder adapted to decode instructions, wherein for each instruction decoded, the decoder writes one or more micro-instructions in the micro-instruction fields of an entry associated with the instruction, each micro-instruction identifying an operation to be executed by one of the execution units during execution of the instruction by the processor; and a scheduler coupled to the decode buffer, wherein the scheduler comprises: issuing logic that attempts to issue micro-instructions from the decode buffer to the execution units; and instruction dependency checking logic that controls the relative order in which the issuing logic can issue micro-instructions from an entry.
Claim 13
Dependent Claim 140 words
A processor comprising: plurality of execution units, each execution unit being adapted to complete a single-cycle operation; a decode buffer which is partitioned into a plurality of entries, wherein each entry includes a plurality of micro-instruction fields for storage of micro-instructions; a decoder adapted to decode instructions, wherein for each instruction decoded, the decoder writes one or more micro-instructions in the micro-instruction fields of an entry associated with the instruction, each micro-instruction identifying an operation to be executed by one of the execution units during execution of the instruction by the processor; and a scheduler coupled to the decode buffer, wherein the scheduler comprises: issuing logic that attempts to issue micro-instructions from the decode buffer to the execution units; and instruction dependency checking logic that controls the relative order in which the issuing logic can issue micro-instructions from an entry.
Claim 14
Dependent Claim 28 words
The processor of claim 10, wherein each entry further comprises one or more fields that define the relative order in which the scheduler issues micro-instructions from the entry.
Claim 15
Independent Claim 130 words
A method for operating a processor, comprising: sequentially decoding instructions in a program order, wherein decoding an instruction that requires multiple cycles for execution comprises breaking the instruction into a plurality of micro-instructions such that each micro-instruction identifies a single-cycle operation and is associated with an execution unit for executing the single-cycle operation; storing the micro-instructions in a buffer that comprises a plurality of entries, wherein the set of micro-instructions decoded from a single instruction are stored in a single one of the entries, and storing the micro-instructions comprises writing to the entry associated with an instruction, information that indicates a relative order for execution of the micro-instructions decoded from the instruction; and scheduling the micro-instructions for execution according to the availability of the execution units associated with the micro-instructions.
Claim 16
Independent Claim 130 words
A method for operating a processor, comprising: sequentially decoding instructions in a program order, wherein decoding an instruction that requires multiple cycles for execution comprises breaking the instruction into a plurality of micro-instructions such that each micro-instruction identifies a single-cycle operation and is associated with an execution unit for executing the single-cycle operation; storing the micro-instructions in a buffer that comprises a plurality of entries, wherein the set of micro-instructions decoded from a single instruction are stored in a single one of the entries, and storing the micro-instructions comprises writing to the entry associated with an instruction, information that indicates a relative order for execution of the micro-instructions decoded from the instruction; and scheduling the micro-instructions for execution according to the availability of the execution units associated with the micro-instructions.
Claim 17
Dependent Claim 20 words
The method of claim 12, wherein scheduling the micro-instructions permits execution micro-instructions out of the program order for the instructions.
Claim 18
Dependent Claim 27 words
The method of claim 13, wherein scheduling the micro-instructions limits execution of micro-instructions that are decoded from the same instruction to the relative order for that instruction.
Claim 19
Dependent Claim 15 words
The method of claim 12, further comprising simultaneously executing micro-instructions from a plurality of entries.

References Cited (Backward Citations)

US4415969A Cited
US5442760A Cited
US5504932A Cited
US5669011A Cited
US5542060A Cited
US5398321A Cited
US5619666A Cited
US5699536A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag