mikroarchitektursynthese - synthese aus funktionalen spezifikationen -

33
fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel TU Dortmund, Informatik 12

Upload: harry

Post on 13-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen -. Peter Marwedel TU Dortmund, Informatik 12. Übersicht. Einführung SystemC Vorlesungen und Programmierung FPGAs Vorlesungen VHDL-basierte Konfiguration von FPGAs mit dem XUP V II Pro Entwicklungssystem - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

fakultät für informatikinformatik 12

technische universität dortmund

Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen -

Peter MarwedelTU Dortmund, Informatik 12

Page 2: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 2 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Übersicht

Einführung SystemC

Vorlesungen und Programmierung FPGAs

• Vorlesungen• VHDL-basierte Konfiguration von FPGAs mit dem XUP V

II Pro Entwicklungssystem Synthese-Algorithmen

• Mikroarchitektur-Synthese• Synthese aus funktionalen Spezifikationen• Synthese aus imperativen Spezifikationen

• Logik- und Controllersynthese• …

Page 3: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 3 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Von der Spezifikation zur Implementierung

Nachteile der Simulation: Nicht vollständig bzgl. Eingabedaten Manuel zu erstellen u. U. Fehlerhaftes/Unvollständiges Modell Lange Simulationszeiten

Synthese als Ausweg? Def: Synthese ist das Zusammensetzen von Komponenten oder

Teilen einer niedrigen (Modell-) Ebene zu einem Ganzen mit dem Ziel, ein auf einer höheren Ebene beschriebenes Verhalten zu erzielen. ( [Advanced-Learners]).

Problem: Synthese selten voll automatische Nur in wenigen Fällen ist die Korrektheit bewiesen worden.

Simulation weiterhin notwendig!

Page 4: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 4 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Mögliche Entwurfsebenen

Ebene Verhalten Struktur Geometrie

VollständigeSysteme

Verhalten des Gesamtsystems

Komponenten des Gesamtsystems

Geometrie des Gesamtsystems

…..

Algorithmische Ebene

Entsprechend Berechnungsmodell

z.B. Knoten eines Taskgraphen

Abb. von Berechungen auf geometr. Inform.

PMS-EbeneGesamtverhalten eines Multiprozessormodells

Processor, Memory, Switch

Geometrische Inform. zu PMS-Komponenten

Instruction-Set Architecture Befehlssemantik

Arithmetische & Transport-Operationen

Zuordnung zur Fest-/Fließkommaeinheit

Register-Transfer-Ebene Register-Transfers Register, RAMs, ALUs

Layout von RT-Bausteinen

Logik-EbeneBoolesche Gleichungen Gatter, Flip-Flops

Geometrieinformation zu Gattern & Flip-Flops

Schaltkreisebene Netzwerkgleichungen Transistoren Schaltkreis-Layout

Bauelementebene Gleichungen f. Gatter Gates, Kanäle Bauelemetlayout

Prozessebene Diffusions-Verhalten Kristallgitter Masken

Page 5: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 5 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Formen der Synthese

Algorithmus, “behavioral” (untimed)

Algorithmus, “behavioral” (timed)

RT-Verhalten

RT-Struktur-Ebene

Gatter

Layout

XST

Catapult

Celoxica, u.a.

Unterschiedliche Ziele und Quellen;mögliche Darstellung:

Page 6: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 6 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Formen der Spezifikation

Imperative Beschreibung (SystemC, C, …) … Funktionales Verhalten (im Sinne der Mathematik) Synthese von systolischen Feldern

aus funktionalen Spezifikationen

Page 7: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 7 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Systolisches Feld

A systolic array is a special-purpose parallel device, made out of a few simple cell types which are regularly and locally connected. [ H.T. Kung ]

Beispiel:

• Parallele Eingabe:

• Einfache Zellen („CondSwap“, „Nop“):

• Reguläre Struktur:

Page 8: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 8 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Beispiel für ein systolisches Feld:odd-even transposition sort (OETS), n=8

Daten werden synchron durch ein- oder zweidimensionale Felder "gepumpt" und dabei werden auf diesen Daten Berechnungen ausgeführt.

7 5 8 3 6 1 4 2

5 7 3 8 1 6 2 4

5 3 7 1 8 2 6 4

3 5 1 7 2 8 4 6

3 1 5 2 7 4 8 6

1 3 2 5 4 7 6 8

1 2 3 4 5 6 7 8

8 7 6 5 4 3 2 1

7 8 5 6 3 4 1 2

Prozessoren führen feste Befehle aus.

Prozessoren führen feste Befehle aus.

Page 9: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 9 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Behauptung:systolisches Array für Matrixmultiplikation

Wie kann man systolische Arrays systematisch konstruieren?

Page 10: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 10 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Ansatz zur Konstruktion:Vorgabe von Rekursionsformeln

Beispiele:

1.

2.

