Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 2.8 Signalprozessor-Beispiele 2.8.1 Ein einfacher.

Ähnliche Präsentationen


Präsentation zum Thema: "Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 2.8 Signalprozessor-Beispiele 2.8.1 Ein einfacher."—  Präsentation transkript:

1 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Ein einfacher Signalprozessor NEC Audio-Signalprozessor  PD6382

2 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Merkmale:

3 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Arithmetik-Einheit:

4 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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)

5 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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)

6 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

7 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Daten- und Koeffizientenspeicher Daten- und Koeffizienten- speicher unterscheiden sich im wesentlichen in ihrer Wortbreite und ihrer Adressierungslogik

8 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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)

9 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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)

10 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

11 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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)

12 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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)

13 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

14 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

15 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

16 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

17 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Beispiel: OPA Instruktion ALU1bestimmt die ALU-Operation P-SELwählt unter verschiedenen Operanden am Eingang der ALU CPINCbestimmt, 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 DST1bestimmt, wohin das auf dem internen Datenbus (IDB) befindliche Datenwort transportiert wird SRClegt die „Quelle“ des Datums auf dem IDB fest

18 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

19 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

20 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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:

21 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

22 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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)

23 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Pipeline-Bearbeitung dieses Programms:

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

25 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele 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

26 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

27 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Funktionsumfang der ALUs

28 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Funktionsumfang der ALUs (fortg.)

29 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Funktionsumfang der ALUs (fortg.)

30 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Funktionsumfang der ALUs (fortg.)

31 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Befehlsverarbeitung Es werden immer Pakete zu je 8 Befehlen geholt Das p-Bit bestimmt hierbei, ob die Befehle parallel ausgeführt werden dürfen  p i = 1  Instruktion i+1 darf parallel zu Instruktion i ausgeführt werden  p i = 0  Instruktion i+1 muss eine Takt nach Instruktion i ausgeführt werden Instruktion 1 Instruktion 2 Instruktion 3 Instruktion 4 Instruktion 5 Instruktion 6 Instruktion 7 Instruktion 8

32 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Beispiel: Treten keine (Daten-, Struktur-) Konflikte auf, so können im besten Fall 8 Befehle gleichzeitig verarbeitet werden

33 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

34 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

35 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 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

36 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Aufgabe der Ausführungsstufen für verschiedene Befehlstypen:

37 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Signalprozessor-Beispiele Pipeline (C67x, Gleitkommaarith.): 16-stufig, 8-fach parallel Pipelinestufen: Doppelt so viele Ausführungsstufen


Herunterladen ppt "Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 2.8 Signalprozessor-Beispiele 2.8.1 Ein einfacher."

Ähnliche Präsentationen


Google-Anzeigen