Rechneraufbau & Rechnerstrukturen, Folie 13.1 © 2006 W. Oberschelp, G. Vossen.

Post on 06-Apr-2016

217 views 0 download

Transcript of Rechneraufbau & Rechnerstrukturen, Folie 13.1 © 2006 W. Oberschelp, G. Vossen.

Rechneraufbau & Rechnerstrukturen, Folie 13.1 © 2006 W. Oberschelp, G. Vossen

Rechneraufbau & Rechnerstrukturen, Folie 13.2 © 2006 W. Oberschelp, G. Vossen

Kapitel 13: Grund-Konzepte und -Modelle für die Parallelverarbeitung

Rechneraufbau & Rechnerstrukturen, Folie 13.3 © 2006 W. Oberschelp, G. Vossen

Übersicht

• VLSI-Algorithmen. Systolische Netze• SIMD-Rechner. Das Speicherproblem. Die PRAM• Kommunikation bei verteiltem Speicher:

Superkonzentratoren• Spezielle Permutationsnetze• Beispiel: Matrix-Multiplikation auf dem Hypercube• Routing in programmierbaren Permutationsnetzen• Universalität von Permutationsnetzen

Rechneraufbau & Rechnerstrukturen, Folie 13.4 © 2006 W. Oberschelp, G. Vossen

13.1 VLSI-„Prozessor“.

Rechneraufbau & Rechnerstrukturen, Folie 13.5 © 2006 W. Oberschelp, G. Vossen

13.2 Prozessor-Pipeline.

Rechneraufbau & Rechnerstrukturen, Folie 13.6 © 2006 W. Oberschelp, G. Vossen

13.3 (Quadratisches) Prozessor-Feld.

Rechneraufbau & Rechnerstrukturen, Folie 13.7 © 2006 W. Oberschelp, G. Vossen

13.4 Hexagonales Prozessor-Feld.

Rechneraufbau & Rechnerstrukturen, Folie 13.8 © 2006 W. Oberschelp, G. Vossen

aaaa

a11aaaa

aaaa

aaaaa

aaa

a

aa

a aa

a

213141

1222324252

2333435363

3444546474

4555657585

566676

67

...

.....

q

p

O

OA =

...

......

...

Differenz der Indizes:

-10

12

3

Indizes haben gleiche Summen:

23

45

67

13.5 (2,4)-Bandmatrix.

Rechneraufbau & Rechnerstrukturen, Folie 13.9 © 2006 W. Oberschelp, G. Vossen

Matrix-Vektor-Produkt

Rechneraufbau & Rechnerstrukturen, Folie 13.10 © 2006 W. Oberschelp, G. Vossen

13.6 Fünfelementige Prozessor-Pipeline.

Rechneraufbau & Rechnerstrukturen, Folie 13.11 © 2006 W. Oberschelp, G. Vossen

Drehen der Bandmatrix

Rechneraufbau & Rechnerstrukturen, Folie 13.12 © 2006 W. Oberschelp, G. Vossen

Drehen der Bandmatrix

Rechneraufbau & Rechnerstrukturen, Folie 13.13 © 2006 W. Oberschelp, G. Vossen

Drehen der Bandmatrix

Rechneraufbau & Rechnerstrukturen, Folie 13.14 © 2006 W. Oberschelp, G. Vossen

Drehen der Bandmatrix

Rechneraufbau & Rechnerstrukturen, Folie 13.15 © 2006 W. Oberschelp, G. Vossen

Drehen der Bandmatrix

Rechneraufbau & Rechnerstrukturen, Folie 13.16 © 2006 W. Oberschelp, G. Vossen

Drehen der Bandmatrix

Rechneraufbau & Rechnerstrukturen, Folie 13.17 © 2006 W. Oberschelp, G. Vossen

aa

a

a

a

a

a

a

aa

a

a

a

P P P P Px x xy

1231 0=-1 31 20

34

23

12

11

22

33

43

32

21

42

31

52

41

...

. . .

13.7 Organisation der (syst.) Matrix-Vektor-Multiplikation.

