Introduction to CPU architecture (what are the current architectures and their characteristics)

The following content comes from the study and arrangement of network resources. If there is any infringement, please inform and delete it.

Note that this article was published a long time ago, and the data and descriptions in it may not match the current one, and it is only for common sense.

There are many architectures in the development of CPU, such as x86 architecture, ARM architecture, MIPS architecture, PowerPC architecture and so on. They can be divided into two categories, namely Complex Instruction Set Computer (CISC, Complex Instruction Set Computer) and Reduced Instruction Set Computer (RISC, Reduced Instruction Set Computer).

CISC typically has Intel's x86 architecture, while RISC commonly has IBM's PowerPC architecture, MIPS' MIPS architecture, and Acorn's ARM architecture.

The instruction set is an abstraction of the CPU architecture hardware. CPUs with different architectures will use different instruction sets, such as x86 instruction set, MIPS instruction set, PowerPC instruction set, ARM instruction set, etc. A CPU of the same architecture may have several sets of instruction sets. For example, the ARM architecture has a 32-bit ARM instruction set and a 16-bit thumb instruction set. 

1. x86 architecture

x86 or 80x86 is a general term for a microprocessor architecture developed by Intel. Earlier processors in this series were numbered and ended in "86", including the Intel 8086, 80186, 80286, 80386, and 80486, hence the architecture name "x86".

In 1978, Intel launched the Intel 8086 central processing unit based on the x86 architecture (the processor was developed from the Intel 8008 processor, and the 8008 was developed from the Intel 4004). In 1981, 8086 was selected by IBM PC. Since then, x86 has become the standard platform for personal computers and the most successful CPU architecture in history.

Before Intel launched the 32-bit 80386 CPU in 1985, the x86 architecture maintained 16 bits. After launching the 32-bit 80386, Intel launched a series of 32-bit CPUs based on the x86 architecture. Until 2003, AMD developed a 64-bit extension to the x86 architecture and named it AMD64. Later, Intel Corporation also introduced a compatible processor and named it Intel 64. The two are generally collectively referred to as x86-64 or x64, creating the 64-bit era of x86.

In fact, as early as the 1990s, Intel and HP proposed an independent 64-bit architecture used in Itanium series processors. This architecture is called IA-64. IA-64 is a brand new architecture that has no similarity to the x86 architecture.

Today's PCs are basically x86 architecture computers. If you want to try computers with other architectures, you must first consider whether to give up the Windows system. However, starting from Windows 8, Microsoft began to support the ARM architecture, that is to say, ARM-based computers can also run Windows 8 or later versions of the system. 

2. ARM architecture

ARM is the abbreviation of Advanced RISC Machine, and it was the abbreviation of Acorn RISC Machine in the early days.

The ARM architecture is a 32-bit RISC CPU architecture widely used in many embedded system designs.

The ARM architecture incorporates the following RISC features:

  • Read/store schema.
  • Orthogonal instruction set (access instructions can access data in any addressing mode)
  • Large array of 16 × 32-bit registers.
  • The fixed 32 bits opcode length reduces the cost of encoding and reduces the burden of decoding and pipeline.
  • Most of them are executed in one CPU cycle.

In order to reinforce this simple design method, compared with the processors of the same period such as Intel 80286 and Motorola 68020, some special designs are added:

  • Most instructions can be executed conditionally, which reduces the burden of branching and makes up for the lack of branch predictors.
  • Arithmetic instructions only change the conditional encoding when requested.
  • The 32-bit barrel shifter can be used to perform most arithmetic instructions and addressing calculations without loss of performance.
  • Powerful indexed addressing modes.
  • Compact but fast dual-priority interrupt subsystem with switchable scratchpad banks.

At present, the ARM family has a 75% market share of 32-bit embedded processors. From portable devices (such as mobile phones, multimedia players, computers, etc.), to computer peripherals (such as hard disks, routers, etc.), and even in military facilities such as missile onboard computers, there are ARM processors. .

3. MIPS architecture

MIPS is the abbreviation of Microprocessor without Interlocked Pipeline Stages, which means "microprocessor without internal interlocked pipeline stage" in Chinese.

