150 likes | 267 Views
Performancevergleich DSP vs. FPGA. Werner FRIESENBICHLER 0526423. 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.
E N D
Performancevergleich DSP vs. FPGA Werner FRIESENBICHLER 0526423
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?
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?
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?
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/)
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 ?
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)
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
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) Performance-Vergleich HW/SW Stärken Pre-Processing Post-Processing
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
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)
DSP vs Standardprozessor (1) • FIR Filter (Clockzyklen) www.univ.trieste.it/~carrato/didatt/dsp_mcu/dsp/slides/dsp_intro_3.ppt
DSP vs Standardprozessor (2) • FIR Filter (Ausführungszeit in Mikrosekunden)
DSP vs Standardprozessor (3) • Leistungseffizienz
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)