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

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

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

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

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

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

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

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

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

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

13.1 VLSI-„Prozessor“.

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

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

13.2 Prozessor-Pipeline.

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

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

13.3 (Quadratisches) Prozessor-Feld.

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

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

13.4 Hexagonales Prozessor-Feld.

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

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.

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

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

Matrix-Vektor-Produkt

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

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

13.6 Fünfelementige Prozessor-Pipeline.

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

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

Drehen der Bandmatrix

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

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

Drehen der Bandmatrix

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

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

Drehen der Bandmatrix

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

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

Drehen der Bandmatrix

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

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

Drehen der Bandmatrix

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

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

Drehen der Bandmatrix

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Teilweiser Ablauf der Matrix-Vektor-Multiplikation

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

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

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

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

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

13.9 Prinzip der Vernetzung von Prozessoren.

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

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

13.10 Vernetzte Prozessoren mit globalem Speicher.

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

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

13.11 4 x 4-Crossbar Switch G1.

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

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

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

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

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

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

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

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

13.14 Nicht-universelles Permutationsnetz (4-Superkonzentrator).

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

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

13.15 (Offene) Prozessor-Pipeline.

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

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

13.16 (Geschlossene) Prozessor-Pipeline (Ring).

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

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

13.17 (Geschlossene) Prozessor-Speicher-Pipeline.

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

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

13.18 Perfect-Shuffle-Netzwerk.

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

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

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

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

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

13.20 Shuffle-Exchange-Netzwerk.

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

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

13.21 Array-Netzwerk.

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

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

13.22 Hypercube der Dimension m = 3.

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

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

13.23 Hypercube der Dimension m = 4.

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

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

13.24 Cube-Connected Cycles.

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

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).

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

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).

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

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

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

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

Initialisierung

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

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

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

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

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

13.28 Beispiel: Speicherbelegung der Prozessorennach Beendigung der Phase 2.

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

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

nach Phase 2

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

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

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

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

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

nach Schritt 3

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

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

13.30 Beispiel: Speicherbelegung derProzessoren am Ende der Rechnung.

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

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

Ergebnis

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

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

Ergebnis

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

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

13.31 Prinzip der programmierbaren Vernetzung.

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

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

13.32 Kreuzschienenschalter (Crossbar Switch).

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

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

13.33 „Exchange-Modul“.

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

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

13.34 Programmierbares Shuffle-Exchange-Netzwerk.

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

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

13.35 (Dreistufiges) Ω-Netzwerk.

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

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

13.36 Das Butterfly-Netzwerk.

Inputs Outputs

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

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

13.37 Das Beneš-Netz als universelles Permutationsnetz.

Inputs Outputs

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

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

13.38 Clos-Netz als dynamisches Permutations-Netz.

Inputs Outputs