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

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

Embed Size (px)

Citation preview

Page 1: 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

1Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

2.8.1 Ein einfacher Signalprozessor

NEC Audio-SignalprozessorPD6382

Page 2: 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

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

2.8 Signalprozessor-Beispiele

Merkmale:

Page 3: 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

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

2.8 Signalprozessor-Beispiele

Arithmetik-Einheit:

Page 4: 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

4Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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 werdenL-Register, 19 Bit, kann vom internen Datenbus geladen werden

Datentransfer in die K- und L-Register sind mit Multiplikation in einer Instruktion kombinierbarErgebnis: M-Register, 31 Bit (eigentlich 35-Bit, es

doch nur 31 Bit verarbeitet)

Page 5: 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

5Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

ALU:erlaubt Addition, Subtraktion, logische Verknüpfungen, ...von zwei 34-Bit OperandenOperandenquellen:

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)

Page 6: 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

6Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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

Page 7: 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

7Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Daten- und Koeffizientenspeicher Daten- und Koeffizienten-speicher unterscheiden sich im wesentlichen in ihrer Wortbreite und ihrerAdressierungslogik

Page 8: 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

8Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Koeffizientenspeicher: 128 x 16 Bit7-Bit Adresslogik, erlaubt Laden der Adresse vom internen Datenbus und Inkrementieren der AdresseDatentransfer: zum K-Register, Datenbus (obere 16 Bit)

Datenspeicher: 128 x 19 Bit7-Bit Adresslogik, erlaubt Laden, Inkrementieren, Dekrementieren und Maskieren der AdresseDaneben ü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)

Page 9: 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

9Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Peripherie 5 serielle Audio-Schnittstellenzum Anschluss von DA-/AD-Wandlern2 Eingangs- und 3 AusgangsschnittstellenJede 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 / LRCK2Die Auswahl hierüber erfolgt durch interne Kontrollregister (CNT-R1/2)

Page 10: 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

10Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

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

Page 11: 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

11Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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)

Page 12: 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

12Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

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

Lesezeiger 2

einstellbareOffsets

Speicherzelle 0Speicherzelle 1

. . .

Speicherzelle n

. . .

Schreibzeiger

Lesezeiger 1

Lesezeiger 64

Delay-RAM

Page 13: 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

13Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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

Page 14: 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

14Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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

Signale: SI, SO: Serial In, Out Cn/D: Kommando/Daten SCKn: serieller Übertragungstakt CSn: Chip Select RDY: Schnittstelle bereit für

neues Telegramm

Page 15: 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

15Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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 

Komando Datenwort 1 Datenwort n . . .

Telegrammformat

Page 16: 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

16Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Programmsteuerung

 Eine Instruktion des PD6382 ist 22 Bit breit und besteht aus mehreren Feldern, welche einzelne Komponenten des Prozessors steuernDie Instruktionen sind in verschiedene Gruppen aufgeteilt:OPA: Datentransfer, RAM-Zugriff und

Adressierung, ALU-OperationenOPB: Datentransfer und bedingte ALU-

OperationenRET: wie OPA, zusätzlich Rückkehr von

UnterprogrammJMP: bedingte Sprünge, Calls und OperationenLdx: div. Datentransfers von Immediate DatenEXR: Zugriff auf externes Delay-RAM

Page 17: 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

17Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Beispiel: OPA Instruktion     ALU1 bestimmt die ALU-OperationP-SEL wählt unter verschiedenen Operanden am Eingang der ALUCPINC bestimmt, ob der Adresszeiger für das C-RAM inkrementiert wirdDPHM ändert die drei höchstwertigen Bits des Adresszeigers für das D-RAMDPL1 ändert die vier niederwertigen Bits des Adresszeigers für das D-RAMDST1 bestimmt, wohin das auf dem internen Datenbus (IDB) befindliche

Datenwort transportiert wirdSRC legt die „Quelle“ des Datums auf dem IDB fest  

Page 18: 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

18Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

Kommando Instr. Write

0 0 0 0 0 0 0 1

Adresse im Prog.-Speicher AAAAAAAA

Instruktion Bits 22-16

0 0 I I I I I I

Instruktion Bits 15-8

I I I I I I I I

Instruktion Bits 7-0

I I I I I I I I SI

Cn/D

SCKn

RDY

. . . . .

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 

   

Page 19: 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

19Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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

ProgrammablaufsBleibt Cn/D auf 1, können direkt weitere Instruktionen an nachfolgende Adressen geladen werden 

   

Page 20: 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

20Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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 AbtasttaktMaximale Programmlänge bei verschiedenen Abtastraten: 

   

Abtast-frequenz

Abtast-periode

maximale Programmlänge

bei 18.432 Mhz (108 ns)

Beispiel

33 kHz 31.25 s 288 Instruktionen Satellitenrundfunk 44.1 kHz 22.68 s 208 Instruktionen Compact Disk 48 kHz 20.83 s 192 Instruktionen Digital Audio Tape

Page 21: 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

21Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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

   

Page 22: 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

22Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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)  

   

Page 23: 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

23Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Pipeline-Bearbeitung dieses Programms: 

   

Page 24: 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

Anwendungsbeispiel

Digitales Stereo Audio Effekt-Gerätmit Signalprozessor und Mikrocontroller 

   

P0 Host-Schnitt- stelle

Delay-Schnitt-stelle

DI1

DO1

BCLK1

LRCK1

fAbtast = 44.1 kHz

fSerial = fAbtast * 16

P1

P2

(Koeffizienten- undProgrammtransfer)

Signalprozessor

NEC PD6382

Tiefpaß

fmax = 20 kHz

AD-Wandler

Analog-Multiplexer

Tiefpaßfmax = 20

kHz

Tiefpaßfmax = 20

kHz

DA-Wandler

Analog-Demultiplexer

Tiefpaßfmax = 20

kHz

Tiefpaßfmax = 20

kHz

Abtast-Takt

Delay-RAM

2 MBit

Mikrocontroller

NEC PD78P312

Bedienfeld

Anzeigefeld

Audio -InLinks Rechts

Links Rechts Audio -Out

Page 25: 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

25Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

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

   

Page 26: 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

26Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Blockdiagramm der C6000 Familie

16 Register pro RegisterfileDual-Port Datenspeicher/CacheDatenpfad- /Registerbreite 32 Bit (C62x,C67x) oder 64 Bit (C64x)Single-Port Programmspeicher/ Cache, 256 Bit Zugriffsbreite

Page 27: 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

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

2.8 Signalprozessor-Beispiele

Funktionsumfang der ALUs

Page 28: 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

28Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Funktionsumfang der ALUs (fortg.)

Page 29: 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

29Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Funktionsumfang der ALUs (fortg.)

Page 30: 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

30Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Funktionsumfang der ALUs (fortg.)

Page 31: 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

31Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

BefehlsverarbeitungEs werden immer Pakete zu je 8 Befehlen geholt

Das p-Bit bestimmt hierbei, ob die Befehle parallel ausgeführt werden dürfenpi = 1 Instruktion i+1 darf parallel zu Instruktion i ausgeführt werdenpi = 0 Instruktion i+1 muss eine Takt nach Instruktion i ausgeführt

werden

Instruktion1

Instruktion2

Instruktion3

Instruktion4

Instruktion5

Instruktion6

Instruktion7

Instruktion8

Page 32: 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

32Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Beispiel:

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

Page 33: 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

33Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Format eines Befehls am Beispiel der .L-Einheit:

dst: Zieloperandsrc2: 2. Quelloperandsrc1/cst: 1. Quelloperand / Konstanteop: Befehlscodex: Kreuzpfade benutzen (.L1,.S1,.M1,D1, -Einheiten greifen

auf Register File B zu, .L2,.S2,.M2,D2, -Einheiten auf Register File As: Auswahl Seite A oder B für Zieloperand

Page 34: 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

34Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

creg und z: Bedingte Befehlsausführung, Predication

creg spezifiziert das Bedingungsregisterz legt fest, ob auf =0 oder 0 getestet wird

Jeder Befehl kann so bedingt ausgeführt werden

Page 35: 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

35Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Pipeline (C62x, C64x; Ganzzahlarith.): 11-stufig, 8-fach parallelJede Pipelinestufe verarbeitet ein Paket, das aus bis zu 8 verschiedenen Instruktionen bestehen kann (VLIW-Pipeline)Pipelinestufen:

PG: Program address generatePS: Program address sendPW: Program access ready wait PR: Program fetch packet receive

DP: Instruction DispatchDC: Instruction Decode

E1-5: Execute 1-5

Page 36: 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

36Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Aufgabe der Ausführungsstufen für verschiedene Befehlstypen:

Page 37: 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

37Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte

2.8 Signalprozessor-Beispiele

Pipeline (C67x, Gleitkommaarith.): 16-stufig, 8-fach parallel

Pipelinestufen:

Doppelt so viele Ausführungsstufen