ARM architecture is a processor architecture that uses a unique ARM instruction set system and is developed according to different application areas. After more than 30 years of development, ARM architecture has been designed for different types of computing. Simply put, there are several.
Cortex-A: For high performance computing. As we are at presentMobile phoneCortex-A76 and so on are common in SoC.
Cortex-R: For real-time operation processing. Mainly for embedded real-time processors. It is common in the fields of automobile electronic brake system and industrial control.
Cortex-M: Designed for low-power, low-cost systems. At present, Cortex-M architecture processors are often seen in the hot IoT field.
ARM architecture, more importantly, is the ARM instruction set system. Different from the complex instruction set (CISC) architecture of X86 architecture, it is a reduced instruction set (RISC) architecture. Compared with the CISC architecture processor, the ARM architecture with reduced instruction set is designed to be able to execute instruction set with very few cycles at the highest clock frequency. Significantly reduce the unused instructions, reduce the complexity of the chip. Using Load/Store instruction architecture, the processor accesses data in memory through load and store instructions. For logic and arithmetic operations, CPU only processes data in registers. For this reason, many RISC architecture processors, including ARM, have many registers to store instructions and data. In order to facilitate instruction decoding, although the ARM processor is not a single-cycle instruction, most of its instructions are fixed-length, which speeds up common operations.
At the same time, ARM is not entirely limited to this, and ARM architecture also has technologies such as Thumb instruction set, conditional execution, to further improve processor efficiency.
So to sum up, ARM architecture is to adopt a reduced instruction set computer architecture, but it has its own characteristics, according to different uses, there are different types of processor architecture.
So why has Qualcomm and Samsung built ARM?
There are several reasons for reference.
The first is authorization. As we all know, only a few x86 architectures can be produced due to authorization issues, including Intel and AMD, which used to be prestigious. And Amida only produced CPUs based on pure software analog x86 processors. There are also some authorization restrictions on the domestic MJ and Haiguang.
In addition to x86, another well-known instruction set system MIPS can be authorized to produce, although the authorization cost is relatively expensive, but its flexibility is very high, so there is a more serious "fragmentation". Ability to design is self-designed micro-architecture, add instructions and so on. Such as domestic dragon core, Sony's PSP game console, etc.
There are many ways to authorize ARM. The first is processor authorization, which only authorizes the designed kernel, and the factory has little room for itself to play when it is purchased. For example, some Kirin processors in Haisi adopt this method. Another is architecture/instruction set authorization, which has more flexibility in micro-structure design, such as Apple's Vortex, Samsung's M3, M4, Qualcomm's Krait, etc. At the same time, even if vendors customize their own micro-architecture, there are limitations on the instruction set, so that even if vendors modify software-level tools such as compilers, there is no need for major changes. So there's a lot of competition among Android handset processors. It not only guarantees compatibility, but also gives full play to the manufacturer. So Qualcomm, Samsung and other manufacturers choose ARM processor is also the best choice.
Although MIPS and IBM PowerArchitecture are now open source, and RISC-V has been open source since its inception and has begun to take shape in an open source instruction set and architecture, the unique authorization strategy has enabled ARM to have a number of loyal followers.
The second is the scope of application. Although ARM architecture emphasizes low power consumption and high performance, its application scope is relatively narrow in recent years, and it has been active in low power areas such as embedded devices and handheld devices. Partners also produce more low-power processors. Even Intel has produced an XScale processor based on ARM instruction set, and Dell has produced a PDA based on this processor (as if it were an old concept). ARM11 processors have also been used in Nokia's Symbian smartphones, the hottest mobile phone brand in the first decade of this century. Now Qualcomm and Samsung are important mobile SoC design manufacturers, so they can not only quickly enter the low-power processor market by choosing ARM architecture, but also quickly design powerful processors by virtue of the rich experience of ARM.
Finally, we take advantage of the mobile internet, which provides enough performance for smartphones when they need computing performance most, and provides enough experience for processor design manufacturers. ARM Corporation developed the ARM11 architecture and processor as early as 2002 (17 years since 2019). In 2010, eight years later, there are still mobile phones using ARM11 architecture processor, such as Motorola ME600 back flip using Qualcomm MSM7201A SoC, whose CPU part is the ARM11 architecture. Cortex-A8 was developed as early as 2005. So when Android phones began to rise, ARM and its partners already had enough experience, and the performance met the needs of Android phones at that time. Now Qualcomm's Miaolong processor and Samsung's Exynos processor are important components in the Android mobile phone industry. The SoC CPU part produced by Qualcomm is the core or instruction set designed by ARM.
Qualcomm, Samsung and other companies have shared a common destiny because of their close cooperation with ARM, which makes us have such a powerful smartphone now. At the same time, while Qualcomm and Samsung rely on the processor architecture and instruction set provided by ARM, ARM also needs the support of companies such as Samsung and TSMC. It will still be the actual silicon chip for code processor core programming. So this is not a question of who depends on whom, but the result of the cooperation of all parties.