2.8 Signalprozessor-Beispiele

Slides:



Advertisements
Ähnliche Präsentationen
Vom HW-Automaten zum Prozessor
Advertisements

4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Multiplizierer Gesucht: Schaltkreis zur Multiplikation zweier Binärzahlen , Beispiel: RW-Systemarchitektur Kap. 3.
Befehlssatz und Struktur
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
2.3 Register-Transfer-Strukturen
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Agenda Die Hardwearkomponenten und ihre Funktionen - Mikroprozessor
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
2.7 Signalprozessoren Spezielle Mikrorechner-Architekturen für die Verarbeitung analoger Signale in eingebetteten Systemen, z.B. im Audio- oder Video-Bereich.
E / IDE Enhanced / Integrated Device Elektronics
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Atmel AVR JTAG Einführung
Kapitel 3 5 Rechnerorganisation
Neumannrechner.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Basisinformationstechnologie 1 Tanja Lange WS 2003/04 am
W. Oberschelp G. Vossen Kapitel 7.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 12.1.
Aufbau und Funktionsweise von Prozessoren
2.5. Mikrocontroller-Komponenten
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
4. Mikrocontroller-Komponenten
Von: Antoni Gazali Clarkson Laryea
EPIC, IA-64 und Itanium Eine Kurzpräsentation von Jan Hübbers bei Prof. Dr.-Ing. Risse im Fach Labor Rechnerstrukturen an der Hochschule Bremen
Grundschutztools
Heute: Scherenzange zeichnen
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Der Simple As Possible Computer
2.3 Register-Transfer-Strukturen
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
© Gabriele Sowada © Gabriele Sowada 2 Manuell Beispiel 1 demonstriert die Vorgehensweise bei der manuellen Programm- Eingabe am.
Duo- und Quad Prozessor-Architektur
BEWÄHRT seit 2011: AV4m+ AV4ms
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Steuerung externer Komponenten über ein USB-Interface.
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
Herzlich willkommen zum Aufbau der Hauptplatine
INTEL Pentium 4 Prozessor
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter 8PLUS5-Quickie Einfache Addition 8051-Architektur.
Zuordnung CacheHauptspeicher
3.4 CPU-Chips und Busse CPU-Chips
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Embedded Systems Prof. Dr. H. Kristl
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Computerorientierte Physik VORLESUNG
Publikation auf Knopfdruck Judith Riegelnig Michael Grüebler 19. Oktober 2010 / Statistiktage Neuenburg.
Programmieren in Assembler
Meldungen über Ethernet mit FINS/UDP
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Seite 1 Technische Informatik II (INF 1211) – Kurzfragenteil (Ohne Unterlagen) Am Prof. W. Adi Zeit: (20 Minuten) Bitte schreiben Sie die Lösung.
Eine Übersicht von Margarete Streitwieser
Rechnerarchitekturen
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Johann Baron von Neumann
Central Processing Unit (Zentraleinheit)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Analoge Schnittstellen Wesentliche Aufgaben:
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Der Prozessor Von Stephan Blum.
Aufbau und Funktionsweise einer CPU
Vom Prozessor zum System
Vom HW-Automaten zum Prozessor
 Präsentation transkript:

2.8 Signalprozessor-Beispiele 2.8.1 Ein einfacher Signalprozessor NEC Audio-Signalprozessor PD6382

2.8 Signalprozessor-Beispiele Merkmale:

2.8 Signalprozessor-Beispiele Arithmetik-Einheit:

2.8 Signalprozessor-Beispiele Festkomma-Arithmetik, Multiplizierer: multipliziert einen 16-Bit und einen 19-Bit Operanden in einem Instruktionszyklus (108 ns) Operandenquellen: K-Register, 16 Bit, kann entweder vom internen Datenbus (obere 16 Bit) oder Koeffizientenspeicher geladen werden L-Register, 19 Bit, kann vom internen Datenbus geladen werden Datentransfer in die K- und L-Register sind mit Multiplikation in einer Instruktion kombinierbar Ergebnis: M-Register, 31 Bit (eigentlich 35-Bit, es doch nur 31 Bit verarbeitet)

