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

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag