0% found this document useful (0 votes)
130 views19 pages

Embedded System

The document discusses embedded systems, including their definition, differences from general purpose computers, classifications based on generation, complexity/performance, triggering, and deterministic behavior. It also covers the main purposes of embedded systems such as data collection/storage/representation, communication, processing, monitoring, and control.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views19 pages

Embedded System

The document discusses embedded systems, including their definition, differences from general purpose computers, classifications based on generation, complexity/performance, triggering, and deterministic behavior. It also covers the main purposes of embedded systems such as data collection/storage/representation, communication, processing, monitoring, and control.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

EMBEDDED SYSTEM

An embedded system is an electronic/electro-mechanical system designed to


perform a specific function and is a combination of both hardware and firmware
(software). Every embedded system is unique, and the hardware as well as the
firmware is highly specialized to the application domain.
Embedded systems are becoming an inevitable part of any product or equipment
in all fields including household appliances, telecommunications, medical
equipment, industrial control, consumer products, etc.

1. DIFFERENCE BETWEEN GPCS & ES


GENERAL PURPOSE COMPUTER SYSTEM EMBEDDED SYSTEM
A system which is a combination of a A system which is a combination of special
generic hardware and a General-Purpose purpose hardware and embedded OS for
Operating System for executing a variety executing a specific set of applications
of applications
Contains a General-Purpose Operating May or may not contain an operating system for
System (GPOS) functioning
Applications are alterable (programmable) The firmware of the embedded system is pre-
by the user (It is possible for the end user programmed, and it is non-alterable by the end-
to re-install the operating system, and add user (There may be exceptions for systems
or remove user applications) supporting OS kernel image flashing through
special hardware settings)
Performance is the key deciding factor in Application-specific requirements (like
the selection of the system. Always, performance, power requirements, memory
‘Faster is Better’ usage, etc.) are the key deciding factors
Less/not at all tailored towards reduced Highly tailored to take advantage of the power
operating power requirements, options saving modes supported by the hardware and the
for different levels of power management operating system
Response requirements are not time- For certain category of embedded systems like
critical mission critical systems, the response time
requirement is highly critical
Need not be deterministic in execution critical Need not be deterministic in execution
behavior behavior Execution behavior is deterministic for
certain types of embedded systems like ‘Hard Real
Time’ systems
2. CLASSIFICATION OF EMBEDDED SYSTEM
It is possible to have a multitude of classifications for embedded systems, based on
different criteria. Some of the criteria used in the classification of embedded
systems are as follows: Based on generation, Complexity, and performance
requirements, based on deterministic behavior, Based on triggering.

2.1. Classification Based on Generation


1. First Generation:
1.1. 8bit microprocessors like 8085 and Z80, and 4bit microcontrollers.
1.2. Simple hardware circuits with firmware developed in Assembly code.
1.3. Examples: Digital telephone keypads, stepper motor control units etc.
2. Second Generation
2.1. 16bit microprocessors and 8- or 16-bit microcontrollers.
2.2. The instruction set for processors/controllers is much more complex & powerful.
2.3. Some of the ES contained embedded operating systems for their operation.
2.4. Examples: Data Acquisition Systems, SCADA systems, etc.
3. Third Generation
3.1. powerful 32bit processors and 16bit microcontrollers.
3.2. A new concept of application and domain.
3.3. specific processors/controllers like (DSP) and (ASICs) came into the picture.
3.4. The instruction set of processors became more complex and powerful.
3.5. and the concept of instruction pipelining also evolved.
3.6. Dedicated embedded real time and general-purpose OS entered the market.
3.7. ES spread its ground to areas like robotics, media, industrial process control, networking.
4. Fourth Generation
4.1. The advent of System on Chips (SoC), reconfigurable processors and multicore processors
are bringing high performance, tight integration, and miniaturization into the embedded
device market.
4.2. The SoC technique implements a total system on a chip by integrating different
functionalities with a processor core on an integrated circuit.
4.3. The fourth-generation embedded systems are making use of high-performance real time
embedded operating systems for their functioning. Smart phone devices, mobile internet
devices (MIDs), etc. are examples of fourth generation embedded systems.

2.2. Classification Based on Triggering


Embedded Systems which are ‘Reactive’ in nature (Like process control systems in
industrial control applications) can be classified based on the trigger. Reactive
systems can be either event triggered, or time triggered.
2.3. Classification Based on Complexity and Performance:
1. Small-Scale Embedded Systems:
1.1. Embedded systems which are simple in application needs.
1.2. And where the performance requirements are not time critical fall under this category.
1.3. An electronic toy is a typical example of a small-scale embedded system.
1.4. Small-scale are usually built around low performance and low cost 8- or 16-bit MP/MC.
1.5. A small-scale ES may or may not contain an operating system for its functioning.
2. Medium-Scale Embedded Systems:
2.1. Embedded systems which are slightly complex in hardware and firmware (software).
2.2. Medium-scale built around medium performance, low cost 16 or 32 bit MP/MC|DSP.
2.3. They usually contain an embedded OS (either general purpose or RTOS) for functioning.
3. Large-Scale Embedded Systems (Complex Systems):
3.1. Embedded systems which involve highly complex hardware and firmware.
3.2. They are employed in mission critical applications demanding high performance.
3.3. Such systems are commonly built around high performance 32- or 64-bit RISC
processors/controllers or Reconfigurable System on Chip (RSOC) or multi-core
processors and programmable logic devices.
3.4. They may contain multiple processors/controllers and co-units/hardware accelerators
for offloading the processing requirements from the main processor of the system.
3.5. Decoding/ encoding of media, cryptographic function implementation, etc. are
examples for processing requirements which can be implemented using a co-
processor/hardware accelerator.
3.6. Complex embedded systems usually contain a high-performance Real-Time Operating
System (RTOS) for task scheduling, prioritization, and management.

2.4. Classification Based on Deterministic Behavior


The classification based on deterministic system behavior is applicable for ‘Real
Time’ systems. The application/task execution behavior for an embedded system
can be either deterministic or non- deterministic. Based on the execution behavior,
Real Time embedded systems are classified into Hard and Soft:
1. Soft Real Time: Embedded systems time/deadline is not so strictly followed. If the deadline
of the task is passed (means the system didn’t give result in the defined time) still result or
output is accepted.
2. Hard Real Time: Embedded systems time/deadline of task is strictly followed. Task must
be completed in between time frame (defined time interval) otherwise result/output may not
be accepted.
Example on Hard Real Time Systems: Military usage in defense sector, medical usage in health sector.
3. PURPOSE OF EMBBEDDED SYSTEM
Embedded systems are designed to serve the purpose of any one or a combination
of the following tasks Data collection / Storage / Representation, Data
communication, Data (signal) processing, Monitoring Control, Application specific
user interface.

3.1. Data collection / Storage / Representation


1. Data collection is usually done for storage, analysis, manipulation, and transmission.
2. Data refers to all kinds of information, viz. text, voice, image, video, electrical signals, etc.
3. Data can be either analog (continuous) or digital (discrete).
4. If the data is analog embedded system use the ADC to convert the data into digital.
5. Digital cameras are a typical example of an embedded system with this purpose.
6. The collected data may be stored directly in the system or may be transmitted to some other
systems, or it may be processed by the system, or it may be deleted instantly after giving a
meaningful representation.

3.2. Data Communication


1. Embedded systems act as a dedicated transmission unit between the sending and receiving
terminals, offering sophisticated functionalities like data packetizing, encrypting, and
decrypting.
2. Embedded data communication systems are deployed in applications ranging from complex
satellite communication systems to simple home networking systems.
3. Network hubs, routers, switches, etc. are typical examples of dedicated data transmission
embedded systems.

3.3. Data Signal Processing


1. Embedded systems with signal processing functionalities are employed in applications
demanding signal processing like speech coding, synthesis, audio video codec, transmission
applications, etc.
2. A digital hearing aid is a typical example of an embedded system employing data processing.
Digital hearing aids improve the hearing capacity of hearing-impaired people.

3.4. Monitoring
1. Almost all ES products coming under the medical domain are with monitoring functions only.
2. Medical devices usually determine the state of some variables using sensors then display it.
3. In medical devices They cannot impose control over variables.
4. Example: Electrocardiogram (ECG), digital multimeters, logic analyzers, digital CRO.
3.5. Control
1. Embedded systems with control functionalities impose control over some variables according
to the changes in input variables. A system with control functionality contains both sensors
and actuators.
2. The air conditioner system used in our home to control the room temperature to a specified
limit is a typical example of embedded system for control purpose.

3.6. Application Specific Interface


1. These are embedded systems with application-specific user interfaces like buttons, switches,
keypad, lights, bells, display units, etc. Mobile phone is an example for this.
2. In mobile phones the user interface is provided through the keypad, graphic LCD module,
system speaker, vibration alert, etc.

4. MAJOR APPLICATION AREA OF ES


Embedded technology has acquired a new dimension from its first-generation
model, the Apollo guidance computer, to the latest radio navigation system
combined with in-car entertainment technology and the wearable computing
devices (Apple watch, Microsoft Band, Fitbit fitness trackers etc.). These are some
of the important domains and products:
1. Consumer electronics: Camcorders, cameras, etc.
2. Household appliances: Television, DVD players, washing machine, fridge, microwave oven.
3. Telecom: Cellular telephones, telephone switches, handset multimedia applications, etc.
4. Computer peripherals: Printers, scanners, fax machines, etc.
5. Healthcare: Different kinds of scanners, EEG, ECG machines etc.
6. Card Readers: Barcode, smart card readers, handheld devices, etc.
7. Cloud Computing and Internet of Things (IOT): Smart house, etc.
8. Computer networking systems: Network routers, switches, hubs, firewalls, etc.
9. Wearable Devices: Health & Fitness Trackers, Smartphone Screen extension for notifications.
10. Measurement & Instrumentation: Digital multimeters, digital CROs, logic analyzers.
11. Banking & Retail: Automatic teller machines (ATM) & currency counters, point of sales (POS).
12. Automotive industry: Anti-lock braking systems (ABS), engine control, ignition systems, etc.
13. Home automation and security systems: Air conditioners, sprinklers, CCTV, fire alarms, etc.
5. MOBILE PHONE AS EXAMPLE
The central processing block consists of ARM core based general purpose
processors (single or dual core) and some co-processors which take charge of signal
processing. The same SoC handles the MCU and DSP applications. The processors
used in today’s smart phones are powerful enough to run operating systems like
Linux, Android, etc. Mobile phone consists of:
1. Central processing block: consisting of the Microcontroller Unit (MCU), Digital
Signal Processing Unit (DSP) and memory. Th is forming the ‘embedded
processor’ of a mobile phone.
2. RF transceiver: consists of RF modem, transmitter, synthesizer, and receiver. It
uses a low noise amplifier for boosting signals and an RF antenna for
transmitting/ receiving.
3. Power management block: takes care of all power-related issues (analog and
digital power) of the device.
4. Analog baseband block: is responsible for dealing with the analog signals
coming from the microphone and going to the speaker.
5. The peripheral interface: consists of USB port, audio jack, etc. which facilitate
the connection of peripherals to the phone.
6. Display: consists of LCDs, LEDs, and other such hardware.
6. ELEMENTS OF EMBEDDED SYSTEM
Embedded hardware/software systems are basically designed to regulate a physical
variable or to manipulate the state of some devices by sending some control signals
to the Actuators or devices connected to the O/p ports of the system, in response
to the input signals provided by the end users or Sensors which are connected to
the input ports. Hence an embedded system can be viewed as a reactive system.
The control is achieved by processing the information coming from the sensors and
user interfaces, and controlling some actuators that regulate the physical variable.

Keyboards, push button switches, etc. are examples for common user interface
input devices whereas LEDs, liquid crystal displays, piezoelectric buzzers, etc. are
examples for common user interface output devices for a typical embedded system.
7. CORE OF EMBEDDED SYSTEM
Embedded systems are domain and application specific and are built around a
central core. The core of the embedded system falls into any one of the following
categories:

2.1. General Purpose and Domain Specific Processor


Almost 80% of the embedded systems are processor/controller based. The
processor may be a microprocessor or a microcontroller or a digital signal processor,
depending on the domain and application. Most of the embedded systems in the
industrial control and monitoring applications make use of the commonly available
microprocessors or microcontrollers whereas domains which require signal
processing such as speech coding, speech recognition, etc. make use of special kind
of digital signal processors.
2.1.1. Microprocessors: A Microprocessor is a silicon chip representing a central processing
unit (CPU), which can perform arithmetic as well as logical operations according to a pre-
defined set of instructions, which is specific to the manufacturer. In general, the CPU
contains the Arithmetic and Logic Unit (ALU), control unit and working registers. A
microprocessor is a dependent unit, and it requires the combination of other hardware
like memory, timer unit, and interrupt controller, etc.
2.1.2. Microcontroller: A Microcontroller is a highly integrated chip that contains a CPU,
scratch pad RAM, special and general-purpose register arrays, on chip ROM/FLASH
memory for program storage, timer and interrupt control units and dedicated I/O ports.
Microcontrollers can be considered as a super set of microprocessors. Since a
microcontroller contains all the necessary functional blocks for independent working,
they found greater place in the embedded domain in place of microprocessors.
2.1.3. Digital Signal Processors: Digital Signal Processors (DSPs) are powerful special
purpose 8/16/32 bit microprocessors designed specifically to meet the computational
demands and power constraints of today’s embedded audio, video, and communications
applications. Digital signal processors are 2 to 3 times faster than the general-purpose
microprocessors in signal processing applications. This is because of the architectural
difference between the two. DSPs implement algorithms in hardware which speeds up
the execution whereas general purpose processors implement the algorithm in firmware
and the speed of execution depends primarily on the clock for the processors.
2.2. Application Specific integrated Circuit (ASIC)
Application Specific Integrated Circuit (ASIC) is a microchip designed to perform a
specific or unique application. It is used as a replacement to conventional general
purpose logic chips. It integrates several functions into a single chip and thereby
reduces the system development cost. Most of the ASICs are proprietary products.
As a single chip, ASIC consumes a very small area in the total system and thereby
helps in the design of smaller systems with high capabilities/functionalities.

2.3. Programmable Logic Device (PLD)


Logic devices provide specific functions, including device-to-device interfacing, data
communication, signal processing, data display, timing, and control operations, and
almost every other function a system must perform. Logic devices can be classified
into two broad categories–fixed and programmable.
The circuits in a fixed logic device are permanent, they perform one function or set
of functions– once manufactured, they cannot be changed. On the other hand,
Programmable Logic Devices (PLDs) offer customers a wide range of logic capacity,
features, speed, and voltage characteristics–and these devices can be re-configured
to perform any number of functions at any time. The two major types of
programmable logic devices:
1) Field Programmable Gate Arrays (FPGAs):
a) Offer the highest amount of logic density, the most features, and the highest performance.
b) Provides eight million “system gates” (the relative density of logic).
c) Built-in hardwired processors (such as the IBM power PC).
d) Substantial amounts of memory, clock management systems.
e) Support for many of the latest, very fast device-to-device signaling technologies.
f) FPGAs are used in a wide variety of applications ranging from data processing and storage
to instrumentation, telecommunications, and digital signal processing.
2) Complex Programmable Logic Devices (CPLDs):
a) Offer much smaller amounts of logic–up to about 10,000 gates.
b) Offer very predictable timing characteristics so it is ideal for critical control applications.
c) Require extremely low amounts of power and are very inexpensive,
d) They are ideal for cost-sensitive, battery-operated, portable applications such as mobile
phones and digital handheld assistants.
2.4. Commercial Off the Shelf Components (COTs)
A Commercial Off-the-Shelf (COTS) product is one which is used ‘as-is’. COTS
products are designed in such a way to provide easy integration and interoperability
with existing system components. The COTS component itself may be developed
around a general purpose or domain specific processor or an Application Specific
Integrated circuit or a programmable logic device.
Typical examples of COTS hardware unit are remote controlled toy car control units
including the RF circuitry part, high performance, high frequency microwave
electronics (2–200 GHz), high bandwidth analog-to-digital converters, devices, and
components for operation at very high temperatures, electro-optic IR imaging
arrays, UV/IR detectors, etc. The major advantage of using COTS is that they are
readily available in the market, are cheap and a developer can cut down his/her
development time to a great extent.

