US5283874A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee
Assignee: Intel Corp
•
Filing: 1991-10-21
•
Granted: 1994-02-01
•
Expires: 2011-10-21
Abstract
Abstract Apparatus and methods for expediting the completion of microprocessor instructions using a microprocessor pipelining system. Two or more dependent instructions processed through two or more microprocessor pipelines are simultaneously completed. This simultaneous completion of the two or more dependent instructions is achieved by the use of an Advanced Cross Coupler which operates as a link between a number of pipelines.
Inventors
- 👤 Gary N. Hammond
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-27 04:04
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3867; G06F9/3836; G06F9/3838; G06F9/3854; G06F9/3858; G06F9/3885
Claims Analysis
Total Claims: 27
Claim 1
Independent Claim
232 words
A microprocessor comprising: pipelining means for processing a plurality of instructions wherein the processing of at least one of said plurality of instructions is dependent on the result of processing of another of said plurality of instructions, said pipelining means comprising a plurality of pipelines, each of said plurality of pipelines having a plurality of pipeline stages, said plurality of pipeline stages include a decode stage, an address computation stage, and an execution stage; said pipelining means processing each of said plurality of instructions through each of said plurality of pipeline stages of a pipeline of said plurality of pipelines; said pipelining means further comprising a pipeline coupling means coupled to two or more pipelines, including logic unit means for receiving a plurality of logic unit input signals, each of said plurality of logic unit input signals representing an instruction processed in a corresponding one of said plurality of pipelines, said logic unit means further having means for simultaneously computing a plurality of logic unit output signals, each of said plurality of logic unit output signals specifying a corresponding offset value for each of said plurality of pipelines dependent upon at least one of said plurality of logic unit input signals, each of said corresponding offset values to be simultaneously added to a numerical value stored in an address register to obtain a pipeline result for each of said plurality of pipelines.
Claim 2
Dependent Claim
232 words
A microprocessor comprising: pipelining means for processing a plurality of instructions wherein the processing of at least one of said plurality of instructions is dependent on the result of processing of another of said plurality of instructions, said pipelining means comprising a plurality of pipelines, each of said plurality of pipelines having a plurality of pipeline stages, said plurality of pipeline stages include a decode stage, an address computation stage, and an execution stage; said pipelining means processing each of said plurality of instructions through each of said plurality of pipeline stages of a pipeline of said plurality of pipelines; said pipelining means further comprising a pipeline coupling means coupled to two or more pipelines, including logic unit means for receiving a plurality of logic unit input signals, each of said plurality of logic unit input signals representing an instruction processed in a corresponding one of said plurality of pipelines, said logic unit means further having means for simultaneously computing a plurality of logic unit output signals, each of said plurality of logic unit output signals specifying a corresponding offset value for each of said plurality of pipelines dependent upon at least one of said plurality of logic unit input signals, each of said corresponding offset values to be simultaneously added to a numerical value stored in an address register to obtain a pipeline result for each of said plurality of pipelines.
Claim 3
Dependent Claim
60 words
The microprocessor of claim 1, wherein said plurality of instructions are instructions wherein memory locations of said microprocessor are addressed for writing thereto or reading therefrom, and wherein said pipeline results are addresses of said memory locations, said addresses determined by adding said offset value to said numerical value, wherein said numerical value is stored in a Stack Pointer Register.
Claim 4
Dependent Claim
33 words
The microprocessor of claims 1 or 2 wherein said plurality of stages of said plurality of pipelines include a fetch stage, an instruction decode stage, an address computation stage, and an execution stage.
Claim 5
Dependent Claim
30 words
The microprocessor of claim 1, wherein said plurality of instructions are instructions for incrementing or decrementing said numerical value, said numerical value being stored in a register of said microprocessor.
Claim 6
Dependent Claim
40 words
The microprocessor pipelining system of claims 1 or 4, wherein said plurality of stages of said plurality of pipelines include a fetch stage, an instruction decode stage, an address computation stage, a first execution stage, and a second execution stage.
Claim 7
Dependent Claim
23 words
The microprocessor of claim 1, wherein said pipeline coupling means simultaneously executes said instructions whose processing begins in the same microprocessor clock cycle.
Claim 8
Dependent Claim
434 words
A microprocessor comprising: pipelining means for processing a plurality of instructions, wherein said plurality of instructions are instructions wherein memory locations of said microprocessor are addressed for writing thereto or reading therefrom, and wherein addresses of said memory locations are determined by adding an offset value to a numerical value stored in a Stack Pointer Register; said pipelining means comprising a plurality of pipelines, each of said plurality of pipelines having a plurality of pipeline stages; said pipelining means processing each of said plurality of instructions through each of said plurality of pipeline stages of a pipeline of said plurality of pipelines; said pipelining means further comprising a pipeline coupling means coupled to at least two pipelines and including a logic unit means for receiving a plurality of logic unit input signals, each of said plurality of logic unit input signals representing an instruction processed in a corresponding one of said plurality of pipelines; said logic unit means further having means for simultaneously computing a plurality of logic unit output signals, each of said plurality of logic unit output signals specifying a corresponding offset value for each pipeline dependent upon at least one of said plurality of logic unit input signals, each of said corresponding offset values to be added to the numerical value stored in said Stack Point Register; said pipeline coupling means further having an adding means, coupled to said logic unit means, comprised of a plurality of adders, each of said adders having a first adder input receiver, wherein said first adder input receiver of each of said adders is connected to one of said logic unit output signals of said logic unit means; each of said adders of said plurality of adders including means for simultaneously computing a sum of said corresponding offset value of each of said plurality of logic unit output signals and said numerical value stored in said Stack Pointer Register, each of said adders further outputting said sum as an adder output signal; said pipeline coupling means further having an output register means, coupled to said adding means, comprised of a plurality of output registers, wherein each of said plurality of output registers receives an adder output signal of one of said adders; and wherein one of said plurality of output registers is connected to a second adder input receiver of each of said adders for providing an updated value of said Stack Pointer Register to each of said adders, wherein said updated value of said Stack Pointer Register is added to said corresponding offset value of each of said plurality of logic unit output signals.
Claim 9
Dependent Claim
434 words
A microprocessor comprising: pipelining means for processing a plurality of instructions, wherein said plurality of instructions are instructions wherein memory locations of said microprocessor are addressed for writing thereto or reading therefrom, and wherein addresses of said memory locations are determined by adding an offset value to a numerical value stored in a Stack Pointer Register; said pipelining means comprising a plurality of pipelines, each of said plurality of pipelines having a plurality of pipeline stages; said pipelining means processing each of said plurality of instructions through each of said plurality of pipeline stages of a pipeline of said plurality of pipelines; said pipelining means further comprising a pipeline coupling means coupled to at least two pipelines and including a logic unit means for receiving a plurality of logic unit input signals, each of said plurality of logic unit input signals representing an instruction processed in a corresponding one of said plurality of pipelines; said logic unit means further having means for simultaneously computing a plurality of logic unit output signals, each of said plurality of logic unit output signals specifying a corresponding offset value for each pipeline dependent upon at least one of said plurality of logic unit input signals, each of said corresponding offset values to be added to the numerical value stored in said Stack Point Register; said pipeline coupling means further having an adding means, coupled to said logic unit means, comprised of a plurality of adders, each of said adders having a first adder input receiver, wherein said first adder input receiver of each of said adders is connected to one of said logic unit output signals of said logic unit means; each of said adders of said plurality of adders including means for simultaneously computing a sum of said corresponding offset value of each of said plurality of logic unit output signals and said numerical value stored in said Stack Pointer Register, each of said adders further outputting said sum as an adder output signal; said pipeline coupling means further having an output register means, coupled to said adding means, comprised of a plurality of output registers, wherein each of said plurality of output registers receives an adder output signal of one of said adders; and wherein one of said plurality of output registers is connected to a second adder input receiver of each of said adders for providing an updated value of said Stack Pointer Register to each of said adders, wherein said updated value of said Stack Pointer Register is added to said corresponding offset value of each of said plurality of logic unit output signals.
Claim 10
Dependent Claim
56 words
The microprocessor of claim 7, wherein said plurality of pipelines is comprised of four pipelines, and wherein said plurality of adders is comprised of five adders, and wherein said plurality of output registers is comprised of five output registers, and wherein said first plurality of said plurality of output registers is comprised of four output registers.
Claim 11
Dependent Claim
56 words
The microprocessor of claim 7, wherein said plurality of pipelines is comprised of two pipelines, and wherein said plurality of adders is comprised of three adders, and wherein said plurality of output registers is comprised of three output registers, and wherein said first plurality of said plurality of output registers is comprised of two output registers.
Claim 12
Dependent Claim
39 words
The microprocessor pipelining system of claims 7, 8, or 9, wherein said plurality of stages of a pipeline of said plurality of pipelines include a fetch stage, an instruction decode stage, an address computation stage, and an execution stage.
Claim 13
Dependent Claim
33 words
The microprocessor of claim 7, wherein a first plurality of said plurality of output registers simultaneously addresses said microprocessor memory locations for those locations which are not the same as any other locations.
Claim 14
Dependent Claim
23 words
The microprocessor of claim 7, wherein said pipeline coupling means simultaneously executes said instructions whose processing begins in the same microprocessor clock cycle.
Claim 15
Dependent Claim
366 words
A microprocessor comprising: pipelining means for processing a plurality of instructions, wherein said plurality of instructions are instructions for incrementing or decrementing the numerical value of various registers of said microprocessor; said pipelining means comprising a plurality of pipelines, each of said plurality of pipelines having a plurality of pipeline stages; said pipelining means processing each of said plurality of instructions through each of said plurality of pipeline stages of a pipeline of said plurality of pipelines; said pipelining means further comprising a pipeline coupling means, coupled to two or more pipelines, and including a logic unit means for receiving a plurality of logic unit input signals, each of said plurality of logic unit input signals representing an instruction processed in a corresponding one of said plurality of pipelines; said logic unit means further having means for simultaneously computing a plurality of logic unit output signals, each of said plurality of logic unit output signals specifying a corresponding offset value for each of said plurality of pipelines dependent upon at least one of said plurality of logic unit input signals, said corresponding offset value to be added to the numerical values of said various registers of said microprocessor; said pipeline coupling means further having adding means, coupled to said logic unit means, comprised of a plurality of adders, each of said adders having a first adder input receiver, wherein said first adder input receiver of each of said adders is connected to one of said logic unit output signals of said logic unit means; each of said adders further including a second adder input receiver, wherein said second adder input receiver of each of said adders is coupled to one of said various registers of said microprocessor so as to receive said numerical value of one of said various registers of said microprocessor; and wherein each of said adders of said plurality of adders has means for simultaneously computing a sum of said offset values of each of said plurality of logic unit output signals and said numerical values of one of said various registers of said microprocessor, and wherein said sum is the new numerical value of one of said various registers of said microprocessor.
Claim 16
Dependent Claim
366 words
A microprocessor comprising: pipelining means for processing a plurality of instructions, wherein said plurality of instructions are instructions for incrementing or decrementing the numerical value of various registers of said microprocessor; said pipelining means comprising a plurality of pipelines, each of said plurality of pipelines having a plurality of pipeline stages; said pipelining means processing each of said plurality of instructions through each of said plurality of pipeline stages of a pipeline of said plurality of pipelines; said pipelining means further comprising a pipeline coupling means, coupled to two or more pipelines, and including a logic unit means for receiving a plurality of logic unit input signals, each of said plurality of logic unit input signals representing an instruction processed in a corresponding one of said plurality of pipelines; said logic unit means further having means for simultaneously computing a plurality of logic unit output signals, each of said plurality of logic unit output signals specifying a corresponding offset value for each of said plurality of pipelines dependent upon at least one of said plurality of logic unit input signals, said corresponding offset value to be added to the numerical values of said various registers of said microprocessor; said pipeline coupling means further having adding means, coupled to said logic unit means, comprised of a plurality of adders, each of said adders having a first adder input receiver, wherein said first adder input receiver of each of said adders is connected to one of said logic unit output signals of said logic unit means; each of said adders further including a second adder input receiver, wherein said second adder input receiver of each of said adders is coupled to one of said various registers of said microprocessor so as to receive said numerical value of one of said various registers of said microprocessor; and wherein each of said adders of said plurality of adders has means for simultaneously computing a sum of said offset values of each of said plurality of logic unit output signals and said numerical values of one of said various registers of said microprocessor, and wherein said sum is the new numerical value of one of said various registers of said microprocessor.
Claim 17
Dependent Claim
26 words
The microprocessor of claim 13, wherein said plurality of pipelines is comprised of four pipelines, and wherein said plurality of adders is comprised of four adders.
Claim 18
Dependent Claim
26 words
The microprocessor of claim 13, wherein said plurality of pipelines is comprised of two pipelines, and wherein said plurality of adders is comprised of two adders.
Claim 19
Dependent Claim
44 words
The microprocessor pipelining system of claims 13, 14, or 15, wherein said plurality of stages of a pipeline of said plurality of pipelines include a fetch stage, an instruction decode stage, an address computation stage, a first execution stage, and a second execution stage.
Claim 20
Dependent Claim
23 words
The microprocessor of claim 13, wherein said pipeline coupling means simultaneously executes said instructions whose processing begins in the same microprocessor clock cycle.
Claim 21
Dependent Claim
202 words
In a microprocessor a method of processing a plurality of instructions, wherein the processing of at least one of said plurality of instructions is dependent on the result of processing of another of said plurality of instructions, said method comprising the steps of: providing a pipelining means for processing said plurality of instructions; providing a plurality of pipelines for said pipelining means, each of said plurality of pipelines having a plurality of pipeline stages, wherein said plurality of pipeline stages include a decode stage, an address computation stage, and an execution stage; coupling said plurality of pipelines to each other with a pipeline coupling means, said pipeline coupling means including logic unit means and adding means; said logic unit means receiving at least two input signals, each input signal representing an instruction processed in a corresponding one of said plurality of pipelines; said logic unit means simultaneously computing an output signal specifying a corresponding offset value for each of said plurality of pipelines, each corresponding offset value dependent upon at least one of said input signals; and said adding means simultaneously adding each corresponding offset value to a numerical value to obtain a pipeline result for each of said plurality of pipelines.
Claim 22
Dependent Claim
202 words
In a microprocessor a method of processing a plurality of instructions, wherein the processing of at least one of said plurality of instructions is dependent on the result of processing of another of said plurality of instructions, said method comprising the steps of: providing a pipelining means for processing said plurality of instructions; providing a plurality of pipelines for said pipelining means, each of said plurality of pipelines having a plurality of pipeline stages, wherein said plurality of pipeline stages include a decode stage, an address computation stage, and an execution stage; coupling said plurality of pipelines to each other with a pipeline coupling means, said pipeline coupling means including logic unit means and adding means; said logic unit means receiving at least two input signals, each input signal representing an instruction processed in a corresponding one of said plurality of pipelines; said logic unit means simultaneously computing an output signal specifying a corresponding offset value for each of said plurality of pipelines, each corresponding offset value dependent upon at least one of said input signals; and said adding means simultaneously adding each corresponding offset value to a numerical value to obtain a pipeline result for each of said plurality of pipelines.
Claim 23
Dependent Claim
31 words
The method of claim 18, wherein said plurality of stages of said plurality of pipelines include a fetch stage, an instruction decode stage, an address computation stage, and an execution stage.
Claim 24
Dependent Claim
38 words
The method of claim 18, wherein said plurality of stages of said plurality of pipelines are comprised of a fetch stage, an instruction decode stage, an address computation stage, a first execution stage, and a second execution stage.
Claim 25
Independent Claim
18 words
The method of claims 18, 19, or 20, wherein said plurality of pipelines is comprised of four pipelines.
Claim 26
Independent Claim
18 words
The method of claims 18, 19, or 20, wherein said plurality of pipelines is comprised of two pipelines.
Claim 27
Dependent Claim
23 words
The microprocessor of claim 18, wherein said pipeline coupling means simultaneously executes said instructions whose processing begins in the same microprocessor clock cycle.
References Cited (Backward Citations)
US4476525A
Cited
US4594655A
Cited
US4916606A
Cited
US4858105A
Cited
US4942525A
Cited
US4928226A
Cited
US4933841A
Cited
US4916652A
Cited
US5148529A
Cited
US5091853A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-01-31 | 1997-08-02 | 1998-02-01 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-01-31 | 2001-08-02 | 2002-02-01 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-01-31 | 2005-08-02 | 2006-02-01 | $7700.00 | Window Closed / Lapsed |