Docstoc

COMP3221 Microprocessors and Embedded Systems

Document Sample
COMP3221 Microprocessors and Embedded Systems Powered By Docstoc
					COMP3221: Microprocessors and
    Embedded Systems
  Lecture 31: Embedded Systems
  http://www.cse.unsw.edu.au/~cs3221
          Lecturer: Hui Wu
            Session 2, 2005

            COMP3221/9221: Microprocessors
               and Embedded Systems
                   Overview


• What is an embedded system?
• Characteristics of embedded systems
• Embedded system requirements




                 COMP3221/9221: Microprocessors
                    and Embedded Systems
           Embedded Systems

An embedded system
• is a combination of hardware and software to perform
a specific function;
• is part of a larger system;
• works in a reactive and time-constrained
environment.




                     COMP3221/9221: Microprocessors
                        and Embedded Systems
         Characteristics of Embedded Systems
• Application specific
      An embedded system performs a single or fixed set of functions;
      All functions are known a priori before the system design begins.
      The fixed functionality provides opportunities for design optimization.
         Application specific processor design can be a significant component of some
       embedded systems
              Advantages

                  Customization yields lower area, power, cost and higher performance.
              Disadvantages
                   Higher hardware/software development overhead, resulting in longer
                time-to-market.

• Strict design constraints
           performance, timing, power, area, cost, reliability etc.
 Characteristics of Embedded Systems (Cont.)

• Multiple heterogeneous processing units
      General processor, ASIC (Application Specific Integrated Circuit) , ASIP
   (Application Specific Instruction set Processor), DSP (Digital Signal
   Processing processor) etc.

• Reactive
      Embedded systems constantly interact with their environment, taking in
   data from sensors and/or other input devices and making appropriate
   responses.

• Real-time
      Embedded systems interact with their environments in a timely manner.

• Parallel and distributed computing
     Many embedded systems use parallel/distributed architecture where
   multiple processing units are tightly or loosely coupled.
       Examples of Embedded Systems


• Consumer electronics, e.g., cellular phones, personal digital
assistants, interactive game boxes, cameras, camcorders, ....
• Consumer products, e.g., washers, microwave ovens, ...
• Automobiles (anti-lock braking, engine control, ...)
• Industrial process controllers & avionics/defence applications
• Computer/Communication products, e.g., printers, FAX
machines, ...



                       COMP3221/9221: Microprocessors
                          and Embedded Systems
      Traditional Embedded Systems
      Design: Major Procedures
• Modelling
       Specifying the behaviours of the target embedded system.
• Hardware-software partitioning
       Partitioning the specifications into either hardware components or
    software components.
           Hardware components are implemented in co-processors.
          Software components run on custom hardware or a general
        microprocessor.
• Hardware design and software design
       Hardware design includes co-processor design, interfaces etc.
       Software design includes interrupt handlers, task scheduler etc.
                          COMP3221/9221: Microprocessors
                             and Embedded Systems
Traditional Embedded Systems
Design: Major Procedures (Cont.)

             Modelling


     Hardware-software partitioning



  Hardware design      Software design




               COMP3221/9221: Microprocessors
                  and Embedded Systems
 Problems with Traditional Embedded
 Systems Design

• The precise information (execution time etc) about
each task is not available at the partitioning stage.
• Designers have to use estimated values in
partitioning, leading to bad partitioning and therefore
bad design.
• How to solve this problem?
       Use hardware-software co-design.




                    COMP3221/9221: Microprocessors
                       and Embedded Systems
  What Is Hardware-Software Co-design?

• The hardware/software designs proceed in parallel, with
feedbacks and interactions occurring between the two as
the design progresses.
• An multi-objective function of cost, area, power etc is
used to find an optimal design.




                   COMP3221/9221: Microprocessors
                      and Embedded Systems
     Goals of Embedded System Design

• Reduce time-to-market.
• Produce an optimal design which minimize the multi-
objective function of cost, area, power etc.


New design methodology and CAD tools for automating
embedded system design are needed.
       CAD today addresses synthesis problems at a purely
    hardware level:
          efficient techniques for data-path and control synthesis
        down to silicon.


                         COMP3221/9221: Microprocessors
                            and Embedded Systems
 Disciplines Involved in Embedded System
 Design

• Application domain (Signal processing, process control,
machine control, robot, ...).
• Software engineering
      How to build a correct and reliable embedded system?
      Software reuse?

• Programming Languages and Compilers
      How to reduce the execution time of each task?
     How to reduce the power consumption of processors and
   memory?

                        COMP3221/9221: Microprocessors
                           and Embedded Systems
 Disciplines Involved in Embedded System
 Design (Cont.)
• Operating Systems
      How to schedule tasks such that all timing constraints are
   satisfied?
     How to schedule tasks such that the processor power
   consumption is minimized?

