High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.

Slides:



Advertisements
Similar presentations
CSC 361NFA vs. DFA1. CSC 361NFA vs. DFA2 NFAs vs. DFAs NFAs can be constructed from DFAs using transitions: Called NFA- Suppose M 1 accepts L 1, M 2 accepts.
Advertisements

Introduction to Petri Nets Hugo Andrés López
8/25/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 1 Theory of Computation Course information Overview of the area Finite Automata Sofya.
Based on: Petri Nets and Industrial Applications: A Tutorial
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
Modern VLSI Design 2e: Chapter 8 Copyright  1998 Prentice Hall PTR Topics n High-level synthesis. n Architectures for low power. n Testability and architecture.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design.
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture7: PushDown Automata (Part 1) Prof. Amos Israeli.
Courtesy Costas Busch - RPI1 Non Deterministic Automata.
61 Nondeterminism and Nodeterministic Automata. 62 The computational machine models that we learned in the class are deterministic in the sense that the.
SCORE - Stream Computations Organized for Reconfigurable Execution Eylon Caspi, Michael Chu, Randy Huang, Joseph Yeh, Yury Markovskiy Andre DeHon, John.
CS 584. A Parallel Programming Model We need abstractions to make it simple. The programming model needs to fit our parallel machine model. Abstractions.
Finite Automata Finite-state machine with no output. FA consists of States, Transitions between states FA is a 5-tuple Example! A string x is recognized.
CSE 555 Protocol Engineering
A denotational framework for comparing models of computation Daniele Gasperini.
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
Quantum Automata Formalism. These are general questions related to complexity of quantum algorithms, combinational and sequential.
Dataflow Process Networks Lee & Parks Synchronous Dataflow Lee & Messerschmitt Abhijit Davare Nathan Kitchen.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Models of Computation for Embedded System Design Alvise Bonivento.
A Denotational Semantics For Dataflow with Firing Edward A. Lee Jike Chong Wei Zheng Paper Discussion for.
1 System Modeling. Models of Computation. System Specification Languages Alexandru Andrei.
CS294-6 Reconfigurable Computing Day 23 November 10, 1998 Stream Processing.
Introduction to Finite Automata Adapted from the slides of Stanford CS154.
VLSI DSP 2008Y.T. Hwang3-1 Chapter 3 Algorithm Representation & Iteration Bound.
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
CSE 311: Foundations of Computing Fall 2014 Lecture 23: State Minimization, NFAs.
CMPE 511 DATA FLOW MACHINES Mustafa Emre ERKOÇ 11/12/2003.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Voicu Groza SITE Hall, Room.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
1 Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 1 Adaptation to this.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
1 - CPRE 583 (Reconfigurable Computing): Compute Models Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 7: Wed 10/28/2009 (Compute.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
CAP 4800/CAP 5805: Computer Simulation Concepts
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
School of Computer Science, The University of Adelaide© The University of Adelaide, Control Data Flow Graphs An experiment using Design/CPN Sue Tyerman.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
CAP 4800/CAP 5805: Computer Simulation Concepts
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 3: Embedded Computing High Performance Embedded Computing Wayne Wolf.
High Performance Embedded Computing © 2007 Elsevier Lecture 10: Code Generation Embedded Computing Systems Michael Schulte Based on slides and textbook.
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
Finite-State Machines Fundamental Data Structures and Algorithms Peter Lee March 11, 2003.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
LECTURE 5 Scanning. SYNTAX ANALYSIS We know from our previous lectures that the process of verifying the syntax of the program is performed in two stages:
Turing Machine Model Are there computations that no “reasonable” computing machine can perform? –the machine should not store the answer to all possible.
WELCOME TO A JOURNEY TO CS419 Dr. Hussien Sharaf Dr. Mohammad Nassef Department of Computer Science, Faculty of Computers and Information, Cairo University.
Non Deterministic Automata
2. Specification and Modeling
Clockless Computing COMP
Modeling Arithmetic, Computation, and Languages
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Turing Machines Acceptors; Enumerators
Chapter 9 TURING MACHINES.
8. Introduction to Turing Machines
CSCI1600: Embedded and Real Time Software
Non Deterministic Automata
332:437 Lecture 14 Turing Machines and State Machine Sequences
Prof. Onur Mutlu Carnegie Mellon University
Presentation transcript:

High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based on slides and textbook from Wayne Wolf

© 2006 Elsevier Topics Why models of computation? Structural models. Finite-state machines. Turing machines. Petri nets. Control flow graphs. Data flow models. Task graphs. Control flow models.

© 2006 Elsevier Models of computation Models of computation:  Define the basic capabilities of an abstract computer  Affect programming style No one model of computation is good for all algorithms.  Systems that use multiple programming languages are called heterogeneously programmed.

© 2006 Elsevier Aspects of models of computation Large systems may require different models of computation for different parts.  Models must communicate with one another Models of computation can be distinguished by:  Finite state vs. infinite state  Control vs. data  Sequential vs. parallel Introduce models now, cover in more detail later

© 2006 Elsevier Processor graph M1M1 L1L1 M2M2 M3M3 M4M4 L2L2 L3L3

© 2006 Elsevier Finite state machines State transition graph and table are equivalent: s3 s1s2 0/0 0/1 1/0 0/0 1/1 1/0 0s1s20 1s1 0 0s2 1 1 s s11 I S Δ O

© 2006 Elsevier Nondeterministic FSM Several transitions out of a state for a given input.  Equivalent to executing all alternatives in parallel.  Future inputs may cause some paths to be pruned Can allow  moves---goes to next state without input. Also known as nondeterministic finite automata (NFA) s1s2 a a

© 2006 Elsevier Deterministic FSM from NFA Any NFA can be transformed into a deterministic FSM. Add states for the various combinations of non-determinism. So why use NFAs? s1s2 a a s3 nondeterministic b s4 c s1s12 a s3 b s4 c c deterministic

© 2006 Elsevier Turing machine General model of computing: program head tape state

© 2006 Elsevier Turing machine step 1. Read current square. 2. Erase current square. 3. Take state-dependent action: 1. Print new value. 2. Move to adjacent cell. 3. Set machine to next state.

© 2006 Elsevier Turing machine properties Example program:  If (state = 2 and cell = 0): print 0, move left, state = 4.  If (state = 2 and cell = 1): print 1, move left, state = 3. Can be implemented on many physical devices. Turing machine is a general model of computability. Can be extended to probabilistic behavior.

© 2006 Elsevier Turing machine properties Infinite tape = infinite state machine. Basic model of computability.  Lambda calculus is alternative model.  Other models of computing can be shown to be equivalent to or proper subset of Turing machine. What advantages and disadvantages do Turing machines have compared to finite state machines?

© 2006 Elsevier Control flow graph (CFG) Commonly used to model program structure. Nodes are unconditionally or conditionally executed. Is this a finite state or infinite state model of computation? x = a - b y = c + d x = a i = 0?

© 2006 Elsevier Data flow graph (DFG) Partially-ordered computations: +- * + -, * +, -, * -, +, *

© 2006 Elsevier Data flow streams Captures sequence but not time. Totally-ordered set of values.  New values are appended at the end as they appear. May be infinite

© 2006 Elsevier Firing rules A node may have one or more firing rules. Firing rules determine when tokens are consumed and produced.  Firing consumes a set of tokens at inputs, generates token at output.

© 2006 Elsevier Example firing rules Basic rule fires when tokens are available at all inputs: Conditional firing rule depends on control input: + a b c a b T

© 2006 Elsevier Data flow graph properties Finite state model. Basic data flow graph is acyclic. Scheduling provides a total ordering of operations.

© 2006 Elsevier Synchronous data flow (SDF) Lee/Messerschmitt: Relate data flow graph properties to schedulability.  Synchronous communication between data flow nodes.  Nodes may communicate at multiple rates.

© 2006 Elsevier SDF notation Nodes may have rates at which data are produced or consumed. Edges may have delays

© 2006 Elsevier SDF example What are the input and output rates of each node? separate outputs

© 2006 Elsevier Delays in SDF graphs Delays do not change rates, only the amount of data stored in the system. Changes system start-up

© 2006 Elsevier Kahn process network Process has unbounded FIFO at each input: Each channel carries a possibly infinite sequence or stream. A process maps one or more input sequences to one or more output sequences. processchannel

© 2006 Elsevier Monotonicity of Khan processes If F(X) is the output of a processor for input stream X, the system is monotonic if: X in X’ => F(X) in F(X’)

© 2006 Elsevier Networks of processes A network of processes relates the streams of several processes. If I = input sequences, X = internal sequences + outputs, then network behavior fixed point behavior is  X = F(X,I) A network of monotonic processes is a monotonic process.  Even in the presence of feedback loops.

© 2006 Elsevier Task graph Used to model parallelism. 11 22 P1P1 P2P2 P3P3 P4P4 P5P5

© 2006 Elsevier Task graph properties Not a Turning machine.  No branching behavior.  May be extended to provide conditionals, but still FSMs Possible models of execution time:  Constant.  Min-max bounds.  Statistical. Can model late arrivals, early departures by adding dummy processes.

© 2006 Elsevier Petri net Parallel model of computation. place arc token transition

© 2006 Elsevier Firing rule A transition is enabled if each place at its inputs have at least one token.  A transition doesn’t have to fire right away. Firing a transition removes tokens from inputs and adds a token to each output place. In general, may require multiple tokens to enable firing.

© 2006 Elsevier Properties of Petri nets Turing complete. Arbitrary number of tokens.  Nondeterministic behavior.  Naturally model parallelism.

© 2006 Elsevier Communication models Buffered communication – assumes memory is available to store a values if the receiver is not ready to receive it Unbuffered communication – assumes no memory between the sender and receiver Blocking communication – sender waits until the receiver has the data Nonblocking communication – does no require the sender to wait until the receiver has the data

© 2006 Elsevier Sources of parallelism Instruction-level parallelism – from executing independent instructions in parallel Data-level parallelism – from executing the same operation on multiple pieces of data in parallel Task-level parallelism – from performing multiple tasks in parallel What are mechanisms used to exploit each type of parallelism?