6 - ITEC
Transcription
6 - ITEC
Texas Instruments TMS320 DSP Inhaltsverzeichnis Seminar aus Praktischer Informatik ❚ ❚ ❚ ❚ ❚ Texas Instruments TMS320 DSP Was versteht man unter DSP? Unterscheidungsmerkmale Theoretische Grundlagen Einführung in die TMS320 DSP-Familie Ausgewähltes Kapitel ❙ Sprachverarbeitung in Mobiltelefonen ❙ Softwareentwicklung Vortragende: Arno Kersche, Christian Timmerer ❚ Resümee Leiter: Univ.-Prof. Dipl.-Ing. Dr. Hermann Hellwagner Kersche, Timmerer Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP Embedded Systems ❚ DSP ... Digital Signal Processing ❚ Anwendungsbereiche Darunter versteht man Systemkomponenten, die über Ablauf- oder Steuerungsfunktionalität verfügen und deren Prozesslogik über Computer (Mikroprozessoren, Mikrochips) und Software verfügt. ❙ Telekommunikation, Computer Engineering, Multimediaapplikationen ❙ Medizin, Militär (Sonar, Radar), seismische Datenanalyse ❚ fast in jedem Bereich vorzufinden Beispiele ❚ Haushalt: Fernsehgerät oder Küchengerät ❚ Kommunikation: Modems ❚ Medizintechnik: Herzschrittmacher ❚ Finanzbereich: Bankomaten ❚ Kostengünstiger als herkömmliche Prozessoren Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP Übersicht DSP Software und Hardware Was versteht man unter DSP? Kersche, Timmerer 3 Kersche, Timmerer Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP Übersicht DSP Software und Hardware < $300 Portable < $800 Cost-Performance < $3000 High-Performance > $8000 Kersche, Timmerer Sehr hoher Absatz Niedrige Prozessorleistung, starke Konkurrenz CD-Spieler, VCR, Fax Sehr Hoher Absatz Niedriger Energieverbrauch Hand-Held, Scanner Hoher Absatz Prozessorleistung versus Kosten CAD- Produkte, Video Konferenz Equipment Niedriger bis moderater Absatz Ausgezeichnete Prozessorleistung Real Time DB Verarbeitung, Militärische Systeme Seminar aus Praktischer Informatik 4 Texas Instruments TMS320 DSP Übersicht DSP Software und Hardware Unterteilung der High-Performance DSP Produkte Kategorien von DSP Produkten Commodity (Gebrauchsgut) 2 TMS320C2xx TMS320C54x 5 Real-time Embedded KontrollSysteme Real-Time Anforderungen; Performance Flugzeug Kontrollsystem Embedded Informationssysteme Komplexes Benutzerinterface Lagermanagementsystem Kommando-, Kontroll-, Kommunikationsund Intelligente Systeme Performance + Benutzerinterface Raketen Leitsysteme Kersche, Timmerer Seminar aus Praktischer Informatik 6 1 Texas Instruments TMS320 DSP Beispiel: FIR Filter Architektur Von Neumann Architektur Kersche, Timmerer Seminar aus Praktischer Informatik Unterscheidungsmerkmale 7 DSP Adressierungsarten Zero-overhead looping Instruktionssatz Programmiersprachen Tools Erweiterungen Kersche, Timmerer Kersche, Timmerer Harvard Architektur Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP 8 Texas Instruments TMS320 DSP Theoretische Grundlagen Zusammenfassung Einsatzgebiet Architektur Operationen pro Taktzyklus Prozessortyp Speicherverwaltung Texas Instruments TMS320 DSP Unterscheidungsmerkmale SW-Entwicklungsparadigma GPP Embedded Systems Harvard Single-cycle (MAC) Mikrocontroller 8-, 16-, (32-) bit RAM, ROM: der Programmierer kontrolliert explizit, welche Daten sich im On-Chip-Speicher befinden Desktopsysteme Von Neumann Multi-cycle Mikroprozessor 32-, 64-bit Memory Management, Cache: der Programmierer weiß nicht, welche Daten sich momentan im On-ChipSpeicher befinden - dies wird durch die Kontrolllogik bestimmt Standard, spezielle (modulo, bit- Standard, spezielle sind in SW realireversed) siert In Hardware realisiert In Software realisert Hochspezialisiert, komplex Einfach, verständlich C, DSP/C, Assembler High-level C, C++, Java, ... Prozessorsimulationstools VLIW, Multiprozessoren MMX, SIMD Seminar aus Praktischer Informatik 9 Hybride GP/DSP Imperativ vs. anwendungsspezifisch Hochsprachen vs. Assembler Spezielle- vs. „Standardsprachen“ Blockverarbeitung vs. Verarbeitung einzelner Samples ❚ Genaue vs. approximierte Arithmetik ❚ ❚ ❚ ❚ Kersche, Timmerer Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP Texas Instruments TMS320 DSP Theoretische Grundlagen Theoretische Grundlagen ❚ Problematik der Genauigkeit ❚ Behandlung von Überläufen ❚ Konvertierung von einfacher in doppelte Genauigkeit und umgekehrt ❚ Delay Lines Arithmetik 10 Algorithmische Konstrukte (1) ❙ Register, Moduloadressierung, Write-Back ❚ Organisation von Vektoren ❚ Mathematische Konstrukte ❙ bitweise, approximiert, lineare Interpolation ❚ Schleifenkonstrukte ❙ low-overhead, zero-overhead, loop reversal Kersche, Timmerer Seminar aus Praktischer Informatik 11 Kersche, Timmerer Seminar aus Praktischer Informatik 12 2 Texas Instruments TMS320 DSP Theoretische Grundlagen Texas Instruments TMS320 DSP TMS 320 DSP Algorithmische Konstrukte (2) Geschichtlicher Überblick (1) ❚ Radix-2 Fast Fourier Transformation (FFT) ❚ 1982: TMS32010 - erster digitaler Signalprozessor ❚ Mittlerweilen 10 Generationen Sourcecodekompatibilität ❚ Jeder hat mindestens eine CPU und eine Mannigfaltigkeit an On-Chip-Speicher und periphere Konfigurationen ❙ Summe und Differenz zweier Werte ❙ Adressberechnung mittels reverse-carry Addition Kersche, Timmerer Seminar aus Praktischer Informatik 13 Kersche, Timmerer Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP 14 Texas Instruments TMS320 DSP TMS 320 DSP Geschichtlicher Überblick (2) Familiy TMS320C1x TMS320C2x TMS320C2xx TMS320C3x TMS320C4x TMS320C5x TMS320C54x TMS320C62xx TMS320C64xx TMS320C67xx TMS320C8x (1MP, 4 PP) Year 1982 1984 1995 1988 1990 1989 1995 1997 1997 1994 Clock Speed MIPS/MFLOPS 8.8 MHz 5 MIPS 12.5 MHz 10 MIPS 40 MHz 20-40 MIPS 40 MHz 16.67-30/33-60 30 MHz 20-40/40-80 50 MHz 20-50 MIPS 100 MHz 30-532 MIPS 300 MHz 1200-2400 MIPS 1100 MHz 4800-8800 MIPS 167 MHz 600 MFLOPS - 1 GFOLPS 50 MHz 250 MIPS Kersche, Timmerer Voltage Price (10.000 Stk.) 3.3, 5.0 Auf Anfrage 5.0 Auf Anfrage 5.0 $5-$16 3.3, 5.0 $10-$180 5.0 $69-$177 3.3, 5.0 $11-$35 2.5/3.3, 3.3, 5.0 $20-$27 1.8/3.3, 2.5/3.3 $90-$121 Auf Anfrage 1.8/3.3 $143 3.3 Auf Anfrage Seminar aus Praktischer Informatik 15 Kersche, Timmerer Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP Central Arithmetik Logic Unit Parallel Logic Unit ❚ Boolsche Operationen ❚ Bitmanipulationen ❚ Arbeitet parallel zur CALU ❚ 16-bit x 16-bit Multiplikator ❚ 32-bit ALU ❚ 32-bit ACC ❚ 32-bit ACCB ❚ diverse Shifter Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP TMS320C5x TMS320C5x Kersche, Timmerer 16 17 Kersche, Timmerer Seminar aus Praktischer Informatik 18 3 Texas Instruments TMS320 DSP TMS320C5x Speicherorganisation Input/Output - Stack ❚ I/0 ❚ Programm ROM ❙ I/O Space: Kann direkt in die CALU geladen oder vom ACC hinausgeschrieben werden ❙ Serial Port Registers ❙ Zum Laden von Programmcode aus langsameren Speicher ❙ Kann als Bootloader konfiguriert werden ❚ Daten/Programm dual-access RAM (DARAM) ❙ Besteht aus drei Blöcken ❙ Primär als Datenspeicher verwendet. B0 kann als Daten- oder Programmspeicher konfiguriert werde ❚ Daten/Programm single-access RAM (SARAM) ❙ Kann als Datenspeicher konfiguriert werden ❙ Kann als Programmspeicher konfiguriert werden ❙ Konfiguriert als Daten- und Programmspeicher Kersche, Timmerer Texas Instruments TMS320 DSP TMS320C5x Seminar aus Praktischer Informatik 19 ❚ Stack ❙ 16-bit 8 Stufen: Zugriff über PUSH und POP via ACC ❙ POPD, PSHD: Pop bzw. Push eines Wertes aus dem Datenspeicher ❙ Speichern und wiederherstellen des PC bei Interrupts oder Subroutinen. Kersche, Timmerer Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP TMS320C5x Adressierungsmodi Single-cycle multiply/accumulate operation Single-cycle repeat/block repeat operation Block memory move intrstruction Memory-mapped register load and store instruction Conditional branch and call instruction Delayed execution of branch and call instruction Fast return from interrupt instructions Index-addressing mode Bit-reversed index-addressing mode for radix-2 fastFourier transformations (FFTs) Kersche, Timmerer Texas Instruments TMS320 DSP TMS320C5x Instruktionssatz ❚ ❚ ❚ ❚ ❚ ❚ ❚ ❚ ❚ Seminar aus Praktischer Informatik 21 ❚ Direct addressing ❚ Indirect addressing ❙ 4 Möglichkeiten ❙ Bit-reversed addressing ❚ Immediate addressing ❚ Dedicated-register addressing ❙ Block Move Address Register (BMAR), Dynamic Bit Manipulation Register (DBMR) ❚ Memory-mapped register addressing ❚ Modulo addressing ❙ 2 zirkuläre Puffer - mittels Hilfsregister ❙ Kontrolle mittels memory-mapped Register Kersche, Timmerer Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP TMS320C5x RPTZ MAC #9 MTRX1,*0+ APAC Addiert PREG mit Inhalt des ACC; ladet TREG0; Multiplikation und Speicherung in PREG Kersche, Timmerer 22 Texas Instruments TMS320 DSP TMS 320 DSP Beispiel: MAC Setzt PREG und ACC zurück und wiederholt nächste Instruktion 20 BDTImark ❚ Algorithmen: FIR und IIR Filter, FFT ❚ Kennzahlen: Inkrementiert um INDX ❙ ❙ ❙ ❙ ❙ ❙ ;For i = 0, i < 10, i++ ;PREG=DATA(MTRX1+i) x DATA[MTRX2 + ;(i x INDX)] ;ACC += PREG. ;ACC += PREG. (PC) + 1 --> PC (ACC) + (shifted PREG) --> ACC Seminar aus Praktischer Informatik 23 Anzahl der Zyklen Ausführungszeit Cost-Performance Energieverbrauch Speicherbedarf I/O Performance Kersche, Timmerer Seminar aus Praktischer Informatik 24 4 Texas Instruments TMS320 DSP Texas Instruments TMS320 DSP Sprachverarbeitung in Mobiltelefonen Telekommunikations- Applikationen mit TMS320C5x Sprachverarbeitung in Mobiltelefonen ❚ Erste Verwendung von DSPs in Schnurlostelefonen ❚ Boomender Markt ❚ Integration von: Telekommunikations- Anwendungen verwenden: Mikrocontroller und DSP ❙ Mobiler Kommunikation und Portablen Computer Applikationen ❚ Basis Applikationen: ❚ Vorteile des TMS320C5x für Mobile Kommunikation: ❙ ❙ ❙ ❙ ❙ ❙ Signal- Verarbeitungsalgorithmen ❙ Fehlerkorrektur ❙ Stimme- und Daten Kompression ❚ Erweiterte Applikationen: in C programmierbar beinhaltet Parallel Logic Unit (PLU) unterstützt „Power Down Mode“ ist Energie sparend rasche Interrupt-Behandlung Signal Verarbeitungsprozesse in Real- Time verarbeitbar ❙ Mensch- Maschine- Schnittstelle ❙ Verbessern Qualität durch Stimme- und Zeichenerkennung ❙ Und Echo- und Geräuschkorrektur Kersche, Timmerer Seminar aus Praktischer Informatik 25 Kersche, Timmerer Seminar aus Praktischer Informatik Softwareentwicklung - TI TMS320C6000 (2) Kersche, Timmerer Seminar aus Praktischer Informatik Texas Instruments TMS320 DSP Softwareentwicklung TI TMS320C6000 (1) Kersche, Timmerer Seminar aus Praktischer Informatik 27 26 Texas Instruments TMS320 DSP 28 Texas Instruments TMS320 DSP Softwareentwicklung TI TMS320C6000 (3) Kersche, Timmerer Seminar aus Praktischer Informatik 29 Kersche, Timmerer Seminar aus Praktischer Informatik 30 5 Texas Instruments TMS320 DSP Softwareentwicklung Beispiel: Vektoraddition Kersche, Timmerer Texas Instruments TMS320 DSP Softwareentwicklung TMS320C6200 Architektur Seminar aus Praktischer Informatik 31 Kersche, Timmerer Seminar aus Praktischer Informatik 32 Texas Instruments TMS320 DSP Resümee und Ausblick Literatur ❚ Trend: DSP Prozessoren ❚ ❚ ❚ ❚ ❙ leistungsstärker ❙ trotzdem geringer Stromverbrauch ❙ kostengünstig ❚ Vormachtstellung, wie die x86-Architektur, unwahrscheinlich, da sehr unterschiedliche Anwendungsmöglichkeiten ❚ Pro Anwendungsgebiet eine Vormachtstellung möglich Diverse IEEE Artikel Texas Instruments: http://www.ti.com Berkeley Design Technology Inc.: http://www.bdti.com Vijay K. Madisetti, Douglas B. Williams, The Digital Signal Processing Handbook, IEEE CRC Press, 1998 Trend zu Standardisierung! Einheitliche Plattform z.B. Java und Windows CE (Entwicklung einfacher) Kersche, Timmerer Seminar aus Praktischer Informatik 33 Kersche, Timmerer Seminar aus Praktischer Informatik 34 6