• VLSI (computer aided) design
       How to minimize the area and maximize the performance for
   a co-processor?
     How to minimize the power consumption of a co-processor?



                      COMP3221/9221: Microprocessors
                         and Embedded Systems
 Disciplines Involved in Embedded System
 Design (Cont.)
• Parallel/Distributed systems
      Many embedded systems use parallel/distributed architecture
   where the multiple processors are tightly coupled or loosely
   coupled. Many issues exist.
          Task scheduling;
          Resources sharing etc.

• Real-time systems (Hard & soft real time systems)
      How to specify and satisfy timing requirements?
      How to share resource such that timing constraints are still
   satisfied?


                       COMP3221/9221: Microprocessors
                          and Embedded Systems
 Embedded System Requirements



• Functional requirements
• Timing requirements
• Dependability requirements




              COMP3221/9221: Microprocessors
                 and Embedded Systems
    Functional Requirements

• Data collection
      Sensors
      AD converters
      Signal conditioning etc

• Direct digital control
       Actuators

• Man-machine interface
       Informs the operator of the current state of the
    controlled object
      Assists the operator in controlling the system.
    Timing Requirements


• Tasks Release times and deadlines
• Minimal task distance
• Maximal task distance
• Task Periods
• Minimal error detection latency
• Minimal latency jitter etc.



                   COMP3221/9221: Microprocessors
                      and Embedded Systems
         Timing Requirements (Cont.)

Timing constraints are often imposed on tasks. Typical timing
constraints include:
  • Release time: A task cannot be executed before its
  release time.
  • Deadline: A task is required to finish by its deadline.
  • Minimal distance: The distance between two tasks is
  required to be greater than a specified value.
         The distance is defined to be the difference of the start time of
      the other task completed later and the completion time of the task
      completed earlier.

  • Maximal distance: The distance between two tasks is
  required to be less than a specified value.
             Timing Requirements (Cont.)

• Period: A periodic task must be executed periodically.
For example, if the period of a task is 5, it must be
executed and completed every 5 time units.




        T1           T1                   T1                   …
    0    2       5        7            10      12


    Figure 1: A periodic task T1 has a period of 5 and a
    worst-case execution time of 2.

                              COMP3221/9221: Microprocessors
                                 and Embedded Systems
         Timing Requirements (Cont.)


• Hard Timing constraints: Miss of any hard timing constraints
may cause catastrophes e.g., control systems for aircraft/space
probes/nuclear reactors.
• Soft timing constraints: The violation of soft timing constraints
only causes performance degradation. e.g., game box.
• Embedded systems may contain both hard and soft timing
constraints.
• Task scheduler is responsible for satisfying all timing
constraints.

                       COMP3221/9221: Microprocessors
                          and Embedded Systems
          Timing Requirements (Cont.)
Consider an embedded system with a single processor and a set
of 3 tasks T1, T2 and T3 with the following attributes:
• T1 is a periodic task with a period of 4 and a worst-case
execution time of 2;
• T2 is a periodic task with a period of 5 and a worst-case
execution time of 2;
• T3 is a non-periodic task with a release time of 0, a deadline of
20 and a worst-case execution of 2.


         T1       T2       T1       T2       T1        T2    T1        T3        T1        T2

     0        2        4        6        8        10    12        14        16        18    20
      Dependability Requirements

• Reliability
      Number of failures per hour or Mean-Time-To-Failure
    (MTTF) in hours.

• Safety
      critical failure modes
      certification

• Maintainability
      Mean-Time-To-Repair (MTTR).

• Availability
      A = MTTF / (MTTF + MTTR)

• Security
   Major Components in Embedded Systems
• Microprocessors/microcontrollers, co-processor, DSP, ASIC and
ASIP.
• Data acquisition and processing
• Communication
• System logic and control
• Interface
• Auxiliary units
      display
      storage
      monitoring and protection
      test and diagnosis.
Example Embedded System (I): DVD




                  — From LSI Logic web Page
                    Courtesy: R. Gupta, UC Irvine
Example Embedded System (II): Dryer




                  — From Siemens web page
                    Courtesy: R. Gupta, UC Irvine
                       Reading Material

1.   Chapter 1 in Embedded Systems Design: An Introduction to
     Processes, Tools, and Techniques by Arnold S. Berger.
2.   S. Edwards, L. Lavagno, E. Lee, A. Sangiovanni-Vincentelli
     Design of Embedded Systems: Formal Methods, Validation and
     Synthsis. Proceedings of the IEEE, vol. 85 (no.3) , March 1997, p366-
     290.




                        COMP3221/9221: Microprocessors
                           and Embedded Systems

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:5
posted:2/27/2012
language:English
pages:26