Processing Unit Incorporating Vectorizable Execution Unit
First Claim
1. A circuit arrangement, comprising:
- a vectorizable floating point unit including a plurality of processing lanes; and
control logic coupled to the vectorizable floating point unit and configured to selectively operate the vectorizable floating point unit in vector and scalar modes, wherein in the vector mode, the control logic is configured to operate the plurality of processing lanes collectively as a single instruction multiple data (SIMD) execution unit, and in the scalar mode, the control logic is configured to operate the plurality of processing lanes as separate scalar execution units.
1 Assignment
0 Petitions
Accused Products
Abstract
A vectorizable execution unit is capable of being operated in a plurality of modes, with the processing lanes in the vectorizable execution unit grouped into different combinations of logical execution units in different modes. By doing so, processing lanes can be selectively grouped together to operate as different types of vector execution units and/or scalar execution units, and if desired, dynamically switched during runtime to process various types of instruction streams in a manner that is best suited for each type of instruction stream. As a consequence, a single vectorizable execution unit may be configurable, e.g., via software control, to operate either as a vector execution or a plurality of scalar execution units.
126 Citations
25 Claims
-
1. A circuit arrangement, comprising:
-
a vectorizable floating point unit including a plurality of processing lanes; and control logic coupled to the vectorizable floating point unit and configured to selectively operate the vectorizable floating point unit in vector and scalar modes, wherein in the vector mode, the control logic is configured to operate the plurality of processing lanes collectively as a single instruction multiple data (SIMD) execution unit, and in the scalar mode, the control logic is configured to operate the plurality of processing lanes as separate scalar execution units. - View Dependent Claims (13, 14)
-
-
2. A circuit arrangement, comprising:
-
a vectorizable execution unit including a plurality of processing lanes, wherein the plurality of processing lanes includes at least first and second processing lanes; and control logic coupled to the vectorizable execution unit and configured to selectively operate the vectorizable execution unit in first and second modes, wherein in the first mode, the control logic is configured to organize the first and second processing lanes into the same logical execution unit such that the first and second processing lanes operate collectively as a vector execution unit, and in the second mode, the control logic is configured to organize the first and second processing lanes into separate logical execution units such that the first and second processing lanes operate independently and in parallel with one another. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
15. A method of operating a vectorizable execution unit, the method comprising:
-
operating the vectorizable execution unit in a first mode such that first and second processing lanes among a plurality of processing lanes in the vectorizable execution unit are organized into the same logical execution unit and operate collectively as a vector execution unit; switching the vectorizable execution unit from the first mode to a second mode after operating the vectorizable execution unit in the first mode; and after switching the vectorizable execution unit from the first mode to the second mode, operating the vectorizable execution unit in the second mode such that the first and second processing lanes are organized into separate logical execution units and operate independently and in parallel with one another. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification