High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 3: Embedded Computing High Performance Embedded Computing Wayne Wolf.

Slides:



Advertisements
Similar presentations
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Advertisements

A university for the world real R © 2009, Chapter 3 Advanced Synchronization Moe Wynn Wil van der Aalst Arthur ter Hofstede.
Based on: Petri Nets and Industrial Applications: A Tutorial
Timed Automata.
© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. System design techniques Design methodologies. Requirements and specification. 1.
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.
Chapter 8 - Self-Stabilizing Computing1 Chapter 8 – Self-Stabilizing Computing Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of January 2004 Shlomi.
SCORE - Stream Computations Organized for Reconfigurable Execution Eylon Caspi, Michael Chu, Randy Huang, Joseph Yeh, Yury Markovskiy Andre DeHon, John.
CSE 555 Protocol Engineering
A denotational framework for comparing models of computation Daniele Gasperini.
Fall 2004COMP 3351 Turing Machines. Fall 2004COMP 3352 The Language Hierarchy Regular Languages Context-Free Languages ? ?
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.
Dataflow Process Networks Lee & Parks Synchronous Dataflow Lee & Messerschmitt Abhijit Davare Nathan Kitchen.
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.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 11, 2009 Dataflow.
Costas Busch - RPI1 Turing Machines. Costas Busch - RPI2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 System Modeling. Models of Computation. System Specification Languages Alexandru Andrei.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
VLSI DSP 2008Y.T. Hwang3-1 Chapter 3 Algorithm Representation & Iteration Bound.
Advanced Topics in Algorithms and Data Structures Lecture 8.2 page 1 Some tools Our circuit C will consist of T ( n ) levels. For each time step of the.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Voicu Groza SITE Hall, Room.
PZ02B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ02B - Regular grammars Programming Language Design.
Introduction to Graph “theory” Why do we care about graph theory in testing and quality analysis? –The “flow” (both control and data) of a design, within.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Dr. Eng. Farag Elnagahy Office Phone: King ABDUL AZIZ University Faculty Of Computing and Information Technology CPCS 222.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
Hardware Design and The Petri Net Abhijit K. Deb SAM, LECS, IMIT, KTH Kista, Stockholm.
Computability Chapter 5. Overview  Turing Machine (TM) considered to be the most general computational model that can be devised (Church-Turing thesis)
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.
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.
1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Language Translation Part 2: Finite State Machines.
Petri-Nets and Other Models
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
December 3, 2009Theory of Computation Lecture 21: Turing Machines III 1 Simulation of T in L Now the MIDDLE section of Q can be generated by replacing.
1 Introduction to Turing Machines
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Turing Machine Model Are there computations that no “reasonable” computing machine can perform? –the machine should not store the answer to all possible.
8. Introduction to Turing Machines
CPE555A: Real-Time Embedded Systems
2. Specification and Modeling
Modeling Arithmetic, Computation, and Languages
System design techniques
OTHER MODELS OF TURING MACHINES
Turing Machines 2nd 2017 Lecture 9.
CSE 105 theory of computation
Event Relation Graphs and Extensions in Ptolemy II
Turing Machines Acceptors; Enumerators
Chapter 9 TURING MACHINES.
فصل سوم The Church-Turing Thesis
CSCI1600: Embedded and Real Time Software
8. Introduction to Turing Machines
CSE 105 theory of computation
CSCI1600: Embedded and Real Time Software
Theory of Computation Lecture 23: Turing Machines III
332:437 Lecture 14 Turing Machines and State Machine Sequences
CSE 105 theory of computation
Presentation transcript:

High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 3: Embedded Computing High Performance Embedded Computing 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 affect programming style. No one model of computation is good for all algorithms. Large systems may require different models of computation for different parts.  Models must communicate compatibly.

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

© 2006 Elsevier Finite state machine 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

© 2006 Elsevier Finite state machine properties Finite state. Nondeterministic variant.

© 2006 Elsevier Nondeterministic FSM Several transitions out of a state for a given input.  Equivalent to executing all alternatives in parallel. Can allow  moves--- goes to next state without input. s1s2 a a

© 2006 Elsevier Deterministic FSM from nondeterministic FSM Add states for the various combinations of nondeterminism. 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/proper subset of Turing machine.

© 2006 Elsevier Control flow graph Commonly used to model program structure. x = a - b i = 0? y = c + d x = a

© 2006 Elsevier CDFG properties Finite state model. Single thread of control. Can handle subroutines.

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

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

© 2006 Elsevier Task graph Used to model multi-rate systems. 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. Possible models of execution time:  Constant.  Min-max bounds.  Statistical. Can model late arrivals, early departures by adding dummy processes.

© 2006 Elsevier Data flow graph 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 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 nor consumed. Edges may have delays

© 2006 Elsevier SDF example This graph has consistent sample rates: 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 Properties of processes Processes are usually required to be continuous: least upper boundedness can be moved across function boundary. Monotonicity:  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 is  X = F(X,I)

© 2006 Elsevier Network properties A network of monotonic processes is a monotonic process.  Even in the presence of feedback loops. Can add nondeterminism in several ways:  allow process to test for emptiness;  allow process to be internally nondeterminate;  allow more than one process to consume data from a channel;  etc.

© 2006 Elsevier Statecharts Ancestor of UML state diagrams. Provided composite states:  OR states;  AND states. Composite states reduce the size of the state transition graph.

© 2006 Elsevier Statechart OR state S1 S2 S3 S4 i1 i2 traditional S1 S2 S3 S4 i1 i2 OR state s123

© 2006 Elsevier Statechart AND state S1-3S1-4 S2-3S2-4 S5 traditional c d b a r c d b a S1S3 S2S4 S5 AND state c d r b a sab r

© 2006 Elsevier TCAS II specification TCAS II: aircraft collision avoidance system. Monitors aircraft and air traffic info. Provides audio warnings and directives to avoid collisions. Leveson et al used RMSL language to capture the TCAS specification.

© 2006 Elsevier RMSL State description: Transition bus for transitions between many states: state1 inputs state description outputs a b c d

© 2006 Elsevier TCAS top-level description CAS power-off power-on Inputs: TCAS-operational-status {operational,not-operational} fully-operational C standby own-aircraft other-aircraft i:[1..30] mode-s-ground-station i:[1..15]

© 2006 Elsevier Own-Aircraft AND state CAS Inputs: own-alt-radio: integer standby-discrete-input: {true,false} own-alt-barometric:integer, etc. Effective-SLAlt-SLAlt-layer Climb-inibitDescend-inibit Increase-climb-inibit Increase-Descend-inibit Advisory-Status Outputs: sound-aural-alarm: {true,false} aural-alarm-inhibit: {true, false} combined-control-out: enumerated, etc.