technische informatik i (ss 2006) 1 teil 5: embedded systems 5c: dsps (digitale signal prozessoren)
TRANSCRIPT
![Page 1: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/1.jpg)
Technische Informatik I (SS 2006) 1
Teil 5: Embedded Systems5c: DSP‘s
(Digitale Signal Prozessoren)
![Page 2: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/2.jpg)
Technische Informatik I (SS 2006) 2
DSP = Digitale Signalprozessoren
Entwickelt für High-Speed-Algorithmen Telekommunikation
(z.B. Noise-Filter) JPEG/MPEG Encoder MP3 Encoder ADSL
(Asymmetrical Digital Subscriber Line)wegen mehrerer Trägerfrequenzen
Oft in Kombination mit ADC (Analog-to-Digital-Converter) DAC (Digital-to-Analog-Converter)
![Page 3: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/3.jpg)
Technische Informatik I (SS 2006) 3
DSP-Algorithmen
Beipiel: FIR-Filter Finite Impulse Response y[n] = c[k] * x[n-k] rekursiv:
output(jetzt) = input(jetzt) – ½ x output(vorher) für mehrere Zeitschritte:
digitaler „Equalizer“
in Programmiersprache C y[n] = 0.0;
for (k=0; k<N; k++)y[n] += c[k] * x[n-k]
y[n] wird in mehreren Loops
benutzt
Array-Index(kann groß sein)
rekursive Arithmetik in Index
Anwendungz.B als „Echo Cancellation“für Video-Konferenzen
![Page 4: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/4.jpg)
Technische Informatik I (SS 2006) 4
Exkurs: Was ist ein Pointer ?
#include <stdio.h>
void main(){
int x1=3; int x2=4;
int *p1; p1 = &x1;
int *p2; p2 = &x2;
printf("%x %x\n", p1, p2);
/* Ausgabe : bfffe828 bfffe824 */
printf("%d %d\n", *p1, *p2);
/* Ausgabe: 3 4 */}
![Page 5: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/5.jpg)
Technische Informatik I (SS 2006) 5
Beispiel: FIR-Filter
FIR Filter wird effektiver durch Benutzung von Pointern
float *y_ptr=&y[n];float *c_ptr=&c[0];float *x_ptr=&x[n];
for (k=0; k<N; k++)*y_ptr += *c_ptr++ * *x_ptr--;
Bedeutung von *x_ptr: Wie indirekte Addressierung !
Bedeutung von ++ / --: x_ptr nach Operation in/dekrementieren
Weitere Verbesserung der Geschwindigkeit: x_ptr in ein Register legen
x_ptr
x[0]x[1]x[2]….x[n]
![Page 6: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/6.jpg)
Technische Informatik I (SS 2006) 6
Was soll ein DSP können ?
Pointer in ein Register speichern Mit Auto-Inkrement/Dekrement
in einem Befehl evtl. sogar mit Adressierung
im gleichen Befehl möglichst viele Register Typische Operation: y=a + c*b in einem Taktzyklus evtl. mehr als einen Datenbus,
dann parallel genutzt hohe I/O-Bandbreite
alles auf einem Chip (Single-Chip-Computer)
![Page 7: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/7.jpg)
Technische Informatik I (SS 2006) 7
Was soll ein DSP können ?
Dafür würde ein Pentium 10-20 Taktzyklen benötigen.
![Page 8: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/8.jpg)
Technische Informatik I (SS 2006) 8
Motorola DSPs
DSP56x0x fixed-point Arithmetik programmierbar in Assembler SIMD Harvard Architektur 24-bit program, 24-bit data
24-bit = 144 dBmenschliches Ohr = 120 dBausreichend für Audioanwendungen(Abtastrate 192 kHz)
Akkumulator Register sind 56-bit(2 x 24 bit parallel + 8 bit „headroom“)
Anwendungen: ATARI Falcon Homecomputer, Radar (Flugüberwachung), PCI interface Steuerung, Motorola Telefone
![Page 9: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/9.jpg)
Technische Informatik I (SS 2006) 9
Texas Instruments DSPs
TI TMS3x0, seit 1983 seit dem TMS320 programmierbar in C
(vorher Assembler) sogar GNU gcc Compiler
seit 2003 von TU Chemnitzerhältlich
fixed-point and floating-point DSP Typen Host-Port
JTAG für Code download Anwendung:
in Creative MP3 Playern in DELL MP3 Playern
delayed branch logic „DM Varianten“ haben einen ARM Prozessor auf dem Chip
Beispiel:DM320 hat einen ARM926 und einen TMS320C5409 DSP
![Page 10: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/10.jpg)
Technische Informatik I (SS 2006) 10
Beispiel: Texas Instruments DSP
Harvard-Architektur Host-Port
für Zugriff „von außen“
8 Mini-Instruktionen parallel VLIW
= Very Large Instruction Word
![Page 11: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/11.jpg)
Technische Informatik I (SS 2006) 11
Was ist „delayed branch“ Exekution ?
zu allererst:es gibt „Branch“-Instruktionen branch („call“ oder „jump“) conditional branch („if“ und „elseif“)
es gibt eine Pipeline in der Pipeline wird bereits „dekodiert“ wenn ein Branch passiert, ist alles,
was dahinter in der Pipeline folgt, quasi „wertlos“: also „flush pipeline“ notwendigjedoch dies verschwendet Taktzyklen
„delayed branch“ bedeutet:kein „pipeline flush“ !einfach alles (auch das was gar nicht ausgeführt werden soll) dekodieren und ausführen, aber nur als „dummy“ ausführen
![Page 12: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/12.jpg)
Technische Informatik I (SS 2006) 12
Was ist VLIW = „Very Large Instruction Word“ ?
z.B. Motorola 56x002 Instruktionen parallel2 x 24 bit (+ 8-bit extra)zu einer „large“ 56-bit Instruktion
z.B. Texas Instruments TMS320C62xx8 Instruktionen parallelder Compiler entscheidet, welche Instruktionen parallel,d.h. unabhängig voneinander sind,und zu einer „very large instruction“ zusammengefügt werdenhier: 256 bits !
![Page 13: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/13.jpg)
Technische Informatik I (SS 2006) 13
Was ist „super-skalar“ ?
VLIW
der Compiler produziert Code (während des Compilierens),welcher identifiziert, welche Instruktionen in parallel ausgeführt werden
super-skalar
die Hardware entscheidet (während der Ausführung),welche Instruktionen in parallel ausgeführt werdenBeispiel:LSI Logic ZSP500in japanischen CDMA Mobiltelefonen
![Page 14: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/14.jpg)
Technische Informatik I (SS 2006) 14
Pipeline und Super-Skalar
![Page 15: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/15.jpg)
Technische Informatik I (SS 2006) 15
Audio-Daten
![Page 16: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/16.jpg)
Technische Informatik I (SS 2006) 16
Beispiel eines Audio-Encoders
Audiodaten (z.B. im WAV Format)= Abfolgen von Amplituden
Bsp.195-30-0(Pause)-208
das muß als Bitfolge gesendet werden:11000011-00011110-00000000-11010000
Encoder:welche Ziffer – wie oft – welche Ziffer – wie oft ... 1-2-0-4-1-2-0-3-1-4-0-9-1-2-0-1-1-1-0-4
auch byte übergreifend ! (siehe 0-9, das sind mehr als 8)
das wäre eine Kompression von 20/32=62.5%
bessere Kompression von Audio-Daten: MP3
![Page 17: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/17.jpg)
Technische Informatik I (SS 2006) 17
SHARC = Super Harvard Architecture Computer DMA = Direct Memory Access 6 link ports = voneinander unabhängige Datenbusse
Bsp: 2106x von Analog Devices
![Page 18: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/18.jpg)
Technische Informatik I (SS 2006) 18
SHARC DSP
Analog Devices ADSP-2106x Super-Harvard Architektur = dual-ported SRAM
(d.h. benachbarter SHARC kann gleichzeitig zugreifen) 32-bit IEEE Floating Point Unit programmierbar in C parallel:
1-Taktzyklus multiply & ALU Operationen in parallelmit memory read/write und instruction fetch
multiply with add/subtract in 1 Zyklus
6 Link-Ports (ähnlich zu Transputer-Links)Datentransfer mit 40 MB/s
JTAG Ports für Test DMA controller
(sogar extern-nach-extern DMA möglich !)
![Page 19: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/19.jpg)
Technische Informatik I (SS 2006) 19
SHARC Prozessor Pins
viele DATA Pins
![Page 20: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/20.jpg)
Technische Informatik I (SS 2006) 20
![Page 21: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/21.jpg)
Technische Informatik I (SS 2006) 21
Matrix Multiplikation mit einem SHARC DSP
![Page 22: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/22.jpg)
Technische Informatik I (SS 2006) 22
Matrix Multiplikation mit einem SHARC DSP
Das ist Original Quell-Code für den Analog Devices SHARC DSP
![Page 23: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/23.jpg)
Technische Informatik I (SS 2006) 23
test
![Page 24: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/24.jpg)
Technische Informatik I (SS 2006) 24
Link-Port auf optisches Kabel
![Page 25: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/25.jpg)
Technische Informatik I (SS 2006) 25
Dual Ported RAM
Harvard Architektur:Befehlsspeicher ist physikalisch vom Datenspeicher getrennt
Super-Harvard Architektur: dual ported auf Deutsch: Speicher mit 2 Türen
SRAM = Flip-Flops (2 Transistoren), schneller Zugriff ~10 nsDRAM = Transistor + Silicium-Kondensator (auf dem Wafer) + Steuerleitungen,kleiner da Address-Multiplexing (takt-by-takt), aber langsam ~60 ns
SHARC hat SRAM (static RAM) auf dem Chip
SRAM
Adresse1 Adresse2
Daten1 Daten2
![Page 26: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/26.jpg)
Technische Informatik I (SS 2006) 26
Wie programmiert man einen SHARC ?
oder einen anderen DSP ? Cross-Compiler:
ein binär Code wird auf einer anderen Platform erzeugt (z.B. PC oder SPARC Workstation)
der binär-Code wird dann an einen Port geschrieben (z.B. über ein JTAG Kabel oder einen VME Bus)
nach 256 words (x 4 bytes) beginnt der DSP automatisch mit der Ausführung
Trickerstes Kommando im Code: bleib stehen und warte auf Eingabe !
![Page 27: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/27.jpg)
Technische Informatik I (SS 2006) 27
Vergleich DSP und Pentium
Beispiel:Pentium MMX 266 vs. TMS32062x
Pentium verbraucht 4x mehr Strom(CISC Prozessor)
gleicher Preis (~20 Euro) Pentium ist ~4x größer Pentium benötigt Kühlung Aber DSP hat 3 x mehr MIPS
(Million Instructions per Second) Fast Fourier Transform
benötigt Faktor ~3 weniger Rechenzeit auf DSP
![Page 28: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/28.jpg)
Technische Informatik I (SS 2006) 28
DSPs von Analog Devices
![Page 29: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/29.jpg)
Technische Informatik I (SS 2006) 29
DSPs von Motorola
![Page 30: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/30.jpg)
Technische Informatik I (SS 2006) 30
DSPs von Texas Instruments
![Page 31: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/31.jpg)
Technische Informatik I (SS 2006) 31
Wieiterentwicklung: TigerSHARC von Analog Devices
Taktrate 600 MHz(vorher 40 MHz)
![Page 32: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/32.jpg)
Technische Informatik I (SS 2006) 32
Tiger-SHARC Arrays (ähnlich zu Transputer-Arrays)
Verschaltung mit schnellen Link-Ports 250 MB/s(vorher 40 MB/s)
![Page 33: Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)](https://reader035.vdocuments.mx/reader035/viewer/2022081602/55204d6549795902118baee5/html5/thumbnails/33.jpg)
Technische Informatik I (SS 2006) 33
Tiger-SHARC Arrays: Speicher
Multiprozessor-Fähigkeiteneingebaut
Gemeinsamer Adressraum für 8 Prozessoren