IMPORTANT TABLES
Microprocessor Microcontroller
A silicon chip representing a central A microcontroller is a highly integrated chip that
processing unit (CPU), which can contains a CPU, scratchpad RAM, special and
perform arithmetic as well as logical general-purpose register arrays, on chip
operations according to a predefined set ROM/FLASH memory for program storage, timer
of instructions and interrupt control units and dedicated I/O ports
It is a dependent unit. It requires the It is a self-contained unit, and it doesn’t require
combination of other chips like timers, external interrupt controller, timer, UART, etc. for its
program and data memory chips, functioning
interrupt controllers, etc. for functioning
Most of the time general purpose in Mostly application-oriented or domain-specific
design and operation
Doesn’t contain a built in I/O port. The Most of the processors contain multiple built-in I/O
I/O port functionality needs to be ports which can be operated as a single 8 or 16- or
implemented with the help of external 32-bit port or as individual port pins
programmable peripheral interface
chips like 8255
Targeted for high end market where Targeted for embedded market where performance
performance is important is not so critical (At present this demarcation is
invalid)
Limited power saving options compared Includes lot of power saving features compared to
to Microcontroller microprocessor
RISC CISC
Lesser number of instructions Greater number of Instructions
Instruction pipelining and Generally, no instruction pipelining feature
increased execution speed
Orthogonal instruction set Non-orthogonal instruction set (All instructions are not
(Allows each instruction to allowed to operate on any register and use any addressing
operate on any register and use mode. It is instruction-specific)
any addressing
Operations are performed on Operations are performed on registers or memory
registers only; the only memory depending on the instruction
operations are load and store
Many registers are available Limited number of general-purpose registers
Programmer needs to write Instructions are like macros in C language. A programmer
more code to execute a task can achieve the desired functionality with a single
since the instructions are simpler instruction which in turn provides the effect of using more
ones simpler single instructions in RISC
Single, fixed length instructions Variable length instructions
Less silicon usage and pin count More silicon usage since more additional decoder logic is
required to implement the complex instruction decoding.
With Harvard Architecture Can be Harvard or Von-Neumann Architecture

Harvard Architecture Von-Neumann Architecture


Separate buses for instruction and data fetching Single shared bus for instruction and data
fetching
Easier to pipeline, so high performance can be Low performance compared to Harvard
achieved architecture
Comparatively high cost Cheaper
No memory alignment problems Allows self-modifying codes*
Since data memory and program memory are Since data memory and program memory
stored physically in different locations, no are stored physically in the same chip,
chances for accidental corruption of program chances for accidental corruption of
memory program memory
ADDITIONAL INFORMATION
1) General-Purpose Processor (GPP):
• It is a processor designed for general computational tasks.
• The processor running inside your laptop or desktop is a typical example for GPP.
• They are produced in large volumes and target the general market.
• Due to the high-volume production, unit cost for a chip is low compared to ASIC.
• A typical general-purpose processor contains an Arithmetic and Logic Unit & Control Unit.
2) Application Specific Instruction Set Processors (ASIPs):
• They are processors with architecture and instruction set optimized to specific
domain/application requirements like network processing, automotive, telecom, media
applications, digital signal processing, control applications, etc.
• ASIPs fill the architectural spectrum between general purpose processors and Application
Specific Integrated Circuits (ASICs).
• The need for an ASIP arises when the traditional general-purpose processor is unable to
meet the increasing application needs.
• Most of the embedded systems are built around application specific instruction set
processors. Some microcontrollers (like Automotive AVR, mega AV from Atmel), system
on chips, digital signal processors, etc. are examples for application specific instruction set
processors (ASIPs).
8. ARM
- ARM stands for ‘Advanced RISC Machine’.
- The first ARM processor was meant to be the ‘Acorn RISC Machine’ as it was
manufactured by Acorn Computers Ltd., Cambridge, England, in 1985.
- The name explicitly states its characteristic of being a RISC processor.
- The subsequent and more advanced processors of the ARM family (ARM9, ARM10,
ARM11, Cortex) have been built on the success of the ARM7 processor, which is still the
most popular and widely used member of the ARM family.
- One of the most licensed and thus widespread processor cores in the world
o Used in PDA, cell phones, multimedia players, handheld game consoles, digital
TV, and cameras.
o ARM7: GBA, iPod
o ARM9: NDS, PSP, Sony Ericsson, BenQ
o ARM11: Apple iPhone, Nokia N93, N800
o 90% of 32-bit embedded RISC processors till 2009
- Used especially in portable devices due to its low power consumption and reasonable
performance.

1) ARM Core (Processor)


- A simple but powerful design
- A whole family of designs sharing similar design principles and a common instruction set.

2) The ARM Microcontroller


- ARM has been designated as a ‘microprocessor’ and indeed it is a processor that has
very high computing capabilities. It has a rich set of features for handling complex
computations.
- For using it as an embedded processor, it needs many more capabilities, and these come
in the form of on-chip peripherals.
- To the ARM core, peripherals are added and thus it becomes a ‘microcontroller’ or an
MCU (microcontroller unit), rather than an MPU (microprocessor unit).
The number and kind of peripherals added depends on the requirements of the buyer of
the IP. When a chip has the core and the necessary peripherals to perform as a system, it is
called a System on Chip (SoC)—and the term ‘ARM SoC’ is very commonly used—
understandably it has some version of the ARM core, and a large set of peripherals.
Note: ARM makes a design of a processor and sells it to companies and then those companies
add to it the peripherals that are needed to that processor to make a suitable microcontroller of
ARM ‘SoC’. (Design and license ARM core design but not fabricate)

