preface

ARM is an ARM architecture, an ARM kernel, an ARM architecture, an ARM instruction set, and an SOC.

ARM can be thought of as a company name, a generic term for a type of microprocessor, or a technology. 2. ARM is a company specializing in chip design and development based on RISC technology. As an intellectual property supplier, ARM does not directly engage in chip production, but transfers design license, and partners produce chips with different characteristics. 3. The core of ARM processor is unified and provided by ARM Company, while the chip internal components are diversified and designed by major semiconductor companies. This enables ARM to use different chip internal and external devices based on the same core when designing embedded systems, thus enjoying great advantages.

Here we introduce each of these concepts.

ARM

ARM is first and foremost a company, an acronym for Advanced RISC Machines. But that’s not his name. Look at the history of ARM.

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

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

When the microcontroller System was developed, it was called the Acorn System 1.

They got the name Acorn because they wanted to be ahead of Apple in the yellow Pages.

The Acorn System 1 was followed by System 2, 3, and 4, as well as the Acorn Atom, a consumer-oriented box computer.

Then, in 1981, the company had a rare opportunity. The BBC wanted Acorn to produce a computer to go with a program designed to promote computer literacy throughout the United Kingdom.

But they found that the hardware design of their products did not meet the demand. At that time, the CPU trend was changing from 8 to 16 bits. Acorn doesn’t have the right chip to use.

So they went to Intel (INTC), then in its heyday, and asked for designs and samples of the 80286 processor. However, Intel rebuffed them ruthlessly.

Frustrated, Acorn decided to go it alone and make its own chips. (What a familiar story!)

So the Acorn researchers found research at the University of California, Berkeley, on a new type of processor — a simplified instruction set — that met their design requirements.

After years of hard work, Sophie Wilson and Steve Furber, computer scientists at the University of Cambridge, finally designed the microprocessor. The former is responsible for instruction set development, while the latter is responsible for chip design.

For this chip, Acorn named it the Acorn RISC Machine.

That’s where the letters “ARM” ** come from.

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

In 1990, Acorn formed a company called ARM to collaborate with Apple.

Note that ARM is the company name, not the chip name. The full spelling of this ARM is also different, Advanced RISC Machines.

Current company name: Advanced RISC Machines

In the 1990s, ARM 32-bit RISC(Reduced lnstruction Set Computer) processors expanded to the international scope, occupying a leading position in the application field of embedded systems with low power consumption, low cost and high function.

ARM doesn’t make or sell chips; it licenses chips.

Officially, the formulation of this policy enables ARM to get rid of the trouble of cash flow and devote itself to chip research and development.

On April 17, 1998, the fast-growing ARM Holding company was listed on both the London Stock Exchange and Nasdaq.In 2007, the iPhone came out. The first iPhone used chips designed by ARM and made by Samsung.

In 2008, Google introduced Android, also based on the ARM instruction set. Since then, smart phones have entered the stage of rapid development, and ARM has thus established its dominant position in the smart phone market.

July 18, 2016 – SoftBank of Japan buys British chip designer ARM for 23.4 billion pounds ($31 billion).

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

The deal has been opposed by several Silicon Valley tech giants, including Intel, Qualcomm and Tesla, who say it would be bad for the industry, as well as by regulators in China and the European Union.

Wait and see what happens!

ARM kernel and architecture

Any ARM chip consists of two major components: the ARM core and peripherals.

ARM kernel

ARM kernel: including register set, instruction set, bus, memory mapping rules, interrupt logic and debugging components. The cores are designed by ARM and sold under license to chip manufacturers (ARM does not make chips itself). The Cortex A8 and A9 are both ARMv7a architectures designed for high speed. Cortex M3 and M4 are ARMv7m architectures. The former is the processor (the kernel) and the latter is the architecture of the instruction set (also referred to as the architecture).

Peripherals include timer, A/D converter, memory, I2C, UART, SPI, ROM… And so on, it is completely designed by each chip manufacturer and connected with the ARM kernel. Different chip manufacturers have different peripherals, thus forming a large number and specifications of ARM chip industry.

ARM instruction set architecture

Instruction Set design is the most important part of processor Architecture, which is called ISA (Instruction Set Architecture) in ARM terminology.

Instruction sets can be said to be the soul of CPU design, is to open the CPU this Pandora’s box of spells, to use the CPU, we can only operate the CPU through these instructions.

For a 32-bit CPU, these instructions are a sequence of 32 bits of 01, with different values representing different machine instructions that the CPU hardware perfectly parses and executes, such as addressing, arithmetic, exception handling, and so on.

When we play King of Glory on our phones, we know that every move we make is ultimately translated into a series of machine commands.

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

The Cortex-A32/35/53/57/72/73/77/78 uses the ARMv8 architecture, ARM’s first processor architecture to support 64-bit instruction sets.

Processor and instruction set architecture prior to ARM11

Before ARM11 chips, the architecture relationship of each chip is as follows:

ARM11 processor and instruction set architecture

After the ARM11 chip, starting with the ARMv7 architecture, the ARM naming has changed.

The new processor family, renamed Cortex-a, is divided into three families, cortex-a, Cortex-R, and Cortex-M.

Coincidentally, the letters A, R, M again.

Insert a picture description here

Cortex-a series (A: Application)

For growing consumer entertainment and wireless products design, used in high computational requirements, running operating system, and provide rich interactive media and application field of graphics experience, such as smart phones, tablet PC, car entertainment systems, digital TV, smart book, e-readers, home network, home gateway and other various products..

Cortex-r series (R: Real-time)

For system applications that require real-time operation, for deep embedded real-time applications such as automotive braking systems, powertrain solutions, mass storage controllers, etc.

Cortex-m Series (M: Microcontroller)

The series is targeted at microcontrollers for cost – and power-sensitive applications such as intelligent measurement, human-machine interface devices, automotive and industrial control systems, home appliances, consumer products and medical devices.

Cortex-sc series (SC: SecurCore)

There is also a security-focused cortex-SC family (SC: SecurCore) for government security chips.

ARM’s ladder

ARM11 series includes ARM11MPCore processor, ARM1176 processor, ARM1156 processor, ARM1136 processor, which are based on 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 family and are based on the ARMV7-A architecture.

The Cortex-A53 and Cortex-A57 processors are part of the Cortex-A50 family and feature the first 64-bit ARMv8 architecture.

ARM has recently released a new CPU architecture, cortex-A78, based on the ARM V8.2 instruction set.

What is SOC?

The full name of SoC is system-on-a-chip.

SoC integrates the most critical components of many mobile phones, such as CPU, GPU and memory. That is to say, although it is a chip on the motherboard, it is composed of many components.

For example, qualcomm 801, Kylin 950, Samsung exynos 4412, A6 and so on are just the general name of system component package package (SoC). But what each package encapsulates varies, and for different reasons.

Classic ARM system-level chips, or soCs, contain many components, only some of which derive directly from ARM. First, the core itself is usually deeply embedded inside the device and is usually not directly visible within the scope of the device, while the debug port is usually the only exposed part connected to the core itself, with some glue logic, such as clocks and reset integrated circuits.

Because the ARM core has only two interrupt inputs, the most common peripheral is some kind of interrupt controller. Inside the peripheral, the components are connected to each other through an on-chip interconnect bus architecture. For the vast majority of ARM-based devices, this is the standard AMBA interconnection.

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, and AXI is used for memory and other high-speed devices. Most devices have some number of on-chip storage and interfaces to connect to peripheral memory devices. The external connection to the device is not an AMBA bus, which is only used inside the device and is not exposed.

Example: Exynos 4412 SCP

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

  1. Samsung’s Exynos 4412 SCP is a Cortex-A9 based SOC;
  2. As shown below, the Exynos 4412 contains four Cortex-A9 processors (cores);
  3. Cortex-a9 is based on the ARMV7-A architecture (instruction set).

The Exynos 4412 contains four Cortex-A9 cores, as well as a 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 that cooperate with ARM usually put their CPU and all kinds of peripheral IP together, then take the drawing to stream the film themselves, and produce a square with many pins under it, which contains not only the CPU but also other controllers. This thing is called an SOC (System on Chip).

Samsung’s eventual Exynos 4412, shown below, won’t run Android on its own, of course, and will need a lot of peripherals to form a complete system, but most of the most complex hardware modules are already integrated into the SOC.At present, what major manufacturers do is to buy ARM authorization, get the source code of ARM processor, and then make some peripheral IP (or buy or design their own), form a SOC, and then stream the chip. Different soCs have different architectures (that is, how the CPU relates to IP, some bus-centric, some DDR-centric).

Haisi is an SOC architecture with its own property rights. However, no matter what manufacturers do, they don’t touch the CPU much. The ARM core just stays there, the CENTRAL processing unit.

Authorized by the ARM

How to understand ARM licensing?

Just like we make cars, ARM has the most advanced ‘engine’ design, but instead of ‘producing the engine’, ARM licenses the design to various’ car manufacturers’ and proceeds to develop more advanced ‘engines’.

ARM authorization includes ARM architecture authorization, IP core authorization, and user level authorization

If a company wants to use THE ARM kernel to make its own processor, such as ST, Apple, Samsung, TI, Qualcomm, Huawei, etc., it must purchase different level of license from ARM under its architecture, and purchase corresponding level of license according to the use needs.

There are three authorization modes: architecture authorization, kernel-level authorization (IP core authorization), and usage-level authorization.

1. Architecture level authorization means that the ARM architecture can be greatly modified, and even the ARM instruction set can be extended or reduced. Apple is A good example, which extends its Own Apple SWIFT architecture based on ARMV7-A architecture.

2. Kerl-level authorization means that a kernel can be based on a kernel and then add its own peripherals, such as USART, GPIO, SPI, ADC, etc., and finally form its own MCU. There are many companies such as Samsung and TI.

3. Use hierarchical authorization. In order to use a processor, obtaining hierarchical authorization is essential. This means that you can only take a defined IP provided by someone else and embed it in your design.

Therefore, if Huawei obtains the authorization of architecture and IP core respectively, it means that it can create its own kernel architecture based on the ARM instruction set according to its needs, and add various internal and external devices such as communication interface, display control interface, GPIO, etc., so as to produce its own “processor chip”.

Actually like I wrote an article, I tell a, you can take to be modified to use, is architecture level license, I told b, you can refer to my article in your article, is the kernel level authorization, I told c, you can only to forward my article, can’t change, can’t embellish, is to use hierarchical authorization.

conclusion

Let’s summarize these concepts:

  1. ARM: Advanced RISC Machines.
  2. ARM predecessor Acorn company designed the first microprocessor, called ARM: Acorn RISC Machine;
  3. ARM processor names: cortex-a, cortex-r, cortex-m; The letters A, R and M add up to ARM again.
  4. ARM instruction set is ARM architecture, such as ARMv8, each processor needs to rely on a certain ARM architecture to design;
  5. SOC: Major manufacturers buy ARM licenses, get the source code of the ARM processor, and then make their own IP of some peripheral devices (either buy or design their own) to form a SOC, such as Samsung’s Exynos 4412 and Huawei’s Kirin 990.

For more on embedded Linux, check out Linux in one bite.

This article is formatted using MDNICE