SlideShare ist ein Scribd-Unternehmen logo
1 von 80
Downloaden Sie, um offline zu lesen
INTRODUCTION TO EMBEDDED
           SYSTEM DESIGN
                      Mukesh Kumar
           mkb@genericembedded.com
           www.genericembedded.com
           www genericembedded com
Agenda (1)
• Introduction to Embedded System Design
  – General Introduction to Embedded Systems
    General Introduction to Embedded Systems
  – Hardware Platforms and Components
    • System Specialization
       y       p
    • Application Specific Instruction Sets
        – Micro Controller
        – Di i l Si l P
          Digital Signal Processors and VLIW
                                      d VLIW
  – Programmable Hardware
  – ASICs
Agenda (2)
Agenda (2)
• Challenges in embedded system design
  Challenges in embedded system design
  • Dependability, efficiency, …
  – Design flows
    Design flows
  – Requirements for specification techniques
  – Models of computation
    Models of computation
      • Local model
      • Communication
What is Embedded System?..
                  y
 Embedded systems (ES)  information
 Embedded systems (ES) = information 
 processing systems embedded into a larger 
 product
 An embedded system is a computer system 
 designed to do one or a few dedicated and/or 
 specific functions often with real‐time 
 computing constraints. It is embedded as part 
 of a complete device often including hardware 
  f         l   d i     f    i l di h d
 and mechanical parts.
What is Embedded System?..2
What is Embedded System?..2
Application areas (1)
• Automotive electronics

• Avionics

• Trains

• Telecommunication
Application areas (2)
• Robotics
Examples of Embedded Systems
Examples of Embedded Systems
• Car as an integrated control, communication 
  and information system.
    di f        i
Examples of Embedded Systems
Examples of Embedded Systems
Consumer electronics, for example MP3 Audio, 
  digital camera, home electronics, … .
Examples of Embedded Systems
Examples of Embedded Systems
Examples of Embedded Systems
Information systems, for example wireless 
  communication (mobile phone, Wireless LAN, 
  communication (mobile phone, Wireless LAN,
  …), end‐user equipment, router, …
Communicating Embedded Systems
• Example: BTnodes http://www.btnode.ethz.ch)
  – complete platform including OS
  – especially suited for pervasive computing applications
BTnode Platform
Communicating Embedded Systems
• sensor networks (civil engineering, buildings, environmental 
  monitoring, traffic, emergency situations)
• smart products, wearable/ubiquitous computing
                            /
Characteristics of Embedded Systems (1)
• Must be dependable:
  – Reliability: R(t) = probability of system working correctly
    provided that is was working at t=0
  – Maintainability: M(d) = probability of system working 
    correctly d time units after error occurred.
    correctly d time units after error occurred
  – Availability: probability of system working at time t
  – Safety: no harm to be caused
    Safety: no harm to be caused
  – Security: confidential and authentic communication

 Even perfectly designed systems can fail if the assumptions about the
 workload and possible errors turn out to be wrong. Making the system
 dependable must not be an after‐thought, it must be considered from
 the very beginning
          beginning.
Characteristics of Embedded Systems (2)
• Must be efficient:
   –   Energy efficient 
   –   Code‐size efficient (especially for systems on a chip)
   –   Run‐time efficient
   –   Weight efficient
       Weight efficient
   –   Cost efficient

• D di
  Dedicated towards a certain application: Knowledge 
           d      d          i    li i     K    l d
  about behavior at design time can be used to 
  minimize resources and to maximize robustness.
• Dedicated user interface (no mouse, keyboard and 
  screen).
Characteristics of Embedded Systems (3)
• Many ES must meet real‐time constraints:
   – A real-time system must react to stimuli from
     the controlled object (or the operator) within the
     time interval dictated by the environment.
   – For real‐time systems, right answers arriving too late 
     (or even too early) are wrong.
     (or even too early) are wrong
• “A real‐time constraint is called hard, if not 
  meeting thatconstraint could result in a 
          g
  catastrophe”[Kopetz, 1997].
• All other time‐constraints are called soft.
• A guaranteed system response has to be 
  explained without statistical arguments.
Characteristics of Embedded Systems (4)
• Frequently connected to physical environment 
  through sensors and actuators,
• Hybrid systems (analog + digital parts).
• Typically, ES are reactive systems:
• “A reactive system is one which is in continual 
  interaction with is environment and executes at 
  a pace determined by that environment“ 
          d       i db h           i       “
  [Bergé, 1995]
• B h i d
  Behavior depends on input and current state.
                   d     i    t d        t t t
  – automata model often appropriate,
Comparison
Embedded Systems                       General Purpose Computing
•   Few applications that are known 
    F         li i    h       k        •   Broad class of applications.
                                           B d l        f    li i
    at design‐time.
•    Not programmable by end user.     •   Programmable by end user.
•   Fixed run‐time equirements         •   Faster is better.
    (additional computing power not 
    useful).
                                       •   Criteria:
•   Criteria:
                                            – cost
     –   cost
                                            – average speed
     –   power consumption
     –   predictability
     –   …
Agenda
• General Introduction to Embedded Systems
  General Introduction to Embedded Systems
• Hardware Platforms and Components
  –S t
    System Specialization
           S i li ti
  – Application Specific Instruction Sets
     • Mi
       Micro Controller
             C       ll
     • Digital Signal Processors and VLIW
  – Programmable Hardware
    Programmable Hardware
  – ASICs
Embedded System Hardware
• Embedded system hardware is frequently 
  used in a loop ( hardware in a loop ):
  used in a loop (“hardware in a loop”):
Typical Architecture
Agenda
• General Introduction to Embedded Systems
  General Introduction to Embedded Systems
• Hardware Platforms and Components
  – System Specialization
    System Specialization
  – Application Specific Instruction Sets
     • Mi
       Micro Controller
             C       ll
     • Digital Signal Processors and VLIW
  – Programmable Hardware
    Programmable Hardware
  – ASICs
Implementation Alternatives
General‐purpose Processors
• High performance
   – Highly optimized circuits and technology
   – Use of parallelism
      • superscalar: dynamic scheduling of instructions
      • super‐pipelining: instruction pipelining, branch prediction, 
        speculation
   – complex memory hierarchy
• Not suited for real‐time applications
             f              pp
   – Execution times are highly unpredictable because of 
     intensive resource sharing and dynamic decisions
• Properties
   – Good average performance for large application mix
   – High power consumption
Pentium P4
System Specialization
• The main difference between general purpose highest 
  volume microprocessors and embedded systems is 
                p                           y
  specialization.
• Specialization should respect flexibility
   – application domain specific systems shall cover a class of
      application domain specific systems shall cover a class of 
     applications
   – some flexibility is required to account for late changes, 
     debugging
• System analysis required
   – identification of application properties which can be 
     used for specialization
        df         i li ti
   – quantification of individual specialization effects
Example: Code‐size Efficiency
• CISC machines: RISC machines designed for run‐
  time, not for code size efficiency.
  time, not for code‐size‐efficiency.
• Compression techniques: key idea
Example: Heterogeneous registers
Example: Multiple memory banks or memories
Agenda
• General Introduction to Embedded Systems
  General Introduction to Embedded Systems
• Hardware Platforms and Components
   – System Specialization
     System Specialization
   – Application Specific Instruction Sets
      • Mi
        Micro Controller
              C t ll
      • Digital Signal Processors and VLIW
   –PProgrammable Hardware
              bl H d
   – ASICs
Microcontroller
• control‐dominant applications
   – supports process scheduling and 
     synchronization
   – preemption (interrupt),context 
     switch
        it h
   – short latency times
• low power consumption
• peripheral units often 
  integrated
• suited for real‐time 
  applications
Control Dominated Systems
• Reactive systems with event driven behavior
• Underlying semantics of system description (“input 
  model of computation”) typically (coupled) Finite 
  State Machines
Agenda
• General Introduction to Embedded Systems
  General Introduction to Embedded Systems
• Hardware Platforms and Components
   – System Specialization
     System Specialization
   – Application Specific Instruction Sets
      • Micro Controller
        Micro Controller
      •   Digital Signal Processors and VLIW
   – Programmable Hardware
   – ASICs
Digital Signal Processor
• optimized for data‐flow applications
• suited for simple control flow
• parallel hardware 
       ll l h d
  units (VLIW)
• specialized
  specialized 
  instruction set
• high data throughput
• zero‐overhead loops
• specialized memory
• suited for real‐time
       df       l
  applications
MAC (multiply & accumulate)
Data Dominated Systems
• Streaming oriented systems with mostly 
  periodic behavior
• Underlying semantics of input description e.g. 
  flow graphs (“input model of computation”)




• Application examples: signal processing, 
control engineering
           g      g
Very Long Instruction Word (VLIW)
• Key idea: detection of possible parallelism to be done 
  by compiler, not by hardware at run‐time (inefficient).
• VLIW: parallel operations (instructions) encoded in 
  one   long word (instruction packet), each instruction 
  controlling one functional unit. E.g.:
  controlling one functional unit E g :
Example: Philips TriMedia TM1000
Agenda
• General Introduction to Embedded Systems
  General Introduction to Embedded Systems
• Hardware Platforms and Components
   – System Specialization
     System Specialization
   – Application Specific Instruction Sets
      • Micro Controller
        Micro Controller
      • Digital Signal Processors and VLIW
   – Programmable Hardware
              bl     d
   – ASICs
FPGA – Basic Structure
• Logic Units
• I/O Units
• Connections
FPGA ‐ Classification
• Granularity of logic units:
  – Gate, tables, memory, functional blocks (ALU, 
    control, data path, processor)
• Communication network:
  – Crossbar, hierarchical mesh, tree
• Reconfiguration:
  – fixed at production time, once at design time, 
             p              ,             g      ,
    dynamic during run‐time
Floor‐plan of VIRTEX II FPGAs
Agenda
• General Introduction to Embedded Systems
  General Introduction to Embedded Systems
• Hardware Platforms and Components
   – System Specialization
     System Specialization
   – Application Specific Instruction Sets
      • Micro Controller
        Micro Controller
      • Digital Signal Processors and VLIW
   –PProgrammable Hardware
                  bl H d
   – ASICs
Application Specific Circuits (ASICS)

• Custom‐designed circuits 
  necessary
   – if ultimate speed or
   – energy efficiency is the goal and
     energy efficiency is the goal and
   – large numbers can be sold.
• Approach suffers from
   –llong design times,
          d i      i
   – lack of flexibility
     (
     (changing standards) and
          g g           )
   – high costs
     (e.g. Mill. $ mask costs).
Agenda (2)
Agenda (2)
• Challenges in embedded system design
  Challenges in embedded system design
  • Dependability, efficiency, …
  – Design flows
    Design flows
  – Structure of this course
  – Requirements for specification techniques
    Requirements for specification techniques
  – Models of computation
      • L l
        Local model
                d l
      • Communication
Quite a number of challenges, e.g. 
dependability
• Dependability?
 – Non‐real time protocols used for real‐time applications
   (e.g. Berlin fire department)

 – Over‐simplification of models
   (e.g. aircraft anti‐collision system)

 – Using unsafe systems for safety‐critical missions
   (e.g. voice control system in Los Angeles; ~ 800
   planes without voice connection to tower for > 3 hrs
    l         h                                f     h
It is not sufficient to consider ES
    just as a special case of software engineering
    just as a special case of software engineering
     EE knowledge must be available,
     Walls between EE and CS must be torn down



              CS                                                 EE




The same for walls to other disciplines and more challenges ….
Agenda (2)
Agenda (2)
• Challenges in embedded system design
  Challenges in embedded system design
  • Dependability, efficiency, …
  – Design flows
    Design flows
  – Requirements for specification techniques
  – Models of computation
    Models of computation
      • Local model
      • Communication
Hypothetical design flow

                        Specification                      Design repository                Design
             nowledge
  plication Kn




                        ES‐hardware                                                        Test *
                                                           Application mapping

                        System software 
                        System software                                                    * Could be 
                                                                                             Could be
App




                                                          Optimization
                                                          O ti i ti
                        (RTOS, middleware,                                                 integrated 
                                                        Evaluation & Validation            into loop
                        …)                              (energy, cost, performance, 
                                                        …) 
                                                          )


                   Generic loop: tool chains differ in the number and type of iterations
                    e e c oop oo c a s d e               e u be a d ype o e a o s
Iterative design (1)
‐ After unrolling loop ‐
  After unrolling loop 

  • Example:
  • SpecC
    SpecC 
  • tools
Iterative design (2)
     ‐ After unrolling loop ‐
• Example: V‐model
Requirement
analysis            System
                  architecture   System 
                                 System
                                 design          Software
                                               architecture
                                                                       Software
                                                                       design
                                               Unit
                                 Integration   tests
                 System          testing
                 integration
Acceptance
& use
                                                       Skipping some explicit 
                                                       repository updates ..
Hypothetical design flow

                         2: Specification                 Design repository            Design
              owledge
Application Kno




                         3: ES‐hardware                                               8. Test *
                                                          6: Application 
                                                          mapping
                         4: System software 
                         4: System software             7: Optimization
                                                        7 O ti i ti                   * Could be 
                                                                                        Could be
                         (RTOS, middleware,                                           integrated 
                                                       5: Evaluation & Validation     into loop
                         …)                            (energy, cost, performance, 
                                                       …) 
                                                         )




                        Numbers denote sequence of chapters
Motivation for considering specs
  Motivation for considering specs

– Why considering specs?
– If something is wrong with the specs then it
  If something is wrong with the specs, then it 
  will be difficult to get the design right, 
  potentially wasting a lot of time.
– Typically, we work with models of the 
  system under design (SUD)
  What is a model anyway?
Models
• Definition: A model is a simplification of another entity, 
  which can be a physical thing or another model. The model 
  which can be a physical thing or another model. The model
  contains exactly those characteristics and properties of the 
  modeled entity that are relevant for a given task. A model
• is minimal with respect to a task if it does not contain any
  is minimal with respect to a task if it does not contain any 
  other characteristics than those relevant for the task.

                                                 [Jantsch, 2004]:




 Which requirements do we have for our models?
Requirements for specification techniques:
 Hierarchy

• Hierarchy
  Humans not capable to understand systems
  containing more than ~5 objects.
  Most actual systems require more objects
     Hierarchy
                                              proc
 – Behavioral hierarchy                        proc
   Examples: states, processes, procedures.     proc


 – Structural hierarchy
   Examples: processors, racks,
   p
   printed circuit boards
Requirements for specification techniques (2):
Component based design
Component‐based design


– Systems must be designed from 
  components
– Must be “easy” to derive behavior from
  behavior of subsystems
  Work of Sifakis, Thiele, Ernst, …

 Concurrency
 Synchronization and communication
Requirements for specification techniques (3):
Timing
Ti i

– Timing behavior
  Essential for embedded and cy‐phy systems!
    • Additional information (periods, dependences, 
      scenarios, use cases) welcome
    • Also the speed of the underlying platform must be
      Also, the speed of the underlying platform must be 
      known
    • Far‐reaching consequences for design processes!

“The lack of timing in the core abstraction (of computer science) is a flaw, from the 
perspective of embedded software” [Lee, 2005]
Requirements for specification techniques (3):
     Timing (2)
     Ti i (2)
•    4 types of timing specs required, according to Burns, 1990:

1.    Measure elapsed time
      Check, how much time has elapsed since last call

                   ?               execute
                                             t


2.    Means for delaying processes



                                             t
Requirements for specification techniques (3)
Timing (3)
Ti i (3)
3.   Possibility to specify timeouts
     Stay in a certain state a maximum time.
     Stay in a certain state a maximum time




4.   Methods for specifying deadlines
     Not available or in separate control file.


                     execute
                                                  t
Specification of embedded systems (4):
Support for designing reactive systems
Support for designing reactive systems

 – State‐oriented behavior
   Required for reactive systems;
   classical automata insufficient.
 – Event‐handling
   (external or internal events)
 – Exception‐oriented behavior        We will see, how all the 
   Not acceptable to describe         arrows labeled k can be 
                                      replaced by a single one.
                                        p       y      g
   exceptions for every state
   exceptions for every state
Requirements for specification 
techniques (5)
techniques (5)
 –   Presence of programming elements
 –   Executability (no algebraic specification)
                  y(     g         p          )
 –   Support for the design of large systems ( OO)
 –   Domain‐specific support
 –   Readability
     R d bilit
 –   Portability and flexibility
 –   Termination
 –   Support for non‐standard I/O devices
 –   Non‐functional properties
 –   Support for the design of dependable systems
     S      t f th d i          fd    d bl      t
 –   No obstacles for efficient implementation
 –   Adequate model of computation
         q                      p
     What does it mean “to compute”?
Models of computation
 Models of computation

• What does it mean, “to compute”?
• Models of computation define:
                                             C‐1
  – Components and an execution model for 
    computations for each component
  – Communication model for exchange of
    Communication model for exchange of      C‐2
    information between components.
Communication
Shared memory
            y



   Comp‐1           memory             Comp‐2



 Variables accessible to several components/tasks.

 Model mostly restricted to local systems.
Shared memory
     Shared memory
  • Potential race conditions ( inconsistent results possible)
       Critical sections = sections at which exclusive access to 
       Critical sections = sections at which exclusive access to
    resource r (e.g. shared memory) must be guaranteed.

   task a {                       task b {                      Race‐free access to shared 
     ..                             ..                          memory protected by S 
     P(S)  //obtain lock            P(S)  //obtain lock         possible
     ..    // critical section      ..    // critical section
     V(S)  //release lock           V(S)  //release lock
   }                              }

P(S) and V(S) are semaphore operations,
allowing at most n accesses, n =1 in this case (mutex, lock)
Non‐blocking/asynchronous 
 message passing
 message passing
• Sender does not have to wait until message has arrived; 


                  …                  …
                  send ()            receive ()
                  …                  …




Potential problem: buffer overflow
Blocking/synchronous message passing
  rendez‐vous
     d

 • Sender will wait until receiver has received message

           …                            …
           send ()                      receive ()
           …                            …




No buffer overflow, but reduced performance.
Agenda (2)
Agenda (2)
• Challenges in embedded system design
  Challenges in embedded system design
  • Dependability, efficiency, …
  – Design flows
    Design flows
  – Requirements for specification techniques
  – Models of computation
    Models of computation
      • Local model
      • Communication

• Testing
Test: Goals
  Test: Goals

1. Production test
2. Is there any way of using test patterns for production 
2 I th               f i t t tt            f      d ti
   test already during the design?
3. Test for faults after delivery to customer
3 T t f f lt ft d li              t     t
Why is testing of embedded 
systems difficult?
– Embedded/cyber physical systems integrated into a
  Embedded/cyber‐physical systems integrated into a 
  physical environment may be safety‐critical. As a 
  result, expectations for the product quality are 
  higher than for non‐safety critical systems.
  h h h f                f          l
– Testing of timing‐critical systems has to validate the 
  correct timing behavior. This means that just testing 
  the functional behavior is not sufficient. 
– Testing embedded/cyber‐physical systems in their 
  real environment may be dangerous. 
Scope
Testing includes
   the application of test patterns to the inputs of the 
   device under test (DUT) and
   the observation of the results.
   the observation of the results

More precisely, testing requires the following steps:
      p       y,      g q                    g p
1. test pattern generation,
2. test pattern application,
3. response observation, and
4. result comparison.
Fault models and test pattern 
  generation
• T
  Test pattern generation typically 
                      i      i ll
  considers certain fault models and 
  generates patterns that enable a distinction
  between the faulty and the fault‐free case.
  Examples:
   • Boolean differences
   • D‐Algorithm
   • Self‐test programs
Stuck at fault model
   Stuck‐at fault model
• Hardware fault model:
• Net permanently connected to ground or Vdd
   – Simplification of the real situation
   – Nevertheless useful in many cases
• Example:           Stuck‐at‐1at port p
                     Stuck‐at‐1at port p
Other Hardware fault models
    Other Hardware fault models
Fault models include:
  stuck‐open faults:
  stuck open faults:
  for CMOS, open 
  transistors can 
  behave like 
  behave like
  memories                    www.cedcc.psu.edu/ee497f

                              /rassp_43/sld022.htm




  delay faults: circuit is 
  functionally correct, 
  but the delay is not.
  but the delay is not.
Fault models and test pattern 
   generation
• T
  Test pattern generation typically 
                      i      i ll
  considers certain fault models and 
  generates patterns that enable a distinction
  between the faulty and the fault‐free case.
  Examples:
   • Boolean differences
   • D‐Algorithm
   • Self‐test programs
The D‐algorithm: a simple example
                           no error          error
                 0
                              p       0 /1
                 0                                       1/0
                                                               1/0
                       1
                                      1
                                                     1


• Could we check for a stuck at one error at port p (s‐a‐1(p)) ?
• Solution (just guessing):
  Solution (just guessing):
   –   Signal f='1' if there is an error
   –      a='0', b='0' in order to have f='0' if there is no error
   –   g= 1 in order to propagate error
       g='1' in order to propagate error
   –   c='1' in order to have g='1' (or set d='1')             Symbolic values D
   –   e='1' in order to propagate error                       and D are assigned to 
                                                               signals f, h and i
   –   i= 1 if there is no error & i='0' if there is
       i='1' if there is no error & i= 0  if there is
Generation of Self‐Test Program Generation
              ‐ Key concept ‐
                  y       p




     1.   Store pattern of all ‘1’s in the register file
     2.   Perform xor between register and constant “00..0";
     3.   Test if result contains ‘0’ bit
     4.   If yes, report error;
     5.   Otherwise start test for next fault;
          Otherwise start test for next fault;
          Exmaple: checksum matching.
Software fault injection
   Software fault injection
• Errors are injected into the memories.
               j
• Advantages:
 – Predictability: it is possible to reproduce every injected
                   it is possible to reproduce every injected 
   fault in time and space.
 – Reachability: possible to reach storage locations within 
               y p                      g
   chips instead of just pins.
 – Less effort than physical fault injection: no modified 
   hardware.
   hard are
Same quality of results?
Thank you!
Th k     !
References:
• “Embedded System Design” Book and 
   Embedded System Design Book and
  Lecture of Peter Marwedel
• “Hard Real Time Computing Systems” Book 
   Hard Real‐Time Computing Systems Book
  of Giorgio Buttazzo.
• “E b dd d S
  “Embedded System Design : A unified 
                       D i  A ifi d
  Hardware/software introduction” 
  Vahid/Givargis
  V hid/Gi     i

Weitere ähnliche Inhalte

Was ist angesagt?

Unit 1 embedded systems and applications
Unit 1 embedded systems and applicationsUnit 1 embedded systems and applications
Unit 1 embedded systems and applicationsDr.YNM
 
Introduction to embedded systems
Introduction  to embedded systemsIntroduction  to embedded systems
Introduction to embedded systemsRAMPRAKASHT1
 
Introduction to Avr Microcontrollers
Introduction to Avr MicrocontrollersIntroduction to Avr Microcontrollers
Introduction to Avr MicrocontrollersMohamed Tarek
 
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsReal Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsHariharan Ganesan
 
Introduction to Embedded Architecture
Introduction to Embedded Architecture Introduction to Embedded Architecture
Introduction to Embedded Architecture amrutachintawar239
 
Introduction to Embedded System
Introduction to Embedded SystemIntroduction to Embedded System
Introduction to Embedded SystemZakaria Gomaa
 
Classification of embedded systems
Classification of embedded systemsClassification of embedded systems
Classification of embedded systemsVikas Dongre
 
Embedded firmware
Embedded firmwareEmbedded firmware
Embedded firmwareJoel P
 
System On Chip
System On ChipSystem On Chip
System On Chipanishgoel
 
Embedded Systems - Training ppt
Embedded Systems - Training pptEmbedded Systems - Training ppt
Embedded Systems - Training pptNishant Kayal
 
Embedded system design process
Embedded system design processEmbedded system design process
Embedded system design processRayees CK
 
Module 2 ARM CORTEX M3 Instruction Set and Programming
Module 2 ARM CORTEX M3 Instruction Set and ProgrammingModule 2 ARM CORTEX M3 Instruction Set and Programming
Module 2 ARM CORTEX M3 Instruction Set and ProgrammingAmogha Bandrikalli
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systemsPradeep Kumar TS
 

Was ist angesagt? (20)

Embedded System Presentation
Embedded System PresentationEmbedded System Presentation
Embedded System Presentation
 
Unit 1 embedded systems and applications
Unit 1 embedded systems and applicationsUnit 1 embedded systems and applications
Unit 1 embedded systems and applications
 
ARM Processor
ARM ProcessorARM Processor
ARM Processor
 
Embedded System Networking
Embedded System NetworkingEmbedded System Networking
Embedded System Networking
 
Introduction to embedded systems
Introduction  to embedded systemsIntroduction  to embedded systems
Introduction to embedded systems
 
Introduction to Avr Microcontrollers
Introduction to Avr MicrocontrollersIntroduction to Avr Microcontrollers
Introduction to Avr Microcontrollers
 
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsReal Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systems
 
Introduction to Embedded Architecture
Introduction to Embedded Architecture Introduction to Embedded Architecture
Introduction to Embedded Architecture
 
Introduction to Embedded System
Introduction to Embedded SystemIntroduction to Embedded System
Introduction to Embedded System
 
Classification of embedded systems
Classification of embedded systemsClassification of embedded systems
Classification of embedded systems
 
Embedded firmware
Embedded firmwareEmbedded firmware
Embedded firmware
 
System On Chip
System On ChipSystem On Chip
System On Chip
 
Embedded Systems - Training ppt
Embedded Systems - Training pptEmbedded Systems - Training ppt
Embedded Systems - Training ppt
 
ARM Processors
ARM ProcessorsARM Processors
ARM Processors
 
Embedded system design process
Embedded system design processEmbedded system design process
Embedded system design process
 
Module 2 ARM CORTEX M3 Instruction Set and Programming
Module 2 ARM CORTEX M3 Instruction Set and ProgrammingModule 2 ARM CORTEX M3 Instruction Set and Programming
Module 2 ARM CORTEX M3 Instruction Set and Programming
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
 
MicroC/OS-II
MicroC/OS-IIMicroC/OS-II
MicroC/OS-II
 

Andere mochten auch

ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded systemmanish katara
 
Introduction To Embedded Systems
Introduction To Embedded SystemsIntroduction To Embedded Systems
Introduction To Embedded SystemsVishwa Mohan
 
introduction to Embedded System
introduction to Embedded Systemintroduction to Embedded System
introduction to Embedded SystemAnkur Soni
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsMohamed Tarek
 
Embedded System
Embedded SystemEmbedded System
Embedded Systemsureskal
 
System-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design ChallengesSystem-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design Challengespboulet
 
Embedded System Practical Workshop using the ARM Processor
Embedded System Practical Workshop using the ARM ProcessorEmbedded System Practical Workshop using the ARM Processor
Embedded System Practical Workshop using the ARM ProcessorMomenMostafa
 
Embedded systems ppt
Embedded systems pptEmbedded systems ppt
Embedded systems pptShreya Thakur
 
Introduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its ApplicationsIntroduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its ApplicationsGaurav Verma
 
Embedded System Tools ppt
Embedded System Tools  pptEmbedded System Tools  ppt
Embedded System Tools pptHalai Hansika
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systemsDileep Kumar Tiwari
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsSandeep Reddy
 
Embedded System
Embedded SystemEmbedded System
Embedded Systemsurendar
 
Embedded system and development
Embedded system and developmentEmbedded system and development
Embedded system and developmentRajani Bhandari
 

Andere mochten auch (17)

ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded system
 
Introduction to Embedded System
Introduction to Embedded SystemIntroduction to Embedded System
Introduction to Embedded System
 
Introduction To Embedded Systems
Introduction To Embedded SystemsIntroduction To Embedded Systems
Introduction To Embedded Systems
 
Embedded system ppt
Embedded system pptEmbedded system ppt
Embedded system ppt
 
Embedded System-design technology
Embedded System-design technologyEmbedded System-design technology
Embedded System-design technology
 
introduction to Embedded System
introduction to Embedded Systemintroduction to Embedded System
introduction to Embedded System
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
Embedded System
Embedded SystemEmbedded System
Embedded System
 
System-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design ChallengesSystem-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design Challenges
 
Embedded System Practical Workshop using the ARM Processor
Embedded System Practical Workshop using the ARM ProcessorEmbedded System Practical Workshop using the ARM Processor
Embedded System Practical Workshop using the ARM Processor
 
Embedded systems ppt
Embedded systems pptEmbedded systems ppt
Embedded systems ppt
 
Introduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its ApplicationsIntroduction to Embedded Systems and its Applications
Introduction to Embedded Systems and its Applications
 
Embedded System Tools ppt
Embedded System Tools  pptEmbedded System Tools  ppt
Embedded System Tools ppt
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
Embedded System
Embedded SystemEmbedded System
Embedded System
 
Embedded system and development
Embedded system and developmentEmbedded system and development
Embedded system and development
 

Ähnlich wie Introduction to embedded system design

Embeddedsystem basic for Engineering Students
Embeddedsystem basic for Engineering StudentsEmbeddedsystem basic for Engineering Students
Embeddedsystem basic for Engineering StudentsElectro 8
 
Introduction to Embedded system
Introduction to Embedded systemIntroduction to Embedded system
Introduction to Embedded systemtmnportal
 
39245175 intro-es-ii
39245175 intro-es-ii39245175 intro-es-ii
39245175 intro-es-iiEmbeddedbvp
 
MODULE4_MES.pdf
MODULE4_MES.pdfMODULE4_MES.pdf
MODULE4_MES.pdfPoojaPK8
 
Unit-I Basic Embedded System Notes
Unit-I Basic Embedded System NotesUnit-I Basic Embedded System Notes
Unit-I Basic Embedded System NotesDr. Pankaj Zope
 
Embedded system architecture.pptx
Embedded system architecture.pptxEmbedded system architecture.pptx
Embedded system architecture.pptxAltafKaroshi
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsSiva Kumar
 
Embedded systems ppt
Embedded systems pptEmbedded systems ppt
Embedded systems pptAshok Mutyala
 
1. An Introduction to Embed Systems_DRKG.pptx
1. An Introduction to Embed Systems_DRKG.pptx1. An Introduction to Embed Systems_DRKG.pptx
1. An Introduction to Embed Systems_DRKG.pptxKesavanGopal1
 
18CS44-MODULE3-PPT.pptx
18CS44-MODULE3-PPT.pptx18CS44-MODULE3-PPT.pptx
18CS44-MODULE3-PPT.pptxSudeep35
 
Buy Embedded Systems Projects Online
Buy Embedded Systems Projects Online Buy Embedded Systems Projects Online
Buy Embedded Systems Projects Online Technogroovy India
 
embedded systems & robotics Projects Based training @Technogroovy
embedded systems & robotics Projects Based training @Technogroovyembedded systems & robotics Projects Based training @Technogroovy
embedded systems & robotics Projects Based training @TechnogroovyTechnogroovy India
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptxPratik Gohel
 
13086000.ppt
13086000.ppt13086000.ppt
13086000.pptyibe5
 
1334420 634648164164717500
1334420 6346481641647175001334420 634648164164717500
1334420 634648164164717500sumit tiwari
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systemsShreyaBhoje
 

Ähnlich wie Introduction to embedded system design (20)

Embeddedsystem basic for Engineering Students
Embeddedsystem basic for Engineering StudentsEmbeddedsystem basic for Engineering Students
Embeddedsystem basic for Engineering Students
 
Introduction to Embedded system
Introduction to Embedded systemIntroduction to Embedded system
Introduction to Embedded system
 
39245175 intro-es-ii
39245175 intro-es-ii39245175 intro-es-ii
39245175 intro-es-ii
 
MODULE4_MES.pdf
MODULE4_MES.pdfMODULE4_MES.pdf
MODULE4_MES.pdf
 
Unit-I Basic Embedded System Notes
Unit-I Basic Embedded System NotesUnit-I Basic Embedded System Notes
Unit-I Basic Embedded System Notes
 
Embedded
EmbeddedEmbedded
Embedded
 
ESD unit 1.pptx
ESD unit 1.pptxESD unit 1.pptx
ESD unit 1.pptx
 
Embedded system architecture.pptx
Embedded system architecture.pptxEmbedded system architecture.pptx
Embedded system architecture.pptx
 
Introduction to embedded computing and arm processors
Introduction to embedded computing and arm processorsIntroduction to embedded computing and arm processors
Introduction to embedded computing and arm processors
 
Embedded systems
Embedded systems Embedded systems
Embedded systems
 
Embedded systems ppt
Embedded systems pptEmbedded systems ppt
Embedded systems ppt
 
1. An Introduction to Embed Systems_DRKG.pptx
1. An Introduction to Embed Systems_DRKG.pptx1. An Introduction to Embed Systems_DRKG.pptx
1. An Introduction to Embed Systems_DRKG.pptx
 
18CS44-MODULE3-PPT.pptx
18CS44-MODULE3-PPT.pptx18CS44-MODULE3-PPT.pptx
18CS44-MODULE3-PPT.pptx
 
Buy Embedded Systems Projects Online
Buy Embedded Systems Projects Online Buy Embedded Systems Projects Online
Buy Embedded Systems Projects Online
 
embedded systems & robotics Projects Based training @Technogroovy
embedded systems & robotics Projects Based training @Technogroovyembedded systems & robotics Projects Based training @Technogroovy
embedded systems & robotics Projects Based training @Technogroovy
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptx
 
13086000.ppt
13086000.ppt13086000.ppt
13086000.ppt
 
1334420 634648164164717500
1334420 6346481641647175001334420 634648164164717500
1334420 634648164164717500
 
mechatronics.pdf
mechatronics.pdfmechatronics.pdf
mechatronics.pdf
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
 

Kürzlich hochgeladen

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Kürzlich hochgeladen (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Introduction to embedded system design

  • 1. INTRODUCTION TO EMBEDDED SYSTEM DESIGN Mukesh Kumar mkb@genericembedded.com www.genericembedded.com www genericembedded com
  • 2. Agenda (1) • Introduction to Embedded System Design – General Introduction to Embedded Systems General Introduction to Embedded Systems – Hardware Platforms and Components • System Specialization y p • Application Specific Instruction Sets – Micro Controller – Di i l Si l P Digital Signal Processors and VLIW d VLIW – Programmable Hardware – ASICs
  • 3. Agenda (2) Agenda (2) • Challenges in embedded system design Challenges in embedded system design • Dependability, efficiency, … – Design flows Design flows – Requirements for specification techniques – Models of computation Models of computation • Local model • Communication
  • 4. What is Embedded System?.. y Embedded systems (ES)  information Embedded systems (ES) = information  processing systems embedded into a larger  product An embedded system is a computer system  designed to do one or a few dedicated and/or  specific functions often with real‐time  computing constraints. It is embedded as part  of a complete device often including hardware  f l d i f i l di h d and mechanical parts.
  • 8. Examples of Embedded Systems Examples of Embedded Systems • Car as an integrated control, communication  and information system. di f i
  • 9. Examples of Embedded Systems Examples of Embedded Systems Consumer electronics, for example MP3 Audio,  digital camera, home electronics, … .
  • 11. Examples of Embedded Systems Information systems, for example wireless  communication (mobile phone, Wireless LAN,  communication (mobile phone, Wireless LAN, …), end‐user equipment, router, …
  • 12. Communicating Embedded Systems • Example: BTnodes http://www.btnode.ethz.ch) – complete platform including OS – especially suited for pervasive computing applications
  • 14. Communicating Embedded Systems • sensor networks (civil engineering, buildings, environmental  monitoring, traffic, emergency situations) • smart products, wearable/ubiquitous computing /
  • 15. Characteristics of Embedded Systems (1) • Must be dependable: – Reliability: R(t) = probability of system working correctly provided that is was working at t=0 – Maintainability: M(d) = probability of system working  correctly d time units after error occurred. correctly d time units after error occurred – Availability: probability of system working at time t – Safety: no harm to be caused Safety: no harm to be caused – Security: confidential and authentic communication Even perfectly designed systems can fail if the assumptions about the workload and possible errors turn out to be wrong. Making the system dependable must not be an after‐thought, it must be considered from the very beginning beginning.
  • 16. Characteristics of Embedded Systems (2) • Must be efficient: – Energy efficient  – Code‐size efficient (especially for systems on a chip) – Run‐time efficient – Weight efficient Weight efficient – Cost efficient • D di Dedicated towards a certain application: Knowledge  d d i li i K l d about behavior at design time can be used to  minimize resources and to maximize robustness. • Dedicated user interface (no mouse, keyboard and  screen).
  • 17. Characteristics of Embedded Systems (3) • Many ES must meet real‐time constraints: – A real-time system must react to stimuli from the controlled object (or the operator) within the time interval dictated by the environment. – For real‐time systems, right answers arriving too late  (or even too early) are wrong. (or even too early) are wrong • “A real‐time constraint is called hard, if not  meeting thatconstraint could result in a  g catastrophe”[Kopetz, 1997]. • All other time‐constraints are called soft. • A guaranteed system response has to be  explained without statistical arguments.
  • 18. Characteristics of Embedded Systems (4) • Frequently connected to physical environment  through sensors and actuators, • Hybrid systems (analog + digital parts). • Typically, ES are reactive systems: • “A reactive system is one which is in continual  interaction with is environment and executes at  a pace determined by that environment“  d i db h i “ [Bergé, 1995] • B h i d Behavior depends on input and current state. d i t d t t t – automata model often appropriate,
  • 19. Comparison Embedded Systems General Purpose Computing • Few applications that are known  F li i h k • Broad class of applications. B d l f li i at design‐time. • Not programmable by end user. • Programmable by end user. • Fixed run‐time equirements • Faster is better. (additional computing power not  useful). • Criteria: • Criteria: – cost – cost – average speed – power consumption – predictability – …
  • 20. Agenda • General Introduction to Embedded Systems General Introduction to Embedded Systems • Hardware Platforms and Components –S t System Specialization S i li ti – Application Specific Instruction Sets • Mi Micro Controller C ll • Digital Signal Processors and VLIW – Programmable Hardware Programmable Hardware – ASICs
  • 21. Embedded System Hardware • Embedded system hardware is frequently  used in a loop ( hardware in a loop ): used in a loop (“hardware in a loop”):
  • 23. Agenda • General Introduction to Embedded Systems General Introduction to Embedded Systems • Hardware Platforms and Components – System Specialization System Specialization – Application Specific Instruction Sets • Mi Micro Controller C ll • Digital Signal Processors and VLIW – Programmable Hardware Programmable Hardware – ASICs
  • 25. General‐purpose Processors • High performance – Highly optimized circuits and technology – Use of parallelism • superscalar: dynamic scheduling of instructions • super‐pipelining: instruction pipelining, branch prediction,  speculation – complex memory hierarchy • Not suited for real‐time applications f pp – Execution times are highly unpredictable because of  intensive resource sharing and dynamic decisions • Properties – Good average performance for large application mix – High power consumption
  • 27. System Specialization • The main difference between general purpose highest  volume microprocessors and embedded systems is  p y specialization. • Specialization should respect flexibility – application domain specific systems shall cover a class of application domain specific systems shall cover a class of  applications – some flexibility is required to account for late changes,  debugging • System analysis required – identification of application properties which can be  used for specialization df i li ti – quantification of individual specialization effects
  • 28. Example: Code‐size Efficiency • CISC machines: RISC machines designed for run‐ time, not for code size efficiency. time, not for code‐size‐efficiency. • Compression techniques: key idea
  • 31. Agenda • General Introduction to Embedded Systems General Introduction to Embedded Systems • Hardware Platforms and Components – System Specialization System Specialization – Application Specific Instruction Sets • Mi Micro Controller C t ll • Digital Signal Processors and VLIW –PProgrammable Hardware bl H d – ASICs
  • 32. Microcontroller • control‐dominant applications – supports process scheduling and  synchronization – preemption (interrupt),context  switch it h – short latency times • low power consumption • peripheral units often  integrated • suited for real‐time  applications
  • 34. Agenda • General Introduction to Embedded Systems General Introduction to Embedded Systems • Hardware Platforms and Components – System Specialization System Specialization – Application Specific Instruction Sets • Micro Controller Micro Controller • Digital Signal Processors and VLIW – Programmable Hardware – ASICs
  • 35. Digital Signal Processor • optimized for data‐flow applications • suited for simple control flow • parallel hardware  ll l h d units (VLIW) • specialized specialized  instruction set • high data throughput • zero‐overhead loops • specialized memory • suited for real‐time df l applications
  • 37. Data Dominated Systems • Streaming oriented systems with mostly  periodic behavior • Underlying semantics of input description e.g.  flow graphs (“input model of computation”) • Application examples: signal processing,  control engineering g g
  • 38. Very Long Instruction Word (VLIW) • Key idea: detection of possible parallelism to be done  by compiler, not by hardware at run‐time (inefficient). • VLIW: parallel operations (instructions) encoded in  one   long word (instruction packet), each instruction  controlling one functional unit. E.g.: controlling one functional unit E g :
  • 40. Agenda • General Introduction to Embedded Systems General Introduction to Embedded Systems • Hardware Platforms and Components – System Specialization System Specialization – Application Specific Instruction Sets • Micro Controller Micro Controller • Digital Signal Processors and VLIW – Programmable Hardware bl d – ASICs
  • 42. FPGA ‐ Classification • Granularity of logic units: – Gate, tables, memory, functional blocks (ALU,  control, data path, processor) • Communication network: – Crossbar, hierarchical mesh, tree • Reconfiguration: – fixed at production time, once at design time,  p , g , dynamic during run‐time
  • 44. Agenda • General Introduction to Embedded Systems General Introduction to Embedded Systems • Hardware Platforms and Components – System Specialization System Specialization – Application Specific Instruction Sets • Micro Controller Micro Controller • Digital Signal Processors and VLIW –PProgrammable Hardware bl H d – ASICs
  • 45. Application Specific Circuits (ASICS) • Custom‐designed circuits  necessary – if ultimate speed or – energy efficiency is the goal and energy efficiency is the goal and – large numbers can be sold. • Approach suffers from –llong design times, d i i – lack of flexibility ( (changing standards) and g g ) – high costs (e.g. Mill. $ mask costs).
  • 46. Agenda (2) Agenda (2) • Challenges in embedded system design Challenges in embedded system design • Dependability, efficiency, … – Design flows Design flows – Structure of this course – Requirements for specification techniques Requirements for specification techniques – Models of computation • L l Local model d l • Communication
  • 47. Quite a number of challenges, e.g.  dependability • Dependability? – Non‐real time protocols used for real‐time applications (e.g. Berlin fire department) – Over‐simplification of models (e.g. aircraft anti‐collision system) – Using unsafe systems for safety‐critical missions (e.g. voice control system in Los Angeles; ~ 800 planes without voice connection to tower for > 3 hrs l h f h
  • 48. It is not sufficient to consider ES just as a special case of software engineering just as a special case of software engineering EE knowledge must be available, Walls between EE and CS must be torn down CS EE The same for walls to other disciplines and more challenges ….
  • 49. Agenda (2) Agenda (2) • Challenges in embedded system design Challenges in embedded system design • Dependability, efficiency, … – Design flows Design flows – Requirements for specification techniques – Models of computation Models of computation • Local model • Communication
  • 50. Hypothetical design flow Specification Design repository Design nowledge plication Kn ES‐hardware Test * Application mapping System software  System software * Could be  Could be App Optimization O ti i ti (RTOS, middleware,  integrated  Evaluation & Validation  into loop …) (energy, cost, performance,  …)  ) Generic loop: tool chains differ in the number and type of iterations e e c oop oo c a s d e e u be a d ype o e a o s
  • 51. Iterative design (1) ‐ After unrolling loop ‐ After unrolling loop  • Example: • SpecC SpecC  • tools
  • 52. Iterative design (2) ‐ After unrolling loop ‐ • Example: V‐model Requirement analysis System architecture System  System design Software architecture Software design Unit Integration tests System testing integration Acceptance & use Skipping some explicit  repository updates ..
  • 53. Hypothetical design flow 2: Specification Design repository Design owledge Application Kno 3: ES‐hardware 8. Test * 6: Application  mapping 4: System software  4: System software 7: Optimization 7 O ti i ti * Could be  Could be (RTOS, middleware,  integrated  5: Evaluation & Validation  into loop …) (energy, cost, performance,  …)  ) Numbers denote sequence of chapters
  • 54. Motivation for considering specs Motivation for considering specs – Why considering specs? – If something is wrong with the specs then it If something is wrong with the specs, then it  will be difficult to get the design right,  potentially wasting a lot of time. – Typically, we work with models of the  system under design (SUD) What is a model anyway?
  • 55. Models • Definition: A model is a simplification of another entity,  which can be a physical thing or another model. The model  which can be a physical thing or another model. The model contains exactly those characteristics and properties of the  modeled entity that are relevant for a given task. A model • is minimal with respect to a task if it does not contain any is minimal with respect to a task if it does not contain any  other characteristics than those relevant for the task. [Jantsch, 2004]: Which requirements do we have for our models?
  • 56. Requirements for specification techniques: Hierarchy • Hierarchy Humans not capable to understand systems containing more than ~5 objects. Most actual systems require more objects Hierarchy proc – Behavioral hierarchy proc Examples: states, processes, procedures. proc – Structural hierarchy Examples: processors, racks, p printed circuit boards
  • 57. Requirements for specification techniques (2): Component based design Component‐based design – Systems must be designed from  components – Must be “easy” to derive behavior from behavior of subsystems Work of Sifakis, Thiele, Ernst, … Concurrency Synchronization and communication
  • 58. Requirements for specification techniques (3): Timing Ti i – Timing behavior Essential for embedded and cy‐phy systems! • Additional information (periods, dependences,  scenarios, use cases) welcome • Also the speed of the underlying platform must be Also, the speed of the underlying platform must be  known • Far‐reaching consequences for design processes! “The lack of timing in the core abstraction (of computer science) is a flaw, from the  perspective of embedded software” [Lee, 2005]
  • 59. Requirements for specification techniques (3): Timing (2) Ti i (2) • 4 types of timing specs required, according to Burns, 1990: 1. Measure elapsed time Check, how much time has elapsed since last call ? execute t 2. Means for delaying processes t
  • 60. Requirements for specification techniques (3) Timing (3) Ti i (3) 3. Possibility to specify timeouts Stay in a certain state a maximum time. Stay in a certain state a maximum time 4. Methods for specifying deadlines Not available or in separate control file. execute t
  • 61. Specification of embedded systems (4): Support for designing reactive systems Support for designing reactive systems – State‐oriented behavior Required for reactive systems; classical automata insufficient. – Event‐handling (external or internal events) – Exception‐oriented behavior We will see, how all the  Not acceptable to describe  arrows labeled k can be  replaced by a single one. p y g exceptions for every state exceptions for every state
  • 62. Requirements for specification  techniques (5) techniques (5) – Presence of programming elements – Executability (no algebraic specification) y( g p ) – Support for the design of large systems ( OO) – Domain‐specific support – Readability R d bilit – Portability and flexibility – Termination – Support for non‐standard I/O devices – Non‐functional properties – Support for the design of dependable systems S t f th d i fd d bl t – No obstacles for efficient implementation – Adequate model of computation q p What does it mean “to compute”?
  • 63. Models of computation Models of computation • What does it mean, “to compute”? • Models of computation define: C‐1 – Components and an execution model for  computations for each component – Communication model for exchange of Communication model for exchange of  C‐2 information between components.
  • 64. Communication Shared memory y Comp‐1 memory Comp‐2 Variables accessible to several components/tasks. Model mostly restricted to local systems.
  • 65. Shared memory Shared memory • Potential race conditions ( inconsistent results possible) Critical sections = sections at which exclusive access to  Critical sections = sections at which exclusive access to resource r (e.g. shared memory) must be guaranteed. task a { task b { Race‐free access to shared  .. .. memory protected by S  P(S)  //obtain lock P(S)  //obtain lock possible ..    // critical section ..    // critical section V(S)  //release lock V(S)  //release lock } } P(S) and V(S) are semaphore operations, allowing at most n accesses, n =1 in this case (mutex, lock)
  • 66. Non‐blocking/asynchronous  message passing message passing • Sender does not have to wait until message has arrived;  … … send () receive () … … Potential problem: buffer overflow
  • 67. Blocking/synchronous message passing rendez‐vous d • Sender will wait until receiver has received message … … send () receive () … … No buffer overflow, but reduced performance.
  • 68. Agenda (2) Agenda (2) • Challenges in embedded system design Challenges in embedded system design • Dependability, efficiency, … – Design flows Design flows – Requirements for specification techniques – Models of computation Models of computation • Local model • Communication • Testing
  • 69. Test: Goals Test: Goals 1. Production test 2. Is there any way of using test patterns for production  2 I th f i t t tt f d ti test already during the design? 3. Test for faults after delivery to customer 3 T t f f lt ft d li t t
  • 70. Why is testing of embedded  systems difficult? – Embedded/cyber physical systems integrated into a Embedded/cyber‐physical systems integrated into a  physical environment may be safety‐critical. As a  result, expectations for the product quality are  higher than for non‐safety critical systems. h h h f f l – Testing of timing‐critical systems has to validate the  correct timing behavior. This means that just testing  the functional behavior is not sufficient.  – Testing embedded/cyber‐physical systems in their  real environment may be dangerous. 
  • 71. Scope Testing includes the application of test patterns to the inputs of the  device under test (DUT) and the observation of the results. the observation of the results More precisely, testing requires the following steps: p y, g q g p 1. test pattern generation, 2. test pattern application, 3. response observation, and 4. result comparison.
  • 72. Fault models and test pattern  generation • T Test pattern generation typically  i i ll considers certain fault models and  generates patterns that enable a distinction between the faulty and the fault‐free case. Examples: • Boolean differences • D‐Algorithm • Self‐test programs
  • 73. Stuck at fault model Stuck‐at fault model • Hardware fault model: • Net permanently connected to ground or Vdd – Simplification of the real situation – Nevertheless useful in many cases • Example: Stuck‐at‐1at port p Stuck‐at‐1at port p
  • 74. Other Hardware fault models Other Hardware fault models Fault models include: stuck‐open faults: stuck open faults: for CMOS, open  transistors can  behave like  behave like memories www.cedcc.psu.edu/ee497f /rassp_43/sld022.htm delay faults: circuit is  functionally correct,  but the delay is not. but the delay is not.
  • 75. Fault models and test pattern  generation • T Test pattern generation typically  i i ll considers certain fault models and  generates patterns that enable a distinction between the faulty and the fault‐free case. Examples: • Boolean differences • D‐Algorithm • Self‐test programs
  • 76. The D‐algorithm: a simple example no error error 0 p 0 /1 0 1/0 1/0 1 1 1 • Could we check for a stuck at one error at port p (s‐a‐1(p)) ? • Solution (just guessing): Solution (just guessing): – Signal f='1' if there is an error – a='0', b='0' in order to have f='0' if there is no error – g= 1 in order to propagate error g='1' in order to propagate error – c='1' in order to have g='1' (or set d='1') Symbolic values D – e='1' in order to propagate error and D are assigned to  signals f, h and i – i= 1 if there is no error & i='0' if there is i='1' if there is no error & i= 0  if there is
  • 77. Generation of Self‐Test Program Generation ‐ Key concept ‐ y p 1. Store pattern of all ‘1’s in the register file 2. Perform xor between register and constant “00..0"; 3. Test if result contains ‘0’ bit 4. If yes, report error; 5. Otherwise start test for next fault; Otherwise start test for next fault; Exmaple: checksum matching.
  • 78. Software fault injection Software fault injection • Errors are injected into the memories. j • Advantages: – Predictability: it is possible to reproduce every injected it is possible to reproduce every injected  fault in time and space. – Reachability: possible to reach storage locations within  y p g chips instead of just pins. – Less effort than physical fault injection: no modified  hardware. hard are Same quality of results?
  • 80. References: • “Embedded System Design” Book and  Embedded System Design Book and Lecture of Peter Marwedel • “Hard Real Time Computing Systems” Book  Hard Real‐Time Computing Systems Book of Giorgio Buttazzo. • “E b dd d S “Embedded System Design : A unified  D i A ifi d Hardware/software introduction”  Vahid/Givargis V hid/Gi i