一颗芯片里有什么:从晶体管到 SoC 的五个层次
更新时间:2026-09-05。本文是「集成电路大类 · 芯片设计」**入门层(beginner)**第一篇新正文,目标是帮你在脑子里搭起一颗芯片的「爆炸图」:从最底层的晶体管,一层层往上,直到一颗能跑操作系统的片上系统。不写代码、不推公式,先把「分几层、每层是什么积木」讲明白。全流程视角见 芯片设计全流程总览,数字/模拟的区别见下一篇 数字、模拟与混合信号。
本文要回答的问题
- 一颗手机里的 SoC,动不动说「上百亿晶体管」,这些晶体管到底凑成了什么?
- 为什么工程师嘴里同时在说「与门」「触发器」「标准单元」「IP 核」「模块」,它们是同一种东西的不同叫法,还是不同层次?
- 一颗芯片里,真正占面积、占成本的大头是哪些东西?
- 软件工程师天天用的「CPU 核、缓存、总线、寄存器」,在硅片上对应着什么?
一、先有个量级概念:一颗芯片里塞了多少东西
谈结构之前,先建立数量级。芯片是人类造过的集成度最高的东西,没有之一:
| 层次 | 一个「积木块」大概是什么 | 现代一颗手机 SoC 里的数量级 |
|---|---|---|
| 晶体管(transistor) | 一个可控开关(MOSFET) | 几十亿到上百亿(百亿级) |
| 逻辑门(logic gate) | 与/或/非/与非,几个晶体管凑成 | 十亿级 |
| 标准单元(standard cell) | 门、触发器、半加器等「预制乐高块」 | 千万~亿级 |
| 模块 / IP(module/IP) | 一个 UART、一个 CPU 核、一块 SRAM | 几十~几百个 |
| 片上系统(SoC) | CPU+GPU+存储控制+IO+总线,一颗整芯 | 1 颗(die) |
关键直觉是:工程师几乎从不直接面对晶体管。就像写软件的人不会去手写字节码、盖楼的人不亲手烧砖一样,芯片设计是在不同抽象层次上「搭积木」——下层把细节封装好,上层只管用。你写的一行 Verilog,最终会被翻译成几千万个开关,但中间隔了好几层自动化工具。
二、自底向上五层:一张图看清谁搭在谁上面
数字芯片的组成,可以干净地分成五层,下一层是上一层的「原材料」:
这条主线请记牢,后面所有内容都是在给某一层补充细节。
三、逐层拆解:每一层到底在搭什么
第 1 层:晶体管——一个电控开关
最底层是 MOSFET(金属氧化物半导体场效应管),你可以把它理解成一个由电压控制的开关:栅极(gate)上加电压,源极和漏极之间就导通;撤掉电压就关断。数字电路里我们只让它工作在「全开 / 全关」两个状态,这正好对应 1 和 0。现代工艺(如 7nm、5nm,见 摩尔定律与工艺节点)在指甲盖大小的硅片上做出百亿级这样的开关。
第 2 层:逻辑门——开关凑成的「判断」
把几个开关按特定方式连起来,就能做出能「判断」的电路:与门(AND)、或门(OR)、非门(NOT)、与非门(NAND)、异或门(XOR)。比如 CMOS 工艺里一个最基础的与非门用 4 个晶体管。有了与/或/非,布尔代数里的任何逻辑都能表达——加法器、比较器、译码器,归根到底都是门的组合。
第 3 层:标准单元——预制好的「乐高块」
没人会为每个与门重新画版图。代工厂和 IP 团队会把常用的门、触发器(DFF)、锁存器、半加器、多路选择器等,预先设计成固定高度、宽度成格的版图小块,这就是标准单元(standard cell),收在「标准单元库」里(伴随一个描述时序/功耗的 .lib 文件)。它们高度统一、像文字排版一样一行行码放(standard cell row),EDA 工具做布局布线时就是在「码这些乐高块 + 接线」。这一层是 逻辑综合 和 物理实现 的交界:综合把你的 RTL 映射成一串标准单元,后端再把它们摆到硅片上。
第 4 层:模块 / IP 核——能完成一个功能的「电路块」
成百上千个标准单元 + 存储块,组成一个能独立干活的功能块:一个串口控制器(UART)、一个 SPI/I2C 接口、一个 PCIe 控制器、一块 SRAM、一个锁相环(PLL),乃至一整个 CPU 核。这种「打包好的功能块」统称 IP 核(Intellectual Property core)。自己从头写一个 CPU 核或 PCIe 控制器太贵太慢,业界普遍是买第三方 IP 或复用公司内部成熟 IP,像攒机一样拼起来(软核/硬核/固核的区别见 IP 核是什么)。
第 5 层:SoC——把所有功能块集成进一颗芯片
最后,把若干 CPU 核、GPU、存储控制器(DDR)、一堆 IO 控制器、片上存储器、时钟/复位/电源管理,用片上总线/片上网络连到一起,做进同一颗硅片(die),这就是 SoC(System on Chip,片上系统)。为什么现在的芯片几乎都是 SoC?因为把整套系统做进一颗芯片,比分立多颗芯片更省面积、更省电、更高带宽、更便宜(量大时)。这些功能块之间靠 AMBA/AXI 这类总线协议通信,见 片上总线与 AMBA。
四、面积都花在哪了:存储器才是大头
很多人以为芯片面积主要是「逻辑门」,其实在现代 SoC 里,占面积最大的往往是存储器,而不是运算逻辑:
| 组成 | 在芯片里的角色 | 面积/成本印象 |
|---|---|---|
| 片上存储器(SRAM/缓存/ROM) | L1/L2/L3 cache、片上 SRAM、寄存器堆 | 往往占 30%~60% 甚至更多,SRAM 单位面积比逻辑贵 |
| 模拟 / 混合信号电路 | PLL(时钟)、ADC/DAC、高速 PHY(DDR/PCIe SerDes)、电源管理 | 块数不多但面积大、设计难,常叫「黑魔法」 |
| 数字逻辑(标准单元区) | CPU 核、GPU、控制器、运算通路 | 反而是相对规整、可自动综合布线的部分 |
| 时钟树 / 电源网格 / 布线 | 全局时钟分发、供电网络 | 占布线资源,功耗与信号完整性的关键 |
| IO 环(pad ring) | 芯片四周边缘的引脚/ESD 保护 | 沿 die 四周一圈,单独供电,见 芯片引脚与 IO |
一个常被忽视的点:缓存(cache)为什么那么贵、还那么大? 因为 SRAM 用 6 个晶体管存 1 个比特,速度快但密度低、漏电大。想深入片上存储,见 片上存储器。而模拟电路(PLL/PHY/ADC)为什么被视为深水区,见 混合信号边界常识。
五、一张 SoC「平面图」的直觉
把一颗 SoC 从正上方看(die photo / floorplan),它不是逻辑门的均匀海洋,而是一块块功能明确的版图,像一座城市的功能分区:
这张「平面图」对应后端设计里的布局规划(floorplan):先决定大块 IP 摆在哪、供电网格怎么走、IO 沿哪条边,再让工具去填标准单元。想提前感受后端在干什么,见 布局规划是什么 和 物理实现(布局布线)。
六、把软件里的概念对上号
如果你是软件工程师,这张映射表能帮你把熟悉的词落到硅片上:
| 你熟悉的软件概念 | 芯片里对应的实体 | 所在层 |
|---|---|---|
| CPU 核、线程 | 一个处理器核 IP(含寄存器堆、流水线) | 第 4~5 层 |
| L1/L2/L3 缓存、片上 SRAM | 大阵列存储块(占面积/漏电大头) | 存储 |
| 内存(内存条/DDR) | 芯片外,靠 DDR 控制器 + PHY 这颗芯片上的模块驱动 | 第 4 层 + 板级 |
| 读写外设寄存器 | 一组带地址译码的硬件寄存器,软件经总线访问 | 第 4 层 |
| 中断 | 中断控制器(GIC 等)模块拉给 CPU 的信号 | 第 4 层 |
| DMA 搬运 | 一个能自主发起总线传输的 DMA 引擎模块 | 第 4 层 |
| 驱动/固件 | 跑在 CPU 核上的软件,通过寄存器操控这些硬件块 | —— |
也就是说,软件里「访问一个外设寄存器」这个动作,在芯片侧就是:CPU 经片上总线发出一个地址,译码逻辑命中某个模块里的一个触发器,读出或写入它的电平。寄存器表与地址解码见 寄存器表与地址解码,中断与 DMA 见 中断与 DMA 概念。
七、这一篇在知识体系里的位置
本文只搭「有哪几层」的骨架,后续入门篇会逐层展开细节:
- 想知道 0/1 是怎么回事、模拟电路为什么是另一套世界 → 数字、模拟与混合信号;
- 想知道一行 Verilog 怎么变成这些门 → 从代码到门电路、RTL 设计;
- 想看完整的「从想法到流片」流程 → 芯片设计全流程总览;
- 想知道这些模块怎么被设计、验证、摆到硅片上 → 逻辑综合、物理实现;
- 想知道造一颗芯片产业链上谁干什么 → 产业链分工、流片与制造。
总结
一句话总结:一颗芯片是自底向上五层搭出来的——晶体管(电控开关)凑成逻辑门,门排成固定版图的标准单元,标准单元加存储块组成 UART/CPU 核/SRAM 这类 IP 模块,众多模块再靠片上总线集成进一颗 SoC;工程师主要在「模块/SoC」层做设计、靠 EDA 工具一路翻译到晶体管,而真正占面积和成本的大头通常是 SRAM 存储器与 PLL/PHY 这类模拟电路,不是运算逻辑本身。