Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)

Slides:



Advertisements
Ähnliche Präsentationen
Organisatorisches Die * bzw. ** Aufgaben müssen gelöst werden, da sie später wieder gebraucht werden. Musterlösungen werden zwei Wochen nach den Übungsblättern.
Advertisements

Z-Transformation Die bilaterale Z-Transformation eines Signals x[n] ist die formale Reihe X(z): wobei n alle ganzen Zahlen durchläuft und z, im Allgemeinen,
2. 5 Kommunikation, Ein-/Ausgabe (E/A) - engl
6. Regelbasierte Systeme
Implementierung eines BPSK (De)Modulators auf einem Spartan 3E FPGA
Instruction Set Architecture (ISA)
Referat zum Thema: Soundkarte Von Julian Weger IT-Klasse 2482.
Projekt: µC Ampelsteuerung.
Elektronisch messen, steuern, regeln
Fakultät für informatik informatik 12 technische universität dortmund Lehrstuhl Informatik 12 Technische Informatik/Eingebettete Systeme Arbeitsbereich.
1 Energiebewusste Compilierung für digitale Signalprozessoren Markus Lorenz Peter Marwedel Universität Dortmund Lehrstuhl Informatik XII Projekt Prozessorarchitekturen.
0 Energieeffiziente Compilierung für Digitale Signalprozessoren Markus Lorenz Peter Marwedel Rainer Leupers Projekt Prozessorarchitekturen und Compilertechniken.
Die Soundkarte Von Patrick Gaschler.
Einsatz des Level-1-Kalorimeter-Trigger Jet/Energiesummen-Moduls bei ATLAS Teststrahlmessungen am CERN.

Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Analog-Digital Wandler
Digital Audio Medientyp digital audio representation
Digital Audio Medientyp digital audio representation
ISDN - Karten © by Holger °Shorty° Brock ®™
Grundlagen der Nachrichtentechnik
Institut Nachrichtentechnik HTWK Leipzig Nachrichten- und Kommunikationstechnik 1.
Prof. Dr. Martin Ruckert Wie funktioniert MP3 ?. Seite 1 Oktober 2006 Wie funktioniert MP3 ? Prof. Dr. Martin Ruckert, Fakultät für Informatik und Mathematik,
Computer Networks Group Universität Paderborn Studieren bei ESS – Eingebettete Systeme und Systemsoftware II. Studienabschnitt Frey/Karl/Platzner/Plessl/Rammig/Sorge.
Analog-Digital-Wandler
Seminarvortrag (klein) DSL
? Was ist Informatik? Was ist Informatik? Alexander Lange
Videocodecs Boris Bühler Stefan Frey Christian Gut
Vor kurzem am Telefon. Stell Dir vor - ich habe letzte Nacht einen umwerfenden Typen kennengelernt. Ja - im Internet! - Wahnsinn!
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Signal-Klassifizierung
Professional Headend-Systems V 16, X-8, X-5 & X-2 twin
Performancevergleich DSP vs. FPGA
MATHEMATIK UND AKUSTISCHE SIGNALVERARBEITUNG
Multiraten-Systeme Referenzen Taktratenänderungen sind in der DSV
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Analog-Digital Umsetzer NI USB 6009 Blockschaltbild
Embedded Systems Prof. Dr. H. Kristl
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Aus-drücke, arithmetische Operatoren.
Akustische Modelle der Sprachproduktion
Technische Universität München AFTER based Read Out for the GEM-TPC Sverre Dørheim Physik Department E18 Technische Universität München Germany On behalf.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
MP3 Davis Balija 1AHWIM 2012/2013. Inhaltsverzeichnis Was ist MP3 3 Sind MP3 Datein legal 4 Geschichte des MP3 5 Was ist streaming 6 Womit kann man MP3`s.
Herwig Peter DSL / ADSL Peter Herwig EFI 11a EFI 11a.
Externspeicher- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 2.
Lehrstuhl Informatik 12 Technische Informatik/Eingebettete Systeme Arbeitsbereich Marwedel - Lehrangebot, Forschung - Peter Marwedel Tel.: (0231)
Opticial Transducers: Photodetectors Photodetectors Eidgenössische Technische Hochschule Zürich – 15 th December 2004.
Messung kosmischer Myonen
Kommunikationstechnik B Teil 3 – Signalverarbeitung
Digitale Bandpass Übertragung
Komponenten für die Überwachung optischer Kenngrößen in Zugangsnetzen – (COMAN) Statusseminar , Stuttgart Jörg Hehmann September, 2007.
Komplex aber nicht kompliziert
Komponenten für die Überwachung optischer Kenngrößen in Zugangsnetzen – (COMAN) Projekttreffen , Stuttgart Jörg Hehmann Juli, 2007)
COPYRIGHT © 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — CONFIDENTIAL — SOLELY FOR AUTHORIZED PERSONS HAVING A NEED TO KNOW — PROPRIETARY.
Projektarbeit – SS08 Kai Aras

T-DSL.
Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS , Folie 1 Beispiel Cache-Architektur.
Über die Definition, von dem Modem, ISDN hin zum DSL
Verdrahtung, PE, AC/DC Regler, Tambourine
Bildbearbeitung: Bit Bit Byte Byte RGB RGB Farbe Farbe Auflösung Auflösung Dateiformat Dateiformat Clonpinsel Clonpinsel Kopierstempel Kopierstempel.
X. Übungsblatt – Aufgabe X a)Entwerfen Sie eine digitale Schaltung, die bei einer logischen 0 des Steuereinganges S den logischen Wert des Eingangs x 0.
Kapitel 4: Digitale Signale
Modul SiSy: Einleitung
Kapitel 5: Digitale Signale
Vorlesung Echtzeitbetriebssysteme VII
Modul SiSy: Einleitung
DSL-Anschlusstechnik
Praktikum Digitiale Signalübertragung
Digitale Signalverarbeitung
 Präsentation transkript:

Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)

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)

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 Anwendung z.B als Echo Cancellation für Video-Konferenzen

Technische Informatik I (SS 2006) 4 Exkurs: Was ist ein Pointer ? #include 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 */ }

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]

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)

Technische Informatik I (SS 2006) 7 Was soll ein DSP können ? Dafür würde ein Pentium Taktzyklen benötigen.

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 dB menschliches Ohr = 120 dB ausreichend 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

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 Chemnitz erhä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

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

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 notwendig jedoch 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

Technische Informatik I (SS 2006) 12 Was ist VLIW = Very Large Instruction Word ? z.B. Motorola 56x00 2 Instruktionen parallel 2 x 24 bit (+ 8-bit extra) zu einer large 56-bit Instruktion z.B. Texas Instruments TMS320C62xx 8 Instruktionen parallel der Compiler entscheidet, welche Instruktionen parallel, d.h. unabhängig voneinander sind, und zu einer very large instruction zusammengefügt werden hier: 256 bits !

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 werden Beispiel: LSI Logic ZSP500 in japanischen CDMA Mobiltelefonen

Technische Informatik I (SS 2006) 14 Pipeline und Super-Skalar

Technische Informatik I (SS 2006) 15 Audio-Daten

Technische Informatik I (SS 2006) 16 Beispiel eines Audio-Encoders Audiodaten (z.B. im WAV Format) = Abfolgen von Amplituden Bsp (Pause)-208 das muß als Bitfolge gesendet werden: Encoder: welche Ziffer – wie oft – welche Ziffer – wie oft 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

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

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 parallel mit 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 !)

Technische Informatik I (SS 2006) 19 SHARC Prozessor Pins viele DATA Pins

Technische Informatik I (SS 2006) 20

Technische Informatik I (SS 2006) 21 Matrix Multiplikation mit einem SHARC DSP

Technische Informatik I (SS 2006) 22 Matrix Multiplikation mit einem SHARC DSP Das ist Original Quell-Code für den Analog Devices SHARC DSP

Technische Informatik I (SS 2006) 23 test

Technische Informatik I (SS 2006) 24 Link-Port auf optisches Kabel

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 ns DRAM = 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 Adresse1Adresse2 Daten1Daten2

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 Trick erstes Kommando im Code: bleib stehen und warte auf Eingabe !

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

Technische Informatik I (SS 2006) 28 DSPs von Analog Devices

Technische Informatik I (SS 2006) 29 DSPs von Motorola

Technische Informatik I (SS 2006) 30 DSPs von Texas Instruments

Technische Informatik I (SS 2006) 31 Wieiterentwicklung: TigerSHARC von Analog Devices Taktrate 600 MHz (vorher 40 MHz)

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)

Technische Informatik I (SS 2006) 33 Tiger-SHARC Arrays: Speicher Multiprozessor-Fähigkeiten eingebaut Gemeinsamer Adressraum für 8 Prozessoren