100% found this document useful (2 votes)
174 views11 pages

ARM Processor and Its Features

Uploaded by

ARPAN MURMU
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
100% found this document useful (2 votes)
174 views11 pages

ARM Processor and Its Features

Uploaded by

ARPAN MURMU
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/ 11

ARM processor and its Features

A Advanced RISC Machine (ARM) Processor is considered to be the family of a Central Processing
Units that are used in the music players, smartphones, wearables, tablets and the other consumer
electronic devices. Advanced RISC Machines create a ARM processor architecture hence the name is
ARM. This needs very few instruction sets and transistors. It is very small in size. This is the reason that
it is a perfect fit for small-size devices.

It has less power consumption along with reduced complexity in its circuits. They can be applied
to various designs such as 32-bit devices and embedded systems. They can even be upgraded according to
user needs.

The ARM microcontroller stands for Advance RISC Machine; it is one of the extensive and most
licensed processor cores in the world. The first ARM processor was developed in the year 1978 by
Cambridge University, and the first ARM RISC processor was produced by the Acorn Group of
Computers in the year 1985. These processors are specifically used 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. This
article gives an overview of ARM architecture with each module’s principle of working.

ARM Architecture

An ARM processor is a widely-used computer chip known for its efficiency and versatility. Designed by
ARM Limited using a streamlined RISC architecture these processors are licensed to various companies
rather than manufactured directly. ARM unique business model allows tech companies to customize and
build processors for diverse devices, from smartphones and tablets to computers and smart devices. Their
exceptional balance of processing power and energy efficiency has made them the preferred choice for
mobile computing, enabling longer battery life without compromising performance.

Features of ARM Processor

1. Multiprocessing Systems
ARM processors are designed to be used in cases of multiprocessing systems where more than one
processor is used to process information. The First AMP processor introduced by the name of ARMv6K
could support 4 CPUs along with its hardware.

2. Tightly Coupled Memory


The memory of ARM processors is tightly coupled. This has a very fast response time. It has low latency
(quick response) that can also be used in cases of cache memory being unpredictable.
ARM Architecture

3. Memory Management
ARM processor has a management section. This includes Memory Management Unit and Memory
Protection Unit. These management systems become very important in managing memory efficiently.

4. Thumb-2 Technology
Thumb-2 Technology was introduced in 2003 and was used to create variable-length instruction sets. It
extends the 16-bit instructions of initial Thumb technology to 32-bit instructions. It has better
performance than previously used Thumb technology.

5. One-Cycle Execution Time


ARM processor is optimized for each instruction on the CPU. Each instruction is of a fixed length that
allows time for fetching future instructions before executing the present instructions. ARM has CPI
(Clock Per Instruction) of one cycle.

6. Pipelining
Processing of instructions is done in parallel using pipelines. Instructions are broken down and decoded in
one pipeline stage. The channel advances one step at a time to increase throughput (rate of processing).

7. A large number of Registers


A large number of registers are used in ARM processors to prevent large amounts of memory interactions.
Records contain data and addresses. These act as a local memory store for all operations.
ARM Architecture

The ARM architecture processor is an advanced reduced instruction set computing [RISC] machine and
it’s a 32bit reduced instruction set computer (RISC) microcontroller. It was introduced by the Acron
computer organization in 1987. This ARM is a family of microcontroller developed by makers like ST
Microelectronics, Motorola, and so on. The ARM architecture comes with totally different versions like
ARMv1, ARMv2, etc., and, each one has its own advantage and disadvantages.

The ARM cortex is a complicated microcontroller within the ARM family that has ARMv7
design. There are 3 subfamilies within the ARM cortex family :

ARM Cortex Ax-series


ARM-Cortex Rx-series
ARM-Cortex Mx-series

● Arithmetic Logic Unit


● Booth multiplier
● Barrel shifter
● Control unit
● Register file

The ARM processor conjointly has other components like the Program status register, which contains the
processor flags (Z, S, V and C). The modes bits conjointly exist within the program standing register, in
addition to the interrupt and quick interrupt disable bits; Some special registers: Some registers are
used like the instruction, memory data read and write registers and memory address register.

Priority encoder: The encoder is used in the multiple load and store instruction to point which
register within the register file to be loaded or kept .

Multiplexers: several multiplexers are accustomed to the management operation of the processor buses.
Because of the restricted project time, we tend to implement these components in a very behavioral
model. Each component is described with an entity. Every entity has its own architecture, which can be
optimized for certain necessities depending on its application. This creates the design easier to construct
and maintain.
Block diagram of ARM Architecture

1. Arithmetic Logic Unit (ALU)


The ALU has two 32-bits inputs. The primary comes from the register file, whereas the other comes from
the shifter. Status registers flags modified by the ALU outputs. The V-bit output goes to the V flag as well
as the Count goes to the C flag. Whereas the foremost significant bit really represents the S flag, the
ALU output operation is done by NORed to get the Z flag. The ALU has a 4-bit function bus that
permits up to 16 opcode to be implemented.

2. Booth Multiplier Factor


The multiplier factor has 3 32-bit inputs and the inputs return from the register file. The multiplier output
is barely 32-Least Significant Bits of the merchandise. The entity representation of the multiplier factor
is shown in the above block diagram. The multiplication starts whenever the beginning 04 input goes
active. Fin of the output goes high when finishing.

3. Booth Algorithm
Booth algorithm is a noteworthy multiplication algorithmic rule for 2’s complement numbers. This treats
positive and negative numbers uniformly. Moreover, the runs of 0’s or 1’s within the multiplier factor are
skipped over without any addition or subtraction being performed, thereby creating possible quicker
multiplication. The figure shows the simulation results for the multiplier test bench. It’s clear that the
multiplication finishes only in16 clock cycle.
4. Barrel Shifter
The barrel shifter features a 32-bit input to be shifted. This input is coming back from the register file or
it might be immediate data. The shifter has different control inputs coming back from the instruction
register. The Shift field within the instruction controls the operation of the barrel shifter. This field
indicates the kind of shift to be performed (logical left or right, arithmetic right or rotate right). The
quantity by which the register ought to be shifted is contained in an immediate field within the instruction
or it might be the lower 6 bits of a register within the register file.

The shift_val input bus is 6-bits, permitting up to 32 bit shift. The shifttype indicates the needed shift sort
of 00, 01, 10, 11 are corresponding to shift left, shift right, an arithmetic shift right and rotate right,
respectively. The barrel shifter is especially created with multiplexers.

5. Control Unit
For any microprocessor, control unit is the heart of the whole process and it is responsible for the system
operation,so the control unit design is the most important part within the whole design. The control unit is
sometimes a pure combinational circuit design. Here, the control unit is implemented by easy state
machine. The processor timing is additionally included within the control unit. Signals from the control
unit are connected to each component within the processor to supervise its operation.

ARM7 Functional Diagram


The final thing that must be explained is how the ARM will be used and the way in which the chip appear.
The various signals that interface with the processor are input, output or supervisory signals which will be
used to control the ARM operation.

ARM Microcontroller Register Modes


An ARM micrcontroller is a load store reducing instruction set computer architecture means the core
cannot directly operate with the memory. The data operations must be done by the registers and the
information is stored in the memory by an address. The ARM cortex-M3 consists of 37 register sets
wherein 31 are general purpose registers and 6 are status registers. The ARM uses seven processing
modes to run the user task.

USER Mode
FIQ Mode
IRQ Mode
SVC Mode
UNDEFINED Mode
ABORT Mode
Monitor Mode
ARM Functional Diagram
ARM Microcontroller Register Modes

1. USER Mode: The user mode is a normal mode, which has the least number of registers. It doesn’t
have SPSR and has limited access to the CPSR.

2. FIQ and IRQ: The FIQ and IRQ are the two interrupt caused modes of the CPU. The FIQ is
processing interrupt and IRQ is standard interrupt. The FIQ mode has additional five banked
registers to provide more flexibility and high performance when critical interrupts are handled.

3. SVC Mode: The Supervisor mode is the software interrupt mode of the processor to start up or
reset.

4. Undefined Mode: The Undefined mode traps when illegal instructions are executed. The ARM
core consists of 32-bit data bus and faster data flow.

5. THUMB Mode: In THUMB mode 32-bit data is divided into 16-bits and increases the processing
speed.

6. THUMB-2 Mode: In THUMB-2 mode the instructions can be either 16-bit or 32-bit and it
increases the performance of the ARM cortex –M3 microcontroller. The ARM cortex-m3
microcontroller uses only THUMB-2 instructions.

Some of the registers are reserved in each mode for the specific use of the core. The reserved registers are

Stack Pointer (SP).


Link Register (LR).
Program Counter (PC).
Current Program Status Register (CPSR).
Saved Program Status Register (SPSR).

The reserved registers are used for specific functions. The SPSR and CPSR contain the status control bits
which are used to store the temporary data. The SPSR and CPSR register have some properties that are
defined operating modes, Interrupt enable or disable flags and ALU status flag. The ARM core operates
in two states 32-bit state or THUMBS state.

ARM-Cortex Microcontroller Programming

In the present days, the microcontroller vendors are offering 32-bit microcontrollers based on ARM
cortex-m3 architecture. Many embedded system developers are starting to use these 32-bit
microcontrollers for their projects. The ARM microcontrollers supports for both low-level and high level
programming languages. Some of the traditional microcontroller architectures are made with many
limitations therefore, difficult to use the high level programming language.

ARM-Cortex Microcontroller Programming

For example the memory size is limited and performance might not be sufficient. The ARM
microcontrollers runs at 100Mhz frequency and higher performance, therefore it supports the higher level
languages. The ARM microcontroller is programmed with different IDES such as keiluvision3,
keiluvision4, coocox and so on. A 8-bit microcontroller use 8-bit instructions and the ARM cortex-M uses
a 32-instructions.

Additional Uses of the Cortex Processor

1. It is a reduced instruction set computing Controller

2. 32-bit high performance central processing unit


3-stage pipeline and compact one
It has THUMB-2 technology

3. Merges optimally with 16/32 bit instructions


High performance
It supports tools and RTOS and its core Sight debug and trace

4. JTAG or 2-pin serial wire debugs connection


Support for multiple processors
Low power Modes

5. It supports sleep modes


Control the software package
Multiple power domains
Nested vectored interrupt controller (NVIC)

6. Low latency, low noise interrupts response


No need for assembly programming
ARM Cortex (STM32) based Solar Street Light
Present days, solar technology has been progressing in many applications like homes, industries, etc. The
main goal of this project is to conserve the electrical energy:here an Arm-Cortex- based solar street light
is implemented that works on solar energy. Generally, solar street lights are used where electricity is not
available.

Hardware Components:
STM32 with ARM cortex board
White LEDs
MOSFET
Battery
Regulator
Solar Panel

Software
Keil compiler
Embedded C Language
This project utilizes an ARM-Cortex processor of the STM32 family and a battery for power supply. This
project uses a solar panel to charge the battery where charge controller circuit controls the battery
charging. ARM-Cortex processor is interfaced to a set of LEDs with the help of the MOSFET Switch.

The intensity control of the LED lights is possible by varying the duty cycle from a DC source. A
programmed ARM-Cortex microcontroller unit is engaged to afford different intensities at different times
of night by using the Pulse Width Modulation technique. The charge controller circuit is used to protect
the battery from the deep discharge and overload conditions.

What Makes an ARM Architecture Valuable?


One of the most common electronic architectural designs in the market is Advanced RISC Machine
Architecture, even better than x86, which is very common in the server market. ARM Architecture is
widely used in smartphones, normal phones, and also in laptops. Though x86 processors have optimized
performance ARM Processor gives cost-effective processors with small size, takes less power to run, and
also gives better battery life.
ARM Processor is not only limited to mobile phones but is also used in Fugaku, the world’s
fastest supercomputer. ARM Processor also gives more feasibility to designs of hardware designers and
also gives control to designer’s supply chains.
ARM processors use the memory which is already available to them.
Difference between ARM and x86

ARM x86
ARM uses Reduced Instruction Set Computing x86 uses Complex Instruction Set Architecture
Architecture (RISC). (CISC).

ARM works by executing a single instruction per x86 works by executing complex instructions at
cycle. once and it requires more than one cycle.

Performance can be optimized by a Performance can be optimized by Hardware based


Software-based approach. approach.

ARM processors require fewer registers, but they x86 processors require less memory, but more
require more memory. registers.

Execution is faster in ARM Processes. Execution is slower in an x86 Processor.

ARM Processor work by generating multiple x86 Processors work by executing complex
instructions from a complex instruction and they statements at a single time.
are executed separately.

ARM processors use the memory which is already x86 processors require some extra memory for
available to them. calculations.

ARM processors are deployed in mobiles which x86 processors are deployed in Servers, Laptops
deal with the consumption of power, speed, and where performance and stability matter.
size.
Advantages of ARM Processor
● ARM processors deal with a single processor at a time, which makes it faster and it also
consumes lesser power.
● ARM processors work in the case of a multiprogramming system, where more than one processor
is used to process information.
● ARM processors are cheaper than other processors, which makes them usable in mobile phones.
● ARM processors are scalable, and this feature helps it in using a variety of devices.

Disadvantages of ARM Processor


● ARM processors are not stable with x86 processors, and due to this, they cannot be used in
Windows Systems.
● ARM processors are not capable of very high performance, which limits them to a variety of
applications.
● ARM processor execution is a little hard, which requires skilled programmers to use it.
● ARM processor is inefficient in handling Scheduling instructions.

ARM processors have transformed computing with their efficient design. They are now used in
the many devices from smartphones to the servers. Their key strengths are power efficiency, good
performance and adaptability according to the different needs. In short ARM processors are very
important in the tech world helping to create a new and the advanced products.

You might also like