IP Library Granted Patent US 7,676,533
Granted Patent B2
US 7,676,533 · App. 10/953,584 · Granted Mar 9, 2010

System for executing SIMD instruction for real/complex FFT conversion

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 7,676,533
App. No.
10/953,584
Granted
Mar 9, 2010
Kind
B2
Abstract

An FFT conversion instruction based on a single instruction multiple data (“SIMD”) technique is executed to reduce the number of cycles for software to perform conversion processing used in an FFT computation. In an embodiment, the FFT conversion instruction implements two instances of a conversion operation, i.e., 2-way SIMD, over two sets of complex points at once. A control register or variant opcode controls an inverse flag to control the behavior of the conversion process. In an embodiment, the control register contains a control bit to select between forward and inverse FFT context.

Claims (36)

1. A system for performing an FFT between frequency-domain data and time-domain data, comprising:

operation means for detecting a control message for selecting between a forward FFT and an inverse FFT; and

transform means for executing one or more instances of an FFT conversion instruction to perform an FFT conversion stage of the FFT, wherein the FFT includes,

an inverse portion that, when executed, performs said inverse FFT on a plurality of complex frequency-domain data that is in a standard form to produce complex time-domain data, the inverse portion comprising conversion means for converting said standard form of said plurality of complex frequency-domain data to a modified form, and

a forward portion that, when executed, performs said forward FFT on complex time-domain data to produce a plurality of complex frequency-domain data.

2. The system of claim 1 , further comprising interleaving means for interleaving real and imaginary data values from said complex time-domain data to produce an array of real time-domain data.

3. The system of claim 1 , further comprising extracting means for extracting real and imaginary data values from an array of real time-domain data to produce said complex time-domain data.

4. The system of claim 1 , wherein said operation means comprises a control register, wherein a control bit specifies said control message.

5. The system of claim 1 wherein said operation means comprises an opcode, wherein said opcode specifies said control message.

6. The system of claim 1 wherein said operation means comprises an inverse flag, wherein said inverse flag specifies said control message.

7. A system for performing an FFT between frequency-domain data and time-domain data, comprising:

operation means for detecting a control message for selecting between a forward FFT and an inverse FFT; and

transform means for executing one or more instances of an FFT conversion instruction to perform an FFT conversion stage of the FFT, wherein the FFT includes,

an inverse portion that, when executed, performs said inverse FFT on a plurality of complex frequency-domain data to produce complex time-domain data, and

a forward portion that, when executed, performs said forward FFT on complex time-domain data that has been converted to a modified form to produce a plurality of complex-frequency-domain data, the forward portion comprising conversion means for converting said modified complex frequency-domain data in said modified form to a standard form of said plurality of complex frequency-domain data.

8. The system of claim 7 , further comprising interleaving means for interleaving real and imaginary data values from said complex time-domain data to produce an array of real time-domain data.

9. The system of claim 7 , further comprising extracting means for extracting real and imaginary data values from an array of real time-domain data to produce said complex time-domain data.

10. The system of claim 7 , wherein said operation means comprises a control register, wherein a control bit specifies said control message.

11. The system of claim 7 , wherein said operation means comprises an opcode, wherein said opcode specifies said control message.

12. The system of claim 7 , wherein said operation means comprises an inverse flag, wherein said inverse flag specifies said control message.

13. A system for performing a Fast Fourier Transform (FFT), comprising:

a control register that includes a control bit for selecting between a forward FFT and an inverse FFT; and

a processor that executes one or more instances of an FFT conversion instruction to perform an FFT conversion stage of the FFT, wherein the FFT includes,

an inverse portion that, when executed, performs said inverse FFT on a plurality of complex frequency-domain data in a modified form to produce complex time-domain data, and

a forward portion that, when executed, performs said forward FFT on complex time-domain data to produce a plurality of complex frequency-domain data,

and that, if said inversion portion is executed, converts said plurality of complex frequency-domain data from a standard form to said modified form.

14. The system of claim 13 , wherein the processor interleaves real and imaginary data values from said complex time-domain data to produce an array of real time-domain data.

15. The system of claim 13 , wherein the processor extracts real and imaginary data values from an array of real time-domain data to produce said complex time-domain data.

16. A system for performing a Fast Fourier Transform (FFT), comprising:

a control register that includes a control bit for selecting between a forward FFT and an inverse FFT; and

a processor that executes one or more instances of an FFT conversion instruction to perform an FFT conversion stage of the FFT, wherein the FFT includes,

an inverse portion that, when executed, performs said inverse FFT on a plurality of complex frequency-domain data in a modified form to produce complex time-domain data, and

a forward portion that, when executed, performs said forward FFT on complex time-domain data to produce a plurality of complex frequency-domain data,

and that, if said forward portion is executed, converts said plurality of complex frequency-domain data from said modified form to a standard form.

17. The system of claim 16 , wherein the processor interleaves real and imaginary data values from said complex time-domain data to produce an array of real time-domain data.

18. The system of claim 16 , wherein the processor extracts real and imaginary data values from an array of real time-domain data to produce said complex time-domain data.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2004
From: TAUNTON, MARK
To: BROADCOM CORPORATION
Reel/Frame 015858/0573 →