什么是 FPGA?和单片机/CPU 的本质区别
1、先从一个问题开始
你有没有想过,手机里的图像信号处理、5G 基站里的实时通信、雷达系统里的高速数据采集,这些对实时性要求极高、并行计算量极大的场景,用普通的 CPU 或单片机能做到吗?
答案是:做不到,或者做不好。
这时候,FPGA 就登场了。
2、什么是 FPGA?
FPGA,全称 Field-Programmable Gate Array,中文翻译为现场可编程门阵列。
拆开来理解:
- Field-Programmable(现场可编程):不是在工厂固化,而是可以在实验室、工厂现场随时重新编程
- Gate Array(门阵列):内部由大量逻辑门构成的阵列
一句话概括:FPGA 是一块可以通过编程,反复配置成任意数字电路的芯片。
你写的不是"程序",而是"电路描述"。你告诉芯片:我要在你内部搭一个什么样的电路。芯片就真的把那个电路搭出来,然后运行它。
3、FPGA vs CPU vs MCU vs ASIC:本质区别
很多人一开始分不清这几个概念,下面一次性说清楚。
3.1 CPU(通用处理器)
CPU 执行的是软件指令,一条一条地取指、解码、执行。
- 流水线设计,通常一次执行一个操作(现代 CPU 有乱序执行、超标量,但本质还是串行指令流)
- 灵活,但受限于指令集
- 不擅长超大规模并行计算
- 典型代表:Intel i7、ARM Cortex-A 系列
3.2 MCU(微控制器/单片机)
MCU 是 CPU + 片上外设(UART、SPI、ADC 等)的集成体。
- 面向嵌入式控制场景
- 实时性较好,但计算能力有限
- 外设固定,无法自定义硬件逻辑
- 典型代表:STM32、Arduino、ESP32
3.3 ASIC(专用集成电路)
ASIC 是针对特定功能定制的芯片,一旦流片就不能更改。
- 性能极高、功耗极低
- 一次性研发成本极高(动辄数百万到数千万)
- 适合大批量量产
- 典型代表:苹果 A 系列芯片、比特币矿机芯片
3.4 FPGA
FPGA 是介于 MCU 和 ASIC 之间的存在。
- 硬件可编程,可以重新配置成任意数字电路
- 真正的硬件并行,多个模块同时运行不互相干扰
- 开发成本远低于 ASIC,但性能低于 ASIC、成本高于 MCU
- 适合算法验证、中小批量产品、高性能实时处理
3.5 四者对比表
| 维度 | CPU | MCU | FPGA | ASIC |
|---|---|---|---|---|
| 执行方式 | 串行指令 | 串行指令 | 并行硬件电路 | 固定硬件电路 |
| 灵活性 | 高(软件层) | 中 | 高(硬件层) | 无 |
| 并行能力 |


