SlideShare ist ein Scribd-Unternehmen logo
1 von 63
Module-1
By
SWETHAA
Assistant professor
APS College Of Engineering
Complex instruction set computer (CISC) & Reduced instruction set computer (RISC)
The RISC design philosophy
 The ARM processors uses a RISC architecture.
 RICS-Reduced Instruction Set Computing
 4 major designs
1.Instructions:
 RISC is a design philosophy aims to provide few simple but
powerful instructions that execute within a single clock cycle.
 The RISC philosophy aims to reduce the complexity of
instructions performed by the hardware because it is easier to
provide greater flexibility and intelligence in software rather than
hardware.
 RISC design places greater burden/load on the compiler.
 Traditional complex instruction set computer (CISC) relies more
on the hardware (processor) for instruction functionality, as CISC
instructions are more complicated.
2.Pipelining:
 Instruction execution is done in pipelined fashion
 Ideal pipeline stage clock cycle is 1 to have maximum throughput.
Instructions are executed in pipeline stages.
ARM7 is a 3 stage pipelined processor
First stage – fetches the instruction
Second Stage - Decodes the instruction and fetches
the operands
Third Stage - Executes the instruction and stores
the result
3.Registers:
 RISC machines have a large general-purpose register set.
 Any register can contain either data or an address.
 Registers act as the fast local memory store for all data
processing operations.
 In contrast, CISC processors have dedicated registers for
specific purposes.
4.Load-store architecture:
 Processor operates only on data held in registers.
 Separate load and store instructions transfer data
between the register bank and external memory.
 Memory accesses are costly, so separating memory
accesses from data processing provides an advantage
because you can use data items held in the register bank
multiple times without needing multiple memory accesses.
 In contrast, with a CISC design the data processing
operations can act on memory directly.
ARM Microprocessor Basics
ARM: Advance RISC Machine.
ARM was established as a joint venture between Acorn, Apple and
VLSI in November 1990.
ARM is the industry's leading provider of 16/32-bit embedded
RISC microprocessor solutions.
The company licenses its high-performance, low-cost, power-
designs to leading international electronics companies.
ARM provides comprehensive support required in developing a
complete system.
 The ARM processor is a key component of many successful 32-bit
embedded systems(is a computer system—a combination of a
computer processor, computer memory, and input/output
peripheral devices—that has a dedicated function within a larger
mechanical or electronic system).
 ARM cores are widely used in mobile phones, handheld devices,
and a many other everyday portable consumer devices.
 The first ARM prototype name ARM1 was designed in 1985 and
continues to improve through constant technical innovation
leading to ARM2, ARM3, ARM4, ARM5, ARM6, ARM7, ARM8,
ARM9… ARM Cortex.
The ARM Design Philosophy
RICS features accepted by ARM
 A large set of uniform register file
 A load store architecture
 Uniform and fixed length (32-bit) instruction fields
 Three address instruction formats
RICS features rejected by ARM
 Register windows – because they occupy large chip area.
 Delayed Branches
 Single cycle execution of all instructions.
Instruction Set for Embedded System
The ARM instruction set differs from pure RISC
definition in several ways that make the ARM instruction set
suitable for embedded applications.
 Variable cycle execution for certain instruction
 Barrel shifter: Inline barrel shifter for more complex
instructions.(preprocessing of input register before it is used) improves core
density and performance.
 Conditional execution facility in majority of the instructions.
 Enhanced instruction – Enhanced DSP instructions were added to the
standard ARM instruction.
 Thumb 16 bit- instruction set– improves the code density by 30% to
35% over 32-bit fixed length instructions
Embedded System Hardware
Embedded systems are designed to control many different devices,
-- from small sensors found on a production line, to
-- the real-time control systems used on a NASA space
probe.
All these devices use a combination of software and hardware
components.
Each component is designed to provide higher efficiency and, is
designed for future extension and expansion.
An example of an ARM-based Embedded Device, a
Microcontroller
Boxes
represent-
feature or
function
Lines
represent –
Busses
connecting the
devices
Divided into
4 Major
components
-ARM
processor
-Controllers
-Peripherals
-Bus
AHB – ARM High performance Bus
APB - ARM Peripheral Bus
ARM Processor
Controls the embedded device.
Different versions of the ARM processor are available to suit the
desired operating characteristics.
An ARM processor comprises
-a core (the execution engine that processes instructions and
manipulates data)
-the surrounding components that interface it with a bus
(include memory management and caches.)
Controllers
Helps coordinate important functional blocks of the system.
Two commonly found controllers are
-interrupt controller and
-memory controllers.
Peripherals
Provides input-output capability external to the chip.
-includes serial I/O, Parallel I/O, Timers counters and clock
circuits
Responsible for the uniqueness of the embedded device.
Universal asynchronous receiver-transmitter (UART) is a computer
hardware device for asynchronous serial communication in which the
data format and transmission speeds are configurable.
Bus
Supports communicate between different parts of the device.
AHB, APB
ARM Bus Technology
Embedded systems use different bus technologies than those
designed for x86 PCs.
PCs bus technology uses Peripheral Component
Interconnect (PCI) bus, to connect devices such as
- video cards and
-hard disk controllers to the x86 processor bus.
There are two different classes of devices attached to the
ARM on chip bus.
- A bus master: a logical device capable of initiating a data
transfer with another device across the same bus. The ARM processor core
is the bus master.
- Bus slaves: logical devices capable only of responding to a
transfer request from a bus master device. All peripherals are bus slaves
AMBA Bus Protocol
AMBA - Advanced Microcontroller Bus Architecture.
 Was introduced in 1996 and widely adopted as the on-chip bus
architecture used for ARM processors.
The first AMBA buses introduced were the
-ARM System Bus (ASB) and
-ARM Peripheral Bus (APB)
Later ARM introduced another bus design, called
-ARM High Performance Bus (AHB)
Using AMBA, peripheral designers can reuse the same
interface design on multiple projects.
A peripheral can simply be bolted onto the on-chip bus
without having to redesign an interface for each different processor
architecture.
AMBA Bus Protocol Cont…
AHB provides higher data throughput than ASB.
- Because AHB is based on a centralized multiplexed bus
scheme.
- ASB bidirectional bus design.
ARM has introduced two variations on the AHB bus:
-Multi-layer AHB and
-AHB-Lite.
The original AHB, was allowing a single bus master to be active on
the bus at any time, the Multi-layer AHB bus allows multiple active
bus masters.
AHB-Lite is a subset of the AHB bus and it is limited to a single bus
master.
 AHB-Lite was developed for designs that do not require the full
features of the standard AHB bus.
Memory
An embedded system requires some form of memory to store and
execute code.
The memory should be fast, large and inexpensive.
Unfortunately it is impossible to meet all the 3
requirements.
 The common solution is to have the memory hierarchy.
Memory Width
The memory width is the number of bits the memory
returns on each access which is typically 8, 16, 32, or 64 bits.
The memory width has a direct effect on the overall
performance of the system.
If you have a system using 32-bit ARM instructions and 16-
bit-wide memory chips, then the processor will have to make
two memory fetches per instruction.
This reduces the system performance, but the benefit is
that 16-bit memory is less expensive.
If the core executes 16-bit Thumb instructions, it will achieve
better performance with a 16-bit memory.
Memory Types
There are many different types of memory
- ROM
- Flash ROM
- Dynamic RAM
- Static RAM
- SDRAM – Synchronous Dynamic RAM
ROM- Read Only Memory
Least flexible of all memory types because it contains an image that
is permanently stored and cannot be reprogrammed.
Many devices use a ROM to hold boot code.
Flash ROM
Flash ROM can be read as well as written, but it is slow to
write so it is not used for holding dynamic data.
 It is mainly used for holding the device firmware or storing
long-term data that needs to be preserved after power is off.
The erasing and writing of flash ROM are completely software
controlled with no additional hardware circuitry required.
Dynamic Random Access Memory –DRAM
The most commonly used RAM for devices.
It has the lowest cost per megabyte compared with other types
of RAM.
DRAM is dynamic—it needs to have its storage cells refreshed
and given a new electronic charge every few milliseconds,
so you need to set up a DRAM controller before using the memory.
Static Random Access Memory – SRAM
Faster than the more traditional DRAM
SRAM is static—the RAM does not require refreshing.
The access time for SRAM is considerably shorter than the
equivalent DRAM because SRAM does not require a pause
between data accesses.
Synchronous Dynamic Random Access Memory –
SDRAM
SDRAM is synchronized with the processor clock speed.
SDRAM run at much higher clock speed than the conventional
DRAMs.
Peripherals
Embedded systems communicate with the outside world
via peripheral device.
 A peripheral device performs input and output functions for
the chip by connecting to other devices or sensors that are off-
chip.
 Peripherals range from
-a simple serial communication device to a
-more complex 802.11 wireless device.
 Two important types of controllers are
- memory controllers and
- interrupt controllers.
Memory Controller
Memory controller provides the following functionalities.
-Connects different types of memories to the processor bus.
- On power up the memory controller activates certain
memory devices to execute initialization code -ROM.
-It configures the memory timings and the refresh rate of
the DRAM before it is accessed.
Interrupt Controllers
When a peripheral or device requires processor attention, it sends an
interrupt to the processor.
There are two types of interrupt controller in the ARM processor:
- the standard interrupt controller (SIC)
- and the vector interrupt controller (VIC).
Standard Interrupt Controller (SIC)
It sends an interrupt signal to the processor core when an external
device requests servicing.
It can be programmed to ignore or mask an individual device
or set of devices interrupt signals.
The interrupt handler determines which device requires
servicing by reading a device bitmap register in the interrupt
controller.
Vectored Interrupt Controller (VIC)
Provides more functionality than the SIC.
Along with the masking functionality it also provides the
functionality to prioritize the interrupts.
Embedded System Software
An embedded system needs software to drive it.
Figure shows four typical software components required to
control an embedded device.
Initialization (Boot) Code
The initialization code is the first code executed on the board when
the device is powered on.
 It sets up the minimum parts of the board before handing control
over to the operating system.
Boot code is present inside the ROM and is responsible for loading
the OS to the RAM.
The initialization code handles 3 administrative tasks prior to
handing control over to an operating system image.
These administrative tasks can be grouped into three phases:
- initial hardware configuration,
- diagnostics, and
- booting.
Initial Hardware Configuration:
Although the device comes up in a standard configuration, this
initial hardware configuration normally requires modification to
satisfy the requirements of the booted image.
 For example, the memory system normally requires reorganization
of the memory map, as shown in below Example
Diagnostics
Diagnostics is a program embedded in the initialization code.
Diagnostic code tests the system by checking if the all the hardware
components is in working condition.
It also tracks down standard system-related issues.
 The primary purpose of diagnostic code is fault identification and
isolation.
Booting:
Booting involves loading an OS image to RAM and handing control
over to that image.
The boot process can be complicated if the system must boot
different operating systems or different versions of the same operating
system.
Once booted, the system hands over control by modifying the
program counter to point into the start of the OS image.
Sometimes, to reduce the image size, an image is compressed.
 The image is then decompressed either when it is loaded or when
control is handed over to it.
Operating System
The Initialization process prepares the hardware for an Operating
system to take control.
ARM Processor supports over 50 operating systems.
Operating system can be divided into two main categories.
- Real Time Operating System – RTOS
- Platform Operating System –POS
RTOS used in embedded devices and they don’t use the secondary
storage and POS used in the general purpose computer systems and
they use secondary storage
 RTOS is classified into.
-Hard Real Time Operating System – Used in hard real time
applications which requires the guaranteed response time.
-Soft Real Time Operating System – Used in soft real time
applications which does not require guaranteed response time and
the performance gracefully reduces when the time overruns
Applications:
ARM processors are found in numerous domains, including
networking, automotive, mobile and consumer devices, mass storage,
and imaging devices.
Within each domain ARM processors can be found in multiple
applications.
For example, the ARM processor is found in networking
applications like home gateways, modems for high-speed Internet
communication, and 802.11 wireless communication.
The mobile device domain is the largest application area for ARM
processors because of mobile phones.
ARM processors are also found in mass storage devices domains
such as hard drives, products such as inkjet printers
SUMMARY:
It allows variable cycle execution on certain instructions to
save power, area, and code size.
 It adds a barrel shifter to expand the capability of certain