The MIPS architecture is a processor architecture that adopts a reduced instruction set. It appeared in 1981 and was developed and authorized by MIPS Technology Corporation. It is widely used in many electronic products, network equipment, personal entertainment devices and commercial devices. The mechanism is to use software methods to avoid data-related problems in the pipeline as much as possible. It was first developed in the early 1980s by a research group led by Professor Hennessy of Stanford University. The R series of MIPS is the microprocessor of RISC industrial products developed on this basis. These series of products are used by many computer companies to form various workstations and computer systems.

MIPS is one of the earliest commercial RISC architecture chips. The system structure and design concept of MIPS are relatively advanced, emphasizing the synergy of software and hardware to improve performance, and simplifying hardware design at the same time.

In 2002, the Institute of Computing Technology of the Chinese Academy of Sciences began to develop the Godson processor, using the MIPS architecture, but was accused of infringement without the authorization of MIPS. In 2007, the Chinese Academy of Sciences reached a settlement with MIPS and was officially authorized. China's Loongson 2 and its predecessors both use a 64-bit MIPS instruction architecture. In the past, MIPS-based products were mostly found in the field of workstations. The "Emotion Engine" used in Sony's PS2 game console also uses MIPS instructions. The performance of these MIPS processors is very strong, and Godson 2 also belongs to this camp. Fully compatible.

4. Comparison of ARM architecture with MIPS and X86 architecture

1. Comparison between ARM architecture and MIPS architecture

Compared with the current most commercially successful ARM architecture, MIPS has the following advantages:

  • MIPS supports 64bit instructions and operations, and ARM currently only supports 32bit.
  • MIPS has a dedicated divider that can perform division instructions.
  • MIPS has twice as many core registers as ARM, so the power consumption of MIPS will be lower than that of ARM under the same performance, and the performance of MIPS will be higher than that of ARM under the same power consumption.
  • MIPS has slightly more instructions than ARM and is slightly more flexible.
  • There is a view that the bank register performance of MIPS is also better than that of ARM, but I have not seen any tests that can reflect it.
  • There is also a big difference between the two commercially. ARM is very expensive, and the kernel cannot be changed at will, while MIPS is much more open. This is why Godson does not use the ARM architecture.

Compared with the ARM architecture, the MIPS architecture also has the following disadvantages:

  • There is a problem with the start of the memory address of MIPS, which has caused MIPS to have limitations in memory and cache support. The current MIPS processor has problems when facing high-capacity memory with a single core.
  • The future development direction of MIPS is parallel threads, similar to Intel's hyper-threading, while the future development direction of ARM is physical multi-core, and it seems that physical multi-core is dominant at present. From this point of view, the development of my country's Godson to multi-core is quite far-sighted.
  • Although MIPS has a simpler structure, it is still a single launch in sequence, and ARM has evolved to double launch or even triple launch out of order.

2. Comparison between ARM architecture and X86 architecture

performance comparison

In any case, a computer with an X86 structure is much faster and stronger than a system with an ARM structure. The main frequency of the X86 CPU is above 1GHZ casually, dual-core and quad-core are popular, and now usually use 22nm process technology for production; and ARM, its CPU is usually hundreds of megabytes, and only recently has a CPU of about 1G, and the process usually uses With 32nm or 45nm process technology, it can be said that ARM is not an opponent of the X86 structure system in terms of performance and production technology.

However, the advantage of ARM lies not in its powerful performance but in its efficiency. ARM adopts the RISC pipeline instruction set, which is at a disadvantage in completing comprehensive work, but its advantages can be brought into full play in some applications with relatively fixed tasks.

Scalability comparison

Computers with an X86 structure use a "bridge" to connect with expansion devices (such as hard disks, memory, etc.), and computers with an x86 structure have appeared for nearly 30 years. The computer can easily perform performance expansion, such as adding memory, hard disk, etc.

The computer with ARM structure connects the CPU and the data storage device through a dedicated data interface, so it is difficult to expand the performance of ARM's storage and memory (generally, the capacity of its memory and data storage has been determined during product design), so ARM is used. Structural systems generally do not consider expansion, and basically follow the principle of "enough is enough".

Operating System Compatibility

