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