US5659722A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Multiple condition code branching system in a multi-processor environment
Assignee: International Business Machines Corp
•
Filing: 1994-04-28
•
Granted: 1997-08-19
•
Expires: 2014-04-28
Abstract
Abstract A data processing system includes a number of processing elements wherein each of the processing elements generates one or more condition signals, one or more memory elements associated with the processing elements for storing instructions and data associated with the processing elements, at least one register for storing a predicate associated with each of the processing elements and logic for comparing condition signals from each of the processing elements with a corresponding predicate to generate one or more branch test signals, and combination logic to provide a single take branch signal based on branch test signals and logic masks associated with each of the predicates.
Inventors
- 👤 Bartholomew Blaner
- 👤 Larry D. Larsen
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-27 21:52
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3885; G06F9/30003; G06F9/3005; G06F9/30058; G06F9/30072; G06F9/30094
Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
142 words
A data processing system having at least two processing elements, comprising: means for controlling asynchronous parallel operation of said plurality of processing elements; a shared memory system, coupled to said plurality of processing elements, for storing instructions and data required for operation of each of said processing elements; one or more registers, each register having one or more fields, denominated as a predicate field, each of said predicate fields being associated with one of said processing elements; means for comparing a plurality of branch condition signals from a plurality of said processing elements with said predicate fields to generate a plurality of individual branch test signals; and logic means for applying a logic mask associated with each of said processing elements to said individual branch test signals to produce a branch decision signal which is acted upon based on a single instruction.
Claim 2
Dependent Claim
142 words
A data processing system having at least two processing elements, comprising: means for controlling asynchronous parallel operation of said plurality of processing elements; a shared memory system, coupled to said plurality of processing elements, for storing instructions and data required for operation of each of said processing elements; one or more registers, each register having one or more fields, denominated as a predicate field, each of said predicate fields being associated with one of said processing elements; means for comparing a plurality of branch condition signals from a plurality of said processing elements with said predicate fields to generate a plurality of individual branch test signals; and logic means for applying a logic mask associated with each of said processing elements to said individual branch test signals to produce a branch decision signal which is acted upon based on a single instruction.
Claim 3
Dependent Claim
62 words
A data processing system, according to claim 1, wherein said means for storing the predicate field further comprises: means for storing a logic mask field associated with each of said processing elements, wherein said logic mask field is applied to said means for comparing to enable complex combinations of branch condition signals to be combined to produce a single branch decision signal.
Claim 4
Dependent Claim
57 words
A data processing system, according to claim 1, further comprising: separate means for storing a logic mask field associated with at least one of said processing elements, wherein said logic mask field is applied to said means for comparing to enable complex combinations of branch condition signals to be combined to produce a single branch decision signal.
Claim 5
Independent Claim
111 words
A method, for providing in a single instruction execution, a branch instruction which operates on multiple condition codes, in a data processing system having a plurality of asynchronously operating processing elements, comprising the steps of: storing, in one or more registers, a plurality of predicate fields, each said predicate field being associated with one of said processing elements; comparing a plurality of branch condition signals from a plurality of said processing elements with said predicate fields to produce individual branch test signals; and gating said individual branch test signals against a plurality of logic mask signals to produce a branch decision signal which is acted upon based on a single instruction.
Claim 6
Independent Claim
111 words
A method, for providing in a single instruction execution, a branch instruction which operates on multiple condition codes, in a data processing system having a plurality of asynchronously operating processing elements, comprising the steps of: storing, in one or more registers, a plurality of predicate fields, each said predicate field being associated with one of said processing elements; comparing a plurality of branch condition signals from a plurality of said processing elements with said predicate fields to produce individual branch test signals; and gating said individual branch test signals against a plurality of logic mask signals to produce a branch decision signal which is acted upon based on a single instruction.
Claim 7
Dependent Claim
74 words
A method, according to claim 4, further comprising the steps of: storing a plurality of logic mask fields, each of said logic mask fields associated with each said processing elements on a one to one basis; and applying at least one of said logic mask fields to said means for comparing to enable complex combinations of branch condition signals to be combined to produce a single branch decision signal responsive to a single instruction.
Claim 8
Independent Claim
179 words
A method of controlling a conditional branch instruction for a branch in program execution on the occurrence of one or more predetermined branch condition signals from one or more processing elements of a plurality of processing elements in a data processing system, comprising the steps of: providing a first field containing an operation code for an instruction to be executed; providing a second field containing values indicative of one processing element of said plurality of processing elements and associating a mode of operation with a predicate contained in a predicate field of said instruction; providing one or more registers, each such register having one or more predicate fields, each predicate field containing predicate data associated with one of said processing elements; comparing a plurality of branch condition signals asynchronously generated by said processing elements with said predicate data to generate individual branch test signals, each associated with one of said processing elements; and applying a predetermined logic mask to said individual branch test signals to generate a branch decision signal which is acted upon based on a single instruction.
Claim 9
Independent Claim
179 words
A method of controlling a conditional branch instruction for a branch in program execution on the occurrence of one or more predetermined branch condition signals from one or more processing elements of a plurality of processing elements in a data processing system, comprising the steps of: providing a first field containing an operation code for an instruction to be executed; providing a second field containing values indicative of one processing element of said plurality of processing elements and associating a mode of operation with a predicate contained in a predicate field of said instruction; providing one or more registers, each such register having one or more predicate fields, each predicate field containing predicate data associated with one of said processing elements; comparing a plurality of branch condition signals asynchronously generated by said processing elements with said predicate data to generate individual branch test signals, each associated with one of said processing elements; and applying a predetermined logic mask to said individual branch test signals to generate a branch decision signal which is acted upon based on a single instruction.
Claim 10
Dependent Claim
17 words
A conditional branch instruction method, according to claim 6, further comprising: providing an operation code extension field.
Claim 11
Independent Claim
167 words
A method of controlling a conditional branch instruction for on the occurrence of one or more predetermined branch condition signals generated asynchronously from one or more processing elements of a plurality of processing elements in a data processing system, comprising: providing a first field containing an operation code for an instruction to be executed if the branch is to executed; providing a displacement field containing address information associated with said instruction; providing a plurality of multiple predicate registers on a one to one basis with said plurality of processing elements, for storing a plurality of predicates, each predicate in said register being associated with one of said processing elements; comparing a plurality of branch condition signals asynchronously generated by said processing elements with said predicate data to generate individual branch test signals, each associated with one of said processing elements; and applying a predetermined logic mask to said individual branch test signals to generate a branch decision signal which is acted upon based on a single instruction.
Claim 12
Independent Claim
167 words
A method of controlling a conditional branch instruction for on the occurrence of one or more predetermined branch condition signals generated asynchronously from one or more processing elements of a plurality of processing elements in a data processing system, comprising: providing a first field containing an operation code for an instruction to be executed if the branch is to executed; providing a displacement field containing address information associated with said instruction; providing a plurality of multiple predicate registers on a one to one basis with said plurality of processing elements, for storing a plurality of predicates, each predicate in said register being associated with one of said processing elements; comparing a plurality of branch condition signals asynchronously generated by said processing elements with said predicate data to generate individual branch test signals, each associated with one of said processing elements; and applying a predetermined logic mask to said individual branch test signals to generate a branch decision signal which is acted upon based on a single instruction.
Claim 13
Dependent Claim
33 words
A method of a executing a conditional branch instruction, according to claim 8, further comprising: providing an operation code extension field containing an extension to the operation code contained in said first field.
Claim 14
Dependent Claim
32 words
A method of a executing a conditional branch instruction, according to claim 8, further comprising: providing a logic mask field associated with each said processing element on a one to one basis.
References Cited (Backward Citations)
US3764988A
Cited
US4439828A
Cited
US4742451A
Cited
US5081574A
Cited
US4827402A
Cited
US4853840A
Cited
US4903196A
Cited
US4766566A
Cited
US4833599A
Cited
US5197136A
Cited
US5101344A
Cited
US4974155A
Cited
US5142634A
Cited
US5349671A
Cited
US5093908A
Cited
US5075844A
Cited
US5421026A
Cited
US5185868A
Cited
US5051940A
Cited
US5214763A
Cited
US5197135A
Cited
US5283873A
Cited
US5418917A
Cited
JPH0496133A
Cited
US5347639A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-08-18 | 2001-02-17 | 2001-08-19 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-08-18 | 2005-02-17 | 2005-08-19 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-08-18 | 2009-02-17 | 2009-08-19 | $7700.00 | Window Closed / Lapsed |