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
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.
References Cited (Backward Citations)
US4080648A
Cited
GB2059124A
Cited
US4325120A
Cited
US4415969A
Cited
EP0124402A2
Cited
US4574344A
Cited
US4812972A
Cited
US4620275A
Cited
US4868742A
Cited
US4873629A
Cited
GB2169115A
Cited
EP0240606A2
Cited
US4890218A
Cited
US5109495A
Cited
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 |