Processor for performing group floating-point operations
First Claim
1. A processor comprising:
- a virtual memory addressing unit;
a data path;
a register file comprising a plurality of registers coupled to the data path;
an execution unit coupled to the data path, the execution unit capable of executing group floating-point operations in which multiple floating-point operands stored in partitioned fields of one or more of the plurality of registers are operated on to produce catenated results, wherein an elemental width of the floating-point operands is equal to or less than a width of the data path;
wherein the group floating-point operations include at least one group square root operation that performs a square root computation on each of the multiple floating-point operands.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method expands a source operand to a width greater than that of a general purpose register or a data path. Operands are provided substantially larger than the data path width of a processor. The general purpose register specifies a memory address from which several data path widths of data are read. A data path functional unit is augmented with dedicated storage to which the memory operand is copied on initial execution of the instruction. Further instructions specifying the same memory address read the dedicated storage to obtain the operand value, upon verification that the memory operand has not been altered by intervening instructions. If the memory operand remains current, the memory operand fetch is combined with register operands in the functional unit, producing a result the size of a general register, so no dedicated storage is required for the result.
180 Citations
68 Claims
-
1. A processor comprising:
- a virtual memory addressing unit;
a data path;
a register file comprising a plurality of registers coupled to the data path;
an execution unit coupled to the data path, the execution unit capable of executing group floating-point operations in which multiple floating-point operands stored in partitioned fields of one or more of the plurality of registers are operated on to produce catenated results, wherein an elemental width of the floating-point operands is equal to or less than a width of the data path;
wherein the group floating-point operations include at least one group square root operation that performs a square root computation on each of the multiple floating-point operands. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 33, 34, 35, 36)
- a virtual memory addressing unit;
-
27. A processor comprising:
- a virtual memory addressing unit;
a data path;
a register file comprising a plurality of registers coupled to the data path;
an execution unit coupled to the data path, the execution unit capable of executing group floating-point operations in which multiple floating-point operands stored in partitioned fields of one or more of the plurality of registers are operated on to produce catenated results, wherein an elemental width of the floating-point operands is equal to or less than a width of the data path;
wherein the execution unit is configurable to execute a plurality of instruction streams in parallel from a plurality of threads; and
wherein the processor comprises a register file associated with each thread executing in parallel on the execution unit to support processing of the plurality of threads. - View Dependent Claims (28, 29, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68)
- a virtual memory addressing unit;
Specification