instructions.
 It uses the Thumb 16-bit instruction set to improve code density.
It improves code density and performance by conditionally
executing instructions.
 It includes enhanced instructions to perform digital signal
processing type functions.
Module-1
Chapter 2
•ALU
•Shifter – Helps
to Extend the
scope of data or
address
•Sign-extend –
LOAD data from
Main memory
•Orthogonal Registers –R0~R13 are
orthogonal, for given instruction, if it can
use R0, then others can also be used.
•SPSR(saved program status registers) –
•R13(stack pointer)-head of stack
•R14(link register)-return address of
subroutine
•R15(program counter)-address of next
instruction
•CPSR(current program status register)
Flag Flag Name Set when
N Negative Bit 31 of the result is a binary 1
Z Zero The result is zero, frequently used to
indicate equality
C Carry The result causes an unsigned carry
V Overflow The result causes a signed overflow
I=masking Interrupt request
(IRQ)
F=Fast Interrupt Request
(FIR).
T=Thumb state
 Privileged (allows read-write access to the cprs)
 6 privileged modes
 Abort-when there is a failure to attempt to access memory
 Fast interrupt request-correspond to the two interrupt levels available on
the ARM processor.
 Interrupt request
 Supervisor-processor is in after reset and is generally the mode that an
operating system kernel operates in.
 System-special version of user mode that allows full read-write access to
the cpsr
 Undefined-used when the processor encounters an instruction that is
undefined or not supported by the implementation
 Nonprivileged(allows read access to the control field in the
cpsr but allows read-write access to the conditional flags)
 1 nonprivilegde mode
 User
Baked Registers
•Total 37 registers
•20 baked registers –hidden from program at different times.
•They are available only when processor is in particular mode
•System mode doesn’t contain baked registers.
•User mode
•Processor mode can be changed and written directly
into the cpsr .The following exceptions and interrupts
causes change in mode
•Reset
•Interrupt request
•Fast interrupt
•Software interrupt
•Data abort
•Prefetch abort
•Undefined instruction
•To return to user mode a special instruction is used
by core that restores back the original cpsr.
•No spsr available in user mode
To change states the core executes a specialized branch instruction.
The following Table compares the ARM and Thumb instruction set
features.
•The ARM designers introduced a third instruction set called
Jazelle. Jazelle executes 8-bit instructions and is a hybrid
mix of software and hardware designed to speed up the
execution of Java byte-codes.
•To execute Java byte-codes, you require the Jazelle technology
plus a specially modified version of the Java virtual machine.
•The following Table gives the Jazelle instruction set features.
 Interrupt masks are used to stop specific interrupt requests
from interrupting the processor.
 There are two interrupt request levels available on the ARM
processor core
interrupt request (IRQ)
fast interrupt request (FIQ).
 The cpsr has two interrupt mask bits, 7 and 6 (or I and F),
which control the masking of IRQ and FIQ, respectively.
 The I bit masks IRQ when set to binary 1; and similarly, the F
bit masks FIQ when set to binary 1.
•Condition flags are updated by comparisons and the result of ALU operations that specify
the S instruction suffix. For example, if a SUBS subtract instruction results in a register
value of zero, then the Z
•Flag in the cpsr is set. This particular subtract instruction specifically updates the cpsr.
•With processor cores that include the DSP extensions, the Q bit indicates if an overflow or
saturation has occurred in an enhanced DSP instruction. The flag is “sticky” in the sense
that the hardware only sets this flag. To clear the flag you need to write to the cpsr directly.
• In Jazelle-enabled processors, the J bit reflects the state of the core; if it is set, the core is
in Jazelle state. The J bit is not generally usable and is only available on some processor
cores. To take advantage of Jazelle, extra software has to be licensed from both ARM
Limited and Sun Microsystems.
•Most ARM instructions can be executed conditionally on the value of the condition flags.
Pipelined Instruction Sequence
A pipeline is the mechanism a RISC processor uses to execute instructions. –
Using a pipeline speeds up execution by fetching the next instruction while other
instructions are being decoded and executed.
The ARM9 adds a memory and writeback stage, which allows the ARM9 to –
•process on average 1.1 Dhrystone MIPS per MHz
•increase the instruction throughput in ARM9 by around 13% compared with an
ARM7.
ARM10 Six-stage Pipeline
The ARM10 –
•can process on average 1.3 Dhrystone MIPS per MHz
•have about 34% more throughput than an ARM7 processor core
• but again at a higher latency cost.
•The MSR instruction is used to enable IRQ interrupts, which only occurs once the
MSR instruction completes the execute stage of the pipeline. It clears the I bit in the
cpsr to enable the IRQ interrupts.
•Once the ADD instruction enters the execute stage of the pipeline, IRQ interrupts
are enabled
•In the execute stage, the pc always points to the address of the
instruction plus 8 bytes. In other words, the pc always points to
the address of the instruction being executed plus two instructions
ahead.
•Note when the processor is in Thumb state the pc is the
instruction address plus 4.
There are three other characteristics of the pipeline.
 First, the execution of a branch instruction or branching by the
direct modification of the pc causes the ARM core to flush its
pipeline.
 Second, ARM10 uses branch prediction, which reduces the
effect of a pipeline flush by predicting possible branches and
loading the new branch address prior to the execution of the
instruction.
 Third, an instruction in the execute stage will complete even
though an interrupt has been raised. Other instructions in the
pipeline will be abandoned, and the processor will start filling
the pipeline.
 Reset vector is the location of the first instruction executed by the processor when
power is applied. This instruction branches to the initialization code.
 Undefined instruction vector is used when the processor cannot decode an
instruction.
 Software interrupt vector is called when you execute a SWI instruction. The SWI
