How do FPGA CPU GPU and DSP compare?

27/02/2023 Seektronics


The difference between CPU, DSP, GPU, FPGA

 CPU

 

Generally speaking, the CPU computing power is the weakest, although the CPU has the highest main frequency, but the single is also 8 cores, 16 cores, a core of 3.5g, 16 cores is 56g, and then consider the instruction cycle, up to 30g times per second multiplication. Still fixed point.

 

DSP

 

Although the main frequency of the DSP is not as good as the CPU, but the multiplier is more, casually with 16 multipliers, or floating point. And then a 4 cores, 8 cores, and specific algorithms hardware acceleration, so although the main frequency is only 1,2g but the computing power is still stronger than the CPU. Of course, now there is a CPU with a dedicated multiplier, DSP also set the ARM core, the boundary between the two began to blur.

 

All DSP calculations use floating point algorithms, and there are no bit or integer instructions yet.

 

GPU

 

GPU is designed for image processing, the main frequency is generally around 500mhz, but there are many cores, such as titan, there are more than 380 stream processing units, 500 * 400 is 200g this amount, far greater than the previous two.

 

FPGA

 

FPGA computing power, take the high-end, more than 3000 fixed multipliers, take the digital logic can also take 3000, the fastest can be close to 300mhz, that is, 1800g of this magnitude.

 

To sum up.

 

①These applications are different, although the CPU computing can not, but good at management and scheduling, such as reading data, managing files, human-computer interaction, etc., many routines, and many auxiliary tools.

 

② DSP is weaker in management and stronger in computing. Both rely on high main frequency to solve the problem of computing volume, suitable for algorithms with a large number of recursive operations and inconvenient splitting.

 

(3) GPU is weaker in management and stronger in operation, but it is more suitable for algorithms that stream the whole data due to multi-process concurrency.

 

④ FPGA can manage and operate, but the development cycle is long and it is difficult to develop complex algorithms. Suitable for stream processing algorithms, whether the whole block of data into or one by one. Also in terms of real-time, FPGA is the highest. In order to avoid wasting computing power on data handling, the first three processors generally require a certain amount of data to be accumulated before they start calculating, generating group delay, while FPGAs have all operations in parallel, so the group delay can be very small

 

CPU and GPU comparison:

 

 

The above diagram shows the comparison of CPU and GPU internal structure. In general both are composed of **Controller (Control), Registers (Cache, DRAM) and Logic Unit (ALU: Arithmetic Logic Unit)**. But the ratio of the three is very different. In contrast to the CPU, where the controller and registers occupy a large part of the structure, in the GPU the logic unit is much larger than the sum of the other two. This different structure determines that the CPU is very good at processing/executing instructions and calling functions, but due to the small proportion of logical units, it is much weaker than the GPU in terms of data processing (arithmetic or logical operations).