SlideShare a Scribd company logo
1 of 42
Download to read offline
By: Zakriua Gomma
Email: zakriua.gomma37@gmail.com
Introduction to ARM Architecture
ARM Ltd
 ARM
 Advanced RISC Machines
 Founded in November 1990
 Spun out of Acorn Computers
 Company headquarters in Cambridge, UK
 Processor design centres in Cambridge, Austin, and Sophia Antipolis
 Sales, support, and engineering offices all over the world
 Best known for its range of RISC processor cores designs
 Other products – fabric IP, software tools, models, cell libraries - to
help partners develop and ship ARM-based SoCs
 ARM does not manufacture silicon
ARM Offices Worldwide




 
In 2005 about 98 percent of all mobile phones use at
least one ARM-designed core on their motherboards,
according to research from the analyst firm the Linley
Group




• Motorola
• Panasonic
• Qualcomm
• Sharp
• Sanyo
• Sony
• Apple
• Toshiba
• Texas Instrument
• Wipro
…and many more
• 3com
• Microsoft
• IBM
• Intel
• Nokia
• Atmel
• NEC
• Fijistu
• Freescale
• Altera
• Epson
• STM
• NXP





•


•
•
• Later Intel bought Strong
ARM From DEC & Changed
the name to Xscale .
• In 2006 Marvell Technology
Group bought Xscale from
Intel .
Embedded ARM Cortex
Processors
• Cortex M0:
 Ultra low gate
count (less that 12
K). gates).
 Ultra low-power (3
μW/MHz ).
 32-bit processor.
 Based on ARMv6-
M architecture.
Embedded ARM Cortex
Processors
• Cortex M1:
 The first ARM
processor designed
specifically for
implementation in
FPGAs.
 Supports all major
FPGA vendors.
 Easy migration path
from FPGA to ASIC.
 Based on ARMv6-M
architecture.
Embedded ARM Cortex
Processors• Cortex M3:
 The mainstream ARM
processor for
microcontroller
applications.
 High performance
and energy efficiency.
 Easy migration path
from FPGA to ASIC.
 Advanced3-Stage
Pipeline.
 Based on ARMv7-M
architecture.
Embedded ARM Cortex
Processors• Cortex M4:
 Embedded processor for DSP.
 FPU (Floating Point Unit).
 Based on ARMv7E-M architecture.
Cortex M7
Architecture Diagram
Registers
 ARM has a load store (RISC) architecture.
 General purpose registers can hold data or
address.
 In Arm cortex-M4 there are 21 Registers Visible
each 32bit wide:
 Sixteen registers located in the register bank.
 Five special registers located outside of the
register bank.
Registers
Registers
 All 13 general-purpose registers can be used to
store instruction ,data & addresses .
 These registers divided into :
 Low Register from R0 to R7.
 High Register from R8 to R12.
 Most 16-bit data operations should be
performed in the Low Register group.
 Most 32-bit data operations should be
processed in the High Register group.
Registers
R13 is a Stack Pointer
Register (SPR) used to
store the current stack
address.
 In Cortex-M4 core, there are two kinds of stack pointers:
 the Main Stack Pointer (MSP) : is used for the system program
working in the Handler Mode .
 Process Stack Pointer (PSP) : is used for the user’s program
working in the Thread Mode.
 Only one stack pointer is active at a time. The default
Stack Pointer is the MSP after the system is reset.
Registers
 R14 is a Link Register (LR) : provides some
linking functions to set up a connection
between the main program and the calling
functions or subroutines.
 When a function or subroutine is called, the
returning address should be entered into the R14.
 After the function or subroutine is done, the content
of the Link Register R14, which is the returning
address to the main program, is fed into the
Program Counter (PC) to enable the processor to
continue the work from the address stored in the PC.
 R15 is the Program Counter :points to the
address of the next instruction to be executed .
Registers
 (XPSR) The Program Status Register : can be
divided into three different status registers to
show the running status of different units:
 Application Program Status Register (APSR)
 Execution Program Status Register (EPSR)
 Interrupt Program Status Register (IPSR)
Registers
Registers
Registers
r0
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r15 (pc)
cpsr
r13 (sp)
r14 (lr)
User mode
spsr
r13 (sp)
r14 (lr)
IRQ FIQ
r8
r9
r10
r11
r12
r13 (sp)
r14 (lr)
spsr spsr
r13 (sp)
r14 (lr)
Undef
spsr
r13 (sp)
r14 (lr)
Abort
spsr
r13 (sp)
r14 (lr)
SVC
Processor Modes
 ARM has seven basic operating modes
 Each mode has access to its own stack space and a different subset of registers
 Some operations can only be carried out in a privileged mode
Mode Description
Supervisor
(SVC)
Entered on reset and when a Supervisor call
instruction (SVC) is executed
Privileged
modes
FIQ
Entered when a high priority (fast) interrupt is
raised
IRQ Entered when a normal priority interrupt is raised
Abort Used to handle memory access violations
Undef Used to handle undefined instructions
System
Privileged mode using the same registers as User
mode
User
Mode under which most Applications / OS tasks
run
Unprivileged
mode
Exceptionmodes
AMBA
 The Advanced Microcontroller Bus
Architecture
 Three distinct buses are defined within
the AMBA specification:
 the Advanced High-performance Bus
(AHB)
 the Advanced System Bus (ASB)
 the Advanced Peripheral Bus (APB).
AMBA
High Performance
ARM processor
High-bandwidth
on-chip RAM
High
Bandwidth
External
Memory
Interface
DMA
Bus Master
APB
Bridge
Timer
Keypad
UART
PIO
AHB or
ASB
APB
AHB
 High performance
 Pipelined operation
 Burst Transfers
 Multiple Bus Masters
APB
 Low power
 Latched address/control
 Simple interface
 Suitable of many
peripherals
ASB
 High performance
 Pipelined operation
AMBA
AMBA
Enable In Out
0 0 High impedance
0 1 High impedance
1 0 0
1 1 1
Memory
8 Bit Width=1
Byte
• Arm cortex-M4 has 32-bit Address
bus ,that allow to Access 4 Gb
location in memory.
• The bus interface between the MCU
and external memory is the (AHB),
which provides interfaces and
connections to various 32/16/8-bit
memory devices.
• The following buses can be used to
access memory or peripheral devices
in parallel :
 I-Code Bus: Fetch Opcode from the
flash ROM.
 D-Code Bus: Read constant data from
flash ROM.
 System Bus: Read/Write data from
SRAM or I/O, fetch opcode from
Memory
• The Cortex-M4 processors can work with either little endian or
big endian memory systems. Generally, the Cortex-M4 is
designed with just one endian configuration.
Stack Memory
• Stack is a kind of memory usage mechanism that allows a
portion of memory to be used as Last-In-First-Out data storage
buffer.
• PUSH to store data in stack .
• POP to retrieve data from stack
Stack Memory
Pipeline
• Cortex-M4 has 3-stage fetch-decode-execute pipeline

More Related Content

What's hot

Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
Prashant Ahire
 

What's hot (20)

ARM Architecture
ARM ArchitectureARM Architecture
ARM Architecture
 
Arm Processors Architectures
Arm Processors ArchitecturesArm Processors Architectures
Arm Processors Architectures
 
Arm instruction set
Arm instruction setArm instruction set
Arm instruction set
 
ARM7-ARCHITECTURE
ARM7-ARCHITECTURE ARM7-ARCHITECTURE
ARM7-ARCHITECTURE
 
Arm architecture
Arm architectureArm architecture
Arm architecture
 
ARM CORTEX M3 PPT
ARM CORTEX M3 PPTARM CORTEX M3 PPT
ARM CORTEX M3 PPT
 
Arm corrected ppt
Arm corrected pptArm corrected ppt
Arm corrected ppt
 
ARM Processor
ARM ProcessorARM Processor
ARM Processor
 
ARM Micro-controller
ARM Micro-controllerARM Micro-controller
ARM Micro-controller
 
ARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introduction
 
ARM Microcontrollers and Embedded Systems-Module 1_VTU
ARM Microcontrollers and Embedded Systems-Module 1_VTUARM Microcontrollers and Embedded Systems-Module 1_VTU
ARM Microcontrollers and Embedded Systems-Module 1_VTU
 
Unit II Arm7 Thumb Instruction
Unit II Arm7 Thumb InstructionUnit II Arm7 Thumb Instruction
Unit II Arm7 Thumb Instruction
 
Unit 4 _ ARM Processors .pptx
Unit 4 _ ARM Processors .pptxUnit 4 _ ARM Processors .pptx
Unit 4 _ ARM Processors .pptx
 
Arm modes
Arm modesArm modes
Arm modes
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
 
Arm processor
Arm processorArm processor
Arm processor
 
RISC - Reduced Instruction Set Computing
RISC - Reduced Instruction Set ComputingRISC - Reduced Instruction Set Computing
RISC - Reduced Instruction Set Computing
 
ARM Processor Tutorial
ARM Processor Tutorial ARM Processor Tutorial
ARM Processor Tutorial
 
06. thumb instructions
06. thumb instructions06. thumb instructions
06. thumb instructions
 
Unit II Arm 7 Introduction
Unit II Arm 7 IntroductionUnit II Arm 7 Introduction
Unit II Arm 7 Introduction
 

Similar to Introduction to arm architecture

18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx
KokilaK25
 
2 introduction to arm architecture
2 introduction to arm architecture2 introduction to arm architecture
2 introduction to arm architecture
satish1jisatishji
 

Similar to Introduction to arm architecture (20)

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
 
Arm arc-2016
Arm arc-2016Arm arc-2016
Arm arc-2016
 
18CS44-MODULE1-PPT.pdf
18CS44-MODULE1-PPT.pdf18CS44-MODULE1-PPT.pdf
18CS44-MODULE1-PPT.pdf
 
Arm architecture chapter2_steve_furber
Arm architecture chapter2_steve_furberArm architecture chapter2_steve_furber
Arm architecture chapter2_steve_furber
 
Arm processors' architecture
Arm processors'   architectureArm processors'   architecture
Arm processors' architecture
 
ARM
ARM ARM
ARM
 
arm_3.ppt
arm_3.pptarm_3.ppt
arm_3.ppt
 
Processor types
Processor typesProcessor types
Processor types
 
Microcontroller(18CS44) module 1
Microcontroller(18CS44)  module 1Microcontroller(18CS44)  module 1
Microcontroller(18CS44) module 1
 
Module-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdfModule-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdf
 
Arm
ArmArm
Arm
 
Unitii armarchitecture-130305014346-phpapp01
Unitii armarchitecture-130305014346-phpapp01Unitii armarchitecture-130305014346-phpapp01
Unitii armarchitecture-130305014346-phpapp01
 
arm.pptx
arm.pptxarm.pptx
arm.pptx
 
Unit vi (2)
Unit vi (2)Unit vi (2)
Unit vi (2)
 
18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx
 
2 introduction to arm architecture
2 introduction to arm architecture2 introduction to arm architecture
2 introduction to arm architecture
 
arm
 arm arm
arm
 
Unit vi (1)
Unit vi (1)Unit vi (1)
Unit vi (1)
 
arm 7 microprocessor architecture ans pin diagram.ppt
arm 7 microprocessor architecture ans pin diagram.pptarm 7 microprocessor architecture ans pin diagram.ppt
arm 7 microprocessor architecture ans pin diagram.ppt
 
The sunsparc architecture
The sunsparc architectureThe sunsparc architecture
The sunsparc architecture
 

Recently uploaded

Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
HenryBriggs2
 

Recently uploaded (20)

Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 

Introduction to arm architecture

  • 1. By: Zakriua Gomma Email: zakriua.gomma37@gmail.com Introduction to ARM Architecture
  • 2. ARM Ltd  ARM  Advanced RISC Machines  Founded in November 1990  Spun out of Acorn Computers  Company headquarters in Cambridge, UK  Processor design centres in Cambridge, Austin, and Sophia Antipolis  Sales, support, and engineering offices all over the world  Best known for its range of RISC processor cores designs  Other products – fabric IP, software tools, models, cell libraries - to help partners develop and ship ARM-based SoCs  ARM does not manufacture silicon
  • 4.       In 2005 about 98 percent of all mobile phones use at least one ARM-designed core on their motherboards, according to research from the analyst firm the Linley Group
  • 6. • Motorola • Panasonic • Qualcomm • Sharp • Sanyo • Sony • Apple • Toshiba • Texas Instrument • Wipro …and many more • 3com • Microsoft • IBM • Intel • Nokia • Atmel • NEC • Fijistu • Freescale • Altera • Epson • STM • NXP
  • 7.
  • 9.
  • 11.
  • 13. • • • Later Intel bought Strong ARM From DEC & Changed the name to Xscale . • In 2006 Marvell Technology Group bought Xscale from Intel .
  • 14.
  • 15.
  • 16.
  • 17. Embedded ARM Cortex Processors • Cortex M0:  Ultra low gate count (less that 12 K). gates).  Ultra low-power (3 μW/MHz ).  32-bit processor.  Based on ARMv6- M architecture.
  • 18. Embedded ARM Cortex Processors • Cortex M1:  The first ARM processor designed specifically for implementation in FPGAs.  Supports all major FPGA vendors.  Easy migration path from FPGA to ASIC.  Based on ARMv6-M architecture.
  • 19. Embedded ARM Cortex Processors• Cortex M3:  The mainstream ARM processor for microcontroller applications.  High performance and energy efficiency.  Easy migration path from FPGA to ASIC.  Advanced3-Stage Pipeline.  Based on ARMv7-M architecture.
  • 20. Embedded ARM Cortex Processors• Cortex M4:  Embedded processor for DSP.  FPU (Floating Point Unit).  Based on ARMv7E-M architecture.
  • 22.
  • 24. Registers  ARM has a load store (RISC) architecture.  General purpose registers can hold data or address.  In Arm cortex-M4 there are 21 Registers Visible each 32bit wide:  Sixteen registers located in the register bank.  Five special registers located outside of the register bank.
  • 26. Registers  All 13 general-purpose registers can be used to store instruction ,data & addresses .  These registers divided into :  Low Register from R0 to R7.  High Register from R8 to R12.  Most 16-bit data operations should be performed in the Low Register group.  Most 32-bit data operations should be processed in the High Register group.
  • 27. Registers R13 is a Stack Pointer Register (SPR) used to store the current stack address.  In Cortex-M4 core, there are two kinds of stack pointers:  the Main Stack Pointer (MSP) : is used for the system program working in the Handler Mode .  Process Stack Pointer (PSP) : is used for the user’s program working in the Thread Mode.  Only one stack pointer is active at a time. The default Stack Pointer is the MSP after the system is reset.
  • 28. Registers  R14 is a Link Register (LR) : provides some linking functions to set up a connection between the main program and the calling functions or subroutines.  When a function or subroutine is called, the returning address should be entered into the R14.  After the function or subroutine is done, the content of the Link Register R14, which is the returning address to the main program, is fed into the Program Counter (PC) to enable the processor to continue the work from the address stored in the PC.  R15 is the Program Counter :points to the address of the next instruction to be executed .
  • 29. Registers  (XPSR) The Program Status Register : can be divided into three different status registers to show the running status of different units:  Application Program Status Register (APSR)  Execution Program Status Register (EPSR)  Interrupt Program Status Register (IPSR)
  • 32. Registers r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r15 (pc) cpsr r13 (sp) r14 (lr) User mode spsr r13 (sp) r14 (lr) IRQ FIQ r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr spsr r13 (sp) r14 (lr) Undef spsr r13 (sp) r14 (lr) Abort spsr r13 (sp) r14 (lr) SVC
  • 33. Processor Modes  ARM has seven basic operating modes  Each mode has access to its own stack space and a different subset of registers  Some operations can only be carried out in a privileged mode Mode Description Supervisor (SVC) Entered on reset and when a Supervisor call instruction (SVC) is executed Privileged modes FIQ Entered when a high priority (fast) interrupt is raised IRQ Entered when a normal priority interrupt is raised Abort Used to handle memory access violations Undef Used to handle undefined instructions System Privileged mode using the same registers as User mode User Mode under which most Applications / OS tasks run Unprivileged mode Exceptionmodes
  • 34. AMBA  The Advanced Microcontroller Bus Architecture  Three distinct buses are defined within the AMBA specification:  the Advanced High-performance Bus (AHB)  the Advanced System Bus (ASB)  the Advanced Peripheral Bus (APB).
  • 35. AMBA High Performance ARM processor High-bandwidth on-chip RAM High Bandwidth External Memory Interface DMA Bus Master APB Bridge Timer Keypad UART PIO AHB or ASB APB AHB  High performance  Pipelined operation  Burst Transfers  Multiple Bus Masters APB  Low power  Latched address/control  Simple interface  Suitable of many peripherals ASB  High performance  Pipelined operation
  • 36. AMBA
  • 37. AMBA Enable In Out 0 0 High impedance 0 1 High impedance 1 0 0 1 1 1
  • 38. Memory 8 Bit Width=1 Byte • Arm cortex-M4 has 32-bit Address bus ,that allow to Access 4 Gb location in memory. • The bus interface between the MCU and external memory is the (AHB), which provides interfaces and connections to various 32/16/8-bit memory devices. • The following buses can be used to access memory or peripheral devices in parallel :  I-Code Bus: Fetch Opcode from the flash ROM.  D-Code Bus: Read constant data from flash ROM.  System Bus: Read/Write data from SRAM or I/O, fetch opcode from
  • 39. Memory • The Cortex-M4 processors can work with either little endian or big endian memory systems. Generally, the Cortex-M4 is designed with just one endian configuration.
  • 40. Stack Memory • Stack is a kind of memory usage mechanism that allows a portion of memory to be used as Last-In-First-Out data storage buffer. • PUSH to store data in stack . • POP to retrieve data from stack
  • 42. Pipeline • Cortex-M4 has 3-stage fetch-decode-execute pipeline