instruction is frequently used as the mechanism to invoke an operating system
routine.
 Prefetch abort vector occurs when the processor attempts to fetch an instruction
from an address without the correct access permissions. The actual abort occurs in
the decode stage.
 Data abort vector is similar to a prefetch abort, but is raised when an instruction
attempts to access data memory without the correct access permissions.
 Interrupt request vector is used by external hardware to interrupt the normal
execution flow of the processor. It can only be raised if IRQs are not masked in the
cpsr.
 Fast interrupt request vector is similar to the interrupt request, but is reserved for
hardware requiring faster response times. It can only be raised if FIQs are not
masked in the cpsr.
 Core extensions are the standard hardware components placed
next to the ARM core.
 They improve performance, manage resources, and provide
extra functionality and are designed to provide flexibility in
handling particular applications.
 Each ARM family has different extensions available. There are
three hardware extensions: cache and tightly coupled memory,
memory management, and the coprocessor interface.
 ARM cores have three different types of memory management hardware—
no extensions providing no protection
a memory protection unit (MPU) providing limited protection
a memory management unit (MMU) providing full protection
 Non protected memory is fixed and provides very little flexibility. It is
normally used for small, simple embedded systems that require no
protection from rogue applications.
 MPUs employ a simple system that uses a limited number of memory
regions. These regions are controlled with a set of special coprocessor
registers, and each region is defined with specific access permissions. This
type of memory management is used for systems that require memory
protection but don’t have a complex memory map.
 MMUs are the most comprehensive memory management hardware
available on the ARM. The MMU uses a set of translation tables to provide
fine-grained control over memory. These tables are stored in main memory
and provide a virtual-to-physical address map as well as access
permissions. MMUs are designed for more sophisticated platform
operating systems that support multitasking.
 Coprocessors can be attached to the ARM processor. A
coprocessor extends the processing features of a core by
extending the instruction set or by providing
configuration registers. More than one coprocessor can be
added to the ARM core via the coprocessor interface.
 The coprocessor can be accessed through a group of
dedicated ARM instructions that provide a load-store type
interface.
 The coprocessor can also extend the instruction set by
providing a specialized group of new instructions.
 These new instructions are processed in the decode stage
of the ARM pipeline.
Microcontroller(18CS44)  module 1

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Introduction to arm architecture
Introduction to arm architectureIntroduction to arm architecture
Introduction to arm architecture
 
The ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM ArchitectureThe ARM Architecture: ARM : ARM Architecture
The ARM Architecture: ARM : ARM Architecture
 
Arm cm3 architecture_and_programmer_model
Arm cm3 architecture_and_programmer_modelArm cm3 architecture_and_programmer_model
Arm cm3 architecture_and_programmer_model
 
SOC Interconnects: AMBA & CoreConnect
SOC Interconnects: AMBA  & CoreConnectSOC Interconnects: AMBA  & CoreConnect
SOC Interconnects: AMBA & CoreConnect
 
ARM7-ARCHITECTURE
ARM7-ARCHITECTURE ARM7-ARCHITECTURE
ARM7-ARCHITECTURE
 
Introduction to arm processor
Introduction to arm processorIntroduction to arm processor
Introduction to arm processor
 
SOC System Design Approach
SOC System Design ApproachSOC System Design Approach
SOC System Design Approach
 
Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
 
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded SystemsSYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
 
Ec8791 lpc2148
Ec8791 lpc2148Ec8791 lpc2148
Ec8791 lpc2148
 
Advanced Pipelining in ARM Processors.pptx
Advanced Pipelining  in ARM Processors.pptxAdvanced Pipelining  in ARM Processors.pptx
Advanced Pipelining in ARM Processors.pptx
 
ARM- Programmer's Model
ARM- Programmer's ModelARM- Programmer's Model
ARM- Programmer's Model
 
Memory organization
Memory organizationMemory organization
Memory organization
 
SOC Application Studies: Image Compression
SOC Application Studies: Image CompressionSOC Application Studies: Image Compression
SOC Application Studies: Image Compression
 
Architectural support for High Level Language
Architectural support for High Level LanguageArchitectural support for High Level Language
Architectural support for High Level Language
 
Arm Processor
Arm ProcessorArm Processor
Arm Processor
 
Uart
UartUart
Uart
 
RISC-V Introduction
RISC-V IntroductionRISC-V Introduction
RISC-V Introduction
 
System On Chip
System On ChipSystem On Chip
System On Chip
 
Ec8791 arm 9 processor
Ec8791 arm 9 processorEc8791 arm 9 processor
Ec8791 arm 9 processor
 

Ähnlich wie Microcontroller(18CS44) module 1

18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx
KokilaK25
 
Explain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdfExplain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdf
arjunenterprises1978
 
ARM INTRODUCTION.ppt that hepls to unnderstand arm
ARM INTRODUCTION.ppt that hepls to unnderstand armARM INTRODUCTION.ppt that hepls to unnderstand arm
ARM INTRODUCTION.ppt that hepls to unnderstand arm
KaranSingh21BEE1163
 

Ähnlich wie Microcontroller(18CS44) module 1 (20)

Module-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdfModule-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdf
 
18CS44-MODULE1-PPT.pdf
18CS44-MODULE1-PPT.pdf18CS44-MODULE1-PPT.pdf
18CS44-MODULE1-PPT.pdf
 
18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx
 
Unit vi (1)
Unit vi (1)Unit vi (1)
Unit vi (1)
 
ARM.pdf
ARM.pdfARM.pdf
ARM.pdf
 
ARM Processor architecture
ARM Processor  architectureARM Processor  architecture
ARM Processor architecture
 
Explain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdfExplain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdf
 
Computer organization & ARM microcontrollers module 3 PPT
Computer organization & ARM microcontrollers module 3 PPTComputer organization & ARM microcontrollers module 3 PPT
Computer organization & ARM microcontrollers module 3 PPT
 
ARM INTRODUCTION.ppt that hepls to unnderstand arm
ARM INTRODUCTION.ppt that hepls to unnderstand armARM INTRODUCTION.ppt that hepls to unnderstand arm
ARM INTRODUCTION.ppt that hepls to unnderstand arm
 
