IP Library Granted Patent US 8,082,372
Granted Patent B2
US 8,082,372 · App. 13/113,412 · Granted Dec 20, 2011

Methods and apparatus for providing bit-reversal and multicast functions utilizing DMA controller

Assignee: Altera Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,082,372
App. No.
13/113,412
Granted
Dec 20, 2011
Kind
B2
Abstract

Techniques for providing improved data distribution to and collection from multiple memories are described. Such memories are often associated with and local to processing elements (PEs) within an array processor. Improved data transfer control within a data processing system provides support for radix 2, 4 and 8 fast Fourier transform (FFT) algorithms through data reordering or bit-reversed addressing across multiple PEs, carried out concurrently with FFT computation on a digital signal processor (DSP) array by a DMA unit. Parallel data distribution and collection through forms of multicast and packet-gather operations are also supported.

Claims (26)

1. A method for performing processing element (PE) relative unpack-distribute operations comprising the steps of:

receiving a PE operation code from a direct memory access (DMA) controller in a plurality of local PE memory interface units to perform a PE relative unpack-distribute operation;

enabling a selected set of PEs from a plurality of PEs that are to participate in the PE relative unpack-distribute operation;

specifying data and an associated data type to be supported by the PE relative unpack-distribute operation;

selecting for each PE participating in the PE relative unpack-distribute operation a different group of data wires based on the specified data type and a PE identification signal; and

receiving in local PE memory interface units associated with the selected set of PEs the specified data from the selected different group of data wires of a DMA bus, the specified data to be stored in memories associated with the local PE memory interface units receiving the specified data.

2. The method of claim 1 wherein the specified data may be zero-extended, one-extended, or sign extended prior to storing the data in the memories associated with the local PE memory interface units receiving the specified data.

3. The method of claim 1 wherein the specified data is a data element from a block of data elements, the data elements operated on in sequence as part of the PE relative unpack distribute operation.

4. The method of claim 1 wherein the PE identification signal has a physical reference identification (PID) value based on a PE placement within the plurality of PEs or a virtual reference identification (VID) value that is program settable to support various data distribution and collection patterns.

5. The method of claim 4 wherein a PE's VID is mapped to a PE's PID for use in controlling local PE operations of data buses associated with each PE.

6. The method of claim 4 wherein a PE's PID and VID values are available to each PE and each local PE memory interface unit.

7. A method for performing processing element (PE) unpack-distribute operation, the method comprising:

receiving from a direct memory access (DMA) controller a data type specification to be supported in a PE unpack-distribute operation in a selected set of local PE memory interface units;

selecting for each PE participating in the PE unpack-distribute operation a different group of data wires of a DMA bus based on the specified data type and a PE identification signal; and

receiving in parallel in the selected set of local PE memory interface units the specified data from the selected different group of data wires of the DMA bus, wherein the specified data is stored in memories associated with the local PE memory interface units receiving the specified data.

8. The method of claim 7 , further comprising:

receiving a PE operation code in the selected set of local PE memory interface units from the DMA controller to perform the PE unpack-distribute operation.

9. The method of claim 8 , further comprising:

receiving a DMA signal indicating that the DMA data bus contains the PE operation code.

10. The method of claim 8 , wherein the PE operation code is obtained from control signals that are part of a DMA bus controlled by the DMA controller.

11. The method of claim 8 , further comprising:

enabling a selected set of PEs from a plurality of PEs that are to participate in the PE unpack-distribute operation based on the PE operation code.

12. The method of claim 7 , wherein a byte size distribute over four PEs specifies that each local PE memory interface unit receives a byte of a 32-bit word to be written in a memory associated with the local PE memory interface unit that receives the byte.

13. The method of claim 7 , wherein the PE identification signal comprises a PE physical identification (PID) that is based on a PE's physical placement within the plurality of PEs.

14. The method of claim 7 , wherein the PE identification signal is comprises a PE virtual identification (VID) and each PE's VID is program settable to support various data distribution and collection patterns.

15. The method of claim 14 , wherein each PE's VID is mapped to a PE's physical identification (PID) for use in controlling local PE operations and the receiving of data from the selected different group of data wires of the DMA bus.

Continuity (7)
Division 12819302 · Jun 21, 2010
Division 11774833 · Jul 9, 2007
Division 11207280 · Aug 19, 2005
Division 10946261 · Sep 21, 2004
Division 09791940 · Feb 23, 2001
Provisional Application 60184668 · Feb 24, 2000
Related Publication 20110225392A1 · Sep 15, 2011