Introduction to ARM and X86, X86 and X64, Intel and AMD, CPU and GPU

1. ARM and X86

Both X86 and ARM are an architecture of CPU design. X86 uses a complex instruction set. ARM uses a reduced instruction set.
The instruction set is actually machine code, the machine code is assembly, and above the assembly is a programming language such as java, c, and c#.
The complex instruction set is a lot of instructions designed at the hardware level, so programming will be simpler.
The reduced instruction set is designed on the hardware level with fewer instructions, so programming will be more complicated.
In addition to the differences in instruction sets, the design concepts and application scenarios of X86 and ARM are also different.
ARM 's hardware framework is more coupled, there is no "bridge", so the scalability is not good, that is to say, it has to be redesigned to change the hardware platform, but its power consumption is low, so it is especially suitable for use on mobile phones.
X86 system It is huge, complete in design, and has a long history, so it has a lot of third-party software that can be used. One system can be used on various computers, and it has strong portability. Mainframes generally use it. Intel is driven by X86, and he
and Together with windows, it can be said that it dominates the computer market. ARM used to form an alliance with linux to engage in embedded technology, but now because of the sudden emergence of ANDroid, ARM has a new vitality in the mobile terminal.

Two, x86 and x64

The x86 and x64 architectures refer to the two most widely used instruction set architectures (ISAs) created by Intel and AMD. The ISA specifies the behavior of machine code and defines how software controls the CPU. The ISA is the hardware and software interface that defines what the CPU can do and how it can do it.

What is the x86 architecture?

x86 is an ISA for computer processors, originally developed by Intel in 1978. The x86 architecture is based on Intel's 8086 (hence the name) microprocessor and its 8088 variant. At first, it was a 16-bit instruction set for 16-bit processors, and later developed to a 32-bit instruction set.

位数表示CPU每个周期可以处理多少信息。例如,32位CPU每个时钟周期最多可传输32位数据。

The x86 architecture has become popular among numerous microprocessor manufacturers due to its ability to run on virtually any computer, from laptops to home PCs to servers.
The biggest limitation of the x86 architecture is that it can handle up to 4096MB of RAM. Since the total number of supported combinations is 2^32 (4, 294, 967, 295), a 32-bit processor has 4.29 billion memory locations. Each location stores one byte of data, which equates to about 4GB of accessible memory. Today, the term x86 refers to any 32-bit processor capable of running the x86 instruction set.

What is the x64 architecture?

 x64 (short for x86-64) is an instruction set architecture based on x86, extended to enable 64-bit code. First released in 2000, it introduced two modes of operation - 64-bit mode and compatibility mode, allowing users to run 16-bit and 32-bit applications.
Since the entire x86 instruction set is still implemented in the x64 instruction set, older executables run with little to no performance penalty.

x64体系结构支持比x86体系结构更多的虚拟和物理内存,允许应用程序在内存中存储大量数据。此外,x64将通用寄存器的数量扩展到16个,从而提供了进一步的增强和功能。

The x64 architecture can use a total of 2^64 bytes, which equates to 16 billion gigabytes (16EB) of memory. Higher resource utilization makes it suitable for powering supercomputers and machines that need to access a lot of resources. The x64 architecture allows the CPU to process 64 bits of data per clock cycle, much more than x86.

x86 vs. x64

While both architecture types are based on the 32-bit set, some key differences make them suitable for different purposes. The main difference between them is the amount of data that can be processed per clock cycle and the register width of the processor. The main difference between x86 and x64 instruction set architecture. Processors store frequently used data in registers for quick access. 32-bit processors on the x86 architecture have 32-bit registers, and 64-bit processors have 64-bit registers. So x64 allows the CPU to store more data and access it faster. Register width also determines the amount of memory a computer can use.
The following table outlines the main differences between the x86 and x64 architecture sets:

 x86 vs. x64 Applications and Limitations

