Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
83 words
A method of obtaining parallel execution of existing instructions in a particular configuration of a data processing system, including: allocating certain of the existing instructions into multiple categories; comparing the categories of adjacent existing instructions in an instruction stream to determine whether the adjacent existing instructions are capable of parallel execution in the particular configuration of a data processing system, and identifying with a compounding indicator those adjacent existing instructions which are determined by said comparing step to be capable of parallel execution.
Claim 2
Dependent Claim
24 words
The method of claim 1 wherein said allocating and comparing steps are performed prior to the time the existing instructions are fetched for execution.
Claim 3
Dependent Claim
50 words
The method of claim 1 or 2 wherein said allocating step includes allocating certain instructions into at least one category such that said comparing step causes said identifying step to identify with a compounding indicator at least two adjacent existing instructions from said at least one category for parallel execution.
Claim 4
Independent Claim
55 words
The method of one of claims 1 to 3 wherein said allocating step includes allocating certain instructions into at least two different non-overlapping categories such that said comparing step causes said identifying step to identify with a compounding indicator at least two adjacent existing instructions from said at least two categories, respectively, for parallel execution.
Claim 5
Independent Claim
37 words
The method of one of claims 1 to 4 wherein said identifying step includes leaving the object code of the existing instructions in its original form for execution singly or for execution in parallel with another instruction.
Claim 6
Independent Claim
42 words
The method of one of claims 1 to 5 wherein said allocating step includes taking into account data dependent interlocks between instructions as well as the existence of related interlock collapsing functional units in the particular configuration of the data processing system.
Claim 7
Independent Claim
41 words
The method of one of claims 1 6 wherein said allocating step includes taking into account hardware dependent interlocks between instructions as well as the existence of related interlock collapsing functional units in the particular configuration of the data processing system.
Claim 8
Independent Claim
60 words
The method of one of claims 1 to 7 wherein said comparing step includes comparing a first existing instruction with a second adjacent following instruction for possible compounding with each other, and then comparing the second instruction with a third adjacent following instruction for possible compounding with each other, to identify multiple compound instructions identified by multiple compound indicators, respectively.
Claim 9
Dependent Claim
27 words
The method of claim 8 further including the additional step of determining an optimum sequence of multiple compound instructions for a given portion of an instruction stream.
Claim 10
Independent Claim
35 words
The method of one of claims 1 to 9 wherein said comparing step to determine whether the adjacent existing instructions are capable of parallel execution is based on hardware utilization rather than on opcode description.
Claim 11
Independent Claim
124 words
A system for processing a sequence of instructions taken from an existing set of machine instructions in order to prepare the sequence for parallel execution by a particular computer configuration, including: a set of rules based on the particular computer configuration indicating certain machine instructions which are capable of parallel execution with other machine instructions; and compounding means for pre-processing prior to instruction fetch a binary instruction stream containing a sequence of existing instructions, said compounding means having access to said set of rules for identifying adjacent instructions capable of parallel execution in the particular computer configuration and for producing a compounded sequence of instructions having a control field identifying individual adjacent instructions capable of parallel execution and which together form a compound instruction.
Claim 12
Dependent Claim
23 words
The system of claim 11 wherein said compounding means is a software pre-processing program used as part of a compiler or a post-compiler.
Claim 13
Dependent Claim
28 words
The system of claim 11 or 12 wherein said compounding means is a hardware pre-processing unit which processes instructions prior to their being fetched from a cache buffer.
Claim 14
Independent Claim
35 words
The system of one of claims 11 to 13 wherein said compounding means is capable of producing a compounded sequence of instructions having a control field identifying pairs of adjacent instructions capable of parallel execution.
Claim 15
Dependent Claim
34 words
The system of claim 14 wherein said compounding means is capable of producing a compounded sequence of instructions having a control field identifying groups of three or more adjacent instructions capable of parallel execution.
Claim 16
Independent Claim
24 words
The system of one of claims 11 to 15, wherein said control field comprises at least one identifier bit associated with each compound instruction.
Claim 17
Dependent Claim
25 words
The system of claim 16, wherein said control field includes an identifier bit portion and a control bit portion different from said identifier bit portion.
Claim 18
Independent Claim
28 words
The system of one of claims 11 to 17, wherein said control field comprises at least one identifier bit associated with each individual instruction forming a compound instruction.
Claim 19
Dependent Claim
25 words
The system of claim 18, wherein said control field comprises at least one identifier bit associated with each individual instruction not forming a compound instruction.
Claim 20
Independent Claim
24 words
The system of one of claims 11 to 19 wherein said set of rules is based on hardware utilization rather than on opcode description.
Claim 21
Independent Claim
136 words
A system for generating an instruction stream for parallel execution in a particular computer configuration, comprising: a list of existing scalar instructions grouped into multiple categories based on the capability of the same or different categories of instructions to be executed in parallel in the particular computer configuration; pre-processing means for receiving an input of scalar instructions as part of a binary byte stream, and for determining from said list which adjacent scalar instructions are candidates for parallel execution in the particular computer configuration; and compounding means for creating a tag associated with certain of said scalar instructions in the instruction stream indicating which adjacent scalar instructions are part of a compound instruction capable of parallel execution and which scalar instructions in the instruction stream are not capable of parallel execution in the particular computer configuration.
Claim 22
Dependent Claim
28 words
The system of claim 21 which further includes control means for monitoring the instruction stream and for issuing multiple compound instructions for execution in parallel with each other.