fakultät für informatik informatik 12 technische universität dortmund mikroarchitektursynthese -...

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

Upload: elfriede-schlitter

Post on 05-Apr-2015

107 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

fakultät für informatikinformatik 12

technische universität dortmund

Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen -

Peter MarwedelTU Dortmund, Informatik 12

Page 2: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 18 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Suche nach einer Prozessorzuordnung

qm

Page 19: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 20 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

Ablauf (1)

x(0)

Page 21: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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: Fakultät für informatik informatik 12 technische universität dortmund Mikroarchitektursynthese - Synthese aus funktionalen Spezifikationen - Peter Marwedel

- 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