3) Why RISC?
• Instructions are of the same size, that is, 32 bits.
• Simple but powerful instructions
• Instructions are executed in one cycle.
• Only the load and store instructions access memory
These features are fundamental to the RISC design philosophy, which prioritizes simplicity,
efficiency, and performance. ARM processors, based on RISC principles, leverage these
features to deliver high-performance computing solutions across a wide range
of applications.

4) Naming ARM
5) Popular ARM architectures
- ARM7TDMI
o 3 pipeline stages (fetch/decode/execute)
o High code density/low power consumption
o One of the most used ARM-version (for low-end systems)
o All ARM cores after ARM7TDMI include TDMI even if they do not include TDMI in
their labels.
- ARM9TDMI
o Compatible with ARM7
o 5 stages (fetch/decode/execute/memory/write)
o Separate instruction and data cache
- ARM11

6) ARM design philosophy


• Small processor for lower power consumption (for embedded system)
• High code density for limited memory and physical size restrictions
• The ability to use slow and low-cost memory
• Reduced die size to reduce manufacture cost and accommodating more peripherals

7) Advanced Features
- Thumb: A new 16-bit instruction set called ‘Thumb’ was made available. The logic of
having this less powerful instruction set is that all applications do not need the full power
of 32-bit ARM instructions.
- MMU and MPU: These are two aspects related to memory. One is the ‘memory
management unit’ and the other is the ‘memory protection unit’.
- Cache: The first ARM processor with a cache was ARM3. It had an on-chip cache of 4 KB.
ARM 7 had a cache of 8 KB which was improved in ways other than just the size. Current
ARM processors have a cache as a standard component.
- Debug interface: There is an on-chip unit for testing called the JTAG interface. JTAG stands
for ‘Joint Test Action Group’ and defines a set of standards for testing the functionality of
hardware.
- Fast multiplier: Even though ARM is a RISC processor, many features in it do not conform
exactly to the RISC philosophy. Having dedicated hardware for complex operations is one
such deviation. Multiplication is a complex operation, and for fast multiplication, there
may be a fast multiplier unit.
- Enhanced instructions: Most advanced embedded systems require DSP operations, and
for that, a DSP unit with complex arithmetic operations, may be made available on the
chip.
- Vector floating point unit: This implies hardware support for floating point computation.
8) The Features of ARM Which Makes It ‘Special’
- Data bus width, the processor has a 32-bit data bus width,
- Low power
- Multiple register instructions
- Pipelining:
o Pipelining is a fundamental idea in computer architecture, for increasing the speed
of operation.
o The idea is to get many activities to be done in tandem, by dividing the whole
instruction processing stage into substages. The basic task that any processor does
is ‘fetch, decode and execute’. In the simplest form of pipelining (3 stages), all
three stages are active all the time.

9) ARM Architecture
- Operating Modes:
i) User: Unprivileged mode under which most tasks
run
ii) FIQ (Fast Interrupt Request): Entered on a high-
priority (fast) interrupt request
iii) IRQ (Interrupt Request): Entered on a low-priority
interrupt request
iv) Supervisor: Entered on reset and when a software
interrupt instruction (SWI) is executed
v) Abort: Used to handle memory access violations
vi) Undef: Used to handle undefined instructions
vii) System: Privileged mode using the same registers
as user mode
- Register Set:
ARM has 37 registers each of which is 32 bits long. They are listed as follows:
i) 1 dedicated program counter (PC)
o Store the address of the instruction to be executed.
o The last 2-bits of pc are undefined.
ii) 1 dedicated current program status register (CPSR)
o The CPSR (Current Program Status Register) is a very important register, and there
is only one such register for the processor.
o The CPSR contains information about the current state of the processor.
o It has bits that specify the mode, control bits to enable/disable interrupts, and
specifies whether the Thumb or ARM mode is currently in use.

iii) 5 dedicated saved program status registers (SPSR)


o There are five ‘Saved Program Status Registers’, that is, one for each of the
‘exception’ modes of operation. When an exception, that is, an interrupt occurs,
the corresponding SPSR saves the current CPSR value into it (so as to be able to
retrieve it on returning to the previous mode). The system mode and user modes
do not have SPSRs because they are not entered through the mechanism of
interrupts.
iv) 30 general purpose registers
o General Purpose Registers:
- Interrupt
o It is a signal to the processor emitted by HW or SW indicating that an event is
happening.

You might also like