Vous êtes sur la page 1sur 25

Architecture & Design Methods of Embedded Systems

Comparison of different Data


Flow Graph Models

Sameer Gupta
Under guidance of
Mr. Dominik Luecke

Abstract

Introduction
Advantages of Data Flow Graphs (DFG)
Extensions to DFG
Comparison of different DFG
Conclusion

Sameer Gupta (2006)

Introduction

Widely used because

Ability to specify,
execute programs in
parallel.
Asynchronous
activity
Still keeping data
dependencies.
Example: Parallelism
in Hardware
Sameer Gupta (2006)

OP1

OP2

OP3

Introduction
Advantages of Data Flow Graphs (DFG)
Extensions to DFG
Comparison of different DFG
Conclusion

Sameer Gupta (2006)

Advantage of Data Flow Graph

Compactness and general amenability


to interpretation.
Execution controlled by arrival of data
(tokens).

Sameer Gupta (2006)

Introduction
Data Flow Graphs (DFG)
Extensions to DFG
Comparison of different DFG
Conclusion

Sameer Gupta (2006)

Data Flow Graph:


Extended Models

Several Extensions:

Provides useful capabilities


Poses greater challenges to Data Flow
Simulator System implementers
Sameer Gupta (2006)

Extensions (contd.)

We would consider the following


extensions:

Data Flow Graphs

Without intermediate nodes to store results


With intermediate nodes to store results
With named tokens
With stream of tokens
For re-configurable systems
Sameer Gupta (2006)

Data Flow Graph without


intermediate nodes to store result

No intermediate
nodes to store
results
Edges used to store
intermediate results
Example:

Calculate:

square

square

Add

sqrt

(a^2+b^2)^0.5
y
Sameer Gupta (2006)

Properties

This has following properties

Nodes receive only one data (token) per


incoming arc.
Nodes generate only one data (token) per
outgoing arc.
No feedback possible

Sameer Gupta (2006)

10

Data Flow Graph with


intermediate result storage

Intermediate nodes
to store result
Edges no longer
store data (tokens)
Use t1 and t2 as
temporary storage
Example

c = a^2 + b^2

aa

t1

t2
+
c

Sameer Gupta (2006)

11

Comparison

This model has same advantages and


disadvantages as the first model

Actually similar to the first model

Both can be used interchangeably

Data is stored in arcs vs. being stored in


intermediate nodes.
Sameer Gupta (2006)

12

Data Flow Model with named


tokens

A token may carry the name of the


operation to be performed
Corresponding operation is performed on the
data item (token)
It is very useful where a given function would
be selected from a class of functions, based
on instance of invocation
Example: Chose between arithmetic operation
Sameer Gupta (2006)

13

Example: (Named Tokens)

OP1 and OP2


represents the
family of Arithmetic
operations.
Depending on the
name of the token,
corresponding
operation is
performed.
Sameer Gupta (2006)

OP1

OP2

+
y

14

Data Flow Model with Stream


of tokens

Input to the nodes is a stream of tokens


instead of single token
It provides an effective way to
reference several homogeneous data
tokens as a group

Sameer Gupta (2006)

15

Example: Stream of tokens

This model is very useful in the a


system which have inputs as streams.
Example: Audio/ Video processing. To
calculate FFT we need a set of values,
which can be input as a stream of
tokens with a special token to mark end
of stream.
Sameer Gupta (2006)

16

Data Flow Graph for


reconfigurable systems

Partially or non-directed graphs


Special nodes (configuration specifying
nodes)
Special arcs (snoop arcs)
Described as 4-tuple

(A, N, S, K)

A: Set of Arcs
N: Set of Nodes
S: Snoop Arcs
K: Coloring scheme to identify tokens
Sameer Gupta (2006)

17

Cont.

Snoop Arcs:
These arcs are used to
gather information
about the state of the
nodes and to
communicate these
values
Example: Abstract
section of a larger
model.

CT

Sameer Gupta (2006)

18

Introduction
Advantages of Data Flow Graphs (DFG)
Extensions to DFG
Comparison of different DFG
Conclusion

Sameer Gupta (2006)

19

Comparison of Data Flow


Graph Models

Much research has been done in


defining functionality, programming
methodologies etc.
Not much effort in formalization of Data
Flow Graph Models itself
Many definitions and extensions
Leads to incompatible and noncomparable models
Sameer Gupta (2006)

20

Comparison of Data Flow


Graph Models (contd.)
a

OP1

OP2

OP3

Sameer Gupta (2006)

21

Introduction
Advantages of Data Flow Graphs (DFG)
Extensions to DFG
Comparison of different DFG
Conclusion

Sameer Gupta (2006)

22

Conclusion

Studied many Data Flow Graph Models

Without intermediate nodes


With intermediate nodes
With Named tokens
With Stream of tokens
For Re-configurable systems (abstract)

Need to formulate a standard definition


of Data Flow Graph Model
Sameer Gupta (2006)

23

References

J. Backus, Can programs be liberated from Von Neumann style? A functional style and its algebra of
programs, CACM, pp 613-641, Aug 1978

M. Radetzki, Modelling, Simulation and Specification, Lecture notes, Winter Semester 2005/2006.

M. Radetzki, Embedded Systems Engineering, Lecture notes, Summer Semester 2006.

Arvind, Kim P. Gostelow and Wil Plouffe, An Asynchronous Programming Language and Computing
Machine, Department of Information and Computer Science, University of California, Irvine, California,
Dec. 8, 1978.

King Song Weng, Stream Oriented Computation in Recursive Data Flow Schema, Masters Thesis,
Laboratory for Computer Science, Massachusetts Institute if Technology, 1975.

J.B. Dennis and D.P. Misunas, A preliminary architecture for a basic data flow processor, Proceedings
of the 2nd annual symposium on Computer Architecture, 1975.

J.E. Rumbaugh, Data Flow Multiprocessor, IEEE TC, C-26, February 1977.

A.L. Davis, The architecture and system method of DDM1: A recursively structured data driven
machine, Proceedings of the 5th Annual Symposium on Computer Architecture, 1978.

Sameer Gupta (2006)

24

Thank You
Thank You for your attention

Please feel free


to
Ask any questions
Sameer Gupta (2006)

25

Vous aimerez peut-être aussi