Rechneraufbau & Rechnerstrukturen, Folie 13.18 © 2006 W. Oberschelp, G. Vossen

P P P P P-1 31 20

Matrix-Vektor-Multiplikation: Takt 1

a11

a12 a21

a22 a31

a23 a32 a41

a33 a42

a34 a43 a52

y1=0y1

Rechneraufbau & Rechnerstrukturen, Folie 13.19 © 2006 W. Oberschelp, G. Vossen

a11

a12 a21

a22 a31

a23 a32 a41

a33 a42

a34 a43 a52

P P P P P-1 31 20 y1y1

Matrix-Vektor-Multiplikation: Takt 2

Rechneraufbau & Rechnerstrukturen, Folie 13.20 © 2006 W. Oberschelp, G. Vossen

a11

a12 a21

a22 a31

a23 a32 a41

a33 a42

a34 a43 a52

P P P P P-1 31 20 y1

x1

x1

y2=0y2y1

Matrix-Vektor-Multiplikation: Takt 3

Rechneraufbau & Rechnerstrukturen, Folie 13.21 © 2006 W. Oberschelp, G. Vossen

P P P P P-1 31 20

a11

a12 a21

a22 a31

a23 a32 a41

a33 a42

a34 a43 a52

x1

y1a11

y2 y2y1

x1

Matrix-Vektor-Multiplikation: Takt 4

Rechneraufbau & Rechnerstrukturen, Folie 13.22 © 2006 W. Oberschelp, G. Vossen

P P P P P-1 31 20

a12 a21

a22 a31

a23 a32 a41

a33 a42

a34 a43 a52

y1= a11 * x1 + y1

a44 a53

y2

x1

Matrix-Vektor-Multiplikation: Takt 4

Rechneraufbau & Rechnerstrukturen, Folie 13.23 © 2006 W. Oberschelp, G. Vossen

P P P P P-1 31 20

a12 a21

a22 a31

a23 a32 a41

a33 a42

a34 a43 a52

a44 a53

y1

y1

x2

x2

a12 x1 x1

a21

y2 y2

y3=0y3

Matrix-Vektor-Multiplikation: Takt 5

Rechneraufbau & Rechnerstrukturen, Folie 13.24 © 2006 W. Oberschelp, G. Vossen

P P P P P-1 31 20

a22 a31

a23 a32 a41

a33 a42

a34 a43 a52

a44 a53

y1= a12 * x2 + y1

a45 a54 a63

y2= a21 * x1 + y2

y3

x2 x1

Matrix-Vektor-Multiplikation: Takt 5

Rechneraufbau & Rechnerstrukturen, Folie 13.25 © 2006 W. Oberschelp, G. Vossen

P P P P P-1 31 20x2 x2

a22 a31

a23 a32 a41

a33 a42

a34 a43 a52

a44 a53

a45 a54 a63

y2y2a22 x1

y3y3

x1

a31

Ausgabe: y1

Matrix-Vektor-Multiplikation: Takt 6

Rechneraufbau & Rechnerstrukturen, Folie 13.26 © 2006 W. Oberschelp, G. Vossen

P P P P P-1 31 20

a23 a32 a41

a33 a42

a34 a43 a52

a44 a53

a45 a54 a63

x1

y3 =a31* x1 + y3

y2 =a22* x2 + y2

x2

a55 a64

Matrix-Vektor-Multiplikation: Takt 6

Rechneraufbau & Rechnerstrukturen, Folie 13.27 © 2006 W. Oberschelp, G. Vossen

P P P P P-1 31 20

a23 a32 a41

a33 a42

a34 a43 a52

a44 a53

a45 a54 a63

a55 a64

x1x2

y2 y3

y2 y3

x2 x1x3

x3

a23 a32 a41

y4=0y4

Matrix-Vektor-Multiplikation: Takt 7

Rechneraufbau & Rechnerstrukturen, Folie 13.28 © 2006 W. Oberschelp, G. Vossen

P P P P P-1 31 20

a33 a42

a34 a43 a52

a44 a53

a45 a54 a63

a55 a64

