Chapter 2 V
Chapter 2 V
Chapter 2 V
Processor Memory
Human Diagnostic
interface port
A/D D/A
conversion Conversion
Actuators/
Sensors
indicators
Figure Organization
1.14 Possible Organization of an Embedded
of an Embedded SystemSystem
Differences between general purpose computers
and embedded systems:
• An interactive system, there are a variety of interfaces that enable
the system to measure, manipulate, and otherwise interact with the
external environment.
• Embedded systems interact (sense, manipulate, and communicate)
with external world through sensors and actuators.
• The human interface may be as simple as a flashing light or as
complicated as real-time robotic vision. In many cases, there is no
human interface.
• The diagnostic port may be used for diagnosing the system that is
being controlled.
• Software often has a fixed function and is specific to the
application.
• Efficiency is of paramount importance for embedded systems.
microprocessor chips
include multiple cores
and a substantial
amount of cache
memory.
Microcontroller
“computer on a
chip “
The Internet of Things (IoT)
• Term that refers to the expanding interconnection of smart
devices, ranging from appliances to tiny sensors.
Microprocessor Speed
Pipelining
• Pipelining is the process of sending multiple data
packets serially without waiting for the previous
acknowledgment.
• This technique is beneficial when the amount of data
to be transferred is very large, and we send the data by
dividing them into various parts.
• It facilitates parallelism in execution at the hardware
level.
• “Common” instructions (arithmetic, load/store,
conditional branch) can be executed independently.
• Pipelining does not reduce the execution time of
individual instructions but reduces the overall
execution time required for a program.
Microprocessor Speed
Pipelining
Pipelining
Superscalar execution
Superscalar v Superpipelined
Microprocessor Speed
Branch prediction
• The processor looks ahead in the instruction code fetched from
memory and predicts which branches, or groups of
instructions, are likely to be processed next.
• The purpose of the branch predictor is to improve the flow in
the instruction pipeline.
• The prediction is executed and the results are kept temporarily,
and if it is later detected that the guess was wrong, the
speculatively executed or partially executed instructions are
discarded and the pipeline starts over with the correct branch,
causing a delay.
Microprocessor Speed
Speculative execution
Using branch prediction and data flow
analysis, some processors speculatively
execute instructions ahead of their actual
appearance in the program execution, holding
the results in temporary locations, and keeping
execution engines as busy as possible.
Performance Balance
It is necessary to
adjust the
organization and
architecture to
compensate
Performance Balance
To overcome the imbalance between memory and processor
speeds there are several approaches
MIC GPU
• A large number of cores per • A chip with multiple general-
chip. purpose processors plus graphics
• The multicore and MIC processing units (GPUs) and
strategy involves a specialized cores for video
homogeneous collection of processing and other tasks.
general purpose processors
on a single chip.