Comparative Analysis of CPU and GPU for Microarchitecture, Main Frequency and IPC

The speed of the chip depends mainly on three aspects: micro-architecture, frequency, IPC (number of instructions executed per clock cycle).

1. Micro architecture

From the perspective of micro-architecture, CPU and GPU seem to be designed according to the same design idea. The micro-architecture of contemporary CPU is designed according to the idea of ​​"parallel execution of instructions" and "parallel computing of data", that is, to achieve program execution. Parallelism, versatility, and balance of data operations. The micro-architecture of the CPU focuses on the efficiency of program execution, and does not blindly pursue the extreme speed of some computing and sacrifices the efficiency of program execution.
Comparative Analysis of CPU and GPU for Microarchitecture, Main Frequency and IPC

The CPU microarchitecture is designed for efficient instruction execution, so the CPU is the most complex chip in the computer. Compared with GPU, there are not many repetitive design parts of CPU core. This complexity can't be measured by the number of transistors. This complexity comes from implementation: program branch prediction, speculative execution, multiple nested branch execution, parallel Complex logic of instruction correlation and data correlation at the time of execution, data consistency during multi-core collaborative processing, and so on.

A GPU is actually a collection of graphics functions implemented by hardware. These functions are mainly used to draw the operations required for various graphics. These operations related to pixels, light and shadow processing, 3D coordinate transformation, etc. are implemented by GPU hardware acceleration. The graphics operation is characterized by a large number of intensive operations of the same type of data - such as matrix operations of graphics data, GPU micro-architecture is designed for numerical calculations suitable for matrix types, a large number of repetitive design of computing units, such calculations can be divided into Numerous independent numerical calculations—threads with a large number of numerical operations, and there is no logical correlation between the data and the execution of the program.

The complexity of the GPU microarchitecture is not high, despite the large number of transistors. From an application perspective, the main job of how to use the GPU's parallel computing power is to develop its driver. The pros and cons of GPU drivers greatly influence the actual performance of the GPU.

Therefore, from the perspective of micro-architecture, CPUs are good at program tasks such as operating systems, system software, and general-purpose applications that have complex instruction scheduling, looping, branching, logic judgment, and execution. Its parallel advantage is the program execution level. The complexity of the program logic also limits the parallelism of the instructions executed by the program. The threads of hundreds of parallel programs are basically invisible. GPUs are good at high-parallel numerical calculations of graphics or non-graphics. The GPU can accommodate thousands of numerical computation threads without logical relationships. Its advantage is parallel computing without logical relational data.

2. Main frequency

In addition, the speed at which the GPU performs each numerical calculation is not faster than the CPU. From the current mainstream CPU and GPU frequency, it can be seen that the CPU's main frequency exceeds 1GHz, 2GHz, or even 3GHz, while the GPU's main frequency. The maximum is less than 1GHz, and the mainstream is 500~600MHz. Be aware of 1GHz = 1000MHz. So the GPU can't exceed the CPU when performing numerical calculations on a small number of threads.

At present, the advantage of GPU numerical calculation is mainly floating-point operation. It performs fast floating-point operations by a large amount of parallelism, but the parallelism of such numerical operations is useless in the face of logic execution of programs.

3. IPC

(number of instructions executed per clock cycle)

In this respect, the CPU and GPU cannot be compared because most of the GPU instructions are for numerical calculations, and a small number of control instructions cannot be directly used by the operating system and software. If you compare the IPC of the data instruction, the GPU is obviously higher than the CPU because of parallelism. However, if you compare the IPC of the control instruction, it is naturally much higher CPU. The reason is simple. The CPU focuses on the parallelism of instruction execution.

In addition, some GPUs currently support more complex control instructions, such as conditional branching, branching, looping, and subroutine calls, but the increase in GPU program control is still a far cry from the CPU required to support the operating system. And the efficiency of instruction execution cannot be compared with the CPU.

Finally, summarize:

CPU excels: operating system, system software, applications, general computing, system control, etc.; artificial intelligence in the game, physical simulation, etc.; 3D modeling - ray tracing rendering; virtualization technology - abstract hardware, running at the same time Multiple operating systems or multiple copies of an operating system, and so on.

GPU excels: graphics-like matrix operations, non-graphical parallel numerical calculations, high-end 3D games.

In summary, in a balanced computing computer system, the CPU and GPU still perform their own functions. In addition to graphics operations, the GPU may focus on high-efficiency, low-cost, high-performance parallel numerical computing in the future, helping the CPU to share this. Type calculations that improve the performance of this aspect of the system. The current typical application is still high-end 3D games, an efficient GPU with an efficient CPU, the overall efficiency of 3D games can be guaranteed. "High-end 3D games only need high-end graphics cards" or "high-end 3D games only need CPU" are nonsense.


European Socket Connector

European Socket Connector,Straight Needle European Socket Connector,Waterproof European Socket Connector,Vertical Straight European Socket Connector

Shenzhen Jinyicheng Electronci Technology Co.,Ltd. , https://www.jycconnector.com

Posted on