300 likes | 482 Views
Embedded Computer Architecture 2. (BOCA). Bijzondere Onderwerpen Computer Architectuur Block B Index Transformations. The convolution algorithm.
E N D
Embedded Computer Architecture 2 (BOCA) Bijzondere Onderwerpen Computer Architectuur Block B Index Transformations
The convolution algorithm The behavior of a linear time-invariant system can be fully described by its impulse response h, i.e. the response on the output to a single unit pulse on the input. The response y on the output to an input stream x then follows from: or
The convolution algorithm continue with j = z – i, we obtain: and if the impulse response h is finite (bounded), i.e. we get
x y F The dependency graph of the convolution We will investigate the dependency graph for both the convolution formulas and
x y F The DG of the convolution In which h is the impulse response defining the system F. Recurrent relations:
x y F The DG of the convolution In which h is the impulse response defining the system F. Recurrent relations: Let x be a bounded sequence of length NX, i.e.: for and And let hbe a bounded sequence of length NH, i.e.: for and
hence The convolution and for and and for z-i<0 NX=NH= 5 i -1 0 1 2 3 4 5 -1 0 1 2 or 3 4 5 z 6 7 8 i>4 or i<0 9 z-i>4
and Hence, with we obtain for so and with we obtain for so so can be replaced by The convolution Recall:
implies for all i Notice that i.e. z < 0 or z > NX + NH-2 implies for all i, and thus yz= 0 The convolution Recall: Hence, yzis a bounded sequence too. Consequently the recurrent relations become: for
global variables xi hz-i hz-i xi x sz,i-1 sz,i sz,i-1 sz,i Fz,i + local variables The DG of the convolution Implementation basic cell Basic cell
x0 h0 x1 y0=s0,0 0 h1 x2 y1=s1,1 0 x3 h2 y2=s2,2 0 h3 y3=s3,3 0 h4 y4=s4,3 0 y5=s5,3 0 y6=s6,3 0 0 y7=s7,3 The DG of the convolution Dependency graph (globally recursive) i z NX = 4 NH = 5
global dependencies (broadcasts) Transformation from a globally recursive to a locally recursive DG Recall the recurrent relations of the globally recursive graph: for for
h0 x0 y0=so,o 0 h1 x1 y1=s1,1 0 h2 x2 y2=s2,2 0 h3 x3 y3=s3,3 0 h4 y4=s4,3 0 y5=s5,3 0 y6=s6,3 0 y7=s7,3 0 The DG of the convolution Dependency graph (locally recursive) NX = 4 NH = 5 Easier: First make the graph and then the recurrent relations
The DG of the convolution Alternatives for the locally recursive dependency graph global local for xi : 2 alternatives total : 8 alternatives for hi : 2 alternatives for : 2 alternatives
h0 0 h1 0 h2 0 h3 0 h4 0 The DG of the convolution One of the alternative locally recursive graphs y0=so,o 0 y1=s1,0 0 y2=s2,0 0 y3=s3,0 y4=s4,0 x0 y5=s5,1 x1 NX = 4 NH = 5 y6=s6,2 x2 y7=s7,3 x3
x y F The dependency graph of the convolution We will investigate the dependency graph for both the convolution formulas and We have investigated this one This one can be investigated similarly
xz-i hi sz,i-1 sz,i Fz,i The DG of the convolution h0 x0 y0=so,o 0 h1 x1 y1=s1,1 0 h2 x2 y2=s2,2 0 x3 h3 y3=s3,3 0 h4 y4=s4,3 0 y5=s5,3 0 NX = 4 NH = 5 Basic cell y6=s6,3 0 y7=s7,3 0
The DG of the convolution x0 The locally recursive DG h0 y0=s0,0 0 x1 h1 y1=s1,1 0 x2 h2 y2=s2,2 0 x3 h3 y3=s3,3 0 h4 y4=s4,3 0 y5=s5,3 0 NX = 4 NH = 5 y6=s6,3 0 y7=s7,3 0
The DG of versus x0 h0 h0 y0=s0,0 x0 0 x1 y0=s0,0 0 h1 h1 y1=s1,1 x1 0 x2 y1=s1,1 0 h2 h2 x2 y2=s2,2 0 x3 y2=s2,2 0 h3 h3 x3 y3=s3,3 0 x4 y3=s3,3 0 h4 h4 y4=s4,3 x4 0 x5 y4=s4,4 0 y5=s5,3 x5 0 x6 y5=s5,5 0 x6 y6=s6,3 0 y6=s6,6 0 y7=s7,3 x7 y7=s7,7 0 0
Algebraic description of a DG Node description Each node in an N-dimensional DG can be described by a vector in an N-dimensional index space. 1 2 3 4 5 6 7 8 (6,3)
our choice Algebraic description of a DG Edge description Alternative 1 Alternative 2 3 3 2 2 source destination source destination 6 6 (0,1) (6,2) (6,2) (6,3)
Algebraic description of a DG A dependency graph is fully described by: • The set of nodes • The set of intermediate edges • The set of input edges • The set of output edges virtual nodes: in which
Algebraic description of a DG 0,0 1,0 1,1 nodes: Vn= {(0,0),(1,0),(1,1)} intermediate edges: Eint= {((0,0),(1,0)),((1,0),(0,1))} input edges: Ein= {((0,-1),(0,1)),((1,-1),(0,1)),((-1,0),(1,0)),((0,1),(1,0))} output edges: Eout= {((0,0),(0,1)),((1,1 ),(0,1)),((1,0),(1,0)),((1,1),(1,0))}
Shifting the origin = adding a vector is vector in the new description is vector in the old description causes a shift of the origin is a non-singular matrix Index transformations An N-dimensional dependency graph can be linearly transformed by: Just cosmetic. Does not give new designs Chosing a different base with the same origin = multiplying with a non-singular matrix A So In which:
Index transformations Shifting the origin with a vector is just cosmetic and does not lead to any new designs. So we refrain from this operation. Hence, Because A is non-singular, the inverse tranform is always possible. All vectors in the algebraic description of the DG have to be multiplied with A.
0,0 0,1 0,2 0,0 1,1 1,2 1,0 0,0 1,1 2,2 1,-1 2,0 2,1 2,2 2,0 2,-2 3,-1 4,0 Examples of index transformations Transformation Transformation An edge consists of two vectors Both are multiplied with A
The DG of versus x0 h0 h0 x0 y0=s0,0 0 y0=s0,0 0 x1 h1 h1 x1 y1=s1,1 y1=s1,1 0 0 x2 h2 h2 x2 y2=s2,2 0 y2=s2,2 0 x3 h3 h3 x3 y3=s3,3 y3=s3,3 0 0 x4 h4 h4 x4 y4=s4,4 y4=s4,4 0 0 x5 x5 y5=s5,4 y5=s5,5 0 0 x6 x6 y6=s6,6 y6=s6,4 0 0 0 x7 y7=s7,4 0 0
The DG of versus Applying the transformation h0 (0,0) → (0,0) x0 y0=s0,0 0 h1 x1 (1,0) → (1,1) y1=s1,0 0 h2 (1,1) → (1,0) x2 y2=s2,0 0 h3 x3 (2,0) → (2,2) y3=s3,0 0 h4 (2,1) → (2,1) x4 0 y4=s4,0 (2,2) → (2,0) x5 0 y5=s5,1 x6 0 y6=s6,2
The DG of versus Applying the transformation x0 h0 h0 x0 y0=s0,0 y0=s0,0 0 0 x1 h1 h1 x1 y1=s1,0 y1=s1,1 0 0 x2 h2 h2 x2 y2=s2,0 0 y2=s2,2 0 x3 h3 h3 x3 y3=s3,0 y3=s3,3 0 0 x4 h4 h4 x4 y4=s4,4 0 0 y4=s4,0 x5 x5 y5=s5,4 0 0 x6 y5=s5,1 x6 y6=s6,4 0 0 y6=s6,2 y7=s7,4
Examples of index transformations The previous transformation elucidates that index transformations on a formula are identical to the transformations in the N-dimensional index space. Hence, transformation in the N-dimensional index space might support index transformation on a formula.