Data processing system and method thereof
First Claim
Patent Images
1. A data processor, comprising:
- interface means for receiving a data processing instruction, wherein an operand of the data processing instruction is one of a scalar value and a portion of a vector value;
a sequencer for decoding the data processing instruction to provide a plurality of control signals, the sequencer being coupled to the interface means for receiving the data processing instruction;
instruction execution means for executing a data processing operation in response to the plurality of control signals, the instruction execution means providing a result of the data processing operation, the instruction execution means being coupled to the sequencer for receiving the plurality of control signals;
a first storage circuit for storing an overflow value, the overflow value being asserted when the result is not one of a range of data values, the overflow value being negated when the result is one of the range of data values;
a modification circuit coupled to the first storage circuit for receiving the overflow value and coupled to the instruction execution means for receiving the result, the modification circuit modifying the result to be equal to a predetermined value when the overflow value is asserted; and
a second storage circuit for storing an overflow direction value, the overflow direction value being asserted when the result is greater than a maximum value and the overflow direction value being negated when the result is less than a minimum value.
7 Assignments
0 Petitions
Accused Products
Abstract
A data processing system (55) and method thereof includes one or more data processors (10). Data processor (10) is capable of performing both vector operations and scalar operations. Using a single microsequencer (22), data processor (10) is capable of executing both vector instructions and scalar instructions. Data processor (10) also has a memory circuit (14) capable of storing both vector operands and scalar operands.
35 Citations
20 Claims
-
1. A data processor, comprising:
-
interface means for receiving a data processing instruction, wherein an operand of the data processing instruction is one of a scalar value and a portion of a vector value; a sequencer for decoding the data processing instruction to provide a plurality of control signals, the sequencer being coupled to the interface means for receiving the data processing instruction; instruction execution means for executing a data processing operation in response to the plurality of control signals, the instruction execution means providing a result of the data processing operation, the instruction execution means being coupled to the sequencer for receiving the plurality of control signals; a first storage circuit for storing an overflow value, the overflow value being asserted when the result is not one of a range of data values, the overflow value being negated when the result is one of the range of data values; a modification circuit coupled to the first storage circuit for receiving the overflow value and coupled to the instruction execution means for receiving the result, the modification circuit modifying the result to be equal to a predetermined value when the overflow value is asserted; and a second storage circuit for storing an overflow direction value, the overflow direction value being asserted when the result is greater than a maximum value and the overflow direction value being negated when the result is less than a minimum value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for performing saturation on a vector result in a vector processor, comprising the steps of:
-
receiving a preliminary instruction; executing the preliminary instruction by performing an operation on a first portion of a vector operand to produce a first portion of the vector result; receiving a non-preliminary instruction; executing the non-preliminary instruction by performing the operation on a second portion of the vector operand to produce a second portion of the vector result; receiving a saturation instruction; and performing saturation on the first portion of the vector result during execution of the saturation instruction. - View Dependent Claims (12, 13, 14)
-
-
15. A method for performing saturation in a data processor, comprising the steps of:
-
storing a result value from a previously executed instruction; receiving a saturation instruction; decoding at least a portion of the saturation instruction to provide control signals to control execution of the saturation instruction; performing steps (a) and (b) during execution of the saturation instruction; (a) checking status information to determine whether overflow occurred during the previously executed instruction; and (b) if overflow occurred during the previously executed instruction, replacing the result value with a predetermined bound value. - View Dependent Claims (16, 17, 18)
-
-
19. A data processor, comprising:
-
a vector engine capable of executing a vector operation in response to a vector instruction; a scalar engine capable of executing a scalar operation in response to a scalar instruction; instruction circuitry for receiving at least the vector instruction and the scalar instruction, for providing the vector instruction to said vector engine, and for providing the scalar instruction to said scalar engine; interface circuitry, coupled to said vector engine and to said scalar engine, said interface circuitry providing coordination between said vector engine and said scalar engine; wherein the vector engine comprises; a plurality of processing elements for executing the vector instruction, each one of the plurality of processing elements comprising; vector control circuitry for controlling operation of that one of the plurality of processing elements; arithmetic circuitry for performing an arithmetic operation; a storage circuit for storing an overflow value, the overflow value indicating if a result is not within a predetermined range; and a modification circuit coupled to the storage circuit for receiving the overflow value, the modification circuit modifying the result to be equal to a predetermined value when the overflow value indicates that the result is not within the predetermined range. - View Dependent Claims (20)
-
Specification