Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
259 words
A computer system comprising: multiple functional units for executing instructions; issuing means for issuing instructions for processing by said functional units and including an instruction issue unit; a buffer; one or more register files; a cache store coupled between main memory and said functional units; an interconnection network coupling said functional units, said register files, and said instruction issue unit; means for concurrently executing multiple out-of-order instructions; means for attaching an I-Group comprising an instruction and a tag, a read-vector, a write vector, and a type vector as control bits for instructional use by the system for permitting the hardware of the system to schedule concurrently and on a short cycle time basis multiple, possibly out-of-order, instruction issuances to multiple functional units for execution and to transfer I-Groups to the buffer or for scheduling by said issue unit; an instruction scheduling mechanism and in which the issue unit includes assigning means for concurrently assigning and issuing independent, multiple, out-of-order instructions contained in the instruction scheduling mechanism provided by said issue unit to the multiple functional units for execution; and ports connecting the issue unit to the multiple functional units, wherein said assigning means includes prioritization means for prioritizing eligible instructions by the assignment to each port of a port-type through which an instruction of a matching instruction type, as specified in its I-Group, may be issued to a functional unit that is able to execute it so that independent instructions eligible for transfer may outnumber available functional units for paths via a port through which instructions may be transferred.
Claim 2
Dependent Claim
259 words
A computer system comprising: multiple functional units for executing instructions; issuing means for issuing instructions for processing by said functional units and including an instruction issue unit; a buffer; one or more register files; a cache store coupled between main memory and said functional units; an interconnection network coupling said functional units, said register files, and said instruction issue unit; means for concurrently executing multiple out-of-order instructions; means for attaching an I-Group comprising an instruction and a tag, a read-vector, a write vector, and a type vector as control bits for instructional use by the system for permitting the hardware of the system to schedule concurrently and on a short cycle time basis multiple, possibly out-of-order, instruction issuances to multiple functional units for execution and to transfer I-Groups to the buffer or for scheduling by said issue unit; an instruction scheduling mechanism and in which the issue unit includes assigning means for concurrently assigning and issuing independent, multiple, out-of-order instructions contained in the instruction scheduling mechanism provided by said issue unit to the multiple functional units for execution; and ports connecting the issue unit to the multiple functional units, wherein said assigning means includes prioritization means for prioritizing eligible instructions by the assignment to each port of a port-type through which an instruction of a matching instruction type, as specified in its I-Group, may be issued to a functional unit that is able to execute it so that independent instructions eligible for transfer may outnumber available functional units for paths via a port through which instructions may be transferred.
Claim 3
Dependent Claim
77 words
A computer system according to claim 1 further comprising: a memory; and means for ordering the execution process including: a. means for fetching multiple instructions from the memory at once and generating an I-Group for each instruction; b. means for concurrently decoding multiple fields of information in an instruction as part of the I-Group generation; and c. means for transferring the resulting I-Groups to said issue unit, but if the issue unit is full, to the buffer.
Claim 4
Dependent Claim
23 words
A computer system according to claim 1 wherein the assigning means include permanent assignment means for making the assignment of a port-type permanent.
Claim 5
Dependent Claim
25 words
A computer system according to claim 3 wherein said permanent assignment means include a type vector applicable to a particular kind of multiple functional units.
Claim 6
Dependent Claim
24 words
A computer system according to claim 1 wherein the assigning means include dynamic port assignment means for making the assignment of a port-type dynamic.
Claim 7
Dependent Claim
64 words
A computer system according to claim 5 further comprising means to determine the availability of functional units and wherein dynamic port assignment means include means to provide a match for each machine cycle which is dependent upon an availability determination and which include means for assigning a port type and for then selecting an instruction which can be assigned to an available functional unit.
Claim 8
Dependent Claim
51 words
A computer system according to claim 1 wherein assigning means include matching means for transferring independent instructions to OPEN ports of matching types for prioritizing eligible instructions in order that independent instructions eligible for transfer may outnumber available functional units or paths via a port through which instructions may be transferred.
Claim 9
Dependent Claim
31 words
A computer system according to claim 7 wherein matching means include means for connecting an OPEN port to an available functional unit of the correct type for executing the eligible instruction.
Claim 10
Dependent Claim
43 words
A computer system according to claim 1 wherein said functional units include a plurality of functional units of the same type to provide multiple copy execution units of the same type for concurrently executing instructions requiring execution of the same type of function.
Claim 11
Dependent Claim
156 words
A computer system comprising: multiple functional units for executing instructions; issuing means including an issue unit for issuing instructions for processing by said functional units; one or more register files; a main memory store; a cache store coupled between main memory and said functional units; an interconnection network coupling said functional units, said 11 register files, and said instruction issue unit; means for currently executing multiple out-of-order instructions; and instruction scheduling means for concurrently assigning and transferring independent, multiple, out-of-order instructions to multiple functional units for execution and wherein the number of independent instructions eligible for transfer may outnumber available functional units or paths through which instructions may be transferred, and including, assigning means for prioritizing eligible instructions in hardware by the assignment to each port of a port-type through which an instruction of a matching instruction type, as specified in its I-Group, may be issued to a functional unit that is able to execute it.
Claim 12
Dependent Claim
156 words
A computer system comprising: multiple functional units for executing instructions; issuing means including an issue unit for issuing instructions for processing by said functional units; one or more register files; a main memory store; a cache store coupled between main memory and said functional units; an interconnection network coupling said functional units, said 11 register files, and said instruction issue unit; means for currently executing multiple out-of-order instructions; and instruction scheduling means for concurrently assigning and transferring independent, multiple, out-of-order instructions to multiple functional units for execution and wherein the number of independent instructions eligible for transfer may outnumber available functional units or paths through which instructions may be transferred, and including, assigning means for prioritizing eligible instructions in hardware by the assignment to each port of a port-type through which an instruction of a matching instruction type, as specified in its I-Group, may be issued to a functional unit that is able to execute it.
Claim 13
Dependent Claim
20 words
A computer system according to claim 10 wherein means for prioritizing eligible instructions include means for permanently assigning a port-type.
Claim 14
Dependent Claim
25 words
A computer system according to claim 11 wherein said permanent assignment means include a type vector applicable to a particular kind of multiple functional units.
Claim 15
Dependent Claim
24 words
A computer system according to claim 10 wherein the assignment means include dynamic port assignment means for making the assignment of a port-type dynamic.
Claim 16
Dependent Claim
72 words
A computer system according to claim 13 further including means to check the availability of functional units for each machine cycle and wherein dynamic port assignment means include means to provide a match for each machine cycle which is dependent upon an availability check of available function units which are not busy, to assign a port type and then to select an instruction which can be assigned to an available functional unit.
Claim 17
Dependent Claim
27 words
A computer system according to claim 10 wherein assigning means include matching means to transfer independent instructions to OPEN ports of matching types for prioritizing eligible instructions.
Claim 18
Dependent Claim
31 words
A computer system according to claim 15 wherein matching means include means for connecting an OPEN port to an available functional unit of the correct type for executing the eligible instruction.
Claim 19
Dependent Claim
42 words
A computer system according to claim 10 wherein said functional units include a plurality of functional units of the same type to provide multiple copy execution units of the same type for concurrently executing instructions requiring executing the same type of function.