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

Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline

Assignee: Intel Corp
•
Filing: 1993-05-28
•
Granted: 1994-03-08
•
Expires: 2013-05-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An improved instruction decoder is described which uses parallel stages which operate in a pipeline fashion. The decoder is particularly useful in a microprocessor which has variable length instructions. The first stage decodes the OP code and register and address mode specifier fields while the second stage directs the sequencing of address calculations. The first two lines of microcode are provided by the first stage as well as a look up to microcode in the microcode memory.

Inventors

  • 👤 Beatrice Fu
  • 👤 Patrick P. Gelsinger

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 18:32
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3818; G06F9/382; G06F9/22; G06F9/26; G06F9/262; G06F9/268; G06F9/30145; G06F9/30149; G06F9/3016; G06F9/30167; G06F9/3867; G06F9/3875

Claims Analysis

Total Claims: 13
Claim 1
Independent Claim 398 words
In a microprocessor having storage means for storing prefetched a plurality of instructions, decoding means for decoding the plurality of instructions from said storage means where at least two of the plurality of instructions are of different lengths and an execution unit for executing the plurality of instructions, wherein each of said plurality of instructions comprised of a plurality of bytes and has at least a first and second field, an improvement wherein said decoding means includes at least two sections, the first of said sections coupled to receive n-bytes of said plurality of instructions and decoding a first field of one of said plurality of instructions from said n-bytes, said first field having information used by said first section to provide a first pointer to said storage means for selection of the second field of said one of said plurality of instructions from said storage means and to provide a second pointer to said storage means for selection of the first field of the instruction following said one of said plurality of instructions, said second field having information used by said second section for address generation, wherein said first section includes means for indicating to said second section the type of address calculation to be performed for said one of said instructions; and said second section being coupled to receive m-bytes of instruction data from the storage means as indicated by said first pointer and to cause said setting up of said one of said instructions with said second field from said storage means, wherein said second section controls address calculations in response to said first section indicating the type of address calculation to be performed for said one of said instructions so that address calculations are sequenced, such that while said second section causes said setting up of said one of said instructions, said first section is decoding said first field of said instruction following said one of said plurality of instructions, and wherein said second section includes means to synchronize results from said first section and from said second section, such that said one of said plurality of instructions is provided after decoding to said execution unit for execution while said second section sequences address calculations for the instruction following said one of said plurality of instructions, such that the first of said sections, the second of said sections and said execution unit operate synchronously.
Claim 2
Dependent Claim 398 words
In a microprocessor having storage means for storing prefetched a plurality of instructions, decoding means for decoding the plurality of instructions from said storage means where at least two of the plurality of instructions are of different lengths and an execution unit for executing the plurality of instructions, wherein each of said plurality of instructions comprised of a plurality of bytes and has at least a first and second field, an improvement wherein said decoding means includes at least two sections, the first of said sections coupled to receive n-bytes of said plurality of instructions and decoding a first field of one of said plurality of instructions from said n-bytes, said first field having information used by said first section to provide a first pointer to said storage means for selection of the second field of said one of said plurality of instructions from said storage means and to provide a second pointer to said storage means for selection of the first field of the instruction following said one of said plurality of instructions, said second field having information used by said second section for address generation, wherein said first section includes means for indicating to said second section the type of address calculation to be performed for said one of said instructions; and said second section being coupled to receive m-bytes of instruction data from the storage means as indicated by said first pointer and to cause said setting up of said one of said instructions with said second field from said storage means, wherein said second section controls address calculations in response to said first section indicating the type of address calculation to be performed for said one of said instructions so that address calculations are sequenced, such that while said second section causes said setting up of said one of said instructions, said first section is decoding said first field of said instruction following said one of said plurality of instructions, and wherein said second section includes means to synchronize results from said first section and from said second section, such that said one of said plurality of instructions is provided after decoding to said execution unit for execution while said second section sequences address calculations for the instruction following said one of said plurality of instructions, such that the first of said sections, the second of said sections and said execution unit operate synchronously.
Claim 3
Dependent Claim 20 words
The improvement defined by claim 1 wherein said first field includes the OP code and register and address mode specifier.
Claim 4
Dependent Claim 31 words
The improvement defined by claim 1 wherein said microprocessor uses microcode and includes memory for storing at least some of said microcode, said first section providing a look-up for said microcode.
Claim 5
Dependent Claim 22 words
The improvement defined by claim 3 wherein said first section for certain of said instructions provides at least one line of microcode.
Claim 6
Dependent Claim 30 words
The improvement defined by claim 1 wherein said first section providing at least a first line of microcode for some of said instruction and a look up to other microcode.
Claim 7
Dependent Claim 371 words
In a microprocessor having an instruction decoding unit, a register for storing a plurality of instructions which are coupled to said unit, and an execution unit for executing said plurality of instructions, each of said plurality of instructions having a plurality of bytes, said microprocessor operating upon instructions of different length, an improvement comprising: said unit having a first and second stages, said first stage receiving a plurality of instruction bytes and decoding the OP code, and register and address mode specifier (first field) of one of said plurality of instructions during a first computer cycle, said first stage also signaling said second stage to the address displacement or immediate data field of said one of said plurality of instructions and determining the location of the OP code and register and address mode specifier (first field) of the instruction following said one of said plurality of instructions, wherein data in the address displacement or immediate data field of said one of said plurality of instructions are received by the second stage directly from the register, and further wherein said first stage includes means for indicating to said second stage the type of address calculation to be performed for said one of said plurality of instructions, said second stage controlling use of said address displacement or immediate data field (second field) of said one of said plurality of instructions and responsive to said first stage indicating the type of address calculation to be performed for said one of said plurality of instructions during a second computer cycle, said second cycle following said first cycle in time, such that address calculations are sequenced during said second cycle while said first stage is decoding the OP code, and register and address mode specifier (first field) of the instruction following said one of said plurality of instructions, and wherein said unit includes means to synchronize results from said first stage and from said second stage, such that said one of said plurality of instructions is provided after decoding to said execution unit for execution while said second stage sequences address calculations for the instruction following said one of said plurality of instructions, such that said first and second stages and said execution unit operate synchronously.
Claim 8
Dependent Claim 371 words
In a microprocessor having an instruction decoding unit, a register for storing a plurality of instructions which are coupled to said unit, and an execution unit for executing said plurality of instructions, each of said plurality of instructions having a plurality of bytes, said microprocessor operating upon instructions of different length, an improvement comprising: said unit having a first and second stages, said first stage receiving a plurality of instruction bytes and decoding the OP code, and register and address mode specifier (first field) of one of said plurality of instructions during a first computer cycle, said first stage also signaling said second stage to the address displacement or immediate data field of said one of said plurality of instructions and determining the location of the OP code and register and address mode specifier (first field) of the instruction following said one of said plurality of instructions, wherein data in the address displacement or immediate data field of said one of said plurality of instructions are received by the second stage directly from the register, and further wherein said first stage includes means for indicating to said second stage the type of address calculation to be performed for said one of said plurality of instructions, said second stage controlling use of said address displacement or immediate data field (second field) of said one of said plurality of instructions and responsive to said first stage indicating the type of address calculation to be performed for said one of said plurality of instructions during a second computer cycle, said second cycle following said first cycle in time, such that address calculations are sequenced during said second cycle while said first stage is decoding the OP code, and register and address mode specifier (first field) of the instruction following said one of said plurality of instructions, and wherein said unit includes means to synchronize results from said first stage and from said second stage, such that said one of said plurality of instructions is provided after decoding to said execution unit for execution while said second stage sequences address calculations for the instruction following said one of said plurality of instructions, such that said first and second stages and said execution unit operate synchronously.
Claim 9
Dependent Claim 55 words
The improvement defined by claim 6 wherein said first stage is coupled to receive said first field under control of a first pointer and said second stage is coupled to sequence use of said second field under control of a second pointer, said first and second pointers being generated by signals from said first stage.
Claim 10
Dependent Claim 17 words
The improvement defined by claim 7 wherein said first stage initiates execution of certain of said instructions.
Claim 11
Dependent Claim 35 words
The improvement defined by claim 6 wherein said microprocessor uses microcode and includes memory for storing at least some of said microcode and said first stage providing a look-up for said microcode through a latch.
Claim 12
Dependent Claim 20 words
The improvement defined by claim 9 wherein said first stage for certain of said instructions provides two lines of microcode.
Claim 13
Dependent Claim 14 words
The improvement defined by claim 10 wherein said second stage controls bus cycle initiation.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-03-07 1997-09-06 1998-03-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-03-07 2001-09-06 2002-03-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-03-07 2005-09-06 2006-03-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag