Digital signal processor configuration including multiplying units coupled to plural accumlators for enhanced parallel mac processing
First Claim
1. A digital signal processor having a plurality of processing elements for use in executing a first instruction and a second instruction, said processor comprising:
- a first multiplying element which executes a first instruction and multiplies at least two operands resulting in a product;
a first plurality of accumulating elements, each having an associated value and each being coupled to said first multiplying element;
a second multiplying element;
a second plurality of accumulating elements coupled to said second multiplying element;
a copying element which copies data from said different first accumulating element into one of said second plurality of accumulating elements; and
an alteration element which forwards said second instruction to said second multiplying element for execution, wherein;
said first instruction uses one of said first plurality of accumulating elements and said second instruction uses a different one of said first plurality of accumulating elements.
11 Assignments
0 Petitions
Accused Products
Abstract
The present invention generally relates to multiply-accumulate units for use in digital signal processors. Each multiply-accumulate unit includes a multiply unit which is coupled with two or more dedicated accumulators. Because of the coupling configuration, when an instruction specifies which accumulator should be used in executing an operation, the instruction need not specify which multiply unit should be utilized. A scheduler containing a digital signal processor'"'"'s coupling configuration may then identify the multiply unit associated with the accumulator and may then forward the instruction to the identified multiply unit. Multiply-accumulate units can be configured to execute both scalar and vector operations. For executing vector operations, multiply units and their coupled accumulators are configured such that each may be easily grouped with other multiply units and accumulators.
-
Citations
10 Claims
-
1. A digital signal processor having a plurality of processing elements for use in executing a first instruction and a second instruction, said processor comprising:
-
a first multiplying element which executes a first instruction and multiplies at least two operands resulting in a product;
a first plurality of accumulating elements, each having an associated value and each being coupled to said first multiplying element;
a second multiplying element;
a second plurality of accumulating elements coupled to said second multiplying element;
a copying element which copies data from said different first accumulating element into one of said second plurality of accumulating elements; and
an alteration element which forwards said second instruction to said second multiplying element for execution, wherein;
said first instruction uses one of said first plurality of accumulating elements and said second instruction uses a different one of said first plurality of accumulating elements.
-
-
2. A method of performing a MAC operation in a digital signal processor having a plurality of multiplying elements, each of which is coupled to a plurality of accumulating elements, comprising the steps of:
-
receiving an instruction in a scheduler, said instruction specifying a first of said plurality of accumulating elements;
identifying a first one of said plurality of multiplying elements that is coupled to said first accumulating element;
transmitting said instruction from said scheduler to said first multiplying element;
retrieving a plurality of operands located in a number of registers for use in said first multiplying element;
multiplying in said first multiplying element said plurality of operands resulting in a product;
adding said product to a stored value in said first accumulating element resulting in a total; and
storing said total in said first accumulating element. - View Dependent Claims (3, 4)
configuring said first multiplying element with said second multiplying element to operate in combination with one another in response to said instruction; and
configuring said first accumulating element and said second accumulating element to operate in combination with one another in response to said instruction.
-
-
4. The method of claim 2, further comprising:
-
identifying said plurality of multiplying elements and said plurality of accumulating elements by a consecutive indexing scheme; and
configuring said plurality of accumulating elements such that said consecutive accumulating elements are coupled to different elements selectable from said plurality of multiplying elements.
-
-
5. A digital signal processor comprising:
-
a plurality of first functional units which are operatively associated with a plurality of second functional units;
a number of register files having a plurality of data elements;
an instruction specifying one of said plurality of second functional units and at least one of said plurality of data elements; and
a scheduler which receives said instruction and determines which one of said plurality of first functional units is operatively associated with said one second functional unit, wherein said one first functional unit receives said instruction, performs an operation on said at least one data element, and achieves a result. - View Dependent Claims (6, 7, 8, 9, 10)
-
Specification