y2 = a23*x3+y2 x2 x1x3

y3 = a32*x2+y3 y4 = a41*x1+y4

a56 a65 a74

Matrix-Vektor-Multiplikation: Takt 7

Rechneraufbau & Rechnerstrukturen, Folie 13.29 © 2006 W. Oberschelp, G. Vossen

P P P P P-1 31 20

a33 a42

a34 a43 a52

a44 a53

a45 a54 a63

a55 a64

a56 a65 a74

Ausgabe: y2

x3 x2x3 x2

y3 y4a33 a42y3 y4y2

u.s.w.

Matrix-Vektor-Multiplikation: Takt 8

Rechneraufbau & Rechnerstrukturen, Folie 13.30 © 2006 W. Oberschelp, G. Vossen

Teilweiser Ablauf der Matrix-Vektor-Multiplikation

Rechneraufbau & Rechnerstrukturen, Folie 13.31 © 2006 W. Oberschelp, G. Vossen

13.8 Hexagonales Prozessor-Feld für die Matrix-Multiplikation.

Rechneraufbau & Rechnerstrukturen, Folie 13.32 © 2006 W. Oberschelp, G. Vossen

13.9 Prinzip der Vernetzung von Prozessoren.

Rechneraufbau & Rechnerstrukturen, Folie 13.33 © 2006 W. Oberschelp, G. Vossen

13.10 Vernetzte Prozessoren mit globalem Speicher.

Rechneraufbau & Rechnerstrukturen, Folie 13.34 © 2006 W. Oberschelp, G. Vossen

13.11 4 x 4-Crossbar Switch G1.

Rechneraufbau & Rechnerstrukturen, Folie 13.35 © 2006 W. Oberschelp, G. Vossen

13.12 Graph G2 zu Beispiel 13.2 ((3,2)-Konzentrator).

Rechneraufbau & Rechnerstrukturen, Folie 13.36 © 2006 W. Oberschelp, G. Vossen

13.13 Graph G3 zu Beispiel 13.3 (4-Superkonzentrator).

Rechneraufbau & Rechnerstrukturen, Folie 13.37 © 2006 W. Oberschelp, G. Vossen

13.14 Nicht-universelles Permutationsnetz (4-Superkonzentrator).

Rechneraufbau & Rechnerstrukturen, Folie 13.38 © 2006 W. Oberschelp, G. Vossen

13.15 (Offene) Prozessor-Pipeline.

Rechneraufbau & Rechnerstrukturen, Folie 13.39 © 2006 W. Oberschelp, G. Vossen

13.16 (Geschlossene) Prozessor-Pipeline (Ring).

Rechneraufbau & Rechnerstrukturen, Folie 13.40 © 2006 W. Oberschelp, G. Vossen

13.17 (Geschlossene) Prozessor-Speicher-Pipeline.

Rechneraufbau & Rechnerstrukturen, Folie 13.41 © 2006 W. Oberschelp, G. Vossen

13.18 Perfect-Shuffle-Netzwerk.

Rechneraufbau & Rechnerstrukturen, Folie 13.42 © 2006 W. Oberschelp, G. Vossen

13.19 Perfect-Shuffle-Netzwerk mit separaten Ziel-Prozessoren.

Rechneraufbau & Rechnerstrukturen, Folie 13.43 © 2006 W. Oberschelp, G. Vossen

13.20 Shuffle-Exchange-Netzwerk.

Rechneraufbau & Rechnerstrukturen, Folie 13.44 © 2006 W. Oberschelp, G. Vossen

13.21 Array-Netzwerk.

Rechneraufbau & Rechnerstrukturen, Folie 13.45 © 2006 W. Oberschelp, G. Vossen

13.22 Hypercube der Dimension m = 3.

Rechneraufbau & Rechnerstrukturen, Folie 13.46 © 2006 W. Oberschelp, G. Vossen

13.23 Hypercube der Dimension m = 4.

Rechneraufbau & Rechnerstrukturen, Folie 13.47 © 2006 W. Oberschelp, G. Vossen

13.24 Cube-Connected Cycles.

