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