What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview

Introduction

Some fans have asked me what ARM is, and they are confused about the relationships between concepts like Cortex, ARM cores, ARM architecture, ARM instruction set, and SoC. Below, I will clarify some concepts related to ARM.

1. ARM can be considered as a company name, a general term for a type of microprocessor, or a name for a technology. 2. ARM is a company specializing in the design and development of 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 produce various chips with unique features. 3. The ARM processor cores are standardized and provided by ARM, while the internal components of the chips are diverse and designed by various semiconductor companies. This allows ARM to design embedded systems based on the same core while using different internal peripherals, providing significant advantages.

Next, we will introduce these concepts one by one.

ARM Company

ARM is primarily 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, literally meaning “Cambridge Processor Unit”.

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

This microcontroller system was developed and named Acorn System 1.

What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview The reason it was called Acorn was that they wanted to be listed before Apple in the phone directory.

After Acorn System 1, they successively developed System 2, 3, 4, and a consumer-oriented cassette computer—Acorn Atom. What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview

By 1981, the company encountered a rare opportunity—BBC (British Broadcasting Corporation) 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 trend in central processing units was shifting from 8-bit to 16-bit. Acorn did not have suitable chips available.

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

Feeling disheartened, Acorn decided to take matters into their own hands and create their own chips. (What a familiar plot!)

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

Based on this, 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 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”**. What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview

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

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

What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview Note that here, ARM is the company name, not the chip name. The full spelling of this ARM is also different, which 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 listed on both the London Stock Exchange and NASDAQ. What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview In 2007, the revolutionary product—the 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 was also based on the ARM instruction set. Since then, smartphones entered a rapid development phase, and ARM established its dominance in the smartphone market.

On July 18, 2016, SoftBank of Japan announced the acquisition of the British chip design company ARM for £23.4 billion (approximately $31 billion).

On September 14, 2020, NVIDIA officially announced it would acquire ARM from SoftBank for $40 billion. According to the agreement, NVIDIA would 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 would be detrimental to the industry. Additionally, regulatory agencies in China and the European Union may also oppose the acquisition.

Let’s wait and see!

ARM Cores and Architecture

Any ARM chip consists of two main parts: the 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 does not make chips). For example, the Cortex A8 and A9 are designed for high speed and are based on the ARMv7a architecture; Cortex M3 and M4 are based on the ARMv7m architecture; the former is the processor (the core), while the latter refers to the instruction set architecture (also referred to as architecture).

The peripheral part includes timers, A/D converters, memory, I2C, UART, SPI, ROM, etc., which are entirely designed by various chip manufacturers and integrated with the ARM core. Different chip manufacturers have different peripherals, resulting in a vast and diverse ARM chip industry.

ARM Instruction Set Architecture

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

The instruction set can be considered the soul of CPU design, the incantation to open 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 binary values, where different values represent different machine instructions. The CPU hardware can perfectly parse and execute these instructions, such as addressing, computation, 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 adopt the ARMv8 architecture, which is ARM’s first processor architecture to support a 64-bit instruction set. What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview

Processor and Instruction Set Architecture Before ARM11

Before ARM11 chips, the architecture relationships for each chip were as follows: What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview

Processor and Instruction Set Architecture 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, and Cortex-M.

Coincidentally, these three letters A, R, M are the same as ARM.

What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview
Insert image description here

Cortex-A Series (A: Application)

Designed for the growing consumer entertainment and wireless product market, used in applications with high computational requirements, 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 that require real-time operation, aimed at deep embedded real-time applications such as automotive braking systems, power transmission solutions, and large-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), mainly used for government security chips.

What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview
ARM’s product ladder

The ARM11 series includes the ARM11MPCore processor, ARM1176 processor, ARM1156 processor, and ARM1136 processor, which are based on the ARMv6 architecture.

The ARM Cortex-A5 processor, Cortex-A7 processor, Cortex-A8 processor, Cortex-A9 processor, and Cortex-A15 processor 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 a single chip”.

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

For example, the Qualcomm 801, Kirin 950, Samsung’s Exynos 4412, A6, etc., are all just the general names after the system components are packaged (SoC). However, the content of each company’s packaging varies for different reasons.

What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview A classic ARM system-on-chip or SoC contains many components, of which only some originate directly from ARM. First, the core itself is usually deeply embedded within the device and is typically not directly visible. The debugging port is usually the only exposed part connected to the core, 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 interconnected 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, a high-performance system bus called AXI and a 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 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 four Cortex-A9 processors (cores);
  3. Cortex-A9 is based on the ARMv7-A architecture (instruction set).

What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview As can be seen from the figure, the Exynos 4412 not only includes four 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.

Similar to Samsung, other major manufacturers collaborating with ARM typically package their CPU and various peripheral IP together, then take the design to tape out, producing a square chip with many pins. This chip not only contains the CPU but also other controllers, which is called SoC (system on chip).

As shown in the figure below, this is the Exynos 4412 produced by Samsung. Of course, just having this SoC cannot run Android; it still requires a large number of external peripherals to form a complete system. However, most of the most complex hardware modules have already been integrated into this SoC. What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview Currently, what major manufacturers do is buy ARM licenses, obtain the source code for ARM processors, and then create some peripheral IP (either by purchasing or designing themselves) to form an SoC, such as Samsung’s Exynos 4412 or Huawei’s Kirin 990.

Regardless of the manufacturer, no matter how they tinker, they have not changed the CPU; the ARM core remains intact as the central processor.

ARM Licensing

How to understand ARM licensing?

For example, when we manufacture cars, ARM is like having the most advanced ‘engine’ design scheme, but it does not ‘produce engines’; instead, it licenses the design scheme to various ‘automakers’ to produce, earning money 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, depending 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; based on the ARMv7-A architecture, it extended its own Apple Swift architecture;

2. Core-level licensing allows for the use of a core as a basis and then adding its own peripherals, such as USART, GPIO, SPI, ADC, etc., to finally form its own MCU. Many companies, such as Samsung and TI, fall into this category;

3. Usage-level licensing is the most basic requirement to use a processor, meaning you can only use the predefined IP provided by others in your design, without modifying it or creating your own encapsulated products based on that IP.

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 can 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 changes or additions, 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, ARM, is called: Acorn RISC Machine;
  3. The names of ARM processors: 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 to form ARM.
  4. The ARM instruction set refers to 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, obtain the source code for ARM processors, and then create some peripheral IP (either by purchasing or designing) to form an SoC, such as Samsung’s Exynos 4412 or Huawei’s Kirin 990.

What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview

Feeling stressed? Scan to reply Programmer and give it a try

What are Cortex, ARMv8, ARM Architecture, ARM Instruction Set, and SoC? A Comprehensive Overview

↑↑↑Long press the image to recognize the QR code to follow↑↑↑

Leave a Comment