15CS44 MP & MC Module 4
15CS44 MP & MC Module 415CS44 MP & MC Module 4
15CS44 MP & MC Module 4
 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - Review
 
Arm processors' architecture
Arm processors'   architectureArm processors'   architecture
Arm processors' architecture
 
Arm Processors Architectures
Arm Processors ArchitecturesArm Processors Architectures
Arm Processors Architectures
 
ARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture IllustrationARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture Illustration
 
SNAPDRAGON SoC Family and ARM Architecture
SNAPDRAGON SoC Family and ARM Architecture SNAPDRAGON SoC Family and ARM Architecture
SNAPDRAGON SoC Family and ARM Architecture
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
Necessity of 32-Bit Controllers
Necessity of 32-Bit ControllersNecessity of 32-Bit Controllers
Necessity of 32-Bit Controllers
 
Arm arc-2016
Arm arc-2016Arm arc-2016
Arm arc-2016
 
esunit1.pptx
esunit1.pptxesunit1.pptx
esunit1.pptx
 
LECT 1: ARM PROCESSORS
LECT 1: ARM PROCESSORSLECT 1: ARM PROCESSORS
LECT 1: ARM PROCESSORS
 

Mehr von Swetha A

Steps for Principal Component Analysis (pca) using ERDAS software
Steps for Principal Component Analysis (pca) using ERDAS softwareSteps for Principal Component Analysis (pca) using ERDAS software
Steps for Principal Component Analysis (pca) using ERDAS software
Swetha A
 
Remote Sensing And GIS Application In Mineral , Oil , Ground Water MappingMin...
Remote Sensing And GIS Application In Mineral , Oil , Ground Water MappingMin...Remote Sensing And GIS Application In Mineral , Oil , Ground Water MappingMin...
Remote Sensing And GIS Application In Mineral , Oil , Ground Water MappingMin...
Swetha A
 

Mehr von Swetha A (11)

MISSION TO PLANETS (CHANDRAYAAN,MAVEN,CURIOSITY,MANGALYAAN,CASSINI SOLSTICE M...
MISSION TO PLANETS (CHANDRAYAAN,MAVEN,CURIOSITY,MANGALYAAN,CASSINI SOLSTICE M...MISSION TO PLANETS (CHANDRAYAAN,MAVEN,CURIOSITY,MANGALYAAN,CASSINI SOLSTICE M...
MISSION TO PLANETS (CHANDRAYAAN,MAVEN,CURIOSITY,MANGALYAAN,CASSINI SOLSTICE M...
 
Few Indicies(NDVI... etc) performed on ERDAS software using Model Maker
Few Indicies(NDVI... etc) performed on ERDAS software using Model MakerFew Indicies(NDVI... etc) performed on ERDAS software using Model Maker
Few Indicies(NDVI... etc) performed on ERDAS software using Model Maker
 
Steps for Principal Component Analysis (pca) using ERDAS software
Steps for Principal Component Analysis (pca) using ERDAS softwareSteps for Principal Component Analysis (pca) using ERDAS software
Steps for Principal Component Analysis (pca) using ERDAS software
 
Digitising using ERDAS software
Digitising using ERDAS softwareDigitising using ERDAS software
Digitising using ERDAS software
 
Map to Image Georeferencing using ERDAS software
 Map  to Image Georeferencing using ERDAS software Map  to Image Georeferencing using ERDAS software
Map to Image Georeferencing using ERDAS software
 
Developing Efficient Web-based GIS Applications
Developing Efficient Web-based GIS ApplicationsDeveloping Efficient Web-based GIS Applications
Developing Efficient Web-based GIS Applications
 
GIS software
GIS softwareGIS software
GIS software
 
GEOPROCESSING IN QGIS
GEOPROCESSING IN QGISGEOPROCESSING IN QGIS
GEOPROCESSING IN QGIS
 
Glacier and snow
Glacier and snowGlacier and snow
Glacier and snow
 
Remote Sensing And GIS Application In Mineral , Oil , Ground Water MappingMin...
Remote Sensing And GIS Application In Mineral , Oil , Ground Water MappingMin...Remote Sensing And GIS Application In Mineral , Oil , Ground Water MappingMin...
Remote Sensing And GIS Application In Mineral , Oil , Ground Water MappingMin...
 
Remote Sensing And GIS Application In Wetland Mapping
Remote Sensing And GIS Application In Wetland MappingRemote Sensing And GIS Application In Wetland Mapping
Remote Sensing And GIS Application In Wetland Mapping
 

Kürzlich hochgeladen

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Kürzlich hochgeladen (20)

Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 

Microcontroller(18CS44) module 1

  • 2.
  • 3.
  • 4. Complex instruction set computer (CISC) & Reduced instruction set computer (RISC)
  • 5. The RISC design philosophy  The ARM processors uses a RISC architecture.  RICS-Reduced Instruction Set Computing  4 major designs 1.Instructions:  RISC is a design philosophy aims to provide few simple but powerful instructions that execute within a single clock cycle.  The RISC philosophy aims to reduce the complexity of instructions performed by the hardware because it is easier to provide greater flexibility and intelligence in software rather than hardware.  RISC design places greater burden/load on the compiler.  Traditional complex instruction set computer (CISC) relies more on the hardware (processor) for instruction functionality, as CISC instructions are more complicated.
  • 6. 2.Pipelining:  Instruction execution is done in pipelined fashion  Ideal pipeline stage clock cycle is 1 to have maximum throughput. Instructions are executed in pipeline stages. ARM7 is a 3 stage pipelined processor First stage – fetches the instruction Second Stage - Decodes the instruction and fetches the operands Third Stage - Executes the instruction and stores the result
  • 7. 3.Registers:  RISC machines have a large general-purpose register set.  Any register can contain either data or an address.  Registers act as the fast local memory store for all data processing operations.  In contrast, CISC processors have dedicated registers for specific purposes.
  • 8. 4.Load-store architecture:  Processor operates only on data held in registers.  Separate load and store instructions transfer data between the register bank and external memory.  Memory accesses are costly, so separating memory accesses from data processing provides an advantage because you can use data items held in the register bank multiple times without needing multiple memory accesses.  In contrast, with a CISC design the data processing operations can act on memory directly.
  • 9. ARM Microprocessor Basics ARM: Advance RISC Machine. ARM was established as a joint venture between Acorn, Apple and VLSI in November 1990. ARM is the industry's leading provider of 16/32-bit embedded RISC microprocessor solutions. The company licenses its high-performance, low-cost, power- designs to leading international electronics companies. ARM provides comprehensive support required in developing a complete system.
  • 10.  The ARM processor is a key component of many successful 32-bit embedded systems(is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system).  ARM cores are widely used in mobile phones, handheld devices, and a many other everyday portable consumer devices.  The first ARM prototype name ARM1 was designed in 1985 and continues to improve through constant technical innovation leading to ARM2, ARM3, ARM4, ARM5, ARM6, ARM7, ARM8, ARM9… ARM Cortex.
  • 11. The ARM Design Philosophy RICS features accepted by ARM  A large set of uniform register file  A load store architecture  Uniform and fixed length (32-bit) instruction fields  Three address instruction formats RICS features rejected by ARM  Register windows – because they occupy large chip area.  Delayed Branches  Single cycle execution of all instructions.
  • 12. Instruction Set for Embedded System The ARM instruction set differs from pure RISC definition in several ways that make the ARM instruction set suitable for embedded applications.  Variable cycle execution for certain instruction  Barrel shifter: Inline barrel shifter for more complex instructions.(preprocessing of input register before it is used) improves core density and performance.  Conditional execution facility in majority of the instructions.  Enhanced instruction – Enhanced DSP instructions were added to the standard ARM instruction.  Thumb 16 bit- instruction set– improves the code density by 30% to 35% over 32-bit fixed length instructions
  • 13. Embedded System Hardware Embedded systems are designed to control many different devices, -- from small sensors found on a production line, to -- the real-time control systems used on a NASA space probe. All these devices use a combination of software and hardware components. Each component is designed to provide higher efficiency and, is designed for future extension and expansion.
  • 14. An example of an ARM-based Embedded Device, a Microcontroller Boxes represent- feature or function Lines represent – Busses connecting the devices Divided into 4 Major components -ARM processor -Controllers -Peripherals -Bus AHB – ARM High performance Bus APB - ARM Peripheral Bus
  • 15. ARM Processor Controls the embedded device. Different versions of the ARM processor are available to suit the desired operating characteristics. An ARM processor comprises -a core (the execution engine that processes instructions and manipulates data) -the surrounding components that interface it with a bus (include memory management and caches.)
  • 16. Controllers Helps coordinate important functional blocks of the system. Two commonly found controllers are -interrupt controller and -memory controllers. Peripherals Provides input-output capability external to the chip. -includes serial I/O, Parallel I/O, Timers counters and clock circuits Responsible for the uniqueness of the embedded device. Universal asynchronous receiver-transmitter (UART) is a computer hardware device for asynchronous serial communication in which the data format and transmission speeds are configurable. Bus Supports communicate between different parts of the device. AHB, APB
  • 17. ARM Bus Technology Embedded systems use different bus technologies than those designed for x86 PCs. PCs bus technology uses Peripheral Component Interconnect (PCI) bus, to connect devices such as - video cards and -hard disk controllers to the x86 processor bus. There are two different classes of devices attached to the ARM on chip bus. - A bus master: a logical device capable of initiating a data transfer with another device across the same bus. The ARM processor core is the bus master. - Bus slaves: logical devices capable only of responding to a transfer request from a bus master device. All peripherals are bus slaves
  • 18. AMBA Bus Protocol AMBA - Advanced Microcontroller Bus Architecture.  Was introduced in 1996 and widely adopted as the on-chip bus architecture used for ARM processors. The first AMBA buses introduced were the -ARM System Bus (ASB) and -ARM Peripheral Bus (APB) Later ARM introduced another bus design, called -ARM High Performance Bus (AHB) Using AMBA, peripheral designers can reuse the same interface design on multiple projects. A peripheral can simply be bolted onto the on-chip bus without having to redesign an interface for each different processor architecture.
  • 19. AMBA Bus Protocol Cont… AHB provides higher data throughput than ASB. - Because AHB is based on a centralized multiplexed bus scheme. - ASB bidirectional bus design. ARM has introduced two variations on the AHB bus: -Multi-layer AHB and -AHB-Lite. The original AHB, was allowing a single bus master to be active on the bus at any time, the Multi-layer AHB bus allows multiple active bus masters. AHB-Lite is a subset of the AHB bus and it is limited to a single bus master.  AHB-Lite was developed for designs that do not require the full features of the standard AHB bus.
  • 20. Memory An embedded system requires some form of memory to store and execute code. The memory should be fast, large and inexpensive. Unfortunately it is impossible to meet all the 3 requirements.  The common solution is to have the memory hierarchy.
  • 21. Memory Width The memory width is the number of bits the memory returns on each access which is typically 8, 16, 32, or 64 bits. The memory width has a direct effect on the overall performance of the system. If you have a system using 32-bit ARM instructions and 16- bit-wide memory chips, then the processor will have to make two memory fetches per instruction. This reduces the system performance, but the benefit is that 16-bit memory is less expensive. If the core executes 16-bit Thumb instructions, it will achieve better performance with a 16-bit memory.
  • 22. Memory Types There are many different types of memory - ROM - Flash ROM - Dynamic RAM - Static RAM - SDRAM – Synchronous Dynamic RAM ROM- Read Only Memory Least flexible of all memory types because it contains an image that is permanently stored and cannot be reprogrammed. Many devices use a ROM to hold boot code.
  • 23. Flash ROM Flash ROM can be read as well as written, but it is slow to write so it is not used for holding dynamic data.  It is mainly used for holding the device firmware or storing long-term data that needs to be preserved after power is off. The erasing and writing of flash ROM are completely software controlled with no additional hardware circuitry required. Dynamic Random Access Memory –DRAM The most commonly used RAM for devices. It has the lowest cost per megabyte compared with other types of RAM. DRAM is dynamic—it needs to have its storage cells refreshed and given a new electronic charge every few milliseconds, so you need to set up a DRAM controller before using the memory.
  • 24. Static Random Access Memory – SRAM Faster than the more traditional DRAM SRAM is static—the RAM does not require refreshing. The access time for SRAM is considerably shorter than the equivalent DRAM because SRAM does not require a pause between data accesses. Synchronous Dynamic Random Access Memory – SDRAM SDRAM is synchronized with the processor clock speed. SDRAM run at much higher clock speed than the conventional DRAMs.
  • 25. Peripherals Embedded systems communicate with the outside world via peripheral device.  A peripheral device performs input and output functions for the chip by connecting to other devices or sensors that are off- chip.  Peripherals range from -a simple serial communication device to a -more complex 802.11 wireless device.  Two important types of controllers are - memory controllers and - interrupt controllers.
  • 26. Memory Controller Memory controller provides the following functionalities. -Connects different types of memories to the processor bus. - On power up the memory controller activates certain memory devices to execute initialization code -ROM. -It configures the memory timings and the refresh rate of the DRAM before it is accessed. Interrupt Controllers When a peripheral or device requires processor attention, it sends an interrupt to the processor. There are two types of interrupt controller in the ARM processor: - the standard interrupt controller (SIC) - and the vector interrupt controller (VIC).
  • 27. Standard Interrupt Controller (SIC) It sends an interrupt signal to the processor core when an external device requests servicing. It can be programmed to ignore or mask an individual device or set of devices interrupt signals. The interrupt handler determines which device requires servicing by reading a device bitmap register in the interrupt controller. Vectored Interrupt Controller (VIC) Provides more functionality than the SIC. Along with the masking functionality it also provides the functionality to prioritize the interrupts.
  • 28. Embedded System Software An embedded system needs software to drive it. Figure shows four typical software components required to control an embedded device.
  • 29. Initialization (Boot) Code The initialization code is the first code executed on the board when the device is powered on.  It sets up the minimum parts of the board before handing control over to the operating system. Boot code is present inside the ROM and is responsible for loading the OS to the RAM. The initialization code handles 3 administrative tasks prior to handing control over to an operating system image. These administrative tasks can be grouped into three phases: - initial hardware configuration, - diagnostics, and - booting.
  • 30. Initial Hardware Configuration: Although the device comes up in a standard configuration, this initial hardware configuration normally requires modification to satisfy the requirements of the booted image.  For example, the memory system normally requires reorganization of the memory map, as shown in below Example
  • 31. Diagnostics Diagnostics is a program embedded in the initialization code. Diagnostic code tests the system by checking if the all the hardware components is in working condition. It also tracks down standard system-related issues.  The primary purpose of diagnostic code is fault identification and isolation.
  • 32. Booting: Booting involves loading an OS image to RAM and handing control over to that image. The boot process can be complicated if the system must boot different operating systems or different versions of the same operating system. Once booted, the system hands over control by modifying the program counter to point into the start of the OS image. Sometimes, to reduce the image size, an image is compressed.  The image is then decompressed either when it is loaded or when control is handed over to it.
  • 33. Operating System The Initialization process prepares the hardware for an Operating system to take control. ARM Processor supports over 50 operating systems. Operating system can be divided into two main categories. - Real Time Operating System – RTOS - Platform Operating System –POS RTOS used in embedded devices and they don’t use the secondary storage and POS used in the general purpose computer systems and they use secondary storage  RTOS is classified into. -Hard Real Time Operating System – Used in hard real time applications which requires the guaranteed response time. -Soft Real Time Operating System – Used in soft real time applications which does not require guaranteed response time and the performance gracefully reduces when the time overruns
  • 34. Applications: ARM processors are found in numerous domains, including networking, automotive, mobile and consumer devices, mass storage, and imaging devices. Within each domain ARM processors can be found in multiple applications. For example, the ARM processor is found in networking applications like home gateways, modems for high-speed Internet communication, and 802.11 wireless communication. The mobile device domain is the largest application area for ARM processors because of mobile phones. ARM processors are also found in mass storage devices domains such as hard drives, products such as inkjet printers
  • 35. SUMMARY: It allows variable cycle execution on certain instructions to save power, area, and code size.  It adds a barrel shifter to expand the capability of certain instructions.  It uses the Thumb 16-bit instruction set to improve code density. It improves code density and performance by conditionally executing instructions.  It includes enhanced instructions to perform digital signal processing type functions.
  • 37. •ALU •Shifter – Helps to Extend the scope of data or address •Sign-extend – LOAD data from Main memory
  • 38. •Orthogonal Registers –R0~R13 are orthogonal, for given instruction, if it can use R0, then others can also be used. •SPSR(saved program status registers) – •R13(stack pointer)-head of stack •R14(link register)-return address of subroutine •R15(program counter)-address of next instruction •CPSR(current program status register)
  • 39. Flag Flag Name Set when N Negative Bit 31 of the result is a binary 1 Z Zero The result is zero, frequently used to indicate equality C Carry The result causes an unsigned carry V Overflow The result causes a signed overflow I=masking Interrupt request (IRQ) F=Fast Interrupt Request (FIR). T=Thumb state
  • 40.  Privileged (allows read-write access to the cprs)  6 privileged modes  Abort-when there is a failure to attempt to access memory  Fast interrupt request-correspond to the two interrupt levels available on the ARM processor.  Interrupt request  Supervisor-processor is in after reset and is generally the mode that an operating system kernel operates in.  System-special version of user mode that allows full read-write access to the cpsr  Undefined-used when the processor encounters an instruction that is undefined or not supported by the implementation  Nonprivileged(allows read access to the control field in the cpsr but allows read-write access to the conditional flags)  1 nonprivilegde mode  User
  • 41. Baked Registers •Total 37 registers •20 baked registers –hidden from program at different times. •They are available only when processor is in particular mode •System mode doesn’t contain baked registers.
  • 42. •User mode •Processor mode can be changed and written directly into the cpsr .The following exceptions and interrupts causes change in mode •Reset •Interrupt request •Fast interrupt •Software interrupt •Data abort •Prefetch abort •Undefined instruction •To return to user mode a special instruction is used by core that restores back the original cpsr. •No spsr available in user mode
  • 43.
  • 44. To change states the core executes a specialized branch instruction. The following Table compares the ARM and Thumb instruction set features.
  • 45. •The ARM designers introduced a third instruction set called Jazelle. Jazelle executes 8-bit instructions and is a hybrid mix of software and hardware designed to speed up the execution of Java byte-codes. •To execute Java byte-codes, you require the Jazelle technology plus a specially modified version of the Java virtual machine. •The following Table gives the Jazelle instruction set features.
  • 46.  Interrupt masks are used to stop specific interrupt requests from interrupting the processor.  There are two interrupt request levels available on the ARM processor core interrupt request (IRQ) fast interrupt request (FIQ).  The cpsr has two interrupt mask bits, 7 and 6 (or I and F), which control the masking of IRQ and FIQ, respectively.  The I bit masks IRQ when set to binary 1; and similarly, the F bit masks FIQ when set to binary 1.
  • 47. •Condition flags are updated by comparisons and the result of ALU operations that specify the S instruction suffix. For example, if a SUBS subtract instruction results in a register value of zero, then the Z •Flag in the cpsr is set. This particular subtract instruction specifically updates the cpsr. •With processor cores that include the DSP extensions, the Q bit indicates if an overflow or saturation has occurred in an enhanced DSP instruction. The flag is “sticky” in the sense that the hardware only sets this flag. To clear the flag you need to write to the cpsr directly. • In Jazelle-enabled processors, the J bit reflects the state of the core; if it is set, the core is in Jazelle state. The J bit is not generally usable and is only available on some processor cores. To take advantage of Jazelle, extra software has to be licensed from both ARM Limited and Sun Microsystems. •Most ARM instructions can be executed conditionally on the value of the condition flags.
  • 48.
  • 49.
  • 50. Pipelined Instruction Sequence A pipeline is the mechanism a RISC processor uses to execute instructions. – Using a pipeline speeds up execution by fetching the next instruction while other instructions are being decoded and executed.
  • 51. The ARM9 adds a memory and writeback stage, which allows the ARM9 to – •process on average 1.1 Dhrystone MIPS per MHz •increase the instruction throughput in ARM9 by around 13% compared with an ARM7. ARM10 Six-stage Pipeline The ARM10 – •can process on average 1.3 Dhrystone MIPS per MHz •have about 34% more throughput than an ARM7 processor core • but again at a higher latency cost.
  • 52. •The MSR instruction is used to enable IRQ interrupts, which only occurs once the MSR instruction completes the execute stage of the pipeline. It clears the I bit in the cpsr to enable the IRQ interrupts. •Once the ADD instruction enters the execute stage of the pipeline, IRQ interrupts are enabled
  • 53. •In the execute stage, the pc always points to the address of the instruction plus 8 bytes. In other words, the pc always points to the address of the instruction being executed plus two instructions ahead. •Note when the processor is in Thumb state the pc is the instruction address plus 4.
  • 54. There are three other characteristics of the pipeline.  First, the execution of a branch instruction or branching by the direct modification of the pc causes the ARM core to flush its pipeline.  Second, ARM10 uses branch prediction, which reduces the effect of a pipeline flush by predicting possible branches and loading the new branch address prior to the execution of the instruction.  Third, an instruction in the execute stage will complete even though an interrupt has been raised. Other instructions in the pipeline will be abandoned, and the processor will start filling the pipeline.
  • 55.  Reset vector is the location of the first instruction executed by the processor when power is applied. This instruction branches to the initialization code.  Undefined instruction vector is used when the processor cannot decode an instruction.  Software interrupt vector is called when you execute a SWI instruction. The SWI instruction is frequently used as the mechanism to invoke an operating system routine.  Prefetch abort vector occurs when the processor attempts to fetch an instruction from an address without the correct access permissions. The actual abort occurs in the decode stage.  Data abort vector is similar to a prefetch abort, but is raised when an instruction attempts to access data memory without the correct access permissions.  Interrupt request vector is used by external hardware to interrupt the normal execution flow of the processor. It can only be raised if IRQs are not masked in the cpsr.  Fast interrupt request vector is similar to the interrupt request, but is reserved for hardware requiring faster response times. It can only be raised if FIQs are not masked in the cpsr.
  • 56.
  • 57.  Core extensions are the standard hardware components placed next to the ARM core.  They improve performance, manage resources, and provide extra functionality and are designed to provide flexibility in handling particular applications.  Each ARM family has different extensions available. There are three hardware extensions: cache and tightly coupled memory, memory management, and the coprocessor interface.
  • 58.
  • 59.
  • 60.
  • 61.  ARM cores have three different types of memory management hardware— no extensions providing no protection a memory protection unit (MPU) providing limited protection a memory management unit (MMU) providing full protection  Non protected memory is fixed and provides very little flexibility. It is normally used for small, simple embedded systems that require no protection from rogue applications.  MPUs employ a simple system that uses a limited number of memory regions. These regions are controlled with a set of special coprocessor registers, and each region is defined with specific access permissions. This type of memory management is used for systems that require memory protection but don’t have a complex memory map.  MMUs are the most comprehensive memory management hardware available on the ARM. The MMU uses a set of translation tables to provide fine-grained control over memory. These tables are stored in main memory and provide a virtual-to-physical address map as well as access permissions. MMUs are designed for more sophisticated platform operating systems that support multitasking.
  • 62.  Coprocessors can be attached to the ARM processor. A coprocessor extends the processing features of a core by extending the instruction set or by providing configuration registers. More than one coprocessor can be added to the ARM core via the coprocessor interface.  The coprocessor can be accessed through a group of dedicated ARM instructions that provide a load-store type interface.  The coprocessor can also extend the instruction set by providing a specialized group of new instructions.  These new instructions are processed in the decode stage of the ARM pipeline.