US5479622A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Single cycle dispatch delay in a multiple instruction dispatch mechanism of a data processing system
Assignee: International Business Machines Corp
•
Filing: 1994-11-14
•
Granted: 1995-12-26
•
Expires: 2014-11-14
Abstract
Abstract A data processing system including a circuit for storing a plurality of instructions in a sequence together with a circuit for fetching a plurality of instructions. A circuit is provided for dispatching a plurality of the instructions to one or more processors for execution during a single computation cycle. A control circuit is connected to the dispatching circuit to delay the dispatching of an instruction. when the instruction has an execution result that is dependent upon a previous instruction execution that will set at least one bit in a condition register. The delayed instruction is delayed until that condition register has been accordingly set.
Inventors
- 👤 Gregory F. Grohoski
- 👤 Randall D. Groves
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-31 17:33
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30094; G06F9/38; G06F9/3836; G06F9/3838; G06F9/3885
Claims Analysis
Total Claims: 44
Claim 1
Independent Claim
161 words
A data processing system comprising: means for providing sequential clock cycles individually corresponding to single system computation cycles; means for storing a plurality of instructions in sequence within an instruction memory; means for selectively dispatching a plurality of instructions following the sequence in which the instructions were stored in the instruction memory during a single clock cycle to selected processors for execution; means for determining for each instruction to be dispatched by the means for dispatching whether that instruction may when executed be dependent upon a bit in a condition register characterizing a previous instruction result; means for monitoring the setting of said bit in said condition register and providing an indication thereof; and control means for selectively delaying the dispatch of one or more instructions during the clock cycle when said means for determining indicates that the instruction is dependent upon the setting of said bit and that said means for monitoring indicates that said bit has not been set.
Claim 2
Dependent Claim
161 words
A data processing system comprising: means for providing sequential clock cycles individually corresponding to single system computation cycles; means for storing a plurality of instructions in sequence within an instruction memory; means for selectively dispatching a plurality of instructions following the sequence in which the instructions were stored in the instruction memory during a single clock cycle to selected processors for execution; means for determining for each instruction to be dispatched by the means for dispatching whether that instruction may when executed be dependent upon a bit in a condition register characterizing a previous instruction result; means for monitoring the setting of said bit in said condition register and providing an indication thereof; and control means for selectively delaying the dispatch of one or more instructions during the clock cycle when said means for determining indicates that the instruction is dependent upon the setting of said bit and that said means for monitoring indicates that said bit has not been set.
Claim 3
Dependent Claim
26 words
The apparatus recited in claim 1, further comprising a means for fetching a plurality of instructions from said means for storing during a single clock cycle.
Claim 4
Dependent Claim
36 words
The data processing system according to claim 2 wherein said condition register includes a plurality of fields, a first of said fields including said bit and characterizing a result of a predetermined class of instruction execution.
Claim 5
Dependent Claim
25 words
A data processing system according to claim 3 wherein each instruction includes a target operand storage designation and at least two source operand storage designations.
Claim 6
Dependent Claim
24 words
A data processing system according to claim 4 wherein said control means includes means for determining validity of the contents of the condition register.
Claim 7
Dependent Claim
37 words
A data processing system according to claim 5 wherein said control means includes means for determining if execution of a fetched instruction will modify at least one bit of those in said fields of said condition register.
Claim 8
Dependent Claim
37 words
A data processing system according to claim 6 wherein said control means includes means for determining if execution of a fetched instruction will read at least one bit of those in said fields of said condition register.
Claim 9
Dependent Claim
154 words
A data processing system comprising: means for providing sequential clock cycles individually corresponding to single system computation cycles; means for storing a plurality of instructions in sequence within an instruction memory; means for selectively dispatching a plurality of instructions following the sequence in which the instructions were stored in the instruction memory during a single clock cycle to selected processors for execution; means for determining for each instruction to be dispatched by the means for dispatching whether that instruction may when executed set bit in a condition register to be accessed by a processor executing a previous instruction; means for monitoring the accessing of said bit in said condition register and providing an indication thereof; and control means for selectively delaying the dispatching of one or more instructions during the clock cycle when execution of a previous instruction has not accessed said bit in said condition register, as indicated by the means for determining.
Claim 10
Dependent Claim
154 words
A data processing system comprising: means for providing sequential clock cycles individually corresponding to single system computation cycles; means for storing a plurality of instructions in sequence within an instruction memory; means for selectively dispatching a plurality of instructions following the sequence in which the instructions were stored in the instruction memory during a single clock cycle to selected processors for execution; means for determining for each instruction to be dispatched by the means for dispatching whether that instruction may when executed set bit in a condition register to be accessed by a processor executing a previous instruction; means for monitoring the accessing of said bit in said condition register and providing an indication thereof; and control means for selectively delaying the dispatching of one or more instructions during the clock cycle when execution of a previous instruction has not accessed said bit in said condition register, as indicated by the means for determining.
Claim 11
Dependent Claim
25 words
The apparatus recited in claim 8, further comprising a means for fetching plurality of instructions from said means for storing during a single clock cycle.
Claim 12
Dependent Claim
36 words
A data processing system according to claim 9 wherein said condition register includes a plurality of fields, a first of said fields including said bit and characterizing a result of a predetermined class of instruction execution.
Claim 13
Dependent Claim
25 words
A data processing system according to claim 10 wherein each instruction includes a target operand storage designation and at least two source operand storage designations.
Claim 14
Dependent Claim
24 words
A data processing system according to claim 11 wherein said control means includes means for determining validity of the contents of said condition register.
Claim 15
Dependent Claim
37 words
A data processing system according to claim 12 wherein said control means includes means for determining if execution of a fetched instruction will modify at least one bit of those in said fields of said condition register.
Claim 16
Dependent Claim
37 words
A data processing system according to claim 13 wherein said control means includes means for determining if execution of a fetched instruction will read at least one bit of those in said fields of said condition register.
Claim 17
Independent Claim
149 words
A method for providing instructions in a data processing system comprising the computer implemented steps of: providing sequential clock cycles individually corresponding to single system computation cycles; storing a plurality of instructions in sequence within an instruction memory; dispatching a plurality of selected instructions following the sequence in which the instructions were stored in the instruction memory to selected processors during a single clock cycle; determining when an instruction execution is dependent upon a previous instruction setting a bit in a condition register characterizing a previous instruction result; monitoring the setting of said bit in the condition register and providing an indication thereof; and selectively delaying the dispatching of an instruction during the clock cycle the instruction is to be dispatched when there is an indication that the instruction is dependent upon the setting of said bit and that there is no indication that said bit has been set.
Claim 18
Independent Claim
149 words
A method for providing instructions in a data processing system comprising the computer implemented steps of: providing sequential clock cycles individually corresponding to single system computation cycles; storing a plurality of instructions in sequence within an instruction memory; dispatching a plurality of selected instructions following the sequence in which the instructions were stored in the instruction memory to selected processors during a single clock cycle; determining when an instruction execution is dependent upon a previous instruction setting a bit in a condition register characterizing a previous instruction result; monitoring the setting of said bit in the condition register and providing an indication thereof; and selectively delaying the dispatching of an instruction during the clock cycle the instruction is to be dispatched when there is an indication that the instruction is dependent upon the setting of said bit and that there is no indication that said bit has been set.
Claim 19
Independent Claim
143 words
A method for providing instructions in a data processing system comprising the computer implemented steps of: providing sequential clock cycles individually corresponding to single system computation cycles; storing a plurality of instructions in sequence within an instruction memory; dispatching a plurality of selected instructions following the sequence in which the instructions were stored in the instruction memory to selected processors during a single clock cycle; determining for each instruction to be dispatched whether that instruction may when executed set a bit in a condition register to be accessed by a processor executing a previous instruction; monitoring the access of said bit in said condition register and providing an indication thereof; and selectively delaying the dispatching of an instruction during the clock cycle the instruction is to be dispatched when execution of a previous instruction has not accessed said bit in said condition register.
Claim 20
Independent Claim
143 words
A method for providing instructions in a data processing system comprising the computer implemented steps of: providing sequential clock cycles individually corresponding to single system computation cycles; storing a plurality of instructions in sequence within an instruction memory; dispatching a plurality of selected instructions following the sequence in which the instructions were stored in the instruction memory to selected processors during a single clock cycle; determining for each instruction to be dispatched whether that instruction may when executed set a bit in a condition register to be accessed by a processor executing a previous instruction; monitoring the access of said bit in said condition register and providing an indication thereof; and selectively delaying the dispatching of an instruction during the clock cycle the instruction is to be dispatched when execution of a previous instruction has not accessed said bit in said condition register.
Claim 21
Dependent Claim
120 words
A data processing system comprising: means for providing sequential clock cycles individually corresponding to single system computation cycles; means for selectively dispatching in sequence a plurality of sequentially stored instructions from storage within an instruction memory during a single clock cycle to selected processors for execution; means for determining within a clock cycle whether instructions subject to dispatch may depend on settings in fields of a condition register, wherein the settings in the fields are related to previous instructions executing in processors; control means for selectively delaying the dispatch of an instruction during the clock cycle when said means for determining indicates that the instruction is dependent upon the setting of a condition register field that has not been set.
Claim 22
Dependent Claim
120 words
A data processing system comprising: means for providing sequential clock cycles individually corresponding to single system computation cycles; means for selectively dispatching in sequence a plurality of sequentially stored instructions from storage within an instruction memory during a single clock cycle to selected processors for execution; means for determining within a clock cycle whether instructions subject to dispatch may depend on settings in fields of a condition register, wherein the settings in the fields are related to previous instructions executing in processors; control means for selectively delaying the dispatch of an instruction during the clock cycle when said means for determining indicates that the instruction is dependent upon the setting of a condition register field that has not been set.
Claim 23
Dependent Claim
21 words
The apparatus recited in claim 17, further comprising a means for fetching a plurality of instructions during a single clock cycle.
Claim 24
Dependent Claim
32 words
The data processing system according to claim 18 wherein said condition register includes for a first of said plural fields a bit characterizing a result of a predetermined class of instruction execution.
Claim 25
Dependent Claim
25 words
A data processing system according to claim 19 wherein each instruction includes a target operand storage designation and at least two source operand storage designations.
Claim 26
Dependent Claim
24 words
A data processing system according to claim 20 wherein said control means includes means for determining validity of the contents of the condition register.
Claim 27
Dependent Claim
37 words
A data processing system according to claim 21 wherein said control means includes means for determining if execution of a fetched instruction will modify at least one bit of those in said fields of said condition register.
Claim 28
Dependent Claim
37 words
A data processing system according to claim 22 wherein said control means includes means for determining if execution of a fetched instruction will read at least one bit of those in said fields of said condition register.
Claim 29
Dependent Claim
112 words
A data processing system comprising: means for providing sequential clock cycles individually corresponding to single system computation cycles; means for selectively dispatching in sequence a plurality of sequentially stored instructions from storage within an instruction memory during a single clock cycle to selected processors for execution; means for determining within a clock cycle whether instructions subject to dispatch may when executed set a field of a condition register that is to be accessed by a processor executing a previous instruction; and control means for selectively delaying the dispatch of the instruction during the clock cycle when said means for determining indicates that the accessing of the condition field has not been accomplished.
Claim 30
Dependent Claim
112 words
A data processing system comprising: means for providing sequential clock cycles individually corresponding to single system computation cycles; means for selectively dispatching in sequence a plurality of sequentially stored instructions from storage within an instruction memory during a single clock cycle to selected processors for execution; means for determining within a clock cycle whether instructions subject to dispatch may when executed set a field of a condition register that is to be accessed by a processor executing a previous instruction; and control means for selectively delaying the dispatch of the instruction during the clock cycle when said means for determining indicates that the accessing of the condition field has not been accomplished.
Claim 31
Dependent Claim
26 words
The apparatus recited in claim 24, further comprising a means for fetching a plurality of instructions from said means for storing during a single clock cycle.
Claim 32
Dependent Claim
32 words
A data processing system according to claim 25 wherein said condition register includes for a first of said plural fields a bit characterizing a result of a predetermined class of instruction execution.
Claim 33
Dependent Claim
25 words
A data processing system according to claim 26 wherein each instruction includes a target operand storage designation and at least two source operand storage designations.
Claim 34
Dependent Claim
24 words
A data processing system according to claim 27 wherein said control means includes means for determining validity of the contents of said condition register.
Claim 35
Dependent Claim
37 words
A data processing system according to claim 28 wherein said control means includes means for determining if execution of a fetched instruction will modify at least one bit of those in said fields of said condition register.
Claim 36
Dependent Claim
37 words
A data processing system according to claim 29 wherein said control means includes means for determining if execution of a fetched instruction will read at least one bit of those in said fields of said condition register.
Claim 37
Dependent Claim
87 words
A data processing system comprising: means for providing sequential clock cycles individually corresponding to single system computation cycles; an instruction memory for storing a plurality of instructions in sequence; means for fetching a plurality of instructions during a first clock cycle; at least one condition register related to multiple processors; and means for resolving dependencies reflected in the condition register and dispatching selected instructions in the sequence stored in the instruction memory to multiple processors for execution, during a second clock cycle following the first clock cycle.
Claim 38
Dependent Claim
87 words
A data processing system comprising: means for providing sequential clock cycles individually corresponding to single system computation cycles; an instruction memory for storing a plurality of instructions in sequence; means for fetching a plurality of instructions during a first clock cycle; at least one condition register related to multiple processors; and means for resolving dependencies reflected in the condition register and dispatching selected instructions in the sequence stored in the instruction memory to multiple processors for execution, during a second clock cycle following the first clock cycle.
Claim 39
Dependent Claim
117 words
A data processing system comprising: a clock providing clock cycles individually corresponding to single system computation cycles; a plurality off processors, each for independently executing instructions and indicating a condition code resulting from instruction execution; an instruction memory for storing a plurality of instructions in sequence; a condition register containing condition codes indications from at least two of said processors; and means for dispatching a plurality of instructions in the sequence stored in the instruction memory during a single clock cycle to at least two of said processors, said dispatching means including means for determining a condition code dependency for each instruction and having means for delaying the dispatching of any instruction having a condition code dependency.
Claim 40
Dependent Claim
117 words
A data processing system comprising: a clock providing clock cycles individually corresponding to single system computation cycles; a plurality off processors, each for independently executing instructions and indicating a condition code resulting from instruction execution; an instruction memory for storing a plurality of instructions in sequence; a condition register containing condition codes indications from at least two of said processors; and means for dispatching a plurality of instructions in the sequence stored in the instruction memory during a single clock cycle to at least two of said processors, said dispatching means including means for determining a condition code dependency for each instruction and having means for delaying the dispatching of any instruction having a condition code dependency.
Claim 41
Dependent Claim
26 words
The system recited in claim 32, wherein said means for determining a condition code dependency for each instruction performs the determining in a single clock cycle.
Claim 42
Dependent Claim
32 words
The system recited in claim 33, wherein the means for delaying the dispatch of any instruction having a condition code dependency also delays the dispatch of instructions sequentially following the delayed instruction.
Claim 43
Dependent Claim
105 words
A data processing system comprising: a clock providing clock cycles individually corresponding to single system computation cycles; a plurality of processors, each for independently executing instructions and indicating a condition code resulting from instruction execution; an instruction memory for storing a plurality of instructions in sequence; a register containing condition codes indications from at least two processors and including means indicating if said condition codes indications are valid; and means for dispatching a plurality of instructions in the sequence stored in the instruction memory during a single clock cycle to at least two of said processors when condition codes indications for each instruction are valid.
Claim 44
Dependent Claim
105 words
A data processing system comprising: a clock providing clock cycles individually corresponding to single system computation cycles; a plurality of processors, each for independently executing instructions and indicating a condition code resulting from instruction execution; an instruction memory for storing a plurality of instructions in sequence; a register containing condition codes indications from at least two processors and including means indicating if said condition codes indications are valid; and means for dispatching a plurality of instructions in the sequence stored in the instruction memory during a single clock cycle to at least two of said processors when condition codes indications for each instruction are valid.
References Cited (Backward Citations)
US3346851A
Cited
US4710866A
Cited
US4807115A
Cited
US4736288A
Cited
US4782441A
Cited
US4755966A
Cited
US4777587A
Cited
US4847755A
Cited
US4991080A
Cited
US4903196A
Cited
US4766566A
Cited
US4974155A
Cited
US5051885A
Cited
US4965717A
Cited
US4965717B1
Cited
US5034880A
Cited
US4975868A
Cited
US5075844A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1998-12-25 | 1999-06-26 | 1999-12-26 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2002-12-25 | 2003-06-26 | 2003-12-26 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2006-12-25 | 2007-06-26 | 2007-12-26 | $7700.00 | Window Closed / Lapsed |