Copyright © 2012 Embedded Systems Committee Introduction To ES Mohamed Abd Elhay
May 06, 2015
Copyright © 2012 Embedded Systems
Committee
Introduction To ES
Mohamed Abd Elhay
Copyright © 2014 Embedded Systems
Committee
Copyright © 2014 Embedded Systems
Committee
Copyright © 2014 Embedded Systems
Committee
Embedded Systems
Embedded Systems Applications
Embedded Systems Types
Memories
Embedded system developing
Embedded Systems Market in Egypt
Copyright © 2014Embedded Systems
Committee
Copyright © 2014 Embedded Systems
Committee
•Embedded system is a special purpose system designed to
perform one or a few dedicated
functions.
• Embedded systems are computing systems with tightly
coupled hardware and software integration.
Copyright © 2014 Embedded Systems
Committee
The Word “Embedded” reflects the fact that these systems are
usually an integral part of
a larger system, known as the embedding system.
“A computer built into a system and not seen by the user as
being a computer”
It is usually Embedded as a part of a complete device
including hardware and mechanical parts.
Copyright © 2014 Embedded Systems
Committee
Can Personal Computer be considered as an Embedded
System as it integrates hardware and software to
perform functions? Why?
NO
PC cannot be considered as an embedded system
because
1. It uses a General-Purpose Processor
2. The system is built independently from the software
runs on it.
Else ATM machine
Copyright © 2014 Embedded Systems
Committee
Communication:
Mobile Handsets
Switches and Routers
Image processing and Consumers:
Cameras
Mp3 and Mp4 players
PlayStation
Automotive:
Engine Management System
Claimant Control System
Appliances:
Microwave
Washing Machines
Copyright © 2012 Embedded Systems
Committee
1) Microprocessors.
2) Microcontrollers.
3) DSPs.
Copyright © 2014 Embedded Systems
Committee
o CPU = ALU + Registers + Control unit
o Microprocessor function is to fetch the instructions
from the memory then decode and execute them.
o Microprocessor alone is useless
Copyright © 2014 Embedded Systems
Committee
CPU design divide into three parts:
o The datapath
does all of the actual data processing
o A control unit
uses the programmer’s instructions to tell the datapath what to do
o An instruction
set is the programmer’s interface to CPU
Copyright © 2014 Embedded Systems
Committee
Control Unit
and
Datapath
Control Unit and Datapath
Copyright © 2014 Embedded Systems
Committee
o The hardware part of the processor that
performs the processing operations.
o Contain from Three Parts:
Computations ALU
Fast temporary storage Register file
Large memory storage RAM
Copyright © 2014 Embedded Systems
Committee
o programs with the data-path :
converts program instructions into control
signals for data-path.
Executes program instructions in the correct
sequence.
DA AA BA MB FS MD WR
V C N Z
Branch
Control
ADRS
Instruction
RAM
OUT
Instruction Decoder
PC
Copyright © 2014 Embedded Systems
Committee
• CPU = ALU + Registers + Control unit
W R
DA
AA B A
FS V C N Z
MB
MD
MW
constant
DA AA B A MB FS MD W R M W
V C N Z
Branch
Control
PC
ADRS
Instruction
RAM
OUT
Instruction Decoder
D
Register file
A B
1 0
Mux B
ADRS DATA
Data RAM
OUT
A B
ALU
G
0 1
Mux D
Control Unit Datapath
Copyright © 2014 Embedded Systems
Committee
Harvard arch.:
includes two memory units :
o An instruction memory holds the program
o A separate data memory is used for computations
o The advantage is that we can read an instruction and load or store data in the same clock cycle
Von Neumann arch.:
includes one memory unit :
o a single main memory that holds both program instructions and data
Copyright © 2014 Embedded Systems
Committee
RISC CISC
Reduced Instruction Set Computer Complex Instruction Set Computer
optimize execution of instructions by
single instruction limiting capabilities
integrate several functionalities in one
instruction
The compiler or programmer
synthesizes complicated operations
by combining several simple
instructions. (ex: divide operation)
The Compiler is simple as has wide verity of
instructions to perform the complicate
operation
Copyright © 2014 Embedded Systems
Committee
:
RISC CISC
simple operations that can each
execute in a single cycle
the instructions are often take many cycles to
execute.
have a large general-purpose register
set.
dedicated registers for specific purposes
Any register can handle with ALU dedicated registers specific for ALU operation
ALU can‟t deal with Memory directly ALU can deal with memory directly
Due to Memory accesses are costly :
the core can operate at higher clock
frequencies.
and operate at lower clock frequencies
Separate load and store instructions
transfer data between the register bank
and external memory are needed to all
ALU operations
Separate load and store instructions transfer
data between the register bank and external
memory aren’t needed to all ALU
operations
Helps to pipeline execution of instructions
Copyright © 2014 Embedded Systems
Committee
:
• Microcontroller = CPU + Memory + Peripherals
•Designed for standalone operation.
Copyright © 2014 Embedded Systems
Committee
:
Microcontroller Main Components
Microcontroller has eight main components:
1. Central processing unit (CPU)
2. ROM
3. RAM
4. Input and Output (GPIO or DIO)
5. Timer
6. Interrupt circuitry
7. Buses
8. Watchdog
Copyright © 2014 Embedded Systems
Committee
• Like microcontrollers BUT Focus on very efficient execution of
arithmetic operations.
• DSP has :
o specialized arithmetic units,
o optimized design in the memory,
o Addressing and bus architectures with multiprocessing capability
that allow the DSP to perform complex calculations extremely fast
in real time.
• Used widely in digital signal processing in communications systems
such as Cell phones and Image and video processing.
• TI (Texas Instruments) has been the dominant player in the DSP market
for several years.
Copyright © 2014Embedded Systems
Committee
Multi-core system on chip
Like mobile handset which has one chip contains:
o DSP processor
o Embedded processors like ARM
o Custom hardware for GSM
o Custom peripherals for board interface (keyboard,
touch screen, memory card interface)
Copyright © 2014 Embedded Systems
Committee
1-Program Memory
MROM • Masked ROM
• Programmed by the manufacturer.
• The term „masked‟ comes from the manufacturing process
• In case of a large-scale production, the price is very low.
PROM • Programmable rom
• Also called One time programmable ROM
• enables programmer to download a program into it one time only.
• If an error is detected after downloading, the only thing you can do is
to download the correct program to another chip.
Copyright © 2014 Embedded Systems
Committee
1-Program Memory
UV EPROM • UV Erasable Programmable ROM
• It enables data to be erased under strong ultraviolet light.
• After a few minutes it is possible to download a new program.
EEPROM • ELECTRICALLY ERASABLE PROGRAMMABLE ROM
• can be erased by exposing it to an electrical charge
Flash Memory • Invented in the 80s in the laboratories of INTEL
• Represented as the successor to the UV EPROM.
• Can be written and cleared practically an unlimited number of times,
• most microcontrollers are manufactured in flash technology.
Copyright © 2014 Embedded Systems
Committee
2-Data Memory
SRAM: • Static random access memory
• uses multiple transistors, typically four to six, for each memory cell
• doesn't have a capacitor in each cell.
DRAM: • Dynamic random access memory
• has memory cells with a paired transistor and capacitor requiring
constant refreshing.
Copyright © 2014Embedded Systems
Committee
Trade off between HW and SW
For a certain application
o Which functional blocks should be performed in Hardware??
o Which functional blocks should be performed in software??
Copyright © 2014 Embedded Systems
Committee
Software characteristics
o Highly configurable
o Shorter development cycle
o Easier in versions updates
o Cheaper
o Constrained with processor speed which may satisfy real time
application and may not
Copyright © 2014 Embedded Systems
Committee
Hardware characteristics
o Longer development cycle
o Customized for specific application
o Better performance in high speed real time application
Copyright © 2014 Embedded Systems
Committee
Board
SYSTEM ON BOARD
Copyright © 2014 Embedded Systems
Committee
SYSTEM ON CHIP
Keyboard
controller USB interface
Memories CPU
Customized
hardware
LCD
controller
ASIC Chip
Copyright © 2014 Embedded Systems
Committee
• In complicated systems functional blocks could be:
o Level 1: External discrete hardware component on board.
o Level 2: Hardware integrated with CPU on chip (SoC).
o Level 3: Done by software running on CPU.
HW / SW Partitioning
Copyright © 2014 Embedded Systems
Committee
“Those systems in which the correctness of the system
depends not only on the logical result of the computation, but
also on the time at which the results are produced”
Real Time Systems are a very fast systems?
Real-time means completing tasks within specified deadlines,
it is not defined or limited by a specific execution speed.
Copyright © 2014 Embedded Systems
Committee
Copyright © 2014 Embedded Systems
Committee
System Development Cycle
1. System Specification Analysis
2. System Design
3. Development
Hardware Development
Software Development
4. System Integration
5. System Validation
Copyright © 2014 Embedded Systems
Committee
Software Development Cycle
1-Software Specification
2-Software Design
3-Coding / Testing
4-Software Integration
5-Software Validation
Copyright © 2014 Embedded Systems
Committee
1- Assembly
a-Lowest level human readable
b-Platform specific.
c-Assembly has one-to-one corresponding machine language
d-Using compiler to convert High Level language to Assembly
2-C Language
Copyright © 2014 Embedded Systems
Committee
Copyright © 2014 Embedded Systems
Committee
References
• ESC Training Team