- 120 Views
- Uploaded on
- Presentation posted in: General

(BOCA)

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

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