Claims Analysis
Total Claims: 39
Claim 1
Independent Claim
89 words
A method of handling operand data in a processor which executes operations utilizing operands of a variable size, comprising the steps of: partitioning an operand utilized by an operation into a plurality of fields; designating each partitioned field as defined or undefined with respect to the operation; detecting data dependencies of each of the defined fields, independently of the other partitioned fields; and forwarding result data for utilization by the operation when the result data becomes available for each of the dependent fields independently of the other partitioned fields.
Claim 2
Independent Claim
89 words
A method of handling operand data in a processor which executes operations utilizing operands of a variable size, comprising the steps of: partitioning an operand utilized by an operation into a plurality of fields; designating each partitioned field as defined or undefined with respect to the operation; detecting data dependencies of each of the defined fields, independently of the other partitioned fields; and forwarding result data for utilization by the operation when the result data becomes available for each of the dependent fields independently of the other partitioned fields.
Claim 3
Dependent Claim
31 words
A method as in claim 1, further comprising the steps of: executing an operation to produce result data; and storing the result data in one of a plurality of memory elements.
Claim 4
Dependent Claim
27 words
A method as in claim 2, further comprising the step of utilizing data stored in a memory element for each non-dependent field independently of the other fields.
Claim 5
Dependent Claim
129 words
A method as in claim 3, wherein operands are source operands that are operated upon by an operation and destination operands that are generated by an operation, further comprising the steps of: tagging each defined field of a first operation's destination operand independently of the other fields with a destination tag that identifies a memory element which receives the operation's result data; and tagging each defined field of a second operation's source operand independently of the other fields with a source tag that identifies a memory element which supplies the operation's operand data, wherein the dependency detecting step includes the step of: comparing the destination tag to the source tag, and activating the forwarding step when the tags mutually correspond for each defined field independently of the other fields.
Claim 6
Dependent Claim
128 words
A data handling apparatus in a processor which executes operations utilizing operands of a variable size, the apparatus comprising: means for partitioning an operand utilized by an operation into a plurality of fields; means responsive to the partitioning means for designating each partitioned field as defined or undefined with respect to the operation; means responsive to the designating means for detecting data dependencies of each of the defined fields independently of the other partitioned fields; means responsive to the dependency detecting means for forwarding result data for utilization by the operation when the result data becomes available for each of the dependent fields independently of the other partitioned fields; and a functional unit responsive to the forwarding of result data to execute the operation and generate a result.
Claim 7
Dependent Claim
128 words
A data handling apparatus in a processor which executes operations utilizing operands of a variable size, the apparatus comprising: means for partitioning an operand utilized by an operation into a plurality of fields; means responsive to the partitioning means for designating each partitioned field as defined or undefined with respect to the operation; means responsive to the designating means for detecting data dependencies of each of the defined fields independently of the other partitioned fields; means responsive to the dependency detecting means for forwarding result data for utilization by the operation when the result data becomes available for each of the dependent fields independently of the other partitioned fields; and a functional unit responsive to the forwarding of result data to execute the operation and generate a result.
Claim 8
Dependent Claim
22 words
An apparatus as in claim 5, further comprising: a memory coupled to the functional unit including memory elements to store result data.
Claim 9
Dependent Claim
26 words
An apparatus as in claim 6, further comprising: means for utilizing data stored in the memory elements for each non-dependent field independently of the other fields.
Claim 10
Dependent Claim
133 words
An apparatus as in claim 7, wherein operands include source operands that are operated upon by an operation and destination operands that are generated by an operation, the apparatus further comprising: means for tagging each defined field of a first operation's destination operand independently of the other fields with a destination tag which identifies a memory element that receives the operation's result data; and means for tagging each defined field of a second operation claim's source operand independently of the other fields with a source tag which identifies a memory element that supplies the operation's operand data, wherein the dependency detecting means includes: a comparator which compares the destination tag to the source tag and activates the forwarding means when the tags mutually correspond for each defined field independently of the other fields.
Claim 11
Dependent Claim
47 words
A processor as in claim 5, wherein the operand has a bit width of 32 bits and is partitioned by the partitioning means into a three fields including a high order 16 bit field, a middle order 8 bit field and a low order 8 bit field.
Claim 12
Dependent Claim
118 words
A processor which executes operations utilizing operands of a variable size, comprising: an instruction decoder including means for partitioning an operand into a plurality of contiguous fields within the variable size operand of an operation, and means for designating each field of the operand as defined or undefined with respect to the operation; a reorder buffer coupled to the instruction decoder including a memory storing operand data and means for detecting data dependencies for each operand field independently of the other fields; a bus coupled to the reorder buffer to communicate operand data for each defined field independently of the other fields; and a functional unit coupled to the bus to execute operations and generate execution result data.
Claim 13
Dependent Claim
118 words
A processor which executes operations utilizing operands of a variable size, comprising: an instruction decoder including means for partitioning an operand into a plurality of contiguous fields within the variable size operand of an operation, and means for designating each field of the operand as defined or undefined with respect to the operation; a reorder buffer coupled to the instruction decoder including a memory storing operand data and means for detecting data dependencies for each operand field independently of the other fields; a bus coupled to the reorder buffer to communicate operand data for each defined field independently of the other fields; and a functional unit coupled to the bus to execute operations and generate execution result data.
Claim 14
Dependent Claim
53 words
A processor as in claim 10, wherein the bus includes: an operand bus coupled from the reorder buffer output to the functional unit input to communicate operand data; and a result bus coupled from the functional unit output to the inputs of the reorder buffer and the functional unit to communicate result data.
Claim 15
Dependent Claim
257 words
A processor as in claim 11, wherein the reorder buffer further comprises: means for assigning a destination tag identifier which designates a memory element to receive operation execution result data for each operand field independently of the other fields; means for assigning an operand tag identifier which designates a source operand of a data dependent operation for each operand field independently of the other fields, the processor further comprising: a destination tag bus coupled from the reorder buffer output to the functional unit input to convey the destination tag identifier of an operation antecedent to its execution by a functional unit; a result tag bus coupled from the functional unit output to the inputs of the functional unit and the reorder buffer to convey the destination tag identifier of an operation subsequent to its execution by a functional unit; an operand tag bus coupled from the reorder buffer output to the functional unit input to convey the operand tag identifier of a data dependent operation; and a reservation station associated with the functional unit and coupled to the operand tag bus, the result tag bus and the result bus, the reservation station including: a comparator which compares an identifier from the operand tag bus to an identifier from the result tag bus for each defined field independently of the other fields; and a forwarding circuit coupled to the result bus and the comparator and responsive to mutually corresponding operand tag and result tag identifiers to forward result data for each defined field independently of the other fields.
Claim 16
Dependent Claim
50 words
A processor as in claim 12, further comprising: a register file coupled to the reorder buffer and the operand bus and having a memory wherein: the reorder buffer memory stores speculative operation results, and the register file stores operation results from the reorder buffer memory when the operations become nonspeculative.
Claim 17
Dependent Claim
72 words
A processor as in claim 13, further comprising: a reorder buffer bus driver including means for driving data from the reorder buffer memory onto an operand bus for each field having speculative data available independently of the other fields; and a register file bus driver including means for driving data from the register file memory onto an operand bus for the remaining fields other than those driven by the reorder bus driver.
Claim 18
Dependent Claim
37 words
A processor as in claim 14, further comprising: a result bus driver coupled to the functional unit and responsive to the execution of an operation to drive result data from the functional unit onto a result bus.
Claim 19
Dependent Claim
24 words
A processor as in claim 15, wherein the functional unit further comprises means for setting a result field to 0 for each undefined field.
Claim 20
Dependent Claim
47 words
A processor as in claim 10, wherein the operand has a bit width of 32 bits and is partitioned by the partitioning means into a three fields including a high order 16 bit field, a middle order 8 bit field and a low order 8 bit field.
Claim 21
Dependent Claim
95 words
In a processor which executes multiple concurrent operations, a method of executing operations and handling operation-associated variable size source and destination operands, comprising the steps of: partitioning a full-sized operand field bit-wise into a plurality of independent operand fields; designating the operand fields as defined or undefined with respect to the operation; accessing source operand data from a memory for each defined field independently of other fields; executing the operation to generate a result; and furnishing to the memory the result as the destination operand data for each defined destination field independently of other fields.
Claim 22
Dependent Claim
95 words
In a processor which executes multiple concurrent operations, a method of executing operations and handling operation-associated variable size source and destination operands, comprising the steps of: partitioning a full-sized operand field bit-wise into a plurality of independent operand fields; designating the operand fields as defined or undefined with respect to the operation; accessing source operand data from a memory for each defined field independently of other fields; executing the operation to generate a result; and furnishing to the memory the result as the destination operand data for each defined destination field independently of other fields.
Claim 23
Dependent Claim
56 words
A method as in claim 18, further comprising the steps of: detecting data dependencies for each defined source operand field independently of other fields; forwarding a result for each dependent source operand field independently of other fields when the result is available; and executing the operation when results are forwarded for all dependent source operand fields.
Claim 24
Dependent Claim
140 words
A processor which executes multiple operations concurrently utilizing variable size source and destination operands, the processor comprising: an instruction decoder means for partitioning a full-sized operand bit-wise into a plurality of independent contiguous fields; means coupled to the partitioning means for designating the fields of the source and destination operands as defined or undefined with respect to an operation; an operand data memory; means coupled to the memory and coupled to the designating means for accessing source operand data from the memory for each defined source operand field independently of other fields; means coupled to the accessing means for executing the operation utilizing the accessed source operand data to generate a result; and means coupled from the executing means to the memory for furnishing the result to the destination operand memory for each defined destination field independently of other fields.
Claim 25
Dependent Claim
140 words
A processor which executes multiple operations concurrently utilizing variable size source and destination operands, the processor comprising: an instruction decoder means for partitioning a full-sized operand bit-wise into a plurality of independent contiguous fields; means coupled to the partitioning means for designating the fields of the source and destination operands as defined or undefined with respect to an operation; an operand data memory; means coupled to the memory and coupled to the designating means for accessing source operand data from the memory for each defined source operand field independently of other fields; means coupled to the accessing means for executing the operation utilizing the accessed source operand data to generate a result; and means coupled from the executing means to the memory for furnishing the result to the destination operand memory for each defined destination field independently of other fields.
Claim 26
Dependent Claim
60 words
A processor as in claim 20, further comprising: means for detecting a data dependency for each defined source operand field independently of other fields; means for forwarding a result for each dependent source operand field independently of other fields when the result is available; and means for executing the operation when results are forwarded for all dependent source operand fields.
Claim 27
Dependent Claim
99 words
In a processor, a method for executing operations utilizing variable-sized operands comprising the steps of: partitioning full-sized operands bit-wise into a plurality of operand fields; for each operation, determining for each operand field independent of the other fields whether data of each operand field that is utilized by the operation is dependent on an unavailable result of a nonexecuted operation; and executing the operation utilizing the operand field data if data in all utilized fields are not dependent on an inavailable result, and otherwise waiting for dependent data in the fields to become available and then executing the operation.
Claim 28
Dependent Claim
99 words
In a processor, a method for executing operations utilizing variable-sized operands comprising the steps of: partitioning full-sized operands bit-wise into a plurality of operand fields; for each operation, determining for each operand field independent of the other fields whether data of each operand field that is utilized by the operation is dependent on an unavailable result of a nonexecuted operation; and executing the operation utilizing the operand field data if data in all utilized fields are not dependent on an inavailable result, and otherwise waiting for dependent data in the fields to become available and then executing the operation.
Claim 29
Dependent Claim
77 words
A method as in claim 22, wherein the dependence determining step further comprises the steps of: defining for an operation a destination operand and its fields and a source operand and its fields; storing identifiers of the destination operand and its fields for several operations; comparing the source operand and field identifiers to the stored destination operands and fields; and determining a data dependency when source operand and field identifiers match stored destination operand and field identifiers.
Claim 30
Dependent Claim
233 words
A processor which executes operations operating on variable-sized operands, comprising: an instruction decoder including: an operand field selector which defines a variable-sized operand by partitioning a full-sized operand bit-wise into a plurality of operand fields and identifying operand fields utilized by the operation, and a dispatcher coupled to the operand field selector to dispatch operation codes, operand identifiers and utilized operand field identifiers; a reorder buffer coupled to the instruction decoder and including: a speculative result memory coupled to the dispatcher to receive operand identifiers and utilized field identifiers; a reorder buffer controller responsive to the dispatching means to allocate entries in the speculative result memory; a data dependency detector coupled to the reorder buffer controller which detects data dependencies of a utilized operand field independently of other fields, and a tagging circuit coupled to the dependency detector and responsive to a data dependency to tag a data dependent operand field independently of other fields; an operand bus coupled to the reorder buffer for communicating operand fields and operand field tags; a functional unit coupled to the operand bus to receive the operand fields and the operand field tags and execute operations defined by the dispatched operation code utilizing the operand fields to generate result data; and a result bus connected from the functional unit output to the inputs of the reorder buffer and the functional unit to forward operation result data thereto.
Claim 31
Dependent Claim
233 words
A processor which executes operations operating on variable-sized operands, comprising: an instruction decoder including: an operand field selector which defines a variable-sized operand by partitioning a full-sized operand bit-wise into a plurality of operand fields and identifying operand fields utilized by the operation, and a dispatcher coupled to the operand field selector to dispatch operation codes, operand identifiers and utilized operand field identifiers; a reorder buffer coupled to the instruction decoder and including: a speculative result memory coupled to the dispatcher to receive operand identifiers and utilized field identifiers; a reorder buffer controller responsive to the dispatching means to allocate entries in the speculative result memory; a data dependency detector coupled to the reorder buffer controller which detects data dependencies of a utilized operand field independently of other fields, and a tagging circuit coupled to the dependency detector and responsive to a data dependency to tag a data dependent operand field independently of other fields; an operand bus coupled to the reorder buffer for communicating operand fields and operand field tags; a functional unit coupled to the operand bus to receive the operand fields and the operand field tags and execute operations defined by the dispatched operation code utilizing the operand fields to generate result data; and a result bus connected from the functional unit output to the inputs of the reorder buffer and the functional unit to forward operation result data thereto.
Claim 32
Dependent Claim
62 words
A processor as in claim 24, further comprising: a register file including a nonspeculative result memory; a destination tag bus coupling the reorder buffer to the functional units to communicate a destination tag to the functional unit, the destination tag specifying, for each utilized operand field, a destination register in the register file to receive a result when the result becomes nonspeculative.
Claim 33
Dependent Claim
116 words
A processor as in claim 25, further comprising: an operand tag bus coupling the reorder buffer to the functional unit to communicate the operand field tag to the functional unit; and a result tag bus connected from the functional unit output to the inputs of the reorder buffer and the functional unit to communicate a result tag, the result tag being the destination tag of an operation when the operation is executed and the result is available; wherein the functional unit includes a forwarding circuit to compare the result tag to the operand tag of a data dependent operation for each utilized operand field and to forward the result data fields when the tags mutually correspond.
Claim 34
Dependent Claim
65 words
A processor in accordance with claim 26, wherein the functional units execute operations in which operand fields are alternatively provided by: (1) the register file via the operand bus when the operand data is nonspeculative, (2) the reorder buffer via the operand bus when the operand data is speculative, or (3) the functional unit via a result bus upon generation of a previously unavailable result.
Claim 35
Dependent Claim
85 words
A processor in accordance with claim 24, further including a load store functional unit comprising: a data cache memory for storing a plurality of fixed bit width data operands; means, connected to the data cache memory to retrieve fixed bit width data operands, for clearing bits not activated by the field selector, remapping fields of the fixed bit width operands, and combining data from different fields into the fixed bit width operand data; and an interface driver for communicating operand data to the result bus.
Claim 36
Dependent Claim
69 words
A processor in accordance with claim 24, wherein: the full-sized operand is 32 bits wide; the instruction decoder, the reorder buffer, the register file, the functional unit, the operand bus and the result bus operate upon data that is 32 bits wide and the 32-bit full-sized operands are partitioned into three operand fields, a 16-bit high order field, an 8-bit middle order field and an 8-bit low order field.
Claim 37
Dependent Claim
137 words
A processor which executes multiple operations concurrently utilizing variable size source and destination operands, the processor comprising: means for partitioning a full-sized operand bit-wise into a plurality of independent contiguous fields; means coupled to the partitioning means for designating the fields of the source and destination operands as defined or undefined with respect to an operation; an operand data memory; means coupled to the memory and coupled to the designating means for accessing source operand data from the memory for each defined source operand field independently of other fields; means coupled to the accessing means for executing the operation utilizing the accessed source operand data to generate a result; and means coupled from the executing means to the memory for furnishing the result to the destination operand memory for each defined destination field independently of other fields.
Claim 38
Dependent Claim
137 words
A processor which executes multiple operations concurrently utilizing variable size source and destination operands, the processor comprising: means for partitioning a full-sized operand bit-wise into a plurality of independent contiguous fields; means coupled to the partitioning means for designating the fields of the source and destination operands as defined or undefined with respect to an operation; an operand data memory; means coupled to the memory and coupled to the designating means for accessing source operand data from the memory for each defined source operand field independently of other fields; means coupled to the accessing means for executing the operation utilizing the accessed source operand data to generate a result; and means coupled from the executing means to the memory for furnishing the result to the destination operand memory for each defined destination field independently of other fields.
Claim 39
Dependent Claim
59 words
A processor as in claim 30, further comprising: means for detecting data dependencies for each defined source operand field independently of other fields; means for forwarding a result for each dependent source operand field independently of other fields when the result is available; and means for executing the operation when results are forwarded for all dependent source operand fields.