Title: COMP3221: Microprocessors and Embedded Systems
1COMP3221 Microprocessors and Embedded
Systems Lecture 31 Embedded Systems
http//www.cse.unsw.edu.au/cs3221 Lecturer
Hui Wu Session 2, 2005
2- Overview
- What is an embedded system?
- Characteristics of embedded systems
- Embedded system requirements
3Embedded 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.
4Characteristics 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.
5Characteristics 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.
6Examples 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, ...
7Traditional 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.
8Traditional Embedded Systems Design Major
Procedures (Cont.)
Modelling
Hardware-software partitioning
Hardware design
Software design
9Problems 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.
10What 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.
11Goals 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.
12Disciplines 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?
13Disciplines 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?
14Disciplines 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?
15Embedded System Requirements
- Functional requirements
- Timing requirements
- Dependability requirements
16Functional 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.
17Timing Requirements
- Tasks Release times and deadlines
- Minimal task distance
- Maximal task distance
- Task Periods
- Minimal error detection latency
- Minimal latency jitter etc.
18Timing 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.
19Timing 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.
20Timing 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.
21Timing 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
T1
T1
T1
T2
T2
T3
T2
0 2 4 6 8 10
12 14 16 18 20
22Dependability 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
23Major 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.
24Example Embedded System (I) DVD
From LSI Logic web Page Courtesy R.
Gupta, UC Irvine
25Example Embedded System (II) Dryer
From Siemens web page Courtesy R. Gupta,
UC Irvine
26Reading Material
- 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-VincentelliDesign of Embedded
Systems Formal Methods, Validation and Synthsis.
Proceedings of the IEEE, vol. 85 (no.3) , March
1997, p366-290.