Understanding ARM Architecture: Cortex, ARMv8, and SoC Explained

Introduction

Some fans asked me what ARM is, and they can’t clarify the relationship between concepts like Cortex, ARM cores, ARM architecture, ARM instruction set, and SoC. Below, I will organize some concepts related to ARM for everyone.

1. ARM can be considered the name of a company, a general term for a class of microprocessors, or the name of a technology. 2. ARM is a company specialized in designing chips based on RISC technology. As an intellectual property supplier, it does not directly engage in chip production but transfers design licenses for partner companies to manufacture unique chips. 3. ARM processors have a unified core provided by ARM, while the internal components of the chip vary and are designed by various semiconductor companies, which allows for great advantages in embedded system design based on the same core with different internal peripherals.

Next, we will introduce these concepts one by one.

ARM Company

ARM is first and foremost a company, which stands for Advanced RISC Machines. However, it did not originally have this name; let’s take a look at the growth history of ARM.

In 1978, an Austrian physicist named Hermann Hauser and his friend, a British engineer named Chris Curry, founded a company called “CPU”. The full name of this CPU company is Cambridge Processor Unit, which literally means “Cambridge Processor Unit”.

After the establishment of the CPU company, it mainly engaged in the design and manufacturing of electronic devices. Their first order was to manufacture a microcontroller system for a gambling machine.

After developing this microcontroller system, it was named the Acorn System 1.

Understanding ARM Architecture: Cortex, ARMv8, and SoC ExplainedThe reason it was called Acorn was that they wanted to be listed before Apple in the phone directory.

After the Acorn System 1, they successively developed System 2, 3, 4, and a consumer-oriented box computer – the Acorn Atom. Understanding ARM Architecture: Cortex, ARMv8, and SoC Explained

By 1981, the company encountered a rare opportunity – the BBC planned to broadcast a series of programs across the UK to promote computer literacy, and they hoped Acorn could produce a computer to accompany it.

However, they found that their product’s hardware design could not meet the requirements. At that time, the development trend of central processing units was shifting from 8 bits to 16 bits. Acorn did not have suitable chips available.

So, they decided to approach the then-dominant Intel, hoping to obtain design information and samples of the 80286 processor. However, Intel ruthlessly rejected them.

Feeling disheartened, Acorn decided to do it themselves and create their own chips (how familiar this scenario is!).

Thus, Acorn’s R&D personnel found a study on new processors at the University of California, Berkeley – the Reduced Instruction Set, which happened to meet their design requirements.

On this basis, after years of hard work, computer scientists Sophie Wilson and Steve Furber from Cambridge University finally completed the microprocessor design. The former was responsible for the instruction set development, while the latter was responsible for chip design.

Acorn named this chip Acorn RISC Machine.

This is the origin of the three letters **“ARM”**. Understanding ARM Architecture: Cortex, ARMv8, and SoC Explained

After the ARM1, Acorn successively launched several series, such as ARM2, ARM3.

In 1990, Acorn established a company specifically to collaborate with Apple, named ARM.

Understanding ARM Architecture: Cortex, ARMv8, and SoC ExplainedNote that here, ARM is the company name, not the chip name. The full name of this ARM is also different, it is Advanced RISC Machines.

The previous chip name: Acorn RISC Machine and the current company name: Advanced RISC Machines

In the 1990s, ARM’s 32-bit RISC (Reduced Instruction Set Computer) processors expanded internationally, occupying a leading position in the embedded system application field with low power consumption, low cost, and high functionality.

ARM does not produce or sell chips; it only sells chip technology licenses.

This policy allowed ARM to free itself from cash flow troubles and focus entirely on chip research and development.

On April 17, 1998, the rapidly growing ARM Holdings was simultaneously listed on the London Stock Exchange and NASDAQ. Understanding ARM Architecture: Cortex, ARMv8, and SoC ExplainedIn 2007, the revolutionary product – iPhone was launched. The first generation iPhone used a chip designed by ARM and manufactured by Samsung.

In 2008, Google launched the Android system, which is also based on the ARM instruction set. Since then, smartphones have entered a rapid development phase, establishing ARM’s dominance in the smartphone market.

On July 18, 2016, it was reported that Japan’s SoftBank acquired the British chip design company ARM for £23.4 billion (about $31 billion).

On September 14, 2020, NVIDIA officially announced that it would acquire ARM from SoftBank for $40 billion. According to the agreement, NVIDIA will pay SoftBank $21.5 billion in NVIDIA stock and $12 billion in cash.

Currently, this acquisition has faced opposition from several Silicon Valley tech giants, including Intel, Qualcomm, and Tesla, who believe this deal is detrimental to the industry. Additionally, regulatory bodies in China and the EU may also oppose this acquisition.

Let’s wait and see!

ARM Core and Architecture

Any ARM chip consists of two main parts: ARM core and peripherals.

ARM Core

ARM Core: includes a set of registers, instruction set, bus, memory mapping rules, interrupt logic, and debugging components. The core is designed by ARM and licensed to chip manufacturers (ARM itself does not make chips). For example, Cortex A8 and A9 are designed for high speed and are based on ARMv7a architecture; Cortex M3 and M4 are based on ARMv7m architecture; the former is the processor (the core), while the latter is the instruction set architecture (also referred to as architecture).

The peripherals include timers, A/D converters, memory, I2C, UART, SPI, ROM, etc., and are designed and matched by each chip manufacturer with the ARM core. Different chip manufacturers have different peripherals, thus constituting a large and diverse ARM chip industry.

ARM Instruction Set Architecture

The design of the instruction set is the most important part of the processor structure, referred to in ARM terminology as ISA (Instruction Set Architecture).

The instruction set can be considered the soul of CPU design; it is the incantation that opens the Pandora’s box of the CPU. To use the CPU, we can only operate it through these instructions.

For a 32-bit CPU, these instructions are sequences of 32-bit 01s, with different values representing different machine instructions. The CPU hardware can perfectly parse and execute these instructions, such as addressing, computing, exception handling, etc.

When we play games on our phones, we should know that every move we make is ultimately translated into a series of machine instructions.

Since the birth of the ARMv1 architecture in 1985, by 2011, the ARM architecture had developed to the eighth generation ARMv8.

Cortex-A32/35/53/57/72/73/77/78 all use the ARMv8 architecture, which is the first processor architecture from ARM to support 64-bit instruction sets. Understanding ARM Architecture: Cortex, ARMv8, and SoC Explained

Processors and Instruction Set Architectures Before ARM11

Before ARM11 chips, the relationship between each chip and its architecture is as follows: Understanding ARM Architecture: Cortex, ARMv8, and SoC Explained

Processors and Instruction Set Architectures After ARM11

After ARM11 chips, starting from the ARMv7 architecture, ARM’s naming convention changed.

The new processor family is named Cortex and is divided into three series: Cortex-A, Cortex-R, Cortex-M.

Coincidentally, these three letters A, R, M come together again.

Understanding ARM Architecture: Cortex, ARMv8, and SoC Explained
Insert image description here

Cortex-A Series (A: Application)

Designed for the growing consumer entertainment and wireless product market, used in applications requiring high computational power, running rich operating systems, and providing interactive media and graphics experiences, such as smartphones, tablets, automotive entertainment systems, digital TVs, smartbooks, e-readers, home networks, home gateways, and various other products.

Cortex-R Series (R: Real-time)

Designed for systems requiring real-time operations, aimed at deep embedded real-time applications such as automotive braking systems, power transmission solutions, and high-capacity storage controllers.

Cortex-M Series (M: Microcontroller)

This series targets the microcontroller field, mainly for cost and power-sensitive applications such as smart measurement, human-machine interface devices, automotive and industrial control systems, home appliances, consumer products, and medical devices.

Cortex-SC Series (SC: SecurCore)

In addition to the three major series mentioned above, there is also a security-focused Cortex-SC series (SC: SecurCore), primarily used for government security chips.

Understanding ARM Architecture: Cortex, ARMv8, and SoC Explained
ARM Product Ladder

The ARM11 series includes ARM11MPCore processors, ARM1176 processors, ARM1156 processors, and ARM1136 processors, all based on the ARMv6 architecture.

ARM Cortex-A5 processors, Cortex-A7 processors, Cortex-A8 processors, Cortex-A9 processors, and Cortex-A15 processors belong to the Cortex-A series, based on the ARMv7-A architecture.

Cortex-A53 and Cortex-A57 processors belong to the Cortex-A50 series, which first adopted the 64-bit ARMv8 architecture.

In 2020, ARM recently released a new CPU architecture, Cortex-A78, based on the ARMv8.2 instruction set.

What is SoC?

SoC stands for System-on-a-Chip, which means “putting the entire system on one chip” in Chinese.

SoC integrates many critical components of a smartphone, such as CPU, GPU. Although it exists as a single chip on the motherboard, it is composed of many encapsulated components.

For instance, the Qualcomm 801, Kirin 950, Samsung’s Exynos 4412, A6, etc., are just general terms for the encapsulated system components (SoC). However, the contents of each company’s encapsulation can differ significantly for various reasons.

Understanding ARM Architecture: Cortex, ARMv8, and SoC ExplainedClassic ARM system-on-chip or SoC contains many components, of which only some come directly from ARM. Firstly, the core itself is usually deeply embedded inside the device and is not directly visible. The debugging port is usually the only exposed part connected to the core itself, along with some bonding logic, such as clock and reset integrated circuits.

Since the ARM core has only two interrupt inputs, the most common peripheral is some form of interrupt controller. Inside the peripherals, various components are connected through the on-chip interconnect bus architecture. For the vast majority of ARM-based devices, this is the standard AMBA interconnect.

AMBA specifies two buses, the high-performance system bus called AXI and the low-power peripheral bus called APB. APB is typically used to connect all peripherals, while AXI is used for memory and other high-speed devices. Most devices have a certain amount of on-chip memory and interfaces for connecting external peripheral memory devices, but note that the connection to the outside of the device is not the AMBA bus; it is only used internally within the device and is not exposed.

Example: Exynos 4412 SCP

Let’s take Samsung’s Exynos (Orion) 4412 SCP as an example to explain these concepts.

  1. Samsung’s Exynos 4412 SCP is an SoC based on Cortex-A9;
  2. As shown in the figure below, Exynos 4412 contains 4 Cortex-A9 processors (cores);
  3. Cortex-A9 is based on the ARMv7-A architecture (instruction set).

Understanding ARM Architecture: Cortex, ARMv8, and SoC ExplainedAs can be seen from the figure above, Exynos 4412 not only contains 4 Cortex-A9 cores but also includes a large number of peripheral controllers: DRAM Controller, SROM Controller, Camera IF, JPEG, GPS/GLONASS, Power Management, USB Host, I2C, UART, SPI, etc.

Like Samsung, other major manufacturers collaborating with ARM typically combine their CPUs and various peripheral IPs together, and then take the blueprints to wafer fabrication. The produced item is also a square with many pins, which contains not only the CPU but also other controllers. This is called SoC (system on chip).

The figure below shows the final product produced by Samsung, Exynos 4412. Of course, just having this SoC cannot run Android; it requires a lot of external peripherals to ultimately form a complete system. However, most of the most complex hardware modules have already been integrated into this SoC. Understanding ARM Architecture: Cortex, ARMv8, and SoC ExplainedCurrently, what major manufacturers do is buy ARM licenses to obtain the source code of ARM processors, and then design or purchase various peripheral IPs to form an SoC before fabricating the wafers. Different SoCs have different architectures (that is, how the CPU connects to the IP; some are bus-centric, while others are DDR-centric).

Hisilicon has its own proprietary SoC architecture. However, no matter how manufacturers tinker with it, they haven’t altered the CPU; the ARM core remains intact as the central processor.

ARM Licensing

How to understand ARM licensing?

It’s like manufacturing cars; ARM is equivalent to having the most advanced ‘engine’ design scheme, but they do not ‘produce engines’. Instead, they license the design scheme to major ‘automakers’ to produce, and the money earned is used to continue developing more advanced ‘engines’.

ARM licensing is divided into ARM architecture licensing, IP core licensing, and usage level licensing.

If a company wants to use ARM’s core to make its own processor, such as ST, Apple, Samsung, TI, Qualcomm, Huawei, etc., it must purchase different levels of licensing under ARM’s architecture based on its usage needs.

There are three types of architecture licensing: architecture level licensing, core level licensing (IP core licensing), and usage level licensing.

1. Architecture level licensing allows for significant modifications to the ARM architecture, even extending or reducing the ARM instruction set. Apple is a good example, having extended its own Apple Swift architecture based on the ARMv7-A architecture;

2. Core level licensing allows for building a core based on one core and adding its own peripherals, such as USART, GPIO, SPI, ADC, etc., to eventually form its own MCU. Many companies, such as Samsung and TI, do this;

3. Usage level licensing is the most basic requirement to use a processor; obtaining usage level licensing means you can only take predefined IPs provided by others and embed them in your design without changing them or creating your own encapsulated products based on them.

Therefore, if Huawei obtains both architecture licensing and IP core licensing, it means it can create its own core architecture based on the ARM instruction set as needed and add various internal and external peripherals, such as communication interfaces, display control interfaces, GPIO, etc., to produce its own “processor chip”.

It’s similar to me writing an article; I tell person A that they can modify and use it, which is architecture level licensing. I tell person B that they can quote my article in theirs, which is core level licensing. I tell person C that they can only forward my article without changing or adding anything, which is usage level licensing.

Conclusion

Let’s summarize these concepts:

  1. The name of the ARM company is ARM: Advanced RISC Machines;
  2. The first microprocessor designed by Acorn, the predecessor of ARM, is called ARM: Acorn RISC Machine;
  3. ARM processor names: previously called ARM9, ARM11, the new naming convention is based on Cortex, namely Cortex-A, Cortex-R, Cortex-M; these three letters A, R, M combine together to form ARM.
  4. The ARM instruction set is the ARM architecture, such as ARMv8, and each processor needs to rely on a certain ARM architecture for design;
  5. SoC: major manufacturers buy ARM licenses to obtain the source code of ARM processors, then design or purchase peripheral IPs to form an SoC, such as Samsung’s Exynos 4412 and Huawei’s Kirin 990.

Leave a Comment