2.8 Signalprozessor-Beispiele ALU: erlaubt Addition, Subtraktion, logische Verknüpfungen, ... von zwei 34-Bit Operanden Operandenquellen: Operand P:  M-Register (31 Bit, zusätzliche obere 3 Bit mit 0 gefüllt)  interner Datenbus (19 Bit, zusätzliche obere 3 und untere 12 Bit mit 0 gefüllt   Operand P kann zusätzlich durch einen Barrel-Shifter verschoben werden (1 Bit nach rechts, 17/18 Bit nach links)

2.8 Signalprozessor-Beispiele Operand Q:    Akkumulator-Register (34 Bit) Ergebnis: Akkumulator-Register   Durch zwei Overflow-Einheiten kann zusätzlich überwacht werden, ob das Ergebnis einer ALU-Operation (OVC') oder ein Wert im Akkumulator (OVC) mehr als 31 Bit zur Darstellung benötigt

2.8 Signalprozessor-Beispiele Daten- und Koeffizientenspeicher   Daten- und Koeffizienten- speicher unterscheiden sich im wesentlichen in ihrer Wortbreite und ihrer Adressierungslogik

2.8 Signalprozessor-Beispiele Koeffizientenspeicher: 128 x 16 Bit 7-Bit Adresslogik, erlaubt Laden der Adresse vom internen Datenbus und Inkrementieren der Adresse Datentransfer: zum K-Register, Datenbus (obere 16 Bit) Datenspeicher: 128 x 19 Bit 7-Bit Adresslogik, erlaubt Laden, Inkrementieren, Dekrementieren und Maskieren der Adresse Daneben über zwei 7-Bit Preset Register (PR1, PR2) eine automatische Zählschleife programmierbar (PR1: Startadresse, PR2: Stopadresse, sobald PR2 erreicht  PR1 nachladen) Datentransfer: zum Datenbus, Akkumulator (untere 13 Bit)

2.8 Signalprozessor-Beispiele Peripherie   5 serielle Audio-Schnittstellen zum Anschluss von DA-/AD-Wandlern 2 Eingangs- und 3 Ausgangsschnittstellen Jede Schnittstelle verfügt über ein 19-Bit Datenregister (SI1 - SI2, SO1 - SO3) Die Steuerung der seriellen Schnittstelle erfolgt wahlweise über die Signale BCLK1 / LRCK1 oder BCLK2 / LRCK2 Die Auswahl hierüber erfolgt durch interne Kontrollregister (CNT-R1/2)

2.8 Signalprozessor-Beispiele Jede Schnittstelle kann ein Stereo-Signal übertragen BCLKx: serieller Übertragungstakt LRCKx: Kanalauswahl (links/rechts) Die Daten der Stereo-Kanäle werden nacheinander übertragen Ist LRCKx = 0, so wird gerade der linke Kanal übertragen, anderenfalls der rechte Kanal

2.8 Signalprozessor-Beispiele Die Übertragungswortlänge beträgt wahlweise 16- oder 19-Bit   Für die Software wird die Übertragung des linken bzw. rechten Kanals durch das LEFTF-Flag angezeigt Sie muss dann jeweils den zugehörigen Wert in ein SOx-Register laden bzw. aus einem SIx-Register holen ==> das LEFTF-Flag sowie das LRCKx-Signal sind wichtige Steuerelemente zur Programmablaufkontrolle (näheres hierzu im Abschnitt Programmsteuerung)

2.8 Signalprozessor-Beispiele Neben den seriellen Audio-Schnittstellen verfügt der Prozessor über eine Schnittstelle für ein externes Delay-RAM für Hall-Effekte.   max. RAM-Größe : 256k x 16 (2 Mbit)

2.8 Signalprozessor-Beispiele Für das Delay-RAM gibt es einen Schreibzeiger und 64 Lesezeiger   Der Schreibzeiger kann gesetzt und inkrementiert werden Jeder Lesezeiger bewegt sich automatisch mit einem einstellbaren Offset hinter dem Schreibzeiger her ==> Ringspeicher mit 64 einstellbaren Verzögerungsleitungen für Verzögerungs-, Hall- und Echo-Effekte

2.8 Signalprozessor-Beispiele Als weitere periphere Schnittstelle ist eine serielle Host-Schnittstelle vorhanden Funktionen der Host-Schnittstelle: Schreiben des Programmspeichers Schreiben des Koeffizientenspeichers Schreiben und Lesen der Kontrollregister

2.8 Signalprozessor-Beispiele Über diese Schnittstelle können mehrere Signalprozessoren mit einem Host verbunden werden, der die Programme in die Signalprozessoren überträgt und ihre Arbeitsweise kontrolliert   Die Übertragung erfolgt in Form von Telegrammen

2.8 Signalprozessor-Beispiele Programmsteuerung   Eine Instruktion des PD6382 ist 22 Bit breit und besteht aus mehreren Feldern, welche einzelne Komponenten des Prozessors steuern Die Instruktionen sind in verschiedene Gruppen aufgeteilt: OPA: Datentransfer, RAM-Zugriff und Adressierung, ALU-Operationen OPB: Datentransfer und bedingte ALU- Operationen RET: wie OPA, zusätzlich Rückkehr von Unterprogramm JMP: bedingte Sprünge, Calls und Operationen Ldx: div. Datentransfers von Immediate Daten EXR: Zugriff auf externes Delay-RAM

2.8 Signalprozessor-Beispiele Beispiel: OPA Instruktion   ALU1 bestimmt die ALU-Operation P-SEL wählt unter verschiedenen Operanden am Eingang der ALU CPINC bestimmt, ob der Adresszeiger für das C-RAM inkrementiert wird DPHM ändert die drei höchstwertigen Bits des Adresszeigers für das D-RAM DPL1 ändert die vier niederwertigen Bits des Adresszeigers für das D-RAM DST1 bestimmt, wohin das auf dem internen Datenbus (IDB) befindliche Datenwort transportiert wird SRC legt die „Quelle“ des Datums auf dem IDB fest

2.8 Signalprozessor-Beispiele Der Programmspeicher umfasst maximal 256 Instruktionen (256 x 22 Bit) Er ist ein RAM und somit zunächst von undefiniertem Inhalt ==> Ein Programm wird über die Host-Schnittstelle mittels Instruction-Write Telegrammen seriell geladen  

2.8 Signalprozessor-Beispiele Ist eine Instruktion in die Host-Schnittstelle übertragen, wird RDY solange inaktiv (0), bis die Instruktion in den Programmspeicher übernommen wurde. Übernahme einer Instruktion von der Host-Schnittstelle in den Programmspeicher: automatisch per Hardware, während Reset aktiv ist => Initiales Laden eines Programms per Befehl (Teil der OPB-Instruktion) während des Betriebs => Ersetzung von Programmteilen während des normalen Programmablaufs Bleibt Cn/D auf 1, können direkt weitere Instruktionen an nachfolgende Adressen geladen werden    

2.8 Signalprozessor-Beispiele Typischer Programmablauf: Im allgemeinen wird ein Programm innerhalb einer Abtastperiode abgearbeitet und beginnt in der nächsten Abtastperiode von vorne ==> kurze Programme, wenige Schleifen o. Verzweigungen, Programmsteuerung durch den Abtasttakt Maximale Programmlänge bei verschiedenen Abtastraten:  

2.8 Signalprozessor-Beispiele  die Größe des vorhandenen Programmspeichers ist in den meisten Fällen ausreichend Die Steuerung des Programmablaufs erfolgt durch den LRCKx-Takt der seriellen Audio-Schnittstellen Dieser Takt zur Kennzeichnung des linken und rechten Kanals entspricht dem Abtasttakt Die steigende Flanke von LRCKx setzt deshalb den Programmzähler hardwaremäßig auf 0 zurück  die Programmbearbeitung beginnt von vorne Bei Stereo-Signalen kann mittels des LEFTF-Flags zwischen linkem und rechtem Kanal unterschieden werden  

2.8 Signalprozessor-Beispiele Typisches Programm für ein Stereo-Signal:   Programm für den linken Kanal Warteschleife bis LEFTF=0 Programm für den rechten Kanal Endloswarteschleife (bis PC=0 durch steigenden Flanke von LRCKx)

2.8 Signalprozessor-Beispiele Pipeline-Bearbeitung dieses Programms:  

Anwendungsbeispiel Digitales Stereo Audio Effekt-Gerät mit Signalprozessor und Mikrocontroller  

2.8 Signalprozessor-Beispiele 2.8.2 Ein Hochleistungs-Signalprozessor (Texas Instruments TMS320C6000)   8fach VLIW-CPU EPIC-ähnliche Erweiterungen (Marken im Befehlswort) Bedingte Ausführung aller Befehle (Predication) 2 32x32 Bit Multiplizierer 6 ALUs 32- und 64-Bit Gleitkommaoperationen (C67x) Erweiterung der Ganzzahlgenauigkeit auf 40 Bit möglich Integrierter Daten- und Programmspeicher bis 7 MBits Integrierte serielle Schnittstellen und Timer  

2.8 Signalprozessor-Beispiele Blockdiagramm der C6000 Familie 16 Register pro Registerfile Dual-Port Datenspeicher/Cache Datenpfad- /Registerbreite 32 Bit (C62x,C67x) oder 64 Bit (C64x) Single-Port Programmspeicher/ Cache, 256 Bit Zugriffsbreite

2.8 Signalprozessor-Beispiele Funktionsumfang der ALUs

2.8 Signalprozessor-Beispiele Funktionsumfang der ALUs (fortg.)

2.8 Signalprozessor-Beispiele Funktionsumfang der ALUs (fortg.)

2.8 Signalprozessor-Beispiele Funktionsumfang der ALUs (fortg.)

2.8 Signalprozessor-Beispiele Befehlsverarbeitung Es werden immer Pakete zu je 8 Befehlen geholt Instruktion 1 Instruktion 2 Instruktion 3 Instruktion 4 Instruktion 5 Instruktion 6 Instruktion 7 Instruktion 8 Das p-Bit bestimmt hierbei, ob die Befehle parallel ausgeführt werden dürfen pi = 1  Instruktion i+1 darf parallel zu Instruktion i ausgeführt werden pi = 0  Instruktion i+1 muss eine Takt nach Instruktion i ausgeführt werden

2.8 Signalprozessor-Beispiele Treten keine (Daten-, Struktur-) Konflikte auf, so können im besten Fall 8 Befehle gleichzeitig verarbeitet werden

2.8 Signalprozessor-Beispiele Format eines Befehls am Beispiel der .L-Einheit: dst: Zieloperand src2: 2. Quelloperand src1/cst: 1. Quelloperand / Konstante op: Befehlscode x: Kreuzpfade benutzen (.L1,.S1,.M1,D1, -Einheiten greifen auf Register File B zu, .L2,.S2,.M2,D2, -Einheiten auf Register File A s: Auswahl Seite A oder B für Zieloperand

2.8 Signalprozessor-Beispiele creg und z: Bedingte Befehlsausführung, Predication creg spezifiziert das Bedingungsregister z legt fest, ob auf =0 oder 0 getestet wird Jeder Befehl kann so bedingt ausgeführt werden

2.8 Signalprozessor-Beispiele Pipeline (C62x, C64x; Ganzzahlarith.): 11-stufig, 8-fach parallel Jede Pipelinestufe verarbeitet ein Paket, das aus bis zu 8 verschiedenen Instruktionen bestehen kann (VLIW-Pipeline) Pipelinestufen: PG: Program address generate PS: Program address send PW: Program access ready wait PR: Program fetch packet receive DP: Instruction Dispatch DC: Instruction Decode E1-5: Execute 1-5

2.8 Signalprozessor-Beispiele Aufgabe der Ausführungsstufen für verschiedene Befehlstypen:

2.8 Signalprozessor-Beispiele Pipeline (C67x, Gleitkommaarith.): 16-stufig, 8-fach parallel Pipelinestufen: Doppelt so viele Ausführungsstufen