Presentation is loading. Please wait.

Presentation is loading. Please wait.

Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.

Similar presentations


Presentation on theme: "Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded."— Presentation transcript:

1 Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded systems? The problem with threads, requirements for specifications, models of computation, communication paradigms, finite state machine based model for local systems How to specify embedded systems? Finite state machine based model for distributed systems, data flow based models, Kahn process networks, synchronous dataflow, computational graphs, Petri nets Lab Specification languages: simulation of Kahn process networks Day 2 How to specify embedded systems? Task graphs, computational graphs in UML (sequence charts, activity charts), ADA, imperative models of computation and message passing libraries (MPI), discrete event models (VHDL, SystemC), UML for real- time Lab: Specification languages: Ptolemy heterogeneous system modeling Mapping of applications to platforms Scheduling algorithms for aperiodic processes; rate monotonic scheduling (RMS) Mapping of applications to platforms Earliest deadline first (EDF) scheduling, priority inversion, resource access protocols, impact on middleware, scheduling for dependent tasks.

2 Course Outline DayContents Day 3 Mapping of applications to platforms Hardware/Software partitioning in COOL, Daedalus design-flow, ETH Zürich approach for mapping to platforms Lab: Real-time scheduling: Simulation of aperiodic and periodic scheduling, priority inversion, resource access protocols How to make designs efficient?* Prepass optimizations, loop nest splitting, polytope model, genetic algorithm, search space exploration, results How to make designs efficient?* High-level intermediate representation, ICD-C, low-level intermediate representation, parallelization for multi- DSPs, program recovery, data partitioning, parallelization, results Day 4 How to deal with slow memories? The problem with memories, design objectives, energy models, scratch-pad memories, non-overlaying allocation for code and global variables Lab Modeling of scratch-pad optimization as an integer linear program, computation of energy savings How to deal with slow memories? Scratch-pad partitioning, allocation of stack and heap, impact on predictability, overlaying allocation for single threads, array allocation, multiple hierarchy levels How to deal with slow memories? Allocation for multiple threads, dynamic sets of applications, scratch-pads with memory management unit, multiple processors, cache way prediction; improving the locality of references for caches: data layout transformations, loop tiling

3 Course Outline DayContents Day 5 How to deal with slow memories? Exploiting caches: simple loop transformations, prefetching; Optimizations for the main memory: array folding, code layout transformations, array folding; flash memory: flash transaction layer; secondary memory algorithms Lab Modeling of scratch-pad optimization as an integer linear program, computation of energy savings Is my software fast enough, always?* Definition of worst case execution, workflow for WCET analyzer aiT, coupling worst case analysis and compilation, switching of worst case execution paths, function specialization, results Wrap up Languages for describing memory hierarchies; curricula for embedded system education; overall discussion regarding the course. * Lecture by Dr. Heiko Falk.


Download ppt "Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded."

Similar presentations


Ads by Google