Processors can be classified based on various aspects such as functionality and architecture.
Here we will explain how processors are generally classified and the characteristics of each type of processor.
General-purpose processor (CPU)
General-purpose processors, as the name suggests, are general-purpose processors that can be used for a wide range of purposes.
It has high flexibility and adaptability, being able to handle not only calculation processing but also control processing, and is used as the main processor that serves as the core of the device.
Representative products include Intel®, which is used in desktop computers and servers. These include Core™ and Xeon® processors, which are primarily found in desktop PCs and servers.
General-purpose processors are not optimized for specific tasks, so embedded systems (dedicated devices or systems) often use GPUs or embedded processors as accelerators.
Furthermore, since processors for smartphones and tablets do not have the space to place accelerators around them, they use SoCs (System-on-a-Chip), which incorporate peripheral functions such as a GPU into a single chip in addition to the main processor.
GPU (Graphics Processing Unit)
A GPU is a processor designed to perform graphics operations at high speed.
Its throughput-oriented architecture processes large amounts of data in parallel, enabling faster calculations than general-purpose processors.
A representative example is the NVIDIA® RTX™ series.
On the other hand, it is not suitable for complex control processing with many conditional branches such as if statements and case statements, or for processing data in a specific order, so it is used as an auxiliary accelerator to help the main processor with its processing.
The drawback of GPUs is that because they execute many threads in parallel, variations in the execution time of each thread make it difficult to predict the overall processing time, making them unsuitable for processing that requires real-time * performance.
In addition, since a huge number of computing units operate simultaneously, power consumption and heat generation are large, so it is more commonly used in cloud environments than on the edge (terminal devices).
* Real-time: Even if multiple tasks are processed simultaneously, they are always completed within the specified time.
Embedded Processors
An embedded processor is a processor that is built into an electronic device or system designed for a specific purpose.
These devices need to process certain instructions "fast" and "real-time."
To achieve this with a general-purpose processor, the heaviest instructions must be processed within a set time, requiring a high-performance and expensive processor.
On the other hand, embedded processors enable low-cost and efficient processing by handling only high-load processing in hardware.
Typical products include FPGAs (Field Programmable Gate Arrays) and microcontroller units (MCUs).
In terms of processor classification, a standalone GPU is not included in the category of "embedded processor," but a GPU built into an SoC or embedded chip is included.
FPGA(Field Programmable Gate Array)
FPGAs come in two types: off-the-shelf "hard processors" such as ARM, and "soft processors" that users create using the FPGA's basic logic blocks.
Representative products include Altera FPGAs and SoC FPGAs.
<Hardware processor>
This is the main processor, optimized from the transistors up, created by the FPGA vendor (manufacturer), and can be used in place of a general-purpose processor.
For example, Altera The SoC FPGA not only contains the basic logic blocks of an FPGA, but also multiple hardware ARM processors.
<Soft processor>
This is a processor that users can build themselves using the basic logic blocks of an FPGA, allowing them to incorporate their own "custom instructions" into the processor.
FPGAs are ideal for products that require real-time processing, products that need to be differentiated by functionality and performance, and products with long product lifecycles.
However, designing hardware such as FPGAs requires more development time than designing software.
For a detailed explanation of "hard processors" and "soft processors", please see below.
ASIC(Application Specific Integrated Circuit)
ASICs are semiconductors that are manufactured at low cost to produce chips with original functions by creating a "mask" similar to a film negative and using it to mass-produce semiconductors with the same circuit configuration.
Like FPGAs, you can embed your own processor with "custom instructions."
Due to their low unit cost, they were once used in many products in Japan, but because the most advanced processes require mask manufacturing costs of over 10 billion yen, the adoption of ASICs using the latest processes is currently declining.
During ASIC development, thorough verification is essential to avoid mask costs due to redesign.
DSP(Digital Signal Processor)
A DSP is a processor specialized for real-time digital signal processing.
Because multipliers require large circuit scale, many microcontrollers do not have built-in multipliers and perform multiplication by repeated additions, but DSPs have built-in multipliers, allowing for high-speed calculations.
Therefore, DSPs are used in applications that require real-time processing and low latency, such as audio signal processing, image processing, communications, and control systems, which require many multiply-and-accumulate operations.
For example, they are used to process signals (sound, radio waves, video, sensor data) in real time near sensors, to process signals collectively in communication devices, and in automobile ECUs.
However, DSPs generally use serial processing, which means they are slower than parallel processing such as FPGAs and ASICs, and their processing power and ease of development are somewhere between that of microcontrollers and FPGAs.
Microcontroller (MCU)
There are “general-purpose microcontrollers” and “microcontrollers for specific applications.” Microcontrollers are easy to develop because they are processed by software.
・General-purpose microcomputer
General-purpose microcontrollers incorporate a small processor with minimal interfaces and peripherals.
Generally, they use older semiconductor processes, which means they have low performance and are difficult to use for real-time processing, but they are inexpensive and consume low power, making them ideal for a wide range of products that do not require high performance.
General-purpose microcontrollers are inexpensive, but their processing speeds are slow, making real-time processing difficult, and their packages are small and they have a limited number of external pins. To cover these drawbacks, small FPGAs are sometimes installed around the general-purpose microcontroller to achieve real-time processing at low cost, or the FPGA can be used to cover the limited pin count of the microcontroller.
・Application-specific microcomputers
An application-specific microcontroller is a microcontroller that incorporates a small processor and application-specific functions such as interfaces and image processing as hardware.
The high-performance hardware has already been developed, making product development easy and ideal for products where time to market is important.
However, if the number of purchases by major users decreases, supply will suddenly be stopped, so this method is not suitable for products that require small-scale long-term production.
Embedded Processor Comparison
|
FPGA |
ASIC |
DSPs |
General-purpose microcontroller |
Application-specific microcontrollers |
|
| processing speed |
〇 Hardware processing using cutting-edge processes (original functions) + software processing |
〇 (old process) ◎ (latest process) Optimized from the transistor up |
△ Although slower than FPGA, Faster than a microcomputer |
✖ Software processing using the old process |
△~〇 Software processing and hardware processing (specific functions) |
| power consumption |
〇 Hardware processing means low power consumption, but it is inferior to ASIC |
◎ Optimized from the transistor level, and hardware processing ensures low power consumption |
〇 The multiply-and-accumulate operation is hardware-based, so it consumes low power. |
◎ Low power consumption due to slow processing over time |
〇 Low power consumption due to specific functions being hardware |
| Algorithm Change |
〇 Software: Possible Hardware: Possible |
✖ It's all hardware so you can't change it |
◎ Software makes changes easy |
◎ Software makes changes easy |
△ Software: Possible Hardware: Not possible |
| Development man-hours |
△ Hardware and software development required |
✖ It is difficult to remake, so careful design and verification are required. |
◎ Software development is necessary |
◎ Software development is necessary |
◎ General-purpose functions require software development, while specific functions are already designed in hardware. |
| Device supply period |
◎ A general-purpose product with a new process, allowing for long-term supply even in small quantities |
〇 The new process is long but has a high MOQ, and the old process is likely to be EOL. |
△ Consumer devices are often integrated into SoCs and have a short lifespan, while automotive and industrial devices have a long lifespan |
〇 Due to the old process, long-term supply is difficult, and automotive and industrial applications require a long time |
✖ Certain functions have limited users and sales volume declines, leading to EOL |
DPU (Data Processing Unit)
A DPU is a processor specialized for data processing.
The DPU offloads tasks such as network processing, storage management, and security processing, allowing the main processor to focus on application processing.
This improves the efficiency and performance of the entire system.
However, because DPUs are optimized for specific tasks (e.g., packet processing, cryptography, storage offload), they can be difficult to integrate with existing infrastructure and software stacks.
In addition, it is not very versatile and is not suitable for general calculations.
NPU(Neural network Processing Unit)
NPUs are processors specifically designed for AI and are optimized for processing neural networks.
Representative products include Hailo, which is used at the edge, and Google's TPU (Tensor Processing Unit), which is used in the cloud.
It is hardware optimized for specific algorithms and data processing patterns, so it is smaller and consumes less power than a GPU.
On the other hand, its applications are limited, and AI technology evolves rapidly, so depending on when it is introduced, there may be concerns about changes to algorithms and the long-term stable supply of devices.
VPU(Visual Processing Unit)
A VPU is a processor specialized for visual information processing.
Optimized for digital image and video processing, it processes data from image sensors in real time, delivering high performance in applications such as image recognition, object detection, and facial recognition.
Although it has inferior computational processing power compared to a GPU, it operates with low power consumption, making it suitable for image processing in surveillance cameras and autonomous driving.
However, it is not very versatile and is rarely used for purposes other than visual AI (image recognition, object detection, etc.).
Vector Processor
A vector processor is a processor that takes in large amounts of data from memory at once and performs high-speed calculations using parallel processing.
It is suitable for processing large amounts of data such as arrays and matrices used in scientific and technical calculations and machine learning.
Vector processors are processors designed for specific applications such as meteorology and fluid dynamics, and tend not to be in general use.