Amr Ali Abdel-
Naby@2010Embedded Systems Structure
Embedded Systems Structure
Amr Ali Abdel-Naby
Embedded Systems Developer
+2-012-3600-207
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Outline
•
Composition of Embedded Systems
•
Processor
•
System Bus
•
Memory Devices
•
Peripherals
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Part I: Embedded Systems
Structure
•
Composition of Embedded Systems
•
Processor
•
System Bus
•
Memory Devices
•
Peripherals
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
What is an Embedded System?
•
A system composed of HW + SW to perform a
dedicated function.
•
On average, a human being meets 100s of
embedded systems daily
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Embedded System Components
Processor
Memory
Devices
I/O Devices
Application SW
Operating System
Device Drivers
H
W
SW
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Part I: Embedded Systems
Structure
•
Composition of Embedded Systems
•
Processor
•
System Bus
•
Memory Devices
•
Peripherals
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
The Processor
•
The core of a digital system
•
AKA CPU
•
Performs arithmetic, control, data, and I/O operations
•
A small IC that embeds everything a CPU needs is
called a microprocessor.
•
Nowadays, this IC is called a SOC
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
The Processor Structure
•
Registers
•
ALU: Arithmetic Logic Unit
•
CU: Control Unit
•
Internal Bus
CU
ALU
Registers
Internal Bus
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Registers
•
Temporal storage inside the CPU
o
Flip-flops + latches
•
General purpose register
o
Carry out program or data processing
•
Control register
o
Controls the program or the processor
o
Program Counter (PC), …
•
Status/flag register
o
Shows the current state of the processor
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
ALU
•
Arithmetic operations
o
+, -, …
•
Logical operators
o
AND, OR, …
•
Writes operation results to the status register or the
flag register
o
Carry occurrence, overflow occurrence, …
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
CU
•
Controls the internal data flow to decode and
execute an instruction
Memory Device
Control Signal Generator
Program Counter
InstructionInstruction Register
Instruction Decoder
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Processor Bus
•
A bus is a path that connects the various devices of
a system
•
Internal bus
o
Between registers and ALU
•
External bus
o
Between I/O devices, memories, and CPU
o
Data bus: transfers data
o
Address bus: transfers address information
o
Control bus: transfers control signals
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Pipeline
•
Continuous and parallel streaming of instructions to
the CPU
Fetch 1 Execute 1 Fetch 2 Execute 2 Fetch 3 Execute 3
Fetch 1 Execute 1
Fetch 2 Execute 2
Fetch 3 Execute 3
CPU
+
Pipeli
ne
CPU
W/O
Pipeli
ne
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Various Processors
•
i386
o
Long history
o
PCs
•
ARM
o
Simple
o
Cell phones and PDAs
•
PowerPC
o
Networking capabilities
•
M68K
o
Network devices and portable terminals
•
MIPS
o
High speed network devices
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
MCU, MPU, and SoC
•
System on Chip (SoC)
o
Several semiconductors integrated into a single chip
o
Modern CPUs are in SoC forms
o
The whole system is integrated on a single chip
SW + HW
•
MCU, MPU
o
Another naming of an SoC
Depends on vendor
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Program
•
A list of acceptable processor instructions
•
Designed to achieve a specific result
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Machine Code and Assembly
Language
•
Machine code
o
1’s and 0’s only
o
Understood by processor only
o
Inconvenient to write a program with
•
Mnemonic code
o
Machine code converted to symbols understood by
programmers
•
Assembly language
o
Mnemonic code + pseudo instructions to improve programs
readability
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
C/Cs of Assembly Language
•
Pros
o
Better readability and understanding compared to machine
code
o
Easier to debug and maintain compared to machine code
•
Cons
o
Knowledge of processor internal structure and HW is
necessary
o
Different assembly for different processors
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Assembler and Assemble
•
Assembler
o
A program that converts assembly language into machine
code
•
Assemble
o
The process of converting assembly language into machine
code
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Instruction
•
Instruction = Op Code + Operand
o
Op Code is an action taken by a processor
o
Operand is the target the Op Code should take action to
Op Code: ADD
Operands: A, B, C
Symantec: Add register B and register C and put result in register A
ADD A,B,C
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Types of Processors
•
Complex Instruction Set
Computers (CISC)
o
1960s
o
Memory referencing
operations
o
Complicated
o
Low performance
•
Reduced Instruction Set
Computers (RISC)
o
1950s
o
Load/Store
o
Simple
o
High performance
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Part I: Embedded Systems
Structure
•
Composition of Embedded Systems
•
Processor
•
System Bus
•
Memory Devices
•
Peripherals
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
System Bus Architectures
•
Von-Neumann
•
Harvard
Instruction/Data
Memory
CPU
Instruction
Memory
CPU
Data Memory
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Part I: Embedded Systems
Structure
•
Composition of Embedded Systems
•
Processor
•
System Bus
•
Memory Devices
•
Peripherals
Amr Ali Abdel-Naby@2010 Embedded Systems Structure
Types of Memories
Program and Data
Storage
HighTens of nsNOR
Read and WRITE
with block units,
High Capacity
Data StorageLowTens of nsNAND
Flash
Small size data or
program storage
HighTens of nsEEPROM
Non-
Volatile
Memory
Main memoryLowTens of nsDRAM
CacheHighSeveral ns, FastSRAM
Volatile
Memory
C/CsUseCostSpeedTypes