ARM, MCU, DSP, FPGA, and SOC are terms that many are familiar with, but do you really understand them? Do you know the connections and differences between these five? Don’t worry, let’s explore this together!
ARM
ARM processors were the first RISC microprocessors designed by Acorn Computer Ltd. for the low-budget market. Originally called Acorn RISC Machine, ARM processors are designed with 32-bit architecture but also include a 16-bit instruction set, generally saving up to 35% compared to equivalent 32-bit code while retaining all the advantages of a 32-bit system.
History of ARM:
On December 5, 1978, physicist Hermann Hauser and engineer Chris Curry founded the CPU Company in Cambridge, UK, primarily supplying electronic devices for the local market. In 1979, the CPU Company was renamed Acorn Computer Company.
Initially, Acorn planned to use Motorola’s 16-bit chip but found it too slow and expensive. “A machine costing £500 cannot use a £100 CPU!” They turned to Intel for the design documents for the 80286 chip but were refused, forcing them to develop their own.
In 1985, Roger Wilson and Steve Furber designed their first generation 32-bit, 6 MHz processor, creating a computer based on the RISC instruction set, abbreviated as ARM (Acorn RISC Machine). This is how ARM got its name.
The full name of RISC is “Reduced Instruction Set Computer,” which supports simpler instructions, resulting in lower power consumption and cost, making it particularly suitable for mobile devices. A typical early device using ARM chips was Apple’s Newton PDA.
By the late 1980s, ARM quickly developed into Acorn’s desktop products, forming the foundation of computer education in the UK.
On November 27, 1990, Acorn officially reorganized into ARM Computer Company. Apple invested £1.5 million, chip manufacturer VLSI invested £250,000, and Acorn itself contributed £1.5 million in intellectual property and 12 engineers. The company’s office was very rudimentary, just a barn. In the 1990s, ARM’s 32-bit embedded RISC (Reduced Instruction Set Computer) processors expanded globally, leading in low-power, low-cost, and high-performance embedded system applications. ARM does not produce or sell chips; it only sells chip technology licenses.
MCU
MCU essentially refers to a microcontroller, which integrates the CPU, RAM, ROM, timer, and various I/O interfaces onto a single chip, forming a chip-level computer.
Leading MCU manufacturers include Renesas, NXP, New Tang, Microchip, ST, Atmel, Infineon, TI, Toshiba, Samsung, Cypress, ADI, Qualcomm, Fujitsu, AMD, Holtek, and many others.
DSP
DSP (Digital Signal Processing) refers to the theory and technology of processing signals using numerical calculations. Additionally, DSP stands for Digital Signal Processor, a chip that integrates a dedicated computer, about the size of a coin.
FPGA
FPGA (Field-Programmable Gate Array) is a product developed further on the basis of programmable devices such as PAL, GAL, and CPLD. It emerged as a semi-custom circuit in the ASIC (Application-Specific Integrated Circuit) field, solving the shortcomings of custom circuits while overcoming the limitations of programmable devices’ gate counts.
Leading FPGA manufacturers include Altera (acquired by Intel), Xilinx, Actel, Lattice, Atmel, and several others.
SOC
SoC has various definitions due to its rich connotation and wide application range, making it difficult to provide a precise definition. Generally speaking, SoC refers to a system-on-chip, indicating it is a product, an integrated circuit with a specific purpose, containing a complete system with embedded software. It is also a technology to implement the entire process from defining system functions to software/hardware partitioning and design completion.
Comparison of ARM, MCU, DSP, FPGA, and SOC
ARM: The architecture uses a 32-bit RISC processor architecture, adopting Harvard architecture from ARM9 onwards, which separates instruction and data storage into independent memory structures. This separation significantly improves the processing capability of the processor. ARM often employs pipeline technology, which shortens program execution time by allowing multiple power components to work in parallel, enabling instructions to flow through multiple pipelines, thereby enhancing processor efficiency and throughput. Today, ARM7 uses a typical three-stage pipeline, ARM9 uses a five-stage pipeline, while ARM11 uses a seven-stage pipeline, and ARM Cortex-A9 even employs a variable pipeline structure (supporting 8-11 stages). ARM Cortex-A9 supports up to four cores, marking the first instance of multi-core technology in the ARM series processors. The following diagram illustrates the internal structure of ARM Cortex-A9.
MCU: Most are based on the Von Neumann architecture, which clearly defines the four essential components required for embedded systems: a central processing core, program memory (ROM or flash), data memory (RAM), one or more timers/counters, and I/O ports for communication with peripheral devices—all integrated onto a single integrated circuit chip. Early MCUs adopted CISC instruction sets, later replaced by RISC. MCUs cover bus widths of 4, 8, 16, and 32 bits, with widespread applications.
DSP: Also known as digital signal processors, these are microprocessors specifically designed for real-time digital signal processing. They adopt Harvard architecture and also utilize pipeline technology. Additionally, DSP can operate as a direct memory access device in host environments and supports data acquisition from analog-to-digital converters (ADC), ultimately outputting data converted from digital-to-analog converters (DAC) into analog signals, supporting certain parallel processing capabilities.
FPGA: FPGA, short for Field Programmable Gate Array, is a product developed further on the basis of programmable devices such as PAL, GAL, and PLD, representing the highest integration level among ASICs. FPGAs introduce the concept of a Logic Cell Array (LCA), comprising configurable logic blocks (CLB), input/output blocks (IOB), and internal interconnects. Users can reconfigure the internal logic and I/O modules of an FPGA to implement their logic. It also features static reprogrammability and dynamic in-system reconfiguration, allowing hardware functionality to be modified through programming, akin to software. FPGA’s primary distinction from DSP, ARM, and MCU lies in its parallel processing capability, which significantly accelerates complex calculations.
SOC: A system-on-chip integrates a computer or other electronic systems into a single chip integrated circuit. SoCs can process digital, analog, mixed signals, and even higher frequency signals. They are commonly used in embedded systems. The integration scale of SoCs is large, typically reaching millions to tens of millions of gates. SoCs are relatively flexible, capable of integrating ARM architecture processors with dedicated peripheral chips to form a system. ARM processors such as Hisi-3507 and hisi3516 are examples of SoC systems, particularly application processors that integrate many peripheral devices to support more complex tasks and applications.
ARM: The reason for ARM’s immense success in the mobile market is its low power consumption. It is well-known that electronic products in the mobile market are highly sensitive to processor power consumption. In the past, processor power consumption on PC platforms ranged from several tens to hundreds of watts, which is unimaginable in mobile platforms. ARM operates at just a few hundred mW at a frequency of 1G, making its strong low power consumption adaptable to mobile electronic products.
DSP: A set of data from a non-network group indicates that in the digital signal processing market, DSP and FPGA share the market equally. One advantage of DSP over FPGA is its relatively low power consumption. DSP manufacturers strive to maintain market share by increasing processor frequency and reducing power consumption since FPGA seems to have an edge in high-performance digital processing markets. In the DSP field, TI’s DSP processors are the best in terms of power consumption and performance, as TI’s DSP chips are more competitive due to their lower costs and power consumption compared to other DSP manufacturers.
MCU: MCUs have been around the longest, and various manufacturers have their own architectures and instruction sets. In terms of low power consumption, TI’s MSP430 MCU performs relatively well.
FPGA: Due to its internal structure, FPGA’s power consumption is relatively high, leading to significant heat generation, which is a drawback. However, this is unavoidable, as supporting high-performance concurrent computing digital circuits with standard aspect ratios for internal logic gates will ultimately result in power consumption that cannot compare with ASICs or other dedicated processors.
SOC: Due to the flexibility of SoCs, integrating multiple devices into a small chip forms a system, giving SoC systems an advantage in power consumption compared to those made up of MCUs and other processors. Additionally, SoC chips can optimize system power consumption at the layout level by combining factors such as process and circuit design, resulting in lower power consumption and smaller footprint than systems built with current peripheral PCB layouts.
As market applications have increased, ARM manufacturers have optimized to boost their frequencies and enhance performance, advancing from 100 MHz to an astonishing 2.3 GHz at an incredible pace.
The fastest DSPs today can reach frequencies of 1.2 GHz. However, performance cannot be solely judged by frequency, as DSPs can complete a multiplication and an addition in a single clock cycle, a capability that typical ARM processors lack. DSPs have a distinct advantage in computational fields, prompting TI to combine the strengths of ARM and DSP in the Da Vinci heterogeneous chip, which falls under the SoC category.
MCUs, as low-end application processors, have frequencies ranging from several MHz to several tens of MHz.
FPGAs can achieve clock frequencies of several GHz, even exceeding 10 GHz, though at a significant cost. Comparing FPGA with ARM, DSP, etc., based solely on frequency is not particularly meaningful, as the parallel computing capability far exceeds that of general-purpose processors employing serial computation by dozens of times. For instance, implementing the same filtering algorithm on a 100 MHz FPGA will be faster than on a 1 GHz ARM.
ARM processors currently consist mainly of three series: A series, R series, and M series, with the A series primarily targeting consumer electronics applications.
Computing: Netbooks, smart notebooks, input boards, e-readers, thin clients
Mobile: Smartphones, feature phones
Digital Appliances: Set-top boxes, digital TVs, Blu-ray players, game consoles
Automotive: Infotainment, navigation
Enterprise: Laser printers, routers, wireless base stations, VOIP phones and devices
Wireless Infrastructure: Web 2.0, wireless base stations, switches, servers
The R series processors primarily target applications with high real-time requirements, such as aerospace and automotive electronics, offering high reliability, availability, fault tolerance, and real-time response advantages.
The M series processors target lower-end applications, initially aimed at replacing existing MCUs on the market.
ARM Cortex-M0
ARM Cortex-M0+
ARM Cortex-M3
ARM Cortex-M4
“8/16 bit” applications
“8/16 bit” applications
“16/32 bit” applications
“32 bit/DSC” applications
Low cost and simplicity
Low cost, optimal energy efficiency
High performance, general-purpose
Effective digital signal control
DSP primarily targets applications requiring high computational power, such as video image processing, intelligent robotics, digital wireless, broadband access, digital audio, high-resolution imaging, and digital motor control.
MCUs are widely applied due to cost control, allowing them to establish a foothold in many applications that do not require high computational power. In the coming years, key growth drivers for the MCU market will stem from green energy, smart electronic devices, smart grids, and upgrades of electronic products such as automotive electronics.
SoC applications are also extensive, primarily because the architectures of existing mainstream ARM chips are a form of SoC architecture. SoC is a broad concept, and many ARM and DSP devices are beginning to adopt SoC methods to integrate multiple devices onto processors to form complex systems.
ARM primarily runs on operating systems like LINUX, ANDROID, WINCE, and is relatively more challenging to learn compared to MCUs and DSPs, requiring developers to have a deep understanding of operating systems. In terms of cost, ARM’s single-chip costs are higher than those of MCUs, primarily applied in more complex systems.
MCUs are the easiest to get started with, quick to learn, have lower development difficulty, and are widely applied in low-end markets due to their low cost.
DSPs are relatively easy to start with, but their single-chip costs are high, mainly applied in applications requiring high computational power. DSPs can also run operating systems, making them suitable for multitasking applications.
FPGAs have a relatively high development difficulty and longer development cycles, and their single-chip costs are also high.
Typically, performing such an operation requires nine multiplications and eight additions. This computation is quite easy for FPGAs and DSPs, but for ARM and MCUs, their limited parallel capabilities make them struggle when handling large images, such as 1280P.
However, such operations can be easily optimized. For instance, pixels at positions 1 and -1 can be combined into a single addition, and similarly, the last row can be treated the same way, while the middle row’s 2 and -2 corresponding pixels can also be combined into one addition followed by a shift operation, thus converting the original nine multiplications and eight additions into three additions and one shift (shifting operations can typically be completed within a single clock cycle on most processors).
DiDi is hiring a front-end intern.
The internship lasts at least three months, located in Xierqi. Requirements: Proficient in Javascript, HTML/CSS for front-end website development, focusing on big data visualization, especially map layer drawing and reporting. Graduate students are preferred, available at least four days a week. Knowledge of ReactJS is a plus, but not required as training will be provided by senior front-end engineers. Send your resume to: [email protected]