- ホーム
- Blogs
- Semiconductor
- Characteristics of CPU, GPU, and FPGA
Characteristics of CPU, GPU, and FPGA
CPU vs GPU
The CPU can be compared to an all-knowing professor, while the GPU is comparable to a group of elementary school students who can only perform basic arithmetic operations. Regardless of the professor's intelligence, he cannot perform 500 additions and subtractions in one second. For basic and repetitive calculations, a single professor cannot compete with a large number of students. When it comes to simple arithmetic operations, 500 elementary school pupils can easily outperform the professor.

It can be seen that the architecture is the primary distinction between CPU and GPU. The CPU is suitable for a wide variety of application scenarios (knowledgeable) and can run arbitrary programs, whereas the GPU is designed for multitasking and has powerful concurrent capabilities.
Specifically, it has multiple cores. A typical CPU has two, four, or eight processors, while a GPU may have hundreds or thousands.

Similar to CPU, GPU structure includes a control unit (control unit), arithmetic logic unit (ALU), cache, and dynamic random access memory (DRAM), amongst other components. The design of the GPU's control unit, ALU, and cache is simpler and more numerous, allowing it to efficiently handle a large number of basic tasks (such as rendering images).
The internal cache and control portion of the CPU occupy a substantial portion of the on-chip area, whereas the calculation unit occupies a small portion. The GPU has a very simple control unit, and the majority of its space is occupied by the computational unit, so the CPU has a limited number of cores, whereas the GPU can easily amass thousands of cores. The ability of each CPU core is comparable to that of a college professor, whereas the ability of each GPU core is comparable to that of an elementary school student.
Why do GPUs require numerous cores?
Consider how a computer-generated image is represented. It consists solely of pixels on the screen:

Each pixel must be calculated, and the operation is identical to the calculation and addition performed by the elementary school pupils in the preceding illustration.There are typically millions of pixels on a screen.
If we want to execute calculations serially for each pixel, the efficiency is inadequate. Consequently, each GPU core can be used to calculate the corresponding pixel values. Since a GPU has multiple cores, parallel computing can significantly increase performance. In addition to its relatively large number of cores, the GPU's operation is also peculiar.
How the GPU functions
Different CPU cores can implement distinct machine instructions. CoreA is able to execute the word thread, while coreB can execute the browser thread. This is Multiple Instruction Multiple Data, or MIMD (Multiple Instruction, Multiple Data).
The GPU is unique. These GPU modules must execute identical machine instructions, but can process distinct data. This is comparable to the requirement that these elementary school students conduct addition calculations at a certain time. Need to calculate 1+1, others need to calculate 2+6, etc., the only difference is the operand; this is referred to as single instruction multiple data, or SIMD (Single Instruction, Multiple Data).
Therefore, it is evident that the GPU and CPU operate very differently.
In addition to this method of operation, the GPU's instruction set is quite simple, unlike that of a complex processor such as a CPU. According to the CPU programming manual, the CPU is responsible for a variety of tasks, including interrupt handling, memory management, IO, etc. There are none for the GPU. It can be seen that the GPU's placement is extremely straightforward, that is, unadulterated computing. The GPU is never used in lieu of the CPU. The CPU simply assigns the GPU certain tasks that it excels at. A supporting function that assists the CPU.
What do GPUs excel at?
Simple calculations and repeated calculations are more suited for GPUs, so if your computing scenarios are similar to the image rendering presented here, it is reasonable to use GPUs. Therefore, it is appropriate for GPU-based graphics and image processing, weather forecasting, and neural networks.
When the CPU is given too much trivial work, even though it can manage it, it wastes too much time; overkill, like sending a Michelin-star chef to a night market to fry chicken chops, delaying the business of a high-end restaurant. In contrast, the control unit and ALU of the GPU are simple in design, have a small cache space, a large number of cores, and a relatively high throughput, making them well-suited for performing basic calculations quickly. In addition to rendering images, the GPU must process large amounts of data. In addition, the field of computing has emerged. For instance, in large data analysis, machine learning, and the development of AI artificial intelligence, GPU has become an essential contributor to the progress of computer science.
What exactly is FPGA?
FPGA (Field Programmable Gate Array) can describe a circuit design using hardware description language (Verilog or VHDL), synthesize and layout using supporting EDA tools, and encode into FPGA to realize the design requirements.
Current FPGAs and eFPGAs all contain a significant number of programmable logic and wiring cells. Wiring connects these logic cells to form larger digital circuits. Logic cells implement small portions of digital logic.

Utilize the look-up table (Look-Up-Table, or LUT) in accordance with the combinational logic and sequential logic of the gate circuit to achieve rapid data calculation.
Programmable logic unit
Combinational logic and sequential logic can be used to divide digital circuits. The portion of the FPGA that implements combinational logic is the look-up table (LUT), while registers are used to implement timing logic. Multiple LUTs and registers are interconnected to create a logical cluster. The structure of logic clusters defined by various FPGA manufacturers varies. The logic cluster structure is advantageous in two ways. First, the interconnection speed in the logic cluster is quick, thereby enhancing the FPGA's speed. Second, the utilization of the logic cluster can reduce the complexity of layout and wiring, as well as reduce the time required for synthesis.

Programmable wiring unit
Unlike custom-made circuits, FPGA routing resources are prefabricated; therefore, prefabricated routing resources can connect the majority of logic units (clusters). For user-designed projects, a series of switches are manipulated to facilitate the interconnection of particular units. This also causes wiring resources to occupy the majority of the FPGA's area, and if there are an excessive number of control switches in a complex wiring network, the FPGA's operating frequency will be drastically decreased. If routing resources are reduced, the EDA software algorithm will become more challenging, and the circuit layout and routing will fail.Also considered are the complexity of EDA software algorithms, execution time, and memory consumption. This constitutes the foundation of each FPGA manufacturer.
The difficulty of the CPU is its hardware structure, while the manufacturer's primary difficulty is not the software instruction set. The hardware structure principle of FPGA is not the primary technical barrier, but the EDA software's fundamental algorithm is the result of each company's long-term accumulation.

CPU vs GPU vs FPGA
Articles you may also like
Silicon controlled rectifier (SCR) and switch control circuit explained
Accurately measure resistor value using ADC
The difference between RAM ROM FLASH
What is a GPU? What is the relationship between GPU and graphics card?
-
stmicroelectronics
Gate Drivers Automotive IC for a specific application of electric parking braking