Rechneraufbau & Rechnerstrukturen, Folie 13.48 © 2006 W. Oberschelp, G. Vossen

13.25 Anordnung der 64 Hypercube-Prozessorenzur Multiplikation von (4 x 4)-Matrizen

(dezimale Indizierung).

Rechneraufbau & Rechnerstrukturen, Folie 13.49 © 2006 W. Oberschelp, G. Vossen

13.26 Anordnung der 64 Hypercube-Prozessorenzur Multiplikation von (4 x 4)-Matrizen

(duale Indizierung).

Rechneraufbau & Rechnerstrukturen, Folie 13.50 © 2006 W. Oberschelp, G. Vossen

Beispiel zur Matrix-Multiplikation

2 0 4 22 4 0 2

0 2 2 44 2 2 0

A

1 1 5 31 1 3 5

5 3 1 13 5 1 1

B

?AB

Rechneraufbau & Rechnerstrukturen, Folie 13.51 © 2006 W. Oberschelp, G. Vossen

Initialisierung

Rechneraufbau & Rechnerstrukturen, Folie 13.52 © 2006 W. Oberschelp, G. Vossen

13.27 Beispiel: Initialisierung der Hypercube-Prozessoren zur Multiplikation von (4 x 4)-Matrizen.

Rechneraufbau & Rechnerstrukturen, Folie 13.53 © 2006 W. Oberschelp, G. Vossen

13.28 Beispiel: Speicherbelegung der Prozessorennach Beendigung der Phase 2.

Rechneraufbau & Rechnerstrukturen, Folie 13.54 © 2006 W. Oberschelp, G. Vossen

nach Phase 2

Rechneraufbau & Rechnerstrukturen, Folie 13.55 © 2006 W. Oberschelp, G. Vossen

13.29 Beispiel: Speicherbelegung der Prozessoren nach Durchführung des Schrittes 3.

Rechneraufbau & Rechnerstrukturen, Folie 13.56 © 2006 W. Oberschelp, G. Vossen

nach Schritt 3

Rechneraufbau & Rechnerstrukturen, Folie 13.57 © 2006 W. Oberschelp, G. Vossen

13.30 Beispiel: Speicherbelegung derProzessoren am Ende der Rechnung.

Rechneraufbau & Rechnerstrukturen, Folie 13.58 © 2006 W. Oberschelp, G. Vossen

Ergebnis

Rechneraufbau & Rechnerstrukturen, Folie 13.59 © 2006 W. Oberschelp, G. Vossen

Ergebnis

Rechneraufbau & Rechnerstrukturen, Folie 13.60 © 2006 W. Oberschelp, G. Vossen

13.31 Prinzip der programmierbaren Vernetzung.

Rechneraufbau & Rechnerstrukturen, Folie 13.61 © 2006 W. Oberschelp, G. Vossen

13.32 Kreuzschienenschalter (Crossbar Switch).

Rechneraufbau & Rechnerstrukturen, Folie 13.62 © 2006 W. Oberschelp, G. Vossen

13.33 „Exchange-Modul“.

Rechneraufbau & Rechnerstrukturen, Folie 13.63 © 2006 W. Oberschelp, G. Vossen

13.34 Programmierbares Shuffle-Exchange-Netzwerk.

Rechneraufbau & Rechnerstrukturen, Folie 13.64 © 2006 W. Oberschelp, G. Vossen

13.35 (Dreistufiges) Ω-Netzwerk.

Rechneraufbau & Rechnerstrukturen, Folie 13.65 © 2006 W. Oberschelp, G. Vossen

13.36 Das Butterfly-Netzwerk.

Inputs Outputs

Rechneraufbau & Rechnerstrukturen, Folie 13.66 © 2006 W. Oberschelp, G. Vossen

13.37 Das Beneš-Netz als universelles Permutationsnetz.

Inputs Outputs

Rechneraufbau & Rechnerstrukturen, Folie 13.67 © 2006 W. Oberschelp, G. Vossen

13.38 Clos-Netz als dynamisches Permutations-Netz.

Inputs Outputs