1 falls,)!1(

1 falls ,1!

nnn

nn

)()()( 11 xHenxHexxHe nnn

P. Quinton: Automatic Synthesis of Systolic Arrays from Recurrent Equations, Ann. Symp. On Computer Architecture, 1984, S. 209 ff

P. Quinton: Automatic Synthesis of Systolic Arrays from Recurrent Equations, Ann. Symp. On Computer Architecture, 1984, S. 209 ff

Page 11: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 11 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Voraussetzung der Methode von Quinton

Rekursionsgleichungen der Form

Die Vektoren mj mit j {1..p} heißen AbhängigkeitsvektorenDie Knoten aus dem Gebiet D ℤn zusammen mit den Kanten M = {m1, …, mp} bilden den AbhängigkeitsgraphenG = (D,M).x D heißt abhängig von y falls i : x = y –mi.

Die Vektoren mj mit j {1..p} heißen AbhängigkeitsvektorenDie Knoten aus dem Gebiet D ℤn zusammen mit den Kanten M = {m1, …, mp} bilden den AbhängigkeitsgraphenG = (D,M).x D heißt abhängig von y falls i : x = y –mi.

Raum D von Berechnungen

Dz mzUzU

mzUzU

mzUmzUfzU

ppp

pp

mit )()(

...

)()(

))(),...,(()(

222

111

ℤn

Page 12: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 12 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Beispiel: Faltung

Faltung eines Vektors mit einem Vektor von Gewichten

K

j

jixjwiyi0

)()()(:0

Page 13: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 13 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Vergleich von aktueller Form und Ziel

Ziel:

Dz mzUzU

mzUzU

mzUmzUfzU

ppp

pp

mit )()(

...

)()(

))(),...,(()(

222

111

ℤn

K

j

jixjwiy0

)()()(

Jetzt:Jetzt:

Page 14: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 14 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Erweiterung von y(i) zu Y(i,k)

Def.:

k

j

jixjwkiYKk0

)()(),(:0

)(),( ,0)1,( : mit

)()()1,(),(:0:

iyKiYiYi

kixkwkiYkiYKki

D ℤ2

2-dimensionale Beschreibung von w und x:2-dimensionale Beschreibung von w und x:

),1(),(: 0

)(),1(:

kiWkiWki

kwkWk

Def.:Def.:

Def.:Def.:

0)1,1(:0 ,

)1,1(),(:0 0

)()1,(:0

kXKkk

kiXkiXKki

ixiXi

Page 15: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 15 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

2-dimensionale Form der Rekursionsgleichungen

i0, k, 0≤k≤K: Y(i,k)=Y(i,k-1)+W(i-1,k)*X(i-1,k-1)

W(i,k)=W(i-1,k)

X(i,k)=X(i-1,k-1)

Mit

i0: Y(i,-1)=0

i0: X(i-1,-1)=x(i)k, 0≤k≤K: W(-1,k)=w(k)

k, 0≤k≤K: X(-1,k-1)=0

m1=(0,1)m2=(1,0)m3=(1,1)

Page 16: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 16 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Abhängigkeitsgraph für das Faltungsbeispiel

Mit m1=(0,1), m2=(1,0), m3=(1,1) ergibt sich der Abhängig-keitsgraph.

Page 17: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 17 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Suche nach einer Timing-Funktion (Scheduling)

Zuordnung : Operation Ausführungszeiten.Bedingungen an : : ℤn ℤ: uD : (u )0 und u,vD : u abhängig von v (u ) > (v )

Im Beispiel: Die Berechnung von Y(2,2) wird eine Zeiteinheit (Takt) nach den Berechnungen von Y(1,2) und Y(2,1) sowie zwei Zeiteinheiten nach der Berechnung von Y(1,1) ausgeführt.

Im Beispiel: Die Berechnung von Y(2,2) wird eine Zeiteinheit (Takt) nach den Berechnungen von Y(1,2) und Y(2,1) sowie zwei Zeiteinheiten nach der Berechnung von Y(1,1) ausgeführt.

Y YYY

Y Y Y Y

Page 18: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 18 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Suche nach einer Prozessorzuordnung

qm

Page 19: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 19 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Bestimmung von Verbindungenund Registern

Für die Verzögerung des Stroms der Werte werden Register benötigt.

x-Werte: verzögerte Weiterleitung in der Diagonalen

w-Werte: fest in Prozessoren gespeichert

y-Werte: werden unverzögert vertikal weitergeleitet.

x-Werte: verzögerte Weiterleitung in der Diagonalen

w-Werte: fest in Prozessoren gespeichert

y-Werte: werden unverzögert vertikal weitergeleitet.

2

Page 20: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 20 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Ablauf (1)

x(0)

Page 21: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 21 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Ablauf (2)

x(0) x(0)*w(0)

x(1)

Page 22: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 22 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Ablauf (3)

x(0)

x(0)*w(0)+0*w(1)

x(1)x(1)*w(0)

x(2)

Page 23: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 23 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Ablauf (4)

x(0)

x(0)*w(0)+0*w(1)+0*w(2)

x(1)

x(1)*w(0)+x(0)*w(1)

x(2)

x(3)

x(2)*w(0)

Page 24: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 24 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Ablauf (5)

x(0)

x(0)*w(0)+0*w(1)+0*w(2)

x(1)

x(1)*w(0)+x(0)*w(1)

x(2)

x(3)

x(2)*w(0)+x(1)*w(1)

x(4)

x(3)*w(0)

Page 25: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 25 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Ablauf (6)

x(0)

x(0)*w(0)+0*w(1)+0*w(2)

x(1)

x(1)*w(0)+x(0)*w(1)

x(2)

x(3)

x(2)*w(0)+x(1)*w(1)+x(0)*w(2)

x(4) x(4)*w(0)

x(5)

x(3)*w(0)+x(2)*w(1)

Page 26: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 26 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Ablauf (7) x(0)*w(0)+0*w(1)+0*w(2)x(1)*w(0)+x(0)*w(1)

x(2)

x(3)

x(2)*w(0)+x(1)*w(1)+x(0)*w(2)

x(4)

x(5)*w(0)x(5)

x(3)*w(0)+x(2)*w(1)+x(1)*w(2)

x(6)

x(4)*w(0)+x(3)*w(1)

Page 27: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 27 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Weitere Arbeiten zu systolischen Feldern

Kung (ex-CMU), „you just pump the data through“; Gilt als „Vater“ der systolischen Arrays.Hat früher vorhandenen Ansätzen den Namen gegeben.

Monica Lam

Moldovan

Page 28: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 28 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Instruction systolic array (ISA)

Interface Processors Interface Processors NorthNorth

Interface Interface Processors WestProcessors West

ISA

. . . .

. .

. .

Source: www.cs.umd.edu/class/spring2003/ cmsc838t/slides/reddyg.ppt

Communication- Register

Ursprung: Uni Kiel (Schmeck, Schimmler, Lang, Schröder)Interface Processors

Page 29: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 29 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Instruction Systolic Array

+

row selectors

columnselectorsinstructions

*

-

+

-

*-

+*+

+*-+

+*

* +-+

+*-

+* +*

+*-

++*

*-*-+

+*

+*

-

-

-

+*

+*- +*- -

wavefront instruction execution fast accumulation operations (e.g. row sum, broadcast, ringshift)

Page 30: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 30 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Advantage of ISA’s:Performing Aggregate Functions

Row Broadcast

Row Sum

Row Ringshift

C := C[WEST]C := C[WEST]

C := CW

C = 234 C = 0 C = 0 C = 0234

C := C + C[WEST]C := C + C[WEST]

noop

C = 1 C = 2 C = 3 C = 4

C := C[WEST]; C:=C[EAST]C := C[WEST]; C:=C[EAST]

noop

C = 1000 C = 1 C = 1 C = 1

C = 234 C = 234 C = 0 C = 0234

C := CW

C = 1 C = 3

C:=C+CW

C = 3 C = 4

C := CW

C = 1 C = 1000 C = 1 C = 1

C:=CWC := CWC:=CE

C = 234 C = 234 C = 234 C = 0234

C := CW

C = 1 C = 3

C:=C+CW

C = 6 C = 4

C := CW

C = 1 C = 1 C = 1000 C = 1

C:=CWC := CW C:=CE

C = 234 C = 234 C = 234 C = 234234

C := CW

C = 1 C = 3 C = 6

C:=C+CW

C = 10

C := CW

C = 1 C = 1 C = 1 C = 1000

C:=CWC := CW C:=CE

Page 31: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 31 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Weiteres zu ISAs

• Weitere Infos

• Interaktive Demos:

http://www.iti.fh-flensburg.de/lang/papers/isa/index.htm

http://www.iti.fh-flensburg.de/lang/papers/isa/index.htm

Page 32: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 32 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Realisierung von systolischen Arraysmit FPGAs

Beispiele u.a.: Systematische Implementierung von Walsh-Hadamard

Transformationen//www.ll.mit.edu/HPEC/agendas/proc02/ presentations/HPEC%20Day%201/Session%202/2.4fang-new.ppt

Viterbi Decoder mit systolischen Algorithmus in FPGA realisiert: //www.ee.nthu.edu.tw/~jtchen/com5128/handout/ho4.ppt (?)

(Viele weitere) …

Page 33: Mikroarchitektursynthese -  Synthese aus funktionalen Spezifikationen -

- 33 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Zusammenfassung

Begriff der Synthese, Nutzung zur (sicheren) Erzeugung von Implementierungen

Prinzip von systolischen Arrays

Projektsmethode von Quinton zur systematischen Erzeugung von systolischen Arrays

Schieben von Befehlen: instruction systolic array (ISA)

Realisierung von systolischen Arrays mit FPGAs