Title: Systolic Array HW
1Systolic Array HW
- Enrique Montealegre
- CDA 4150 Computer Architecture
- Dr. Montagne
- Fall 2005
2Problem
- Using the linear array explained in class, create
a PowerPoint presentation to show all the steps
to execute two matrix vector products
simultaneously, say - y Ax and w Bz.
- The matrices must be 3 x 3 matrices and the
systolic array must have only 5 processing
elements. - a) How many steps are necessary to carry out the
simultaneous computations? - b) Assuming that the input vector is called the
carrier vector, where in the carrier vector are
the elements of x stored? - c) Where in the output vector are the elements of
w stored?
3The matrices
4Matrix Multiplication
To calculate Y we follow this formula y1
a11x1 a12x2 a13x3 y2 a21x1 a22x2
a23x3 y3 a31x1 a32x2 a33x3 To
calculate W we follow this formula w1 b11z1
b12z2 b13z3 w2 b21z1 b22z2 b23z3 w3
b31z1 b32z2 b33z3
5Processing Unit
6Systolic array with 5 processing Units
7Set Matrix A
a33
a23
a32
a31
a13
a22
a21
a12
a11
y3
y2
y1
x1
x2
x3
8Set Matrix B
b33
a33
b32
b23
a23
a32
b31
b13
b22
a31
a13
a22
b12
b21
a21
a12
b11
a11
y3
y2
y1
w1
w2
w3
x1
x2
x3
z1
z2
z3
9T0
b33
a33
b32
b23
a23
a32
b31
b13
b22
a31
a13
a22
b12
b21
a21
a12
b11
a11
y3
y2
w1
w2
w3
y1
x2
x3
z1
z2
z3
x1
10T1
b33
a33
b32
b23
a23
a32
b31
b13
b22
a31
a13
a22
b12
b21
a21
a12
b11
a11
y3
y2
w2
w3
y1
w1
x2
x3
z2
z3
x1
z1
11T2
b33
a33
b23
b32
a23
a32
b31
b13
b22
a31
a13
a22
b12
b21
a21
a12
b11
y3
w2
w3
y2
y1
w1
a11
x3
z2
z3
x1
x2
z1
y1 a11x1
12T3
b33
a33
b32
b23
a23
a32
b31
b13
b22
a31
a13
b12
b21
a22
y3
w3
y2
y1
w1
w2
a21
a12
b11
x3
z3
x1
x2
z1
z2
y1 a11x1 a12x2 y2 a21 x1
w1 b11z1
13T4
b33
a33
b32
b23
a23
a32
b31
b13
b22
w3
y3
y2
y1
w1
w2
a31
a13
a22
b12
b21
z3
x1
x2
x3
z1
z2
y1 a11x1 a12x2 a13x3 y2 a21 x1
a22x2 y3 a31x1
w1 b11z1 b12z2 w2 b21z1
14T5
b33
a33
b32
y1
b23
y3
y2
w1
w2
w3
a23
a32
b13
b22
b31
x2
x3
z1
z2
z3
y1 in output vector y2 a21 x1 a22x2
a23x3 y3 a31 x1 a32x2
w1 b11z1 b12z2 b13z3 w2 b21z1
b22z2 w3 b31z1
15T6
y1
w1
b33
y3
y2
w2
w3
a33
b32
b23
x2
x3
z2
z3
y1 in output vector y2 complete answer y3
a31 x1 a32x2 a33x3
w1 in output vector w2 b21z1 b22z2
b23z3 w3 b31z1 b32z2
16T7
y1
w1
y2
y3
w2
w3
b33
x3
z2
z3
y1 in output vector y2 in output vector y3
complete answer
w1 in output vector w2 complete answer w3
b31z1 b32z2 b33z3
17T8
y1
w1
y2
w2
y3
w3
x3
z3
y1 in output vector y2 in output vector y3
complete answer
w1 in output vector w2 in output vector w3
complete answer
18T9
y1
w1
y2
w2
y3
w3
z3
y1 in output vector y2 in output vector y3
in output vector
w1 in output vector w2 in output vector w3
complete answer
19T10
y1
w1
y2
w2
y3
w3
y1 in output vector y2 in output vector y3
in output vector
w1 in output vector w2 in output vector w3
in output vector
20Answers
- How many steps are necessary to carry out the
simultaneous computations? - It took 11 steps
- b) Assuming that the input vector is called the
carrier vector, where in the carrier vector are
the elements of x stored? -
input vector - c) Where in the output vector are the elements of
w stored? - output vector
x1
x3
x2
w1
w2
w3