Notes - ESD - ARM Architecture Revised
Notes - ESD - ARM Architecture Revised
Email ID : [email protected]
Webpage : https://sites.google.com/view/dr-surya-prakash
* Some figures and content referred from internet resources in this document
ARM Architecture
HISTORY
• ARM is an IP (Intellectual Property) Core design for Hard IP Core & Soft IP Core
• Hard IP Core: It is a packaged chip with fixed Electrical Properties, Size, Function, Shape, and Silicon process
• Soft IP Core: Provide encrypted/unreadable source file of Program code; size & shape scalable; Functions are fixed
• The ARM microcontroller stands for Advance RISC Machine; it is one of the most extensive and most licensed processor cores in the
world. The first ARM processor was developed in the year 1978 by Cambridge University.
• Architectural ideas developed in 1983 by Acorn Computers, which replaced the 8-bit 6502 microprocessor in BBC computers, and that
was the first commercial RISC implementation
• The first ARM RISC processor was produced by the Acorn Group of Computers in the year 1985. These processors are used explicitly in
portable devices like digital cameras, mobile phones, home networking modules and wireless communication technologies, and other
embedded systems due to the benefits, such as low power consumption, reasonable performance, etc.
• ARM was founded as Advanced RISC Machines in 1990, as RISC is the main CPU design strategy implemented in its processors. It was
initially owned by Acorn, Apple, and VLSI. ARM Holdings Inc. is a fabless semiconductor company that develops processors, system-
on-chips, software, etc.
• ARM is the world’s leading provider of RISC-based microprocessor solutions and other semiconductors IP’s, with more than 100 billion
ARM-based chips being shipped to date.
• Apart from processors and IP Cores, ARM also provides comprehensive software development tools like Keil and DS-5 for developing
complete systems based on ARM microcontrollers and systems on a chip.
• Today, ARM Processors are found in almost any domain like handheld devices, consumer electronics, robotics, automation, etc.
Processors developed from ARM IP’s are used in embedded systems like smart TVs, smart watches, smartphones, tablet computers,
etc.
ARM LTD
• Design and license ARM core design but not fabricate
ARM POWERED PRODUCTS
INTRODUCTION
• In ARM, RISC supports simple but powerful instruction that executes in a single cycle at a high clock frequency
• ARM processors accounted for more than 75% of 32bits of processors in the market share of the industry in 2009.
ARMxyzTDMIEJF-S
• The letters or words after “ARM” are used to indicate the features of a processor.
x – Family or series
ARM Family Architecture
y – Memory Management/Protection Unit
z – Cache ARM7TDMI ARMv4T
T – 16-bit Thumb decoder ARM9E ARMv5TE
D – JTAG Debugger
ARM11 ARMv6
M – Fast Multiplier
I – Embedded In-circuit Emulator (ICE) Macrocell Cortex-M ARMv7-M
E – Enhanced Instructions for DSP (assumes TDMI) Cortex-R ARMv7R
J – Jazelle (for accelerated JAVA execution) Cortex-A (32-bit) ARMv7-A
F – Vector Floating-point Unit
Cortex-A (64-bit) ARMv8-A
S – Synthesizable Version
EXPLANATION OF THE FEATURES
T – Thumb Instruction Set : ARM Processors support both the 32-bit ARM Instruction Set and 16-bit Thumb Instruction Set. The original
32-bit ARM Instructions consist of 32-bit opcodes, which turn out to be a 4-byte binary pattern. 16-bit Thumb Instructions consists of 16-
bit opcodes or 2-byte binary pattern to improve the code density.
D – JTAG Debug : JTAG is a serial protocol used by ARM to transfer the debug information between the processor and the test equipment.
M – Fast Multiplier : Older ARM Processors used a small and simple multiplier unit. This multiplier unit required more clock cycles to
complete a single multiplication. With the introduction of the Fast Multiplier unit, the clock cycles required for multiplication are
significantly reduced, and modern ARM Processors are capable of calculating a 32-bit product in a single cycle.
I – Embedded ICE Macrocell : ARM Processors have on-chip debug hardware that allows the processor to set breakpoints and
watchpoints.
E – Enhanced Instructions : ARM Processors with this mode will support the extended DSP Instruction Set for high-performance DSP
applications. With these extended DSP instructions, the DSP performance of the ARM Processors can be increased without high clock
frequencies.
J – Jazelle : ARM Processors with Jazelle Technology can be used in the accelerated execution of Java bytecodes. Jazelle DBX or Direct
Bytecode eXecution is used in mobile phones and other consumer devices for high-performance Java execution without affecting memory
or battery.
F – Vector Floating-point Unit : The Floating Point Architecture in ARM Processors provide execution of floating point arithmetic
operations. The Dynamic Range and Precision offered by the Floating Point Architecture in ARM Processors are used in many real-time
applications in the industrial and automotive areas.
S – Synthesizable : The ARM Processor Core is available as source code. This software core can be compiled into a format that can be
easily understood by the EDA (Electronic Design Automation) Tools. Using the processor source code, it is possible to modify the
architecture of the ARM Processor.
An example in the ARM7 family of processors is the ARM7TDMI-S architecture-based LPC2148 Processor.
ARM FAMILY
ARM Processor Family
Cortex M7
ARM FAMILY
• ARM Processors can be divided into ARM Classic Processors, ARM Embedded Processors, and ARM Application Processors.
• ARM Classic processors include ARM7, ARM9, and ARM11 families and ARM7TMDI is still the highest-shipping 32-bit
processor. ARM7-based processors are still used in many small and simple 32-bit devices.
• Even though ARM7 or other classic ARM Processors can be used for small-scale embedded systems, newer embedded systems
are built using the advanced ARM embedded processors or the Cortex-M processors and Cortex-R Processors.
• ARM Cortex-M Processors have a Microcontroller profile, while the Cortex-R Processors have a Real-time profile.
• ARM Cortex-M Processors are energy efficient, simple to implement, and are mainly developed for advanced embedded
applications. ARM Cortex-M Processors are further divided into several processor cores like Cortex-M0, Cortex-M0+, Cortex-
M3, Cortex-M4, and Cortex-M7.
• ARM Cortex-R Series of processors provide solutions for real-time embedded systems. They provide high reliability, high fault
tolerance, and real-time responses. Cortex-R series of processors are used in systems where high performance is required,
and timing deadlines are important.
• The Cortex-R family includes the processor cores like Cortex-R4, Cortex-R5, Cortex-R7, and Cortex-R8.
• ARM Cortex-A Series of processors are the highest-performance processors from ARM. They are used in powerful mobile
devices, compelling technology products like network devices, consumer appliances, automation systems, automobiles, and
other embedded systems.
• The Cortex-A Processors are again divided into high-performance, high efficiency, and ultra-high efficiency type processors.
Each subdivision has several types of processor cores.
Note: All ARM cores after ARM7TDMI include TDMI, even if they do not include TDMI in their labels
WHY ARM - DEVELOPMENT HISTORY
• One of the most widely used processor cores.
• Some application examples: Scaler FP
• ARM7: iPod
• ARM9: BenQ, Sony Ericsson Advanced SIMD
• ARM11: Apple iPhone, Nokia N93, N100 Scaler FP Backward Compatibility
• 90% of 32-bit embedded RISC processors till 2010
Virtualization Virtualization
• Mainly used in battery-operated devices:Due to low power
consumption and reasonably good performance NEON NEON
Thumb-2 Thumb-2 Thumb-2
TrustZone TrustZone TrustZone
SIMD SIMD SIMD
VFPv2 VFPv2 VFPv2 VFPv2
Jazelle Jazelle Jazelle Jazelle
Thumb Thumb Thumb Thumb Thumb