Understanding the Basics: The Relationship Between ARM Instruction Set, ARM Architecture, ARM Cores, Cortex, SoC, Chips, and Microcontrollers

0 Introduction: Overview of ARM Company

Understanding the Basics: The Relationship Between ARM Instruction Set, ARM Architecture, ARM Cores, Cortex, SoC, Chips, and Microcontrollers

1. ARM can be considered a company’s name, a general term for a type of microprocessor, and also a name for a technology.

2. ARM Company specializes in the design and development of chips based on RISC (Reduced Instruction Set Computer) technology. As an intellectual property supplier, it does not directly engage in chip production but transfers design licenses to partner companies to produce unique chips.

3. The core of ARM processors is unified and provided by ARM Company, while the internal components of the chips are diverse and designed by various semiconductor companies. This enables ARM to design embedded systems based on the same core while using different internal peripherals, offering significant advantages.

1 What is the ARM Instruction Set?

1 Instruction Set

The instruction set is a series of instructions stored in the CPU to guide it in performing arithmetic operations and controlling the operating system. Essentially, it consists of binary machine codes. 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 interpret and execute these instructions, such as addressing, computation, exception handling, etc.The CPU can recognize machine code, but it is difficult for programmers to understand it, let alone write software using it. Hence, assembly language was developed, which corresponds one-to-one with machine code. Currently, there are many different versions of assembly language, essentially representing different instruction sets. Instruction sets can be simply categorized into Complex Instruction Set Computing (CISC) and Reduced Instruction Set Computing (RISC). A typical example of CISC is Intel’s x86 instruction set, while ARM’s instruction set is a typical example of RISC.

2 ARM Instruction Set

The ARM instruction set is the collection of instructions that ARM Company has developed based on the Reduced Instruction Set Computing (RISC) that the CPU can recognize and execute.The ARM instruction set is also a general term; in fact, it is divided into ARM64 instruction set, ARM32 instruction set, THUMB instruction set, THUMB-2 instruction set, NEON instruction set, VFP instruction set, and DSP instruction set. Different versions of the architecture support different instruction sets.

2 ARM Architecture and ARM Cores

1 What are Architecture and Core?

Architecture: Common architectures include ARM architecture (ARM Company) and X86 architecture (Intel Company). The ARM architecture is a computer processor architecture based on RISC, which includes the instruction set, register set, exception model, memory model, and other contents.

The instruction set is an abstract concept, serving as a standard specification. For example, traffic rules dictate that red means stop, green means go, and yellow means caution. Only when both pedestrians and drivers adhere to these rules can the traffic system operate smoothly. Similarly, the instruction set requires chip engineers to design CPU decoding circuits based on the specified instruction formats to support the operation of various instructions in the instruction set. The ultimate implementation of the instruction set is the microarchitecture, which consists of various decoding and execution circuits within the CPU.

Core: It is the core unit module within the chip, designed according to the specifications of the instruction set. The core can be seen as the physical manifestation of the architecture, including the register group, instruction set, bus, memory mapping rules, interrupt logic, and debugging components. However, hardware design solutions vary, so different versions of the core may exist for the same version of the instruction set architecture (abbreviated as architecture). The core is designed by ARM Company and licensed to chip manufacturers (ARM Company does not produce 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 represents the processor (the core), while the latter represents the instruction set architecture (also referred to as architecture).

3 History of ARM Architecture and Processor Development

1 ARM Chips

Any ARM chip includes an ARM core and peripherals.

The ARM core, as previously mentioned, is designed and licensed by ARM Company to chip manufacturers.

Peripherals: Including timers, A/D converters, memory, I2C, UART, SPI, ROM, etc., are entirely designed by various chip manufacturers to complement the ARM core. Different chip manufacturers have different peripherals, resulting in a large and diverse ARM chip industry.

2 History of ARM Architecture and Processor Development

1 History of ARM Architecture Development

ARMv1: Released in 1985, the first ARM architecture.

ARMv2: Released in 1986, improved upon ARMv1, adding a 32-bit address bus and instruction set extensions (adding some instructions).

ARMv3: Released in 1992, supporting virtual memory and adding instruction set extensions, including support for coprocessors.

ARMv4: Released in 1994, adding Java virtual machine instruction set extensions (Jazelle) and Thumb instruction set, improving code density.

ARMv5: Released in 1997, adding instruction set extensions for embedded Java (Jazelle-RCT) and support for floating-point operations (VFP).

ARMv6: Released in 2002, adding the Thumb-2 instruction set, improving code density and execution efficiency, while also adding some instruction set extensions, including support for Jazelle-DBX.

ARMv7: Released in 2004, adding TrustZone-based security extensions, NEON instruction set extensions, and support for vector floating-point operations (VFPv3), etc.

ARMv8: Released in 2011, adding the AArch64 architecture, supporting 64-bit processors while retaining the AArch32 architecture, improving performance and energy efficiency.

ARMv9: Released in 2021, adding Confidential Compute Architecture (CCA) and Realms technology, enhancing security and isolation.

2 Correspondence Between ARM Processors (Cores) and Architectures

For each ARM architecture, ARM has designed many processors (cores). Prior to ARM11 chips, the correspondence between chips and architectures was as follows:

Understanding the Basics: The Relationship Between ARM Instruction Set, ARM Architecture, ARM Cores, Cortex, SoC, Chips, and Microcontrollers

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

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

Coincidentally, these three letters A, R, M.

The Cortex-A series processors are designed for high-end applications, typically used in smartphones, tablets, digital TVs, and network devices. These processors feature high performance, large memory management units, and substantial internal cache, supporting multi-core processing and virtualization technologies.

The Cortex-R series processors are designed for real-time applications, typically used in automotive, industrial control, and medical devices. These processors have extremely low latency, high-precision timers, and internal memory protection mechanisms, excelling in real-time response and high reliability.

The Cortex-M series processors are designed for low-power, low-cost embedded applications, typically used in sensors, smart homes, industrial control, and medical devices. These processors are characterized by low power consumption, small size, and low cost while also supporting real-time, security, and reliability features.

Cortex-SC series (SC: SecurCore)

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

As can be seen, ARM processors are mainly classified into classic processors, Cortex-M series processors, Cortex-R series processors, and Cortex-A series processors, with classic processors named by numbers until ARM11.

Understanding the Basics: The Relationship Between ARM Instruction Set, ARM Architecture, ARM Cores, Cortex, SoC, Chips, and Microcontrollers

4 ARM Licensing Methods

1. Instruction Set/Architecture Licensing

Third-party companies obtaining ARM architecture licenses can use ARM’s instruction set for chip design. However, ARM’s licensing management is very strict; it allows its partners to participate in formulating the instruction set but does not permit them to modify it privately. Currently, Huawei HiSilicon is based on the ARMv8 instruction set for development and has obtained permanent licensing for the ARMv8 architecture.

2. Core Licensing

This refers to ARM providing the core circuit diagrams, testing methods, and testing programs to third-party companies. Once third-party companies acquire core licensing, they can essentially go to factories for production. Many familiar semiconductor companies have obtained core licenses, such as ST, NXP, TI.

3. Usage Licensing

This is the lowest level of licensing, mainly for companies with weaker CPU design capabilities. With usage licensing, a company can only use already packaged and produced cores and cannot independently produce them. Many smaller domestic manufacturers have obtained ARM usage licenses.

5 What are SoC and Microcontrollers?

SoC: System on Chip (SoC) refers to an integrated circuit product with a complete system and embedded software. Currently, SoC integrates more processors (including CPU, GPU, DSP), memory, baseband, various interface control modules, and various interconnect buses.

MCU: Microcontroller Unit (MCU), also known as a microcontroller, is just a chip that requires peripheral circuits to complete the final product function.

The relationship between the two can be understood as SoC being a customized functional version of MCU. Of course, SoC is not limited to MCU but can also be a customized version of higher-end CPUs or MPUs.

Introduction to MCU Features:

Internal Integration

Understanding the Basics: The Relationship Between ARM Instruction Set, ARM Architecture, ARM Cores, Cortex, SoC, Chips, and Microcontrollers

The image above shows the internal composition of the simplest 51 core MCU, which includes CPU, RAM, ROM, timers (counters), serial ports, and external interrupts.

For the STM32 with ARMv7 architecture Cortex-M3 core, the internal composition would be more complex.

Leave a Comment

Your email address will not be published. Required fields are marked *