Transcript Document

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 multiobjective 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
0
2
T1
5
…
T1
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
0
T2
2
T1
4
T2
6
T1
8
T2
10
12
T1
T3
14
T1
16
T2
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-processors, DSP cores,
ASICs, ASIPs, FPGAs (Field Programmable Gate Arrays), memory
(RAM, ROM, FLASH, EEPROM) and buses.
• Data acquisition and processing
• Communication
• System logic and control
• Interfaces
• 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.
2.
Chapter 1 in Embedded Systems Design: An Introduction to
Processes, Tools, and Techniques by Arnold S. Berger.
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, p366290.
COMP3221/9221: Microprocessors
and Embedded Systems