rechneraufbau & rechnerstrukturen, folie 12.1 © w. oberschelp, g. vossen w. oberschelp g....
TRANSCRIPT
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen
W. OberschelpG. Vossen
Kapitel 12
Rechneraufbau & Rechnerstrukturen, Folie 12.2 © W. Oberschelp, G. Vossen
12. Grund-Konzepte und –Modelle für die Parallelverarbeitung
VLSI-Algorithmen. Systolische Netze
SIMD-Rechner. PRAM Superkonzentratoren Spezielle Permutationsnetze Matrix-Multiplikation auf dem
Hypercube Routing in Permutationsnetzen Universalität von
Permutationsnetzen
Rechneraufbau & Rechnerstrukturen, Folie 12.3 © W. Oberschelp, G. Vossen
VLSI-Prozessor
. . .x x
y
a
a
Y = y + ax
Rechneraufbau & Rechnerstrukturen, Folie 12.4 © W. Oberschelp, G. Vossen
Prozessor-Pipeline
Rechneraufbau & Rechnerstrukturen, Folie 12.5 © W. Oberschelp, G. Vossen
Quadratisches Prozessor-Feld
Rechneraufbau & Rechnerstrukturen, Folie 12.6 © W. Oberschelp, G. Vossen
Hexagonales Prozessor-Feld
Rechneraufbau & Rechnerstrukturen, Folie 12.7 © W. Oberschelp, G. Vossen
(2,4)-Bandmatrix
aaaa
a11aaaa
aaaa
aaaaa
aaa
a
aa
a aa
a
21
31
41
12
22
32
42
52
23
33
43
53
63
34
44
54
64
74
45
55
65
75
85
56
66
76
67
...
.....
q
p
O
O
A =
...
......
...
Differenz der Indizes:
-10
12
3
Indizes haben gleiche Summen:
23
45
67
Rechneraufbau & Rechnerstrukturen, Folie 12.8 © W. Oberschelp, G. Vossen
Matrix-Vektor-Produkt
Rechneraufbau & Rechnerstrukturen, Folie 12.9 © W. Oberschelp, G. Vossen
Fünfelementige Prozessor-Pipeline
P P PPP-1 0 1 2 3
Rechneraufbau & Rechnerstrukturen, Folie 12.10 © W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 12.11 © W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 12.12 © W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 12.13 © W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 12.14 © W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 12.15 © W. Oberschelp, G. Vossen
Drehen der Bandmatrix
Rechneraufbau & Rechnerstrukturen, Folie 12.16 © W. Oberschelp, G. Vossen
Organisation der (syst.) Matrix-Vektor-Multiplikation
a
a
a
a
a
a
a
a
a
a
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
...
. . .
Rechneraufbau & Rechnerstrukturen, Folie 12.17 © 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 12.18 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 2
a11
a12 a21
a22 a31
a23 a32 a41
a33 a42
a34 a43 a52
P P P P P-1 31 20 y1y1
Rechneraufbau & Rechnerstrukturen, Folie 12.19 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 3
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
Rechneraufbau & Rechnerstrukturen, Folie 12.20 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 4
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
Rechneraufbau & Rechnerstrukturen, Folie 12.21 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 4
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
Rechneraufbau & Rechnerstrukturen, Folie 12.22 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 5
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
a12x1 x1
a21
y2 y2
y3=0y3
Rechneraufbau & Rechnerstrukturen, Folie 12.23 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 5
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
Rechneraufbau & Rechnerstrukturen, Folie 12.24 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 6
P P P P P-1 31 20
x2 x2
a22 a31
a23 a32 a41
a33 a42
a34 a43 a52
a44 a53
a45 a54 a63
y2
y2a22
x1
y3y3
x1
a31
Ausgabe: y1
Rechneraufbau & Rechnerstrukturen, Folie 12.25 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 6
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 +
y2x2
a55 a64
Rechneraufbau & Rechnerstrukturen, Folie 12.26 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 7
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 x1
x3
x3
a23 a32 a41
y4=0y4
Rechneraufbau & Rechnerstrukturen, Folie 12.27 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 7
P P P P P-1 31 20
a33 a42
a34 a43 a52
a44 a53
a45 a54 a63
a55 a64
y2 = a23*x3+y2x2 x1x3
y3 = a32*x2+y3 y4 = a41*x1+y4
a56 a65 a74
Rechneraufbau & Rechnerstrukturen, Folie 12.28 © W. Oberschelp, G. Vossen
Matrix-Vektor-Multiplikation: Takt 8
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 a42
y3 y4
y2
u.s.w.
Rechneraufbau & Rechnerstrukturen, Folie 12.29 © W. Oberschelp, G. Vossen
Teilweiser Ablauf der Matrix-Vektor-Multiplikation
Rechneraufbau & Rechnerstrukturen, Folie 12.30 © W. Oberschelp, G. Vossen
Hexagonales Prozessor-Feld für Matrix-Multiplikation
Rechneraufbau & Rechnerstrukturen, Folie 12.31 © W. Oberschelp, G. Vossen
Prinzip der Vernetzung von Prozessoren
P0 PM -1. . . . .
V erbindungs -N etzw erk
Rechneraufbau & Rechnerstrukturen, Folie 12.32 © W. Oberschelp, G. Vossen
Vernetzte Prozessoren mit globalem Speicher
V erbindungs -N etzw erk
PM -1
N -1S0S
0P . . . . .
. . . . .
Rechneraufbau & Rechnerstrukturen, Folie 12.33 © W. Oberschelp, G. Vossen
4x4-Crossbar Switch G1
Inputs O utputs
:1G
Rechneraufbau & Rechnerstrukturen, Folie 12.34 © W. Oberschelp, G. Vossen
(3,2)-Konzentrator
Inputs
:G
O utputs
2
Rechneraufbau & Rechnerstrukturen, Folie 12.35 © W. Oberschelp, G. Vossen
4-Superkonzentrator
G :3
Inputs O utputs
10
11
9
8
5
4
6
715
14
13
120
1
2
3
Rechneraufbau & Rechnerstrukturen, Folie 12.36 © W. Oberschelp, G. Vossen
Nicht-universelles Permutationsnetz (4-Superkonzentrator)
Rechneraufbau & Rechnerstrukturen, Folie 12.37 © W. Oberschelp, G. Vossen
Prozessor-Pipeline
Rechneraufbau & Rechnerstrukturen, Folie 12.38 © W. Oberschelp, G. Vossen
Perfect-Shuffle-Netzwerk
Rechneraufbau & Rechnerstrukturen, Folie 12.39 © W. Oberschelp, G. Vossen
Perfect-Shuffle-Netzwerk mit separaten-Ziel-Prozessoren
Rechneraufbau & Rechnerstrukturen, Folie 12.40 © W. Oberschelp, G. Vossen
Shuffle-Exchange-Netzwerk
Rechneraufbau & Rechnerstrukturen, Folie 12.41 © W. Oberschelp, G. Vossen
Array-Netzwerk
Rechneraufbau & Rechnerstrukturen, Folie 12.42 © W. Oberschelp, G. Vossen
Hypercube der Dimension 3
P
PP
P
P
P
P
P
000 001
010
100
110 111
011
101
Rechneraufbau & Rechnerstrukturen, Folie 12.43 © W. Oberschelp, G. Vossen
Hypercube der Dimension 4
P
0
4 6
11
15P
P
P
P P
P
2
3P
P5
1
P 10P
P14
P
P13P
12P
9
8
7
Rechneraufbau & Rechnerstrukturen, Folie 12.44 © W. Oberschelp, G. Vossen
Cube-Connected Cycles
Rechneraufbau & Rechnerstrukturen, Folie 12.45 © W. Oberschelp, G. Vossen
Beispiel Matrix-Multiplikation
2 0 4 2
2 4 0 2
0 2 2 4
4 2 2 0
A
1 1 5 3
1 1 3 5
5 3 1 1
3 5 1 1
B
?AB
Rechneraufbau & Rechnerstrukturen, Folie 12.46 © W. Oberschelp, G. Vossen
Beispiel Matrix-Mult.: Prozessor-Anordnung
Rechneraufbau & Rechnerstrukturen, Folie 12.47 © W. Oberschelp, G. Vossen
Beispiel Matrix-Mult.: Initialisierung
Rechneraufbau & Rechnerstrukturen, Folie 12.48 © W. Oberschelp, G. Vossen
Beispiel Matrix-Mult.: Initialisierung
Rechneraufbau & Rechnerstrukturen, Folie 12.49 © W. Oberschelp, G. Vossen
Beispiel Matrix-Mult.: nach Phase 2
Rechneraufbau & Rechnerstrukturen, Folie 12.50 © W. Oberschelp, G. Vossen
Beispiel Matrix-Mult.: nach Schritt 3
Rechneraufbau & Rechnerstrukturen, Folie 12.51 © W. Oberschelp, G. Vossen
Beispiel Matrix-Mult.: Ergebnis
Rechneraufbau & Rechnerstrukturen, Folie 12.52 © W. Oberschelp, G. Vossen
Beispiel Matrix-Mult.: Ergebnis
Rechneraufbau & Rechnerstrukturen, Folie 12.53 © W. Oberschelp, G. Vossen
Prinzip der programmierbaren Vernetzung
Rechneraufbau & Rechnerstrukturen, Folie 12.54 © W. Oberschelp, G. Vossen
Kreuzschienenschalter (Crossbar Switch)
Rechneraufbau & Rechnerstrukturen, Folie 12.55 © W. Oberschelp, G. Vossen
Programmierbares Shuffle-Exchange-Netzwerk
Rechneraufbau & Rechnerstrukturen, Folie 12.56 © W. Oberschelp, G. Vossen
Dreistufiges -Netzwerk
Rechneraufbau & Rechnerstrukturen, Folie 12.57 © W. Oberschelp, G. Vossen
Butterfly-Netzwerk
Rechneraufbau & Rechnerstrukturen, Folie 12.58 © W. Oberschelp, G. Vossen
Beneš-Netz als universelles Permutationsnetz
Rechneraufbau & Rechnerstrukturen, Folie 12.59 © W. Oberschelp, G. Vossen
Clos-Netz als dynamisches Permutations-Netz
Rechneraufbau & Rechnerstrukturen, Folie 12.60 © W. Oberschelp, G. Vossen
Ende Kapitel 12