0% found this document useful (0 votes)
51 views15 pages

Notes - ESD - ARM Architecture Revised

Microcontroller

Uploaded by

Hiren Trivedi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views15 pages

Notes - ESD - ARM Architecture Revised

Microcontroller

Uploaded by

Hiren Trivedi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

EMBEDDED SYSTEM DESIGN

Dr. Surya Prakash


Assistant Professor
Dept. of ECE, IIIT Allahabad

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

• Major design features:


• Instruction: reduced set / single cycle / fixed length
• Pipeline: Decode in one stage / no need for microcode
• Registers: A large number of the general-purpose register (GPRs)
• Load/Store Architecture: Data processing instructions work on the register only; load/store instructions to
transfer data from/to memory

• Nowadays: CISC machines also implement RISC concepts

• ARM processors accounted for more than 75% of 32bits of processors in the market share of the industry in 2009.

Note: ARM architecture is different from pure RISC


• Variable cycle execution for certain instructions (multiple-register load/store for higher code density)
• In-line barrel shifter results in more complex instructions (improves performance and code density)
• Thumb 16-bit instruction set (result in improvement in code density by about 30%)
• Conditional execution (reduces branch and improves performance)
• Enhance instruction (some DSP instructions are present)
FEATURES
• A simple RISC-based architecture with a powerful design.
• A whole family of ARM processors exists; they share similar design principal and a common instruction set.
• Design philosophy:
• Small processor for lower power consumption (for embedded system applications).
• High code density for limited memory and physical size restrictions
• Can interface with slow and low-cost memory systems
• Reduces die size for the processor to accommodate more peripherals (Use 1/10th of the transistor when compared to other
microprocessors)
• ARM Processors are based on reduced instruction set computing (RISC) architecture. But based on the requirements of the embedded
systems, some amendments to the RISC architecture are made.
• ARM Processors follow Load and Store type architecture where the data processing is performed only on the contents of the registers
rather than directly on the memory. The instructions for data processing on registers are different from those that access the memory.
• The instruction set of ARM is uniform and fixed in length. 32-bit ARM Processors have two instruction sets: general 32-bit ARM
Instruction Set and 16-bit Thumb Instruction Set.
• ARM supports multiple stages of the pipeline to speed up the flow of instructions. In a simple three-stage pipeline, the instructions
follow three stages: fetch, decode and execute.
• Some of the general features of ARM are listed here.
• ARM Processors have a good speed of execution to power consumption ratio.
• They have a wide range of clock frequencies ranging from 1MHz to a few GHz.
• They support direct execution of Java bytecodes using ARM’s Java Jazelle DBX.
• ARM Processors have built-in hardware for debugging.
• Supports enhanced instructions for DSP operations.
ARM PROCESSOR FAMILY
• ARM has several processors that are grouped into a number of families based on the processor core they are
implemented with. The architecture of ARM processors has continued to evolve with every family. Some of the famous
ARM Processor families are ARM7, ARM9, ARM10, and ARM11. The following table shows some of the commonly
found ARM Families along with their architectures.
• ARM follows the nomenclature shown in the below figure to describe the processor implementations. ARM
Nomenclature

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

Classic ARM Processor Embedded ARM Processor Application ARM Processor

Microcontroller Real Time High Ultra-High


ARM7 Series High Efficiency
Profile Profile Performance Efficiency
Cortex
ARM9 Series Cortex M0 Cortex R4 Cortex A8 Cortex A5
A17
Cortex Cortex
ARM11 Series Cortex R5 Cortex A9 Cortex A7
M0+ A57
Cortex Cortex Cortex
Cortex M3 Cortex R7
A72 A53 A32
Cortex Cortex
Cortex M4 Cortex R8
A73 A35

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

ARMv4 ARMv5 ARMv6 ARMv7 A/R ARMv8 A

ARM7TDMI ARM926EJ ARM1176JZ(F)-S CORTEX A9 CORTEX A53


[1994] [2001] [2003] [2007] [2012]

Increasing SoC and OS complexity with the choice of SW & HW


Popular ARM Architectures
ARM7 Parameters ARM7 ARM9 ARM10 ARM11
3 pipeline stages (fetch/decode/execute) (1995) (1997) (1999) (2003)
High code density / low power consumption Pipeline 3-stage 5-stage 6-stages 8-stages
Most widely used for low-end systems Depth
Typical clock 80 150 260 335
ARM9
frequency
Compatible with ARM7
(MHz)
5 stages (fetch/decode/execute/memory/write)
Separate instruction and data cache Power 0.06 0.19 0.50 0.40
(mW/MHz)
ARM10 Throughput 0.97 1.1 1.3 1.2
6 stages (fetch/issue/decide/execute/memory/write) (MIPS/MHz)
Architecture Von- Harvard Harvard Harvard
Neumann
Multiplier 8×32 8×32 16×32 16×32

ARM Classic Family Comparison


ARM Family Comparison - Application Specific
Parameters Cortex A Cortex R Cortex M
Performance Highest Very Good Medium
Response Time Very Good Best Medium
Power Consumption 80 µW/MHz 120 µW/MHz 8 µW/MHz
Processor Application Based RTOS Based Embedded System Based
Pipeline Long Pipeline Medium Pipeline Short Pipeline
Clock High High Less relatively
Memory Cache Memory with more Cache Memory + Tightly Cache Memory with less size
size Coupled Memory
ISA ARM ARM Thumb
FPU Yes Yes Optional
Application Mobile, Computer, Robotics, HDD Microcontroller, Headphone,
Application Specific Smart Hand Band
THANK YOU
A N Y Q U E S T I O N

You might also like