← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag