Some fans asked me what ARM is, and I don't know what the relationship between Cortex, arm core, arm architecture, ARM instruction set, and soc is. Let me sort out some concepts about ARM.
1. ARM can be considered as the name of a company, a generic term for a class of microprocessors, or a technology name. 2. ARM is a company that specializes 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, and cooperative companies produce unique chips. 3. The core of the ARM processor is unified and provided by ARM, while the on-chip components are diverse and designed by major semiconductor companies. This allows ARM to design embedded systems based on the same core and use different On-chip peripherals, which has great advantages.
ARM Company
ARM is first a company, the abbreviation of Advanced RISC Machines. But he didn't call this name originally, let's take a look at the growth history of ARM.
In 1978, an Austrian PhD in physics named Hermann Hauser and his friend, a British engineer named Chris Curry, founded a company named "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 is mainly engaged in the business of designing and manufacturing electronic equipment. The first order they received was to manufacture a microcontroller system for gaming machines.
After this microcontroller system was developed, it was called Acorn System 1.
The reason they are called Acorn is because they want to be ahead of Apple in the yellow pages.
After Acorn System 1, they have successively developed System 2, 3, 4, and consumer-oriented box computers-Acorn Atom.
In 1981, the company ushered in a rare opportunity-the British Broadcasting Corporation BBC planned to broadcast a set of programs to increase the level of computer penetration throughout the UK, and they hoped that Acorn could produce a computer to match it.
But they found that the hardware design of their products could not meet the demand. At that time, the development trend of central processing units was changing from 8-bit to 16-bit. Acorn does not have a suitable chip to use.
Therefore, they planned to find Intel, which was in full swing at the time, hoping that the other party would provide some design information and samples of the 80286 processor. However, Intel relentlessly rejected them.
The hard-hit Acorn company decided to do it itself and build its own chips. (What a familiar bridge!)
So Acorn's R&D staff found a research on a new type of processor from the University of California, Berkeley-a simplified instruction set, which can just meet their design requirements.
On this basis, after years of hard work, computer scientists Sophie Wilson and Steve Furber from the University of Cambridge finally completed the design of the microprocessor. The former is responsible for instruction set development, and the latter is responsible for chip design.
For this chip, Acorn named it Acorn RISC Machine.
This is the origin of the three letters **"ARM"**.
After ARM1, Acorn has launched several series, such as ARM2, ARM3.
In 1990, in order to cooperate with Apple, Acorn established a company named ARM.
Note that ARM here is the company name, not the chip name. The full spelling of this ARM is different, it is Advanced RISC Machines.
The name of the previous chip: Acorn RISC Machine The current company name: Advanced RISC Machines
In the 1990s, the ARM 32-bit RISC (Reduced lnstruction Set Computer) processor expanded to the international scope, occupying a leading position in the application of low-power, low-cost and high-function embedded systems.
ARM does not produce or sell chips, it only sells chip technology licenses.
The formulation of this policy has allowed ARM to get rid of the trouble of cash flow and can devote all of its energy to chip research and development.
On April 17, 1998, ARM Holdings, a rapidly growing business, was also listed on the London Stock Exchange and Nasdaq.
In 2007, the epoch-making product-iPhone was launched. The first-generation iPhone used chips designed by ARM and manufactured by Samsung.
In 2008, Google launched the Android (Android) system, which is also based on the ARM instruction set. At this point, smart phones have entered a stage of rapid development, and ARM has established a dominant position in the smart phone market.
On July 18, 2016, Japan’s Softbank acquired British chip design company ARM for 23.4 billion pounds (about 31 billion US dollars).
On September 14, 2020, Nvidia officially announced that it would acquire ARM from SoftBank at a price of US$40 billion. According to the agreement, Nvidia will pay Softbank's US$21.5 billion worth of Nvidia stock and US$12 billion in cash.
At present, this acquisition has been opposed by many Silicon Valley technology giants, including Intel, Qualcomm, and Tesla. They believe that this transaction is not good for the industry. In addition, Chinese and EU regulators may also oppose the acquisition.
Just watch the changes!
ARM core and architecture
Any ARM chip consists of two parts: ARM core and peripherals.
ARM core
ARM core: Includes register set, instruction set, bus, memory mapping rules, interrupt logic and debugging components. The kernel is designed by ARM and licensed to a chip manufacturer in a sales manner (ARM does not make chips itself). For example, Cortex A8 and A9 designed for high speed are both ARMv7a architecture; Cortex M3 and M4 are ARMv7m architecture; the former is the processor (that is, the core), and the latter is the architecture of the instruction set (also referred to as architecture).
The peripheral parts include timers, A/D converters, memory, i2c, UART, SPI, ROM... etc., which are completely designed by each chip manufacturer and connected to the ARM core. Different chip manufacturers have different peripherals, thus forming a huge number and specifications of the ARM chip industry.
ARM instruction set architecture
The design of the instruction set is the most important part of the processor structure, which is called ISA (Instruction Set Architecture) in ARM terminology.
The instruction set can be said to be the soul of cpu design. It is the spell to open the Pandora's box of CPU. If we want to use cpu, we can only operate cpu through these instructions.
For a 32-bit cpu, these instructions are a sequence of 32-bit 01. Different values represent different machine instructions. The hardware of the cpu can perfectly parse and execute these instructions, such as addressing, arithmetic, exception handling, etc. Wait.
When we use our mobile phones to play the glory of the king, we must know that every move we send is actually translated into a series of machine instructions.
From the birth of the ARMv1 architecture in 1985, to 2011, the ARM architecture has developed to the eighth generation ARMv8.
Cortex-A32/35/53/57/72/73/77/78 all adopt ARMv8 architecture, which is ARM's first processor architecture that supports 64-bit instruction set.
Processor and instruction set architecture before ARM11
Before the ARM11 chip, the corresponding architecture relationship of each chip is as follows:
Processor and instruction set architecture after ARM11
After the ARM11 chip, that is, starting from the ARMv7 architecture, the naming of ARM has changed.
The new processor family is named after Cortex and is divided into three series, namely Cortex-A, Cortex-R, Cortex-M.
Coincidentally, these three letters A, R, and M are again.
Cortex-A series (A: Application)
Designed for the ever-increasing consumer entertainment and wireless products, used in applications that have high computing requirements, run rich operating systems, and provide interactive media and graphics experience, such as smart phones, tablets, car entertainment systems, digital TVs, smart books, E-readers, home networks, home gateways and various other products. .
Cortex-R series (R: Real-time)
For system applications that need to run real-time operations, for 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 is oriented towards the field of microcontrollers, mainly for cost- and power-sensitive applications, such as smart measurement, human-machine interface devices, automotive and industrial control systems, household appliances, consumer products, and medical devices.
Cortex-SC series (SC: SecurCore)
In fact, in addition to the above three series, there is also a Cortex-SC series (SC: SecurCore) that focuses on security, which is mainly used for government security chips.
The ARM11 series includes ARM11MPCore processor, ARM1176 processor, ARM1156 processor, ARM1136 processor, they are based on ARMv6 architecture.
ARM Cortex-A5 processor, Cortex-A7 processor, Cortex-A8 processor, Cortex-A9 processor, Cortex-A15 processor belong to the Cortex-A series, based on the ARMv7-A architecture.
The Cortex-A53 and Cortex-A57 processors belong to the Cortex-A50 series and use the 64-bit ARMv8 architecture for the first time.
In 2020, ARM recently released a new CPU architecture Cortex-A78, which is based on the ARMv8.2 instruction set.
What is SOC?
The full name of SOC is: System-on-a-Chip, which means "to make the system on one chip" in Chinese.
SoC integrates many of the most critical components on mobile phones, such as CPU, GPU, and memory. In other words, although it exists on the motherboard as a chip, it is composed of many component packages.
For example, what we usually call Qualcomm 801, Kirin 950. Samsung's exynos 4412, A6, etc. are just the general term after system component packaging (SoC). However, the content of each package is different, and the reasons are also different.
The classic ARM system-on-chip or so-called Soc contains many components, only some of which are directly derived from ARM. First of all, the core itself is usually deeply embedded inside the device and is usually not directly visible in the device category, and 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.
Since 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 the on-chip interconnect bus architecture. For most 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 usually used to connect all peripherals, and AXI is used for memory and other high-speed devices. The device has a certain number of on-chip storage and interfaces for connecting peripheral memory devices, but note that the external connection with 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 Samsung's Exynos (Orion) 4412 SCP as an example to explain these concepts.
Samsung’s Exynos 4412 SCP is a Cortex-A9-based SOC;
As shown in the figure below, Exynos 4412 contains 4 Cortex-A9 processors (cores);
Cortex-A9 is based on the ARMv7-A architecture (instruction set).
As can be seen from the above figure, exynos 4412 contains 4 Cortex-A9 cores, and 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.
Other major manufacturers that cooperate with arm like Samsung usually put their CPUs and various peripheral IPs together, and then tape out their own drawings. The produced is also a square with many pins below. This thing not only includes the CPU, but also other controllers. This thing is called SOC (system on chip).
As shown in the figure below, it is the Exynos 4412 finally produced by Samsung. Of course, this SOC alone cannot run Android. It also needs a large number of peripherals to form a complete system, but most of the most complex hardware modules All have been integrated into this soc.
At present, what major manufacturers are doing is to buy ARM's authorization, get the source code of the ARM processor, and then build some peripheral IP (or buy or design it yourself), form a SOC, and then go to the tape. Different SOCs have different architectures (that is, how the CPU is connected to the IP, some use the bus as the core, and some use DDR as the core).
HiSilicon is a SOC structure with independent property rights. However, no matter what manufacturer, no matter how hard it is, it has never moved the CPU. The ARM core stays there, and that is the central processing unit.
ARM authorization
How to understand ARM authorization?
For example, when we manufacture cars, ARM is equivalent to having the most advanced'engine' design scheme, but he does not'produce engines', but authorizes the design schemes to major'automobile manufacturers' for production, and the earned money continues to research and develop A more advanced'engine'.
ARM authorization is divided into ARM architecture authorization, IP core authorization, and use level authorization.
If a company wants to use ARM cores to make its own processors, such as ST, Apple, Samsung, TI, Qualcomm, Huawei, etc., it must purchase different levels of authorization under its architecture from ARM, and purchase the corresponding levels according to the needs of use. Authorization.
There are three types of architecture authorization methods: architecture-level authorization, kernel-level authorization (ip core authorization), and use-level authorization.
1. Architecture-level authorization means that the ARM architecture can be greatly modified, and the ARM instruction set can even be expanded or reduced. Apple is a good example. Based on the ARMv7-A architecture, it has expanded its own Apple swift architecture;
2. Core-level authorization means that you can add your own peripherals, such as USART, GPIO, SPI, ADC, etc., based on a core, and finally form your own MCU. There are many such companies, such as Samsung, TI ;
3. Use level authorization. If you want to use a processor, it is the most basic to get the use level authorization. This means that you can only use the defined IP provided by others to embed it in your design, and you cannot change them. Ip, you can’t create your own encapsulation products based on that ip.
Therefore, if Huawei obtains the architecture authorization and the IP core authorization respectively, it means that it can create its own core architecture based on the ARM instruction set and add various on-chip peripherals such as communication interfaces, display control interfaces, GPIO and so on, thus producing its own "processor chip."
In fact, just like I wrote an article, I told A, you can take it and use it after modification, it is architecture-level authorization, I tell B, you can quote my article in your article, it is kernel-level authorization, I told C that you can only forward my article, you can't change it, and you can't add any extras. That is to use level authorization.
conclusion
Below we summarize these concepts:
The name of the ARM company, called ARM: Advanced RISC Machines;
The first microprocessor designed by Acorn, the predecessor of ARM, is called ARM: Acorn RISC Machine;
ARM processor name: formerly called ARM9, ARM11, the new naming rule is changed to Cortex naming, respectively Cortex-A, Cortex-R, Cortex-M; these three letters A, R, M together is ARM.
The ARM instruction set is the ARM architecture, such as ARMv8. Each processor needs to rely on a certain ARM architecture to design;
SOC: Major manufacturers buy ARM's authorization, obtain the source code of the ARM processor, and then build some peripheral IP (or buy or design it yourself) to form a SOC, such as Samsung's Exynos 4412 and Huawei's Kirin 990.
FAQs
What is ARMv8 architecture? ›
ARMv8-A is the latest generation of the ARM architecture that is targeted at the Applications Profile. In this book, the name ARMv8 is used to describe the overall architecture, which now includes both 32-bit execution and 64-bit execution states.
What is arm cortex in embedded system? ›The ARM Cortex-R4 processor is a mid-range real-time processor for use in deeply embedded systems. The ARM Cortex-R4F processor is a Cortex-R4 processor with a floating-point unit (FPU). The ARM Cortex-R5 processor is a high-performance real-time processor for use in embedded systems.
What is ARM processor used for? ›Arm processors are used extensively in consumer electronic devices such as smartphones, tablets, wearables and other mobile devices. They're also used in a wide range of sensors and internet of things devices.
What is ARM instruction set architecture? ›The ARM instruction sets. The ARMv7 architecture is a 32-bit processor architecture. It is also a load/store architecture, meaning that data-processing instructions operate only on values in general purpose registers. Only load and store instructions access memory.
Which phones are ARM64? ›- ASUS. ASUS ZenFone 5Z.
- AYN. Odin.
- Google. Google Pixel 3.
- LG. LG G7 ThinQ. LG V30. ...
- Meizu. Meizu 16. Meizu 16 Plus.
- Motorola. Moto Z2 Force.
- Nokia. Nokia 9 PureView.
- OnePlus. OnePlus 5.
An Introduction to the ARMv8 Instruction Sets
This addition provides access to 64-bit wide integer registers and data operations, and the ability to use 64-bit sized pointers to memory. The new instructions are known as A64 and execute in the AArch64 execution state.
An embedded system is a combination of computer hardware and software designed for a specific function. Embedded systems may also function within a larger system. The systems can be programmable or have a fixed functionality.
What is the difference between ARM and Intel? ›Arm and Intel are two giant tech companies making different microprocessors for different markets. While Intel makes high-performance processors for personal computers and laptops, Arm primarily makes ARM processors for low-power devices such as smartphones, tablets, wearable tech, and various smart home devices.
What is an RTOS and why are they used in embedded computers? ›A real-time operating system (RTOS) is an OS that guarantees real-time applications a certain capability within a specified deadline. RTOSes are designed for critical systems and for devices like microcontrollers that are timing-specific. RTOS processing time requirements are measured in milliseconds.
What is the disadvantage of ARM processor? ›Disadvantages. ARM is not compatible with x86 programs like Windows OS. The speeds are limited in some processors. The simpler instruction set may be inadequate for heavier workloads.
Why do phones use ARM? ›
Arm CPUs are the leading smartphone processor IP on the market today. 95 percent of premium smartphones are powered by Arm. Arm GPUs deliver first-rate performance and efficiency for your smartphone. Corelink Interconnect: CI-700 provides improved energy efficiency and system performance.
Is ARM good in a computer? ›This proves that Arm processors can indeed deliver a very high level of performance, to such an extent that they can compete with Intel x86 processors from AMD and Intel. This shows that Arm processors have a very bright future, and could become even more common in laptops and desktop computers.
What are the advantages of ARM processor? ›ARM processors offer more cores (which translate to better performance), higher energy efficiency (which means fewer issues with heat dissipation), and better TCO.
What does ARM architecture mean? ›ARM (stylised in lowercase as arm, formerly an acronym for Advanced RISC Machines and originally Acorn RISC Machine) is a family of reduced instruction set computer (RISC) instruction set architectures for computer processors, configured for various environments.
Is ARM a coding language? ›Assembly language is a low-level programming language. There is in general, a one-to-one relationship between assembly language instructions (mnemonics) and the actual binary opcode executed by the core.
How do you find my phone is ARM or ARM64? ›Next up, simply open Droid Hardware Info and head to the System tab. From here, there are two fields to note — CPU Architecture and Instruction Sets. Jot this information down and use the table in Step 3 below to find the common name for your CPU type.
Is iPhone an ARM64? ›iOS and iPadOS
arm64 is the current 64-bit ARM CPU architecture, as used since the iPhone 5S and later (6, 6S, SE and 7), the iPad Air, Air 2 and Pro, with the A7 and later chips.
Armv8-A supports three instruction sets: A32, T32 and A64. The A64 instruction set is used when executing in the AArch64 Execution state. It is a fixed- length 32-bit instruction set. The '64' in the name refers to the use of this instruction by the AArch64 Execution state.
What does Armv8 stand for? ›For example, Armv8-A means version 8 of the Arm A-profile architecture and Armv9-A means version 9 of the A-profile architecture. A version like Armv8-A is a major release of the architecture. However, there are also minor versions that are added to a major release.
What is a ARM device? ›ARM processors are a family of central processing units (CPUs) based on a reduced instruction set computer (RISC) architecture. ARM stands for Advanced RISC Machine.
What is an example of an embedded device? ›
Examples of embedded systems include: central heating systems. engine management systems in vehicles. domestic appliances, such as dishwashers, TVs and digital phones.
What is an example of an embedded controller? ›Here are a few mobile embedded control systems examples: Digital cameras. Mobile phones. Smart watch.
What are 3 devices that contain embedded systems? ›Digital cameras. Digital wristwatches. MP3 players. Appliances, such as refrigerators, washing machines, and microwave ovens.
What does ARMv8 stand for? ›For example, Armv8-A means version 8 of the Arm A-profile architecture and Armv9-A means version 9 of the A-profile architecture. A version like Armv8-A is a major release of the architecture. However, there are also minor versions that are added to a major release.
What is the difference between ARMv7 and ARMv8 architecture? ›The ARMv7 architecture is the basis for all current 32-bit ARM Cortex™ processors, including the Cortex-A15 and Cortex-A9 processors. The ARMv8 architecture is the first ARM architecture that includes 64-bit execution, enabling processors based on the architecture to combine 64-bit execution with 32-bit execution.
Is ARMv8 arm64? ›It says that version 1.5. 1 of this binary supports armv8 architecture. That also indicates that armv8 and arm64 are the same thing.
How do I know if I have an ARM processor? ›Click on the System icon. Click About on the left side menu at the very bottom. Under Device specifications on the right side, check the System type. This will indicate either a x86-based processor (32-bit), x64-based processor (64-bit), or an ARM-based processor.
Is ARM Cortex good for gaming? ›Arm works with many of the world's leading games companies and gaming engines to fully optimize performance and the overall gaming experience on Arm-based mobile devices.