Professional Documents
Culture Documents
Lesson 1: Introduction
Lesson 1: Introduction
Characteristics and design of embedded systems an introduction
Quality & performance metrics measurable features of an ES implementation
Processors for embedded systems
Custom embedded processor design
Comparison between ARM, Nios (Altera), MicroBlaze (Xilinx), 8051, 68HC11
Emphasize on ARM
Software optimization techniques
What is wrong with plain software
Profile driven compilation
Efficient C programming
38
Lesson 1: Introduction
Outline
Embedded system definition
Embedded systems common characteristics
Examples of embedded systems
The desktop computer (PC)
Embedded system design process
Formalisms for embedded system design
Design metrics
39
Lesson 1: Introduction
40
Lesson 1: Introduction
41
Lesson 1: Introduction
Lesson 1: Introduction
43
Lesson 1: Introduction
44
Lesson 1: Introduction
Lesson 1: Introduction
46
Lesson 1: Introduction
Lesson 1: Introduction
Design metrics
Design metric = a measurable feature of a systems implementation
Common design metrics:
NRE cost
Size
Power consumption
Time-to-prototype
Maintainability
Safety
Unit cost
Performance
Flexibility
Time-to-market
Correctness
...
48
Lesson 1: Introduction
ise
D(3W D)
2W 2
100
ar
ke
tr
Market window = 2W
Delay = D
Beginning of
market
opportunity
End of
product
line
D
W
Example:
W = 6 months and D = 2 month
Percent Revenue Loss = 45%
49
Lesson 1: Introduction
Power consumption
Specialized computing unit(s) means lower number of instructions
Lower number of instructions means use power for computation instead of
instruction issuing
Unit cost
Specialized computing units need additional silicon area
50
Lesson 1: Introduction
Lesson 1: Introduction
Performance metric
Performance = how long the system takes to execute a task
The most widely used design metric
Two main measures of performance:
Latency: the time between the start of the tasks execution and the end
Throughput: the number of tasks that can be processed per unit time
Speed-up: common method of comparing the performance of two systems:
speed-up of A over B =
speed of A
speed of B
Lesson 1: Introduction
Firmware Terminology
Firmware = executable software that is stored within a ROM
The software written for embedded systems is often called firmware
Not entirely correct
The term firmware was originally used for micro-programs written for micro
sequencers.
Later on, firmware was coined to indicate a functional replacement for hardware
on low cost microprocessors.
Firmware can be thought of as semi-permanent since it remains the same
unless it is updated by a firmware updater.
53
Lesson 1: Introduction
What we learned
Embedded systems are hard to define
Designing an embedded system is an engineering task
Embedded systems design process includes different levels of abstraction
A formalism for embedded systems design is most welcome
Many design metrics put a high pressure on the design
U.S. Supreme Court Justice Potter Stewarts quote about obscenity
54
Lesson 1: Introduction
About project
Why ARM processor?
It is widely used in embedded systems
There is a large amount of software
The ARM Company
It does not manufacture processor chips
It licenses an instruction set, that is, an architecture
There are many vendors that provide ARM chips
For ARM I can provide:
Cross-compiler (runs on an Intel-Linux box, generates ARM-Linux executable)
Simulator (runs on an Intel-Linux box)
Installing and using Linux is recommended for all students
55
Lesson 1: Introduction
Lesson 1: Introduction
Lesson 1: Introduction
Questions, feedbacks
?
58