Because they function differently and differ in resource access, speed, and processing power, each architecture set is used for a different purpose: x86 Many
PCs
in the world are still based on x86 operating systems and CPUs.
for game consoles.
The cloud computing segment still uses the x86 architecture.
Older applications and programs often run on 32-bit architectures.
It is more suitable for simulation.
32-bit is still preferred in audio production because of its compatibility with older audio equipment.
x64
An increasing number of PCs use 64-bit CPUs and operating systems based on the x64 architecture.
All modern mobile processors use the x64 architecture.
It is used to power supercomputers.
for video game consoles.
Virtualization technology is based on the x64 architecture.
It is more suitable for newer game engines because it is faster and performs better.

Is x86 or x64 better?

While both x86 and x64 have advantages, the future will not tolerate restrictions, which means that x86 will eventually be rarely used or completely discarded. In addition, x64 is faster, can allocate more RAM memory, and has parallel processing capabilities through a 64-bit data bus, making it a better choice between the two architecture types.
When choosing the type of operating system to install, it is best to install a 64-bit operating system because it can run both 32-bit and 64-bit software. On the other hand, x86-based operating systems run only 32-bit software.
Overall, x64 is much more powerful than x86, utilizing all of the installed RAM, providing more hard disk space, faster bus speeds, and overall better performance.

Content reference link

3. Intel and AMD

The relationship between amd and Intel is very deep. In the early days, Intel first developed its own x86 architecture , and then amd got the x86 authorization and can also make x86 by itself. Then when intel transitioned to 64-bit, it created an ia64 (x64 architecture), but because it was not compatible with the x86 architecture, the market responded very poorly. AMD took the lead in making x86 64-bit compatible (32 and 64 mixed architecture), which was later. x86-64, and later Intel also got the authorization to produce this product (the two patents of i and a are very intertwined), and also developed x86-64, because amd made it first, so x86-64 is also called amd64

At present, amd and Intel are the two largest cpu manufacturers of x86 and x86-64 in the world (intel is relatively powerful, and there are three out of four). In addition to these two, there are several small companies that also have x86 licenses, such as via, but the technical level is really average.

Quad CPU and GPU

CPU (Central Processing Unit-Central Processing Unit), is a very large-scale integrated circuit, which is the computing core (Core) and control core (Control Unit) of a computer. Its function is mainly to interpret computer instructions and process data in computer software.

GPU (Graphics Processing Unit-graphics processing unit) is a microprocessor that specializes in image computing work on personal computers, workstations, game consoles, and some mobile devices (such as tablets, smartphones, etc.).

The difference between gpu and cpu

1. Cache
The CPU has a large number of cache structures. At present, mainstream CPU chips have four-level caches. These cache structures consume a large number of transistors and require a lot of power when running.
The cache of the GPU is very simple. At present, mainstream GPU chips have at most two layers of cache, and the GPU can use the space and energy consumption of the transistor to make an ALU unit, so the efficiency of the GPU is higher than that of the CPU.

2. Response mode
The CPU requires real-time response and has high requirements for the speed of a single task, so it is necessary to use multiple layers of caching to ensure the speed of a single task.
The GPU arranges all the tasks and then batches them, so the requirements for the cache are relatively low.

3. Floating-point operation method
In addition to being responsible for floating-point plastic operations, the CPU also has loads of many other instruction sets, such as multimedia decoding, hardware decoding, etc., so the CPU is versatile. The CPU focuses on single-threaded performance. To ensure that the instruction flow is not interrupted, more transistors and energy consumption are used in the control part, so the power consumption allocated by the CPU to floating-point calculations will be reduced.
The GPU basically only does floating-point calculations, and the design structure is simple, so it can be done faster. The GPU focuses on throughput, and a single instruction can drive more calculations. Compared with the GPU, the energy consumption in the control part is relatively small, so the resources saved in electricity can be used for floating-point calculations.

4. Applications
CPUs are good at applications such as operating systems, which need to respond quickly to real-time information and need to be optimized for delay. Therefore, the number of transistors and energy consumption need to be used in control parts such as branch prediction, out-of-order execution, and low-latency cache. .
GPUs are suitable for architectural operations with extremely high predictability and a large number of similar operations, as well as high latency and high throughput.

Here is a chip overview:

Guess you like

Origin blog.csdn.net/juanxiaseng0838/article/details/130640999