Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
450 words
In a multiple-operand stream computing system wherein data processing tasks are designated as capable of being operated upon in parallel, the combination of: a plurality of data processing elements, each for operating on a stream of instructions: resource posting means responsive to said plurality of data processing elements for listing the status of each of said plurality of data processing elements; means for detecting the occurrence, in a given one of said streams of instructions, of a group of data processing tasks which can be operated upon in parallel; means associated with each data processing element and reSponsive to the detection of said occurrence, for issuing from the data processing element operating upon said given one of said streams of instructions, a request for data processing elements to operate upon individual ones of said tasks, said request having associated therewith an indication of the number of tasks awaiting distribution to individual ones of said plurality of data processing elements; means responsive to said resource posting means for detecting free data processing elements; means responsive to the detection of a free data processing element, for testing said indication of the number of tasks awaiting distribution; means responsive to the detection of a least one awaiting task in said last-named test, for distributing one of said at least one awaiting tasks to said free data processing element; a second and a third indication, associated with said request, for indicating the number of distributed but incompleted tasks in said group, and whether or not said issuing data processing element is retaining its status as the issuing data processing element, respectively; means for decrementing said second indication each time a task is completed; means responsive to said decrementing means for testing said second indication after each decrementation to determine whether the last task of said group is completed; means responsive to the detection of the completion of said last task for testing said third indication to detect whether said data processing element issuing said request is retaining its status as the issuing data processing element; means responsive to the detection of the condition that said issuing data processing element is retaining its status as the issuing date processing element for gating to said issuing data processing element an indication to coordinate data and continue processing instructions in said given one of said streams of instructions; and means responsive to the detection in said last-named test that said issuing data processing element is not retaining its status as the issuing data processing element for gating to the processing element which completed the last task in said group, an indication to coordinate data and continue processing instructions in said given one of said streams of instructions.
Claim 2
Dependent Claim
450 words
In a multiple-operand stream computing system wherein data processing tasks are designated as capable of being operated upon in parallel, the combination of: a plurality of data processing elements, each for operating on a stream of instructions: resource posting means responsive to said plurality of data processing elements for listing the status of each of said plurality of data processing elements; means for detecting the occurrence, in a given one of said streams of instructions, of a group of data processing tasks which can be operated upon in parallel; means associated with each data processing element and reSponsive to the detection of said occurrence, for issuing from the data processing element operating upon said given one of said streams of instructions, a request for data processing elements to operate upon individual ones of said tasks, said request having associated therewith an indication of the number of tasks awaiting distribution to individual ones of said plurality of data processing elements; means responsive to said resource posting means for detecting free data processing elements; means responsive to the detection of a free data processing element, for testing said indication of the number of tasks awaiting distribution; means responsive to the detection of a least one awaiting task in said last-named test, for distributing one of said at least one awaiting tasks to said free data processing element; a second and a third indication, associated with said request, for indicating the number of distributed but incompleted tasks in said group, and whether or not said issuing data processing element is retaining its status as the issuing data processing element, respectively; means for decrementing said second indication each time a task is completed; means responsive to said decrementing means for testing said second indication after each decrementation to determine whether the last task of said group is completed; means responsive to the detection of the completion of said last task for testing said third indication to detect whether said data processing element issuing said request is retaining its status as the issuing data processing element; means responsive to the detection of the condition that said issuing data processing element is retaining its status as the issuing date processing element for gating to said issuing data processing element an indication to coordinate data and continue processing instructions in said given one of said streams of instructions; and means responsive to the detection in said last-named test that said issuing data processing element is not retaining its status as the issuing data processing element for gating to the processing element which completed the last task in said group, an indication to coordinate data and continue processing instructions in said given one of said streams of instructions.
Claim 3
Dependent Claim
221 words
In a multiple-operand stream computing system wherein data-processing tasks are designated as being capable of performance in parallel, the method of: processing a given stream of instructions by an issuing data processor; decoding, in said given stream of instructions, an indication that a plurality of data processing tasks of a particular type are capable of being operated upon in parallel; decoding the type of task contained in said plurality; issuing to a facility dedicated to said decoded type of task, a request for additional processors; dynamically distributing tasks to data processors as each processor becomes available to process a task; testing an indication to determine whether or not said issuing data processor is maintaining its status as said issuing data processor; issuing, in response to the detection that said issuing processor is maintaining its status as the issuing processor, a signal to said issuing processor to coordinate data from said plurality of tasks and to continue processing instructions in said given instruction stream, after the final task in said group has been completed; and issuing, in response to the determination that said issuing processor has not retained its status as the issuing processor, an indication to the processor which completed that final task in said plurality of tasks to coordinate data and continue processing instructions in said given stream of instructions.
Claim 4
Dependent Claim
221 words
In a multiple-operand stream computing system wherein data-processing tasks are designated as being capable of performance in parallel, the method of: processing a given stream of instructions by an issuing data processor; decoding, in said given stream of instructions, an indication that a plurality of data processing tasks of a particular type are capable of being operated upon in parallel; decoding the type of task contained in said plurality; issuing to a facility dedicated to said decoded type of task, a request for additional processors; dynamically distributing tasks to data processors as each processor becomes available to process a task; testing an indication to determine whether or not said issuing data processor is maintaining its status as said issuing data processor; issuing, in response to the detection that said issuing processor is maintaining its status as the issuing processor, a signal to said issuing processor to coordinate data from said plurality of tasks and to continue processing instructions in said given instruction stream, after the final task in said group has been completed; and issuing, in response to the determination that said issuing processor has not retained its status as the issuing processor, an indication to the processor which completed that final task in said plurality of tasks to coordinate data and continue processing instructions in said given stream of instructions.
Claim 5
Dependent Claim
498 words
A multiple instruction stream computing system wherein computational tasks are designated as being of a specific physical or logical function type, and further designated as being operable upon in parallel, the combination of: a pluralitY of data processing elements, each for processing a respective stream of instructions, each said element individually dedicated to said specific physical and logical functions; resource posting means responsive to said plurality of data processing elements for listing the status of each of said plurality of data processing elements; means for detecting the occurrence in a given one of said streams of instructions, of a group of data processing tasks which can be operated upon in parallel. means for detecting the occurrence in said given one of said streams of instructions, the designation of the physical or logical function type of said tasks which can be operated upon in parallel; means responsive to the detection of said occurrence for issuing from the data processing element operating upon said given one of said streams of instructions a request for data processing elements to operate upon individual ones of said tasks, said request having associated therewith an indication of the number of tasks awaiting distribution to requesting data processing elements; means for scanning said resource posting elements for detecting free data processing elements dedicated to the same physical or logical function type as said tasks; means responsive to the detection of a free data processing element for testing said indication of the number of tasks awaiting distribution; means responsive to the detection of at least one awaiting task in said last-named test, for distributing one of said awaiting tasks to said free data processing element; a second and third indication, associated with said request, for indicating the number of distributed but incompleted tasks in said group, and whether or not said issuing data processing element is retaining its status as the issuing data processing element, respectively; means for decrementing said second indication each time a task is completed; means responsive to said decrementing means for testing said second indication after decrementation to determine whether the last task of said group is completed; means responsive to the detection of the completion of said last task for testing said third indication to detect whether the data processing element issuing said request is retaining its status as issuing data processing element; means responsive to the detection of the condition that said issuing data processor is retaining its status as the issuing data processing element, for gating to said issuing data processing element an indication to coordinate data and continue processing instructions in said given one of said streams of instructions, and; means responsive to the detection in said last-named test that said issuing data processing element is not retaining its status as the issuing data processing element, for gating to the processing element which completed the last task in said group, an indication to coordinate data and continue processing instructions in said given one of said streams of instructions.
Claim 6
Dependent Claim
498 words
A multiple instruction stream computing system wherein computational tasks are designated as being of a specific physical or logical function type, and further designated as being operable upon in parallel, the combination of: a pluralitY of data processing elements, each for processing a respective stream of instructions, each said element individually dedicated to said specific physical and logical functions; resource posting means responsive to said plurality of data processing elements for listing the status of each of said plurality of data processing elements; means for detecting the occurrence in a given one of said streams of instructions, of a group of data processing tasks which can be operated upon in parallel. means for detecting the occurrence in said given one of said streams of instructions, the designation of the physical or logical function type of said tasks which can be operated upon in parallel; means responsive to the detection of said occurrence for issuing from the data processing element operating upon said given one of said streams of instructions a request for data processing elements to operate upon individual ones of said tasks, said request having associated therewith an indication of the number of tasks awaiting distribution to requesting data processing elements; means for scanning said resource posting elements for detecting free data processing elements dedicated to the same physical or logical function type as said tasks; means responsive to the detection of a free data processing element for testing said indication of the number of tasks awaiting distribution; means responsive to the detection of at least one awaiting task in said last-named test, for distributing one of said awaiting tasks to said free data processing element; a second and third indication, associated with said request, for indicating the number of distributed but incompleted tasks in said group, and whether or not said issuing data processing element is retaining its status as the issuing data processing element, respectively; means for decrementing said second indication each time a task is completed; means responsive to said decrementing means for testing said second indication after decrementation to determine whether the last task of said group is completed; means responsive to the detection of the completion of said last task for testing said third indication to detect whether the data processing element issuing said request is retaining its status as issuing data processing element; means responsive to the detection of the condition that said issuing data processor is retaining its status as the issuing data processing element, for gating to said issuing data processing element an indication to coordinate data and continue processing instructions in said given one of said streams of instructions, and; means responsive to the detection in said last-named test that said issuing data processing element is not retaining its status as the issuing data processing element, for gating to the processing element which completed the last task in said group, an indication to coordinate data and continue processing instructions in said given one of said streams of instructions.