Introduction to Embedded
System
What is an Embedded System
An Embedded System is a microprocessor
based system that is embedded as a
subsystem, in a larger system (which may or
may not be a computer system)
A special-purpose computer built into and
integral to a device
frequently used as a controller (refrigerators
and central air condition, etc…)
Examples
Printer : Print intensity, color, page
control
Aircraft : Flight parameters control
ATM : …
Characteristics
Most embedded systems use 4-, 8-, or 16-bit
processors.
Low memory requirements
8-bit processors have about 64K of memory, that
limits amount of code.
In general, unlike PCs, a user can not develop
programs on such systems.
What is Real-Time System
Real time systems are those which must
produce correct responses within a
define time limit.
Should computer responses exceed
these bounds then performance
degradation and / or malfunction results.
Real-Time System Characteristics (1/2)
Driven by asynchronous events
Computational load varies over time
Strict constraints on response time
High reliability requirements
Real-Time System Characteristics (2/2)
Parallelism desirable
Sometimes composed of multiple
processors
Nearly always composed of non-standard
I/O devices
Most real-time systems are embedded
Types of Real-Time System
Soft Real-Time
Hard Real-Time
Firm Real-Time
Soft-Real Time
The job hope to be finished in the
deadline
EX : real-time translator of [Link]
Hard Real-Time
The job is fail if it miss deadline
EX: Nuclear reactors
Firm Real-Time
A real-time system with deadlines that
can be missed occasionally, but late
delivery has no benefit
Requirements may be stated as
probabilities
Real-Time Embedded Systems
All of Real-Time and Embedded system
requirements
EX:
Flight Controllers
Elevator Controllers
Measure performance
Interrupt latency, response and recovery
Rhealstone metric
Process dispatch latency time
Tri-Dimensional measures
Real / stone benchmark
Interrupt latency, response
and recovery
Interrupt request Time
Task CPU context saved Task
CPU context restored
Interrupt ISR code
latency
Interrupt
response Interrupt recovery
Rhealstone metric (1/3)
Contain six entries
f1 : task (context) switching time
Time for CPU changes the context of task T1 to
that of task T2
f2 : Preemption time
Time for CPU changes a low priority task to a high
priority task. (Include the time of kernel dispatch)
Rhealstone metric (2/3)
f3 : Semaphore shuffling time
Time for a task release the semaphore and
another which waits this semaphore gets it
Semaphore shuffling time
Semaphore T1 T2
owner
Task 2
Task 1
T1 get semaphore T2 wait semaphore Time
Rhealstone metric (3/3)
f4 : Interrupt latency time
same as mention in Page 14
f5 : Deadlock breaking time
Time for deadlock state restore to safe state
f6 : Datagram throughput
R = 1/f1 + 1/f2 + 1/f3 + 1/f4 +1/f5 + f6
Large R is better
Process dispatch latency time
Interrupt response time Interrupt recovery time
Finish Process ISR Process Determine Context
Hardware instruction Interrupt before
latency which is after next task switch
latency
executing ISR ISR to run
Process dispatch latency time
Tri-Dimensional measures (1/2)
Performance of CPU computing
Millions of Instructions Per Second (MIPS1)
Power of interrupt process
Millions of Interrupt Per Second (MIPS2)
I/O throughput
Millions of I/O Operations (Mbyte/sec) Per
Second (MIPS3)
Tri-Dimensional measures (2/2)
Even A and B have same MIPS1 (maybe use
same CPU) , B is better than A
MIPS 1
Performance = 3√ (MIP1 X MIPS2 X MIPS3)
Computer A
MIPS 2
Computer B
MIPS 3
Reference (1/2)
即時多工核心程式設計 , 全華 , 胡竹生 & 尹燕陶
MicroC/OS II – The Real-Time Kernel,
Jean J. Labrosse
Embedded Systems Introduction,
from [Link]
Introduction to Embedded Introduction – classification,
characteristics and requirements , Prof. Rajesh K. Gupta
from [Link]
Reference (2/2)
Embedded System Design, prof. Johan Lilius,
from : [Link]
Introduction to Embedded Systems, Dr. Tulika Mitra,
from : [Link]
Introduction to Real Time Embedded Systems, Joel Sherrill,
from : [Link]
Introduction to Embedded Systems & Software, Roopa
Rangaswami,
from : [Link]
Embedded Systems -- Theory and Design, Anupam Basu