Skip to main content

CUP architecture: X86 architecture and Arm architecture

CUP architecture: X86 architecture and Arm architecture

X86 architecture and ARM architecture are the two mainstream CPU architectures. The X86 architecture CPU is the leader in the PC server industry, and the ARM architecture CPU is the leader in the mobile terminal.

X86 architecture and arm architecture are actually the difference between CISC and RISC. Many users do not understand the differences between the two. In fact, their fields are not the same, and their pursuits are also different.

2. The difference between X86 architecture and Arm architecture

1. Pursue difference:

X86 mainly pursues performance, but it will lead to high power consumption and no energy saving.

ARM, on the other hand, pursues energy saving and low power consumption, but its performance is poor compared to X86.

2. Different fields:

ARM is mainly used in mobile terminals, such as mobile phones, tablets, etc.

X86 is mainly used in PCs and X86 servers such as Intel and AMD.

3. Essentially different:

X86 uses CISC complex instruction set computer,

ARM uses a RISC reduced instruction set computer.

4. The difference between CISC and RISC

CISC is a complex instruction set CPU with many instructions, which makes the CPU circuit design complex and consumes high power, but the corresponding compiler design is simple.

RISC's reduced instruction set CPU has fewer instructions and consumes less power, but the compiler design is very complex. The key is that the pipeline operation can complete multiple instructions in one clock cycle.

The difference between ARM architecture and X86 architecture

1. Performance
Computers with X86 structure are definitely faster and more powerful than systems with ARM structure. Because x86 prefers high performance and high speed, while ARM prefers high efficiency and low power consumption. X86 CPUs can easily reach 1G or above, and dual-core and quad-core are popular; as for ARM: CPUs are usually several hundred megabytes, and only recently have CPUs around 1G appeared. The process usually uses less than 65nm process technology. It can be said that in terms of performance and production In terms of technology, ARM is no match for the X86 structural system.
But ARM’s advantage lies not in performance but in efficiency. We know that the current instruction system is divided into complex instruction set (CISC) and reduced instruction set (RISC). ARM uses RISC reduced instruction set, which is at a disadvantage in completing comprehensive work, but Its advantages can be fully demonstrated in some applications where the tasks are relatively fixed.

2. Operating system compatibility
The X86 architecture is dominated by Microsoft and Intel, which have monopolized PC operating systems for nearly 30 years, deeply solidifying the usage habits of many users. The X86 architecture has formed a unified standard in terms of hardware and software development, so The X86 architecture has unparalleled advantages in terms of compatibility.
The ARM architecture almost uses the Linux operating system, and almost all hardware systems have to build their own systems separately, which are incompatible with other systems. Therefore, its application software apps cannot be easily transplanted, which seriously restricts the development and application of the ARM system. . After Google opened the Android system, it unified the operating system of ARM-structured computers, allowing newly launched computer systems based on ARM structure to have a unified, open, and free operating system, providing strong support and motivation for the development of ARM.

3. Energy consumption
X86 computers consider performance and speed. Due to the development direction and model of x86 computers, their power consumption has always been high. A computer can only consume a few hundred watts. Even laptops or netbooks that are said to be low-power and energy-saving have more than ten or twenty watts of power. consumption, which is incomparable with computers with ARM structure.

4. 64-bit computing
For 64-bit computing, ARM and Intel also have some significant differences. Intel has not developed a 64-bit version of the x86 instruction set. The 64-bit instruction set is called x86-64 (sometimes referred to as x64) and was actually designed and developed by AMD. Intel wanted to do 64-bit computing. It knew that if it evolved a 64-bit architecture from its 32-bit x86 architecture, the efficiency of the new architecture would be very low, so it launched a new 64-bit processor project called IA64. This resulted in the Itanium series of processors.
At the same time, AMD knew that it could not build a processor compatible with IA64, so it expanded x86 and added 64-bit addressing and 64-bit registers. The final architecture was AMD64, which became the standard for 64-bit versions of x86 processors. The IA64 project was not considered a success and has now been basically abandoned. Intel eventually adopted AMD64. Intel's current mobile solution is a 64-bit processor that uses the 64-bit instruction set developed by AMD (with some differences).
After seeing the demand for 64-bit computing in mobile devices, ARM released the ARMv8 64-bit architecture in 2011. This is the culmination of several years of work on the next-generation ARM instruction set architecture. In order to develop a concise 64-bit architecture based on the original principles and instruction set, ARMv8 uses two execution modes, AArch32 and AArch64. As the name suggests, one runs 32-bit code and the other runs 64-bit code (click for details). The ingenuity of ARM's design is that the processor can seamlessly switch between the two modes during operation. This means that the decoder for 64-bit instructions is newly designed, without having to take into account 32-bit instructions, and the processor is still backward compatible.

X86 VS ARM

The X86 architecture (The x86 generally refers to a series of CPU instruction set architectures based on Intel 8086 and backward compatible.

In the early days, Intel named its processors in a numerical format such as 80x86, including Intel 8086, 80186, 80286, 80386 and 80486. Since it ended with "86", its architecture was called "x86". Since numbers cannot be used as registered trademarks, Intel and its competitors use registrable names for new generation processors, such as Pentium, Core, and Ryzen (launched by AMD).

The 32-bit architecture of x86 is generally called IA-32, and its full name is "Intel Architecture, 32-bit". Its 64-bit architecture was pioneered by AMD and is called "AMD64". It was later adopted by Intel and was called "Intel 64". It is also generally called "x86-64" or "x64".

It is worth noting that Intel has also launched the IA-64 architecture. Although the name is similar to "IA-32", the two are completely incompatible and do not belong to the x86 instruction set architecture family. The broad x86 architecture generally refers to Intel and AMD CPUs that support x86 and x64 architectures, but does not include ia64 (Itanium)

CUP architecture: X86 architecture and Arm architecture

The ARM architecture, once called Advanced RISC Machine and earlier called Acorn RISC Machine, is a 32-bit reduced instruction set (RISC) processor architecture. There are also derivative products based on ARM design. Important products include Marvell's XScale architecture and Texas Instruments' OMAP series.

The ARM family accounts for 75% of all 32-bit embedded processors, making it the most common 32-bit architecture in the world.

ARM processors are widely used in embedded system design, with low power consumption and energy saving, and are very suitable for mobile communications. Consumer electronics, such as portable devices (PDAs, mobile phones, multimedia players, handheld electronic games, and computers), computer peripherals (hard drives, desktop routers), and even military equipment such as missile computers .

With the growing demand for data centers, the competition for core chips has become increasingly fierce. ARM has entered the server market. The area of ​​ARM single core is only 1/7 of the X86 core. The same chip size can inherit more cores. Through the "pile core" approach, ARM architecture processors can maintain low power consumption even with rapid performance improvements.

According to data given by Ampere, its CPU performance is three times higher than that of traditional x86 processors, and its performance-to-power ratio is nearly four times ahead. Compared with x86 server CPUs, the Ampere Altra series consumes 50% less energy and provides 200% better performance.

3. Six major domestic CPU manufacturers

CUP architecture: X86 architecture and Arm architecture

CUP architecture: X86 architecture and Arm architecture

Six major domestic CPU manufacturers.

Haiguang and Zhaoxin use x86 architecture. Based on this architecture, which has better performance than other architectures, software and hardware application ecology and more sustainable iterative development, it has taken the lead in the competition in the domestic commercial market.

Kunpeng and Feiteng adopt the ARM architecture and have developed diversified products based on this, occupying a certain share in the domestic commercial market. Due to restrictions on licensing terms, product iterations and market prospects are greatly uncertain.

Sunway and Loongson adopted Alpha architecture and MIPS architecture in the early stage. Later, they formed SW-64 and LoongArck architecture based on Alpha architecture and MIPS architecture. A new architecture was developed based on the imported architecture. With the support of the state, the upper-layer application ecosystem was gradually built, and software such as QQ and WPS were gradually able to run.
At present, the ecological issues of self-developed architecture are not yet stable, and feedback from users needs to be improved.
In addition, in terms of controllability, Sunway, Loongson > Feiteng, Kunpeng > Haiguang, Zhaoxin; Sunway and Loongson are at the top of the list, and the rest require authorization and have greater limitations.

How to tell whether the processor is x86 or arm?

1. uname -r: Displays the operating system release number
. 2. uname -a: Displays the system name, node name, operating system release number, kernel version, etc.

CUP architecture: X86 architecture and Arm architecture

System name: Linux

Node name: qyw

Operating system release number:
3.10.0-957.21.3.el7.x86_64

Naming rules :

Major version number: 3

Minor version number: 10 [Odd numbers are development versions, even numbers are stable versions]

Revision number: 0 [Number of modifications]

The Nth modification of this version: 957

el7: redhat enterprise linux 7

x86_64: Compiled framework (64-bit)

Kernel version: #1 SMP Tue Jun 18 16:35:19 UTC 2019

Hardware platform: x86_64

Machine hardware name: x86_64

System processor architecture: x86_64

Operating system: GNU/Linux

hostnamectl

     [root@localhost ~] hostnamectl # status 



Static hostname: cdh1

Icon name: computer-server

Chassis: server

Machine ID: e9b05280560a4af4a6af98b31c11abda

Boot ID: 0130f463c0fa4d429d117169a2e895e3

Operating System: CentOS Linux 7 (Core)

CPE OS Name: cpe:/o:centos:centos:7

Kernel: Linux 3.10.0-1127.el7.x86_64

Architecture: x86-64