The concept of ARM can be described as an instruction set architectures for computer processors that are based on a reduced instruction set computing (RISC) architecture produced by British company ARM Holdings.
A RISC-based computer design means ARM processors need remarkably fewer transistors in comparison of typical processors used in most personal computers. This performance-based approach reduces costs, heat and power usage. These are desirable qualities for light, portability, battery-powered devices—including smartphones, laptops, tablet and other implanted systems. A simpler design facilitates more resourceful multi-core CPUs and higher core counts at a lower cost.
Following are the features of ARM architecture:
- Load/store architecture
- An orthogonal instruction set
- Mostly single-cycle execution
- A 16x32-bit register
- Enhanced power-saving design
Arm Architecture – Overview
The Arm architecture offers the fundamentals for building the processor or core, which we commonly refer to as PE or Processing Element.
The architecture is put into use in a wide range of technologies and is often integrated into main System-on-Chip (SoC) gadgets such as mail servers, smartphones, microcomputers, etc.
The architecture also exposes a common instruction set and essential workflow required by software developers. This workforce is commonly referred to as the Programmer's model. Its job is to ensure that different implementations of the architecture are interoperable.
This wiki will introduce you to Arm architecture to help you develop a better understanding of the same. No prior knowledge of the Arm is required to comprehend this wiki, a general familiarity with programming and processors, though, would greatly help.
Every time you see the word architecture, it means a functional specification. With Arm architecture, it means the functional specification of the processor. Architecture is what specifies the behaviour of a processor. So, it will determine what instructions will be carried out and in what manner.
So, think of architecture as the bridge between hardware and software and all the interfaces associated with the two. Only the architecture will describe what functionality would the hardware and the software rely on.
Architecture and micro-architecture
Architecture tells you how a processor works instead of how a processor is built. The build and design of microchips or the processor are called the micro-architecture. Micro-architecture is a measure of how well a particular processor works.
Micro-architecture includes the following –
Pipeline layout and length.
Number, sizes of caches in the chip.
Individual instructions and cycle count.
Optional features are implemented.
Take, for example, Cortex-A53 and Cortex-A72. Each of these is an implementation of Armv8-A architecture, which means that they are spun around the same architecture but differ greatly in their micro-architectures.
Arm architecture – development
The arm architecture is built, developed and tested over time until the final build. Each version is built on its predecessor and only feature little improvements over the previous releases.
You will come across the following terminologies and the architecture are commonly referred to as something mentioned below –
Armv8-A
This means the chip has been built with Arm architecture in version 8, for A-Profile.
In short form, the same is also sometimes mentioned as: v8-A
GIC - Generic Interrupt Controller
Generic Interrupt Controllers are standardized interrupt controller for use in the Armv7-A/R and Armv8-A/R. the GIC is a standardized interrupt controller specially built to be used with the given units.
The system memory management units (SMMUs), sometimes also called the IOMMUs, are the ones providing translation to all the non-process masters.
Generic Timer
The Generic Timer provided in the system provides a reference system count to all the processors in the system. The functionality is not restricted to CRS (common reference system) count to all the processors in the system.
The main goal underlying the generic timer is to provide timer functionality. The functionalities may appear as a no-brainer but it is crucial in the system’s scheduler tick.
Even though the generic timer is a part of the Arm architecture, the system counter is considered as a system component.
Server base - and trusted base system architecture
SBSA or the web server base system architecture and the TBSA (trusted base system architecture) provide much-needed system design guidelines to the SoC developers.
Advanced Microcontroller Bus Architecture
The Advanced Microcontroller Bus Architecture (AMBA) family of bus protocols control how components in an Arm-based system are connected, and the protocols on those connections.