Embedded Systems
1 - Introduction
© Lothar Thiele
Computer Engineering and Networks Laboratory
Embedded Systems - Impact
1-2
Embedded Systems
Embedded systems (ES) = information processing systems
embedded into a larger product
Examples:
Often, the main reason for buying is not information processing
1-3
© www.braingrid.org
© www.openpr.com
1-4
Many Names – Similar Meanings
© Edward Lee
1-5
Embedded System
Embedded System
Hardware & Computation
Software reasoning
deciding
big data
CYBER Communication
WORLD
observing influencing
PHYSICAL
physical/biological/
WORLD
social processes
Natur
e Use feedback to influence the dynamics of the physical
world by taking smart decisions in the cyber world
1 - 19
Reactivity & Timing
Embedded systems are often reactive:
Reactive systems must react to stimuli from the system environment :
„A reactive system is one which is in continual interaction with is environment and
executes at a pace determined by that environment“ [Bergé, 1995]
Embedded systems often must meet real-time constraints:
For hard real-time systems, right answers arriving too late are wrong. All other
time-constraints are called soft. A guaranteed system response has to be explained
without statistical arguments.
„A real-time constraint is called hard, if not meeting that constraint could
result in a catastrophe“ [Kopetz, 1997].
1 - 20
Predictability & Dependability
CPS = cyber-physical system
“It is essential to predict how a CPS is going to behave under any
circumstances […] before it is deployed.”Maj14
“CPS must operate dependably, safely, securely, efficiently and in
real-time.”Raj10
Maj14 R. Majumdar & B. Brandenburg (2014). Foundations of Cyber-Physical Systems.
Raj10 R. Rajkumar et al. (2010). Cyber-Physical Systems: The Next Computing Revolution.
1 - 21
Efficiency & Specialization
Embedded systems must be efficient:
Energy efficient
Code-size and data memory efficient
Run-time efficient
Weight efficient
Cost efficient
Embedded Systems are often specialized towards a certain
application or application domain:
Knowledge about the expected behavior and the system environment at design
time is exploited to minimize resource usage and to maximize predictability and
reliability.
1 - 22
Comparison
Embedded Systems: General Purpose Computing
Few applications that are known at Broad class of applications.
design-time.
Not programmable by end user. Programmable by end user.
Fixed run-time requirements (additional Faster is better.
computing power often not useful).
Typical criteria: Typical criteria:
cost cost
power consumption power consumption
size and weight average speed
dependability
worst-case speed
1 - 23
Lecture Overview
1. Introduction to Embedded Systems
2. Software Development
3. Hardware-Software Interface
4. Programming Paradigms
Software Hardware
5. Embedded Operating Systems
-
6. Real-time Scheduling
Software
7. Shared Resources
8. Hardware Components
Hardware 9. Power and Energy
10. Architecture Synthesis
1 - 24
Components and Requirements by Example
1 - 25
1 - 26
1 - 27
1 - 28
Components and Requirements by Example
- Hardware System Architecture -
1 - 29
High-Level Block Diagram View
low power CPU higher performance CPU
• enabling power to the rest of the system • sensor reading and motor control
• battery charging and voltage • flight control
measurement • telemetry (including the battery voltage)
• wireless radio (boot and • additional user development
operate) • USB connection
• detect and check expansion
boards
UART:
• communication protocol (Universal
Asynchronous Receiver/Transmitter)
• exchange of data packets to and from
interfaces (wireless, USB)
1 - 30
EEPROM:
High-Level Block Diagram View • electrically erasable programmable
read-only memory
Acronyms: sensor board • used for firmware (part of data and
software that usually is not
• Wkup: Wakeup signal
changed, configuration data)
• GPIO: General-purpose input/output • can not be easily overwritten in
signal comparison to Flash
• SPI: Serial Peripheral Interface Bus
• I2C: Inter-Integrated Circuit (Bus)
• PWM: Pulse-width modulated Signal
• VCC: power-supply
Flash memory:
• non-volatile random-access memory
for program and data
1 - 31
1 - 32
High-Level Physical View
1 - 33
High-Level Physical View
1 - 34
Low-Level Schematic Diagram View
LEDs
(1 page out of 3)
1 - 35
Low-Level Schematic Diagram View
(1 page out of 3) Motors
1 - 36
High-Level Software View
The software is built on top of a real-time operating system “FreeRTOS”.
We will use the same operating system in the ES-Lab … .
1 - 37
High-Level Software View
The software architecture supports
real-time tasks for motor control (gathering sensor values and pilot commands,
sensor fusion, automatic control, driving motors using PWM (pulse width
modulation, … ) but also
non-real-time tasks (maintenance and test, handling external events, pilot
commands, … ).
1 - 39
High-Level Software View
Block diagram of the stabilization system:
sensor reading & transfer to cleaning and information
analog-digital processor preprocessing extraction from automatic control actuation
conversion sensors
on sensor
component 1 - 40
Components and Requirements by Example
- Processing Elements -
1 - 41
What can you do to increase performance?
1 - 42
From Computer Engineering
1 - 43
From Computer Engineering
iPhone Prozessor A12
• 2 processor cores
- high performance
• 4 processor cores - less
performant
• Acceleration for
Neural Networks
• Graphics
processor
• Caches
1 - 46
What can you do to decrease power consumption?
1 - 47
Embedded Multicore Example
Trends:
Specialize multicore processors towards real-time processing and low power
consumption (parallelism can decrease energy consumption)
Target domains:
1 - 48
Why does higher parallelism help in reducing power?
1 - 49
System-on-Chip
Samsung Galaxy S6
– Exynos 7420 System on a Chip (SoC)
– 8 ARM Cortex processing cores Exynos 5422
(4 x A57, 4 x A53)
– 30 nanometer: transistor gate width
1 - 50
How to manage extreme workload variability?
1 - 51
System-on-Chip
Samsung Galaxy S6
– Exynos 7420 System on a Chip (SoC)
– 8 ARM Cortex processing cores Exynos 5422
(4 x A57, 4 x A53)
– 30 nanometer: transistor gate width
1 - 52
From Computer Engineering
iPhone Prozessor A12
• 2 processor cores
- high performance
• 4 processor cores - less
performant
• Acceleration for
Neural Networks
• Graphics
processor
• Caches
1 - 53
Components and Requirements by Example
- Systems -
1 - 55
Zero Power Systems and Sensors
Streaming information to
and from the physical world:
• “Smart Dust”
• Sensor Networks
• Cyber-Physical Systems
• Internet-of-Things (IoT)
1 - 56
Zero Power Systems and Sensors
IEEE Journal of Solid-State Circuits, IEEE Journal of Solid-State
Jan 2013, 229-243. Circuits, April 2017, 961-971.
1 - 57
Trends …
Embedded systems are communicating with each other, with servers or with the cloud.
Communication is increasingly wireless.
Higher degree of integration on a single chip or integrated components:
Memory + processor + I/O-units + (wireless) communication.
Use of networks-on-chip for communication between units.
Use of homogeneous or heterogeneous multiprocessor systems on a chip (MPSoC).
Use of integrated microsystems that contain energy harvesting, energy storage, sensing,
processing and communication (“zero power systems”).
The complexity and amount of software is increasing.
Low power and energy constraints (portable or unattended devices) are increasingly important,
as well as temperature constraints (overheating).
There is increasing interest in energy harvesting to achieve long term autonomous operation.
1 - 58