The X86 system is dominated by the Wintel alliance built by Microsoft and Intel, monopolizing the personal computer operating system for nearly 30 years, forming a huge user base, and deeply solidifying the usage habits of many users. Forming a unified standard, almost all x86 hardware platforms can directly use Microsoft's Windows system and almost all popular tools and software, so the x86 system has unparalleled advantages in terms of compatibility.

Almost all ARM systems use the Linux operating system, and almost all hardware systems have to build their own systems independently, which is not compatible with other systems, which also makes its application software not easy to transplant, which has seriously restricted the ARM system. development and application.

After developing the open Android system, GOOGLE unified the operating system of ARM-structured computers, so that the newly launched computer system based on ARM-structured has a unified, open, and free operating system, which provides a strong foundation for the development of ARM. support and motivation.

Ease of software development and diversity of available tools

For software support, software development tool support and compatibility, etc., X86 has reached a very mature and even perfect state. So using the X86 computer system, there are not only a large number of third-party software to choose from, but also a large number of software programming tools to help you complete the work you want.

Due to the constraints of hardware performance, simplification of the operating system, and system compatibility, the Arm-structured computer system cannot have as many programming tools and third-party software as the X86 computer system. In use, ARM's programming languages ​​mostly use C and JAVA or C++.

Therefore, developing software based on the x86 computer system platform is easier, simpler, and lower in actual cost than the arm structure system. At the same time, it is easier to find third-party software (without the time and cost of self-development), and software transplantation is easier.

Power Consumption Comparison

Considering that X86 computers need to adapt to the needs of various applications, its development idea is: performance + speed. For more than 20 years, the speed of x86 computers has developed from the original 8088's few M to now just a few G, and it is still a few cores. part. However, the development direction and mode of x86 computers have kept its power consumption at a high level. A computer can easily consume several hundred watts. consumption, which cannot be compared with ARM-structured computers.

The design and development idea of ​​ARM is: it is enough to meet the application of a certain special aspect, and it is the strongest in a certain special field (even if it is useless in other aspects), so that Arm is not the strongest technology, nor is it very powerful. The manufacturing process of advanced manufacturing process produces a computer system with not very strong performance, but it is the best in a certain professional application, especially in many terminal applications, especially in mobile terminal applications, which has an absolute dominant position. The reason: power consumption.

High power consumption has led to a series of problems that cannot be solved by the X86 system: weak endurance of the system, inability to reduce the size, poor stability, and high requirements for the use environment. From here we can see that the x86 system and the ARM system are applied in two completely different fields, and there is no replacement between them at all. In terms of servers, workstations and other high-performance computing applications, power consumption can be ignored The X86 system has an absolute advantage when it comes to conditions such as environment and use. However, under the constraints of power consumption, environment and other conditions and the work tasks are fixed, ARM has a great advantage. In the field of handheld mobile terminals, the power consumption of X86 makes it useless.

Summarize

From the above comparative analysis, we have a very clear feeling that ARM and X86 computers cannot be compared at all, and ARM is not an opponent of X86 computers at all. If you only consider the above-mentioned aspects, ARM really can't compete with X86 computers, and it doesn't even have the qualifications for comparison. However, in the past 1 or 2 years, ARM products have developed rapidly in terminal applications, especially handheld terminal applications (such as smart phones, tablet computers, etc.), and their sales volume has far exceeded the sales volume of x86-structured computers. The incomparable advantages of X86 structure computers.

X86 system and ARM system should be two applications in completely different fields. If the application has a single function and is restricted by the environment, such as: POS, ATM, multimedia advertising machine (now there are ARM+DSP products), vehicle-mounted computer terminals and other applications Therefore, the ARM solution should be considered first. Compared with the X86, the ARM solution has great advantages in power consumption and cost.

Now ARM is very powerful, but it is still very far away from X86. After all, their design starting points are different. X86 cannot achieve the power consumption of ARM, and ARM cannot achieve the performance of X86. However, this does not mean that ARM can only occupy the low-end in the future. After all, any architecture has its advantages. Once an application is optimized for it, it can use its strengths and avoid its weaknesses. The prosperity of X86 is precisely because the resources of the whole world are optimized for it. As long as suitable applications and suitable fields can be found for ARM, ARM may not be unable to enter a higher level in the future.

Guess you like

Origin blog.csdn.net/oqqHuTu12345678/article/details/125700637