der blackfinprozessor und andere dsps · warum dsps ? 7 gpp vs. dsp ... – entwickelt von analog...
TRANSCRIPT
![Page 1: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/1.jpg)
Der BlackfinProzessor und andere DSPsDer BlackfinProzessor und andere DSPs
Ausgewählte Kapitel eingebetteter Systeme
Rudi Pfister
31.05.2006
![Page 2: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/2.jpg)
Der BlackfinProzessor und andere DSPs 2
Übersicht
● Einleitung Warum DSPs ?
● Eigenschaften von DSPs
● Der BlackfinProzessor
● Fazit
![Page 3: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/3.jpg)
Warum DSPs ? 3
Welche Aufgaben haben Prozessoren ?
● Daten verschieben– movl %eax, (%esp)– pushl %ebp
● Werte vergleichen– cmpl $0, 12(%ebp)
● Berechnungen– addl %edx, %eax– subl %eax, %esp
![Page 4: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/4.jpg)
Warum DSPs ? 4
Anwendungsschwerpunkte
● Datenverarbeitung– Textverarbeitung– Datenbankverwaltung– Betriebssysteme
● mathematische Berechnungen– Signalverarbeitung– Kontrolle von Bewegungen– Simulationen
![Page 5: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/5.jpg)
Warum DSPs ? 5
Datenverarbeitung: Liste sortieren
● Vergleichen einzelner Elemente miteinander
– A = B, A < B, etc.
● Diese dann evtl. vertauschen
– A > tmp, B > A, tmp > B
![Page 6: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/6.jpg)
Warum DSPs ? 6
math. Berechnungen: FIRFilter
● FIR Finite Impulse Response
– Audiotechnik – Signalentzerrung
● Berechnungsvorschrift
– yn=a0 xna1 xn−1a2 xn−2a3 x n−3 ...
● Hauptsächliche Operationen
– Addition
– Multiplikation
![Page 7: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/7.jpg)
Warum DSPs ? 7
GPP vs. DSP
● GeneralPurposeProzessoren (GPP)
– Sehr flexibel ausgelegt
– decken Anforderungen von Servern und Desktopsystemen
● Digitale Signalprozessoren (DSPs)
– optimiert für Berechnungen
– decken Anforderungen von Spezialzwecksystemen
![Page 8: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/8.jpg)
Eigenschaften von DSPs 8
Eigenschaften eines DSPs
● Optimiert für Signalverarbeitungsaufgaben
● nur sehr speziell einsetzbar
● kleine Baugrößen
● niedriger Stromverbrauch wichtig
![Page 9: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/9.jpg)
Eigenschaften von DSPs 9
Aufbau eines DSPs
![Page 10: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/10.jpg)
Eigenschaften von DSPs 10
Multiple Verarbeitungseinheiten
● ALU
● Shifter
● MACEinheit
● Verarbeitungseinheiten doppelt oder mehrfach vorhanden
● ermöglicht hohe Verarbeitungsgeschwindigkeiten
![Page 11: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/11.jpg)
Eigenschaften von DSPs 11
MACOperation
● Multiplizierer
● ALU
● Akkumulatorregister
● oft benötigt für Filterfunktionen
● führt die Operation A = A' + B x C aus
![Page 12: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/12.jpg)
Eigenschaften von DSPs 12
Speicherorganisation
● HarvardArchitektur– mehrere Busse– getrennte Speicher für Daten und Instruktionen
● SuperHarvardArchitektur– mehrere Speicherbereiche für Daten
![Page 13: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/13.jpg)
Eigenschaften von DSPs 13
Adressierung
● zusätzliche ALUs zur Adressberechnung
– AGUs – Address Generation Units
– nur Integerrechnung
– unterstützen viele Adressierungsarten, z.B. circular buffering
![Page 14: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/14.jpg)
Eigenschaften von DSPs 14
Kommunikation
● Schnittstellen
– seriell
– parallel
– andere Peripherie
● Direct Memory Access (DMA)
– geringe Last für Prozessor
![Page 15: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/15.jpg)
Eigenschaften von DSPs 15
FIRFilter: GeneralPurposeProzessor
loop:
mov *r0,x0 // Holen des Samples
mov *r1,y0 // Holen des Filterkoeffizienten
mult x0,y0,a // Diese multiplizieren und Ergebnis in a speichern
add a,b // Ergebnis zur Summe addieren
inc r0 // Adresse des nächsten Samples
inc r1 // Adresse des nächsten Koeffizienten
dec ctr // Schleifenzähler erniedrigen
tst ctr // Testen auf Schleifenende
jnz loop // wenn nicht, zuruckspringen
![Page 16: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/16.jpg)
Eigenschaften von DSPs 16
FIRFilter: DSP
move #Xaddr, r0 // Anfangsadresse der Samples
move #Yaddr, r1 // Anfangsadresse der Filterkoeffizienten
rep #Ntaps // Schleife initialisieren
mac x0,y0,b x:(r0)+,x0 y:(r1)+,y0 // MACAnweisung in der Schleife ausführen
● deutlich weniger Code● Adressierung und Schleifenkontrolle durch Hardware● MACOperation
– teilweise parallele Ausführung der Einzeloperationen
![Page 17: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/17.jpg)
Der BlackfinProzessor 17
Der BlackfinProzessor
● ADSPBF5xx von Analog Devices
● MSAKern (Micro Signal Architecture)
– entwickelt von Analog Devices und Intel
● verbindet DSP und MCUEigenschaften
● ADSPBF561 ist DualCoreProzessor
● vielfältige Peripherie onchip (je nach Typ)
![Page 18: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/18.jpg)
Der BlackfinProzessor 18
Blockschaltbild ADSPBF535
![Page 19: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/19.jpg)
Der BlackfinProzessor 19
Der Blackfin Prozessorkern
![Page 20: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/20.jpg)
Der BlackfinProzessor 20
Speicher
● flacher Adressraum (max. 4 GByte)● Level 1 Speicher
– aufgeteilt in mehrere Bänke– in Daten und Instruktionsspeicher unterteilt– Zugriff mit voller Prozessorgeschwindigkeit
● Level 2 Speicher– großer Speicherbereich– langsamerer Zugriff
● Externer Speicher
![Page 21: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/21.jpg)
Der BlackfinProzessor 21
Level 1 Speicher
● L1 Programmspeicher– SRAM oder 4setassociative Cache
● L1 Datenspeicher– 2 Bänke, SRAM oder 2setassociative Cache
● L1 scratchpad RAM– für Stack und lokale Variablen– kein DMAZugriff– nicht als Cache konfigurierbar
![Page 22: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/22.jpg)
Der BlackfinProzessor 22
Level 2 Speicher
● L2 Programm und Datenspeicher– SRAM, sehr groß im Vergleich zu L1 Speicher
● Externer Speicher– Zugriff über External Bus Interface (EBIU)– synchrones DRAM– asynchrone Speicher
● FlashSpeicher● EPROM● memorymapped I/OGeräte
![Page 23: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/23.jpg)
Der BlackfinProzessor 23
Speicher
● I/O Speicher– werden als ganz normaler Speicher adressiert– in den flachen Adressraum gemapped
● Memory Management Unit (MMU)– bietet Speicherschutz– Supervisor und Usermode– keine Adressumrechnung– verwaltet Caches
![Page 24: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/24.jpg)
Der BlackfinProzessor 24
Peripherie
● vielfältig, abhängig von Prozessortyp– Parallel Periphal Interface (PPI)– Serial Ports (SPORTs)– Serial Periphal Interface (SPI)– GeneralPurpose Timers– Universal Asynchronous Receiver Transmitter (UART)– Real Time Clock (RTC)– Watchdog Timer– GeneralPurpose I/O (programmable flags)
![Page 25: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/25.jpg)
Der BlackfinProzessor 25
SystemKontrollBlock
● steuern den Prozessor und dessen Verhalten– Prozessorspannung– Energieoptionen– Interrupthandling– DMA
● JTAGInterface (Joint Test Action Group)– Schnittstelle zum Debuggen
![Page 26: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/26.jpg)
Der BlackfinProzessor 26
LeistungsvergleicheBDTImark2000Ergebnisse
![Page 27: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/27.jpg)
Der BlackfinProzessor 27
Leistungsvergleiche
● es gibt leistungsfähigere DSPs
– aber meist teuerer
– Blackfin ca. 5 40 USDollar
– TI C64x ca. 189 USDollar
● Vergleich mit GPP nicht immer aussagekräftig
– andere Designziele
– BDTImark2000 ist für DSPs entwickelt
![Page 28: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/28.jpg)
Der BlackfinProzessor 28
Fazit
● BlackfinProzessor verbindet viele gute Eigenschaften● auch als vollwertiger MCU einsetzbar● ADSPBF5xx Familie bietet weites Spektrum
– Leistung– Peripherie
● Viele Entwicklungstools vorhanden– Compiler, Assembler, Linker– Emulatoren– komplette Entwicklungsumgebungen
![Page 29: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/29.jpg)
Der BlackfinProzessor und andere DSPs 29
Zusammenfassung
● Verschiedene Anforderungen an Prozessoren● Datenverarbeitung● mathematische Berechnungen● DSPs haben viele spezielle Eigenschaften
– für mathematische Berechnungen– für generelle Geschwindigkeitssteigerung
● Blackfins haben diese Eigenschaften eingebaut– ist Digitaler Signalprozessor– aber auch vollwertiger Mikrocontroller
![Page 30: Der BlackfinProzessor und andere DSPs · Warum DSPs ? 7 GPP vs. DSP ... – entwickelt von Analog Devices und Intel verbindet DSP und MCUEigenschaften ADSPBF561 ist DualCoreProzessor](https://reader030.vdocuments.pub/reader030/viewer/2022040621/5d11b19088c993ca388bc775/html5/thumbnails/30.jpg)
Der BlackfinProzessor und andere DSPs 30
Noch Fragen ?