Embedded Systems
Embedded Systems
SYSTEMS
EMBEDDED & REAL TIME
SYSTEMS
Course Objective - In this course the student will learn about
Top-Down Design
Begin with the most abstract description
of the system and conclude with concrete
details
External constraints are one important source of difficulty in
embedded system design.
Some important problems that must be taken into account
Hardware required
Meeting deadlines
GPS
Cruise Control
Temperature Control
Transmission Control
Real world Interfaces
Vibration Sensors
Light Sensors
Introduction and
Architecture
ARM Applications
RISC CISC
Hardwired instruction Microcode ROMS
decode instruction decoder
Single cycle execution of all Multi cycle execution on
instructions instruction
RISC Advantages
• A Smaller Die Size
Code Code
Generation Generation
Greater
Processor Processor
Complexity
Features used from RISC
• A Load/Store Architecture
• Fixed Length 32-bit Instructions
• 3- Address Instruction Formats
• Enhancements
• Auto increment & Auto Decrement Addressing
modes
• Multiple Load/Store
• Conditional Execution
Load Store Architecture
• Memory can be accessed only through two dedicated
instructions
– LDR ; move word from memory to register
– STR ; move word from register to memory
• All other instructions have to work on registers only.
3 Address Instruction Format
f bits n bits n bits n bits
Function op 1 addr. op 2 addr. dest. addr.
Example
Read
N MAC
ALU
Address Register
Incrementer
Address
Registers
• ARM has Load Store Architecture
Core Instruction 58 30
Data Processing Instructions Access to barrel shifter Separate barrel and ALU
and ALU instructions
Program Status Register R/W in privileged mode No direct access
Register Usage 15 GPR + PC 8 GPR + 7 high registers
+ PC
State and Instruction Sets
Jazelle
(cpsr T = 0, J = 1)
Instruction Size 8 bit
31
0 0 1 0 0 0 0 1 0 10011
cpsr = nzCvqjiFt_SVC
CPSR
31 28 24 23 16 15 8 7 6 5 4 0
N Z C V J U n d e i n e d I F T mode
f
hold information about the most recently performed ALU
operation
set the processor operating mode
v5TE * *
v5TEJ * * *
v6 * * * *
v6Z * * * * *
v6T2 * * * * *
ARM Processors
• ARM7 Family ARM11 Family
– ARM7EJ-S ARM1136J-S
– ARM7TDMI ARM1136JF-S
– ARM7TDMI-S ARM1156T2(F)-
S
– ARM720T
ARM1176JZ(F)-S
• ARM9/9E Families
ARM11 MPCore
– ARM920T
– ARM922T Cortex Family
– ARM926EJ-S Cortex-A8
– ARM940T Cortex-M1
– ARM946E-S Cortex-M3
– ARM966E-S Cortex-R4
– ARM968E-S
• Vector Floating Point Other
Families Processors/Microarchitectures
– VFP10 StrongARM (DEC-Intel)
• ARM10 Family Xscale (Intel- Marvell Tech)
– ARM1020E Other
– ARM1022E
– ARM1026EJ-S
Cortex Family
• ARM Cortex-A Series - Application processors
for complex OS and user applications
– ARM Cortex-A8, ARM Cortex-A9
• ARM Cortex-R Series - Embedded processors
for real-time systems
– ARM Cortex-R4(F)
• ARM Cortex-M Series – Embedded processors
optimized for cost sensitive applications, as
Mobile devices
– ARM Cortex-M0, ARM Cortex-M1, ARM
Cortex-M3
Switching States
• ARM to Thumb
– Execute the BX instruction with state bit=1
• Thumb to ARM
– Execute the BX instruction with state bit=0
– An interrupt or exception occurs