performancevergleich dsp vs. fpga werner friesenbichler 0526423
TRANSCRIPT
Performancevergleich DSP vs. FPGA
Werner FRIESENBICHLER
0526423
2
Aufgabenstellung
Wählen Sie (begründet) einzelne Benchmark-Applikationen und diskutieren Sie Hinweise dafür, warum diese auf einem FPGA bzw. auf einem DSP bessere Performance erreichen können.
Wie sieht das für ASIC bzw. Standard-Prozessor aus?
Lassen sich allgemeine Schlüsse für einen Performance-Vergleich HW/SW ziehen?
3
Benchmarks für digitale Signalverarbeitung
Einfache Operationen der digitalen Signalverarbeitung– MAC/s (Mutliply and Accumulate), einfach aber ungenau
Volle Applikation – System Performance– Modem, Decoder, zu aufwendig, für DSPs alleine ungeeignet
Kernels– FFT, FIR, IIR, Viterbi-Decoder, optimal für DSPs aber auch für
FPGAs?
Für FPGAs sind solche Kernels ungeeignet– Nicht nur dezidierte DSP-Einheiten sondern auch verteilte Ressourcen– Unterschiedliche Realisierungsmöglichkeiten
Was geben nun die Hersteller an?
4
Benchmark Vergleich
DSP– Texas Instruments, C6x Serie, 1 GHz, 8 GMAC/s, 1.65 W,
$100, (Fixed P.)– Analog Devices, TigerSharc, 600 MHz, 4.8 GMAC/s, 1.5 W,
$177, (Floating P.)
FPGA– Altera Stratix II: 384 18x18-bit Mult., 450 MHz, 346 GMAC/s,
z.B. 3.45 mW/MHz pro Mult., $200 - $10.000– Xilinx Virtex-5 SXT, 550 MHz, 350 GMAC/s, >$300– Xilinx Spartan-3A DSP, 30 GMAC/s, $30 (!) (Xilinx Feb 2007)
… bis zu 40x schneller als DSPs
Stimmt das auch in der Realität?
5
DSP-Benchmarks für FPGAs
Berkley Design Technology Inc. (BDTI) => einzelne Algorithmen sind ungeeignet für einen echten Performance-Vergleich DSP vs. FPGA
Betrachtung einer kompletten Applikation Beispiel: OFDM-Empfänger (http://www.bdti.com/)
6
20 x
Vergleichsparameter & Ergebnisse
Zwei Ziele festgelegt:1) Maximierung der Anzahl der Kanäle
2) Minimierung der Kosten pro Kanal
Ergebnisse (2006)Sind FPGAs daher besser ?
7
Resümee des BDTI-Benchmarks
FPGAs zeigen höhere Performance als DSPs, aber ...– FPGA schlägt DSP in Kosten / Kanal (Faktor 10-20)– Höhere Gesamtkosten– Komplexerer Designprozess (VHDL, Verilog, Synthese,
Hardwarekenntnisse)– Softwaretechniker haben oftmals keine adequate Ausbildung
in Hardware-Entwicklung und Hardware-Entwurfssprachen– Nicht so ausgereifte Design-Tools wie für DSPs (trotz IP-
Cores)
8
Gründe für unterschiedliche Performance
DSP– 1 oder 2 Rechenwerke– Optimaler Zugriff auf Befehls- und Datenspeicher– Effizienter Befehlssatz (VLIW)– Serieller Algorithmus auf Geschwindigkeit optimiert
FPGA– „Sea of Gates“– hohe Anzahl von DSP-Funktionen (Multiplizierer) = viele
Rechenwerke– Paralleler Algorithmus– Probleme bei Speicherzugriff, variable Koeffizienten– Performance hängt stark von der Applikation ab
9
Performance-Vergleich HW/SW Stärken
Hardware (FPGA) Repetitive Algorithmen Hohe Rechenleistung durch
Parallelisierung Unterschiedliche Bit-Breiten
in einem System (Resolution Optimization)
Physikalische Layer-Implementierung (Ethernet)
Validation / Verifikation nicht so aufwendig wie in SW
Software (DSP) Adaptive Algorithmen,
Verzweigungen Billig – Consumer Products Kurze Entwicklungszeiten Timinganalyse unkritischer
(vgl. SPEAR) Floating Point Units bereits
vorhanden Protokoll-Stacks (TCP, UDP)
Pre-Processing Post-Processing
10
Schlussfolgerung: Warum nicht beides nutzen...
FPGA als Co-Prozessor eines DSP Bildverarbeitung
– FPGA übernimmt repetitiven Aufgaben (Filter, Maskierung, etc.), DSP kümmert sich um Objekterkennung und Programmfluss
– JPEG2000 (10x höhere Performance mit Co-Prozessor, http://www.broadmotion.com)
Kommunikation, Netzwerk– Navigationsempfänger, Radar, Aerospace, Military
11
ASIC & Standardprozessor
ASIC+ höhere Packungsdichte, mehr Performance, geringe
Verlustleistung, billiger bei hohen Stückzahlen– nicht rekonfigurierbar, hohe Einmalkosten
Standardprozessor (Pentium, PowerPC)+ 64-bit Architektur (4 x Standard DSP), SIMD Instruction Sets,
höhere Peak-Performance als DSPs– höhere Leistung, teurer, Probleme beim Handling großer
Datenmengen, Ausführungszeiten schwierig vorhersagbar – Probleme bei Echtzeitanwendungen (http://www.bittware.com)
12
DSP vs Standardprozessor (1)
www.univ.trieste.it/~carrato/didatt/dsp_mcu/dsp/slides/dsp_intro_3.ppt
FIR Filter (Clockzyklen)
13
DSP vs Standardprozessor (2)
FIR Filter (Ausführungszeit in Mikrosekunden)
14
DSP vs Standardprozessor (3)
Leistungseffizienz
15
Quellen
http://www.xilinx.com http://www.altera.com http://www.analog.com/processors http://dspvillage.ti.com http://www.dsp-fpga.com http://www.bdti.com The Art Of Processor Benchmarking: What makes a good benchmark,
and why you should care (http://www.bdti.com/articles/artofbenchmarking.pdf)
http://www.embedded.com Altera FPGA Replaces 64 DSP Devices in Fairlight's New Media
Processing Engine (http://www.altera.com/corporate/news_room/releases/products/nr-fairlight.html)