• 正文
  • 相关推荐
申请入驻 产业图谱

芯片知识科普:第2章 芯片如何工作

10小时前
338
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

前言:我公众号做了近7年,一直在发布半导体行业供应商数据和景气度指数研究报告,似乎有些单调了。最近在学习和调试AI Agent的时候突发奇想,能否就用它来做一个半导体的科普资料?于是尝试了一下,生成效果还算凑合。所以,我打算做一个大系列,给非半导体行业人士和行业新人做个科普 ...

上周发布了第一章。最近刚完成了第二章的内容,所以放上来供大家参考。如果您有任何建议,欢迎和我私信交流后续章节章节还在制作当中,后续会抽样发布。

完整文档会作为会员福利放到我知识星球的云盘里。欢迎大家加入获取另外,由于文中插图也是用AI生成的,部分图片排版有些问题,甚至不太准确。麻烦大家谅解了。后续我看看如何优化

开场:走进"开关的城市"

第1章结尾我们说:芯片 = 开关的城市。这一章,我们进城看看——城市里到底在发生什么?

旅程分五站,从一间房走到整座城:

1. 一间房晶体管(2.1)——城市的最小单元;

2. 一条街逻辑门(2.2)——几个开关拼成的"约定";

3. 一个区组合电路与存储(2.3、2.4)——没有记忆的接线员 + 会记事的档案室;

4. 一座城CPU 与 GPU(2.6、2.7)——整座城市如何"听指挥"地运转。

中间还会路过一个特别的街区(2.5):模拟电路——它是数字城市与真实世界的唯一联络口。

准备好了吗?进城。

2.1 晶体管:开关的物理真相

第1章我们把晶体管比作水龙头:手拧龙头,水就流过。但晶体管里那只"手"到底是什么?答案是——电场

隔空指挥:场效应

现代晶体管叫MOSFET(金属-氧化物-半导体场效应管),名字里的"场效应"三个字就是关键:栅极不需要碰到硅,只要加上电压,就能在硅里"感应"出一条导电通道

类比:不碰水面,用一块磁铁隔着玻璃吸动水下的铁屑——栅极就是那块"磁铁",电场就是它伸出的"无形的手"。控制信号电流通道之间隔着一层绝缘层,只指挥、不掺和

所以晶体管的工作原理一句话:栅极有电压 → 导电通道打开,电流流过;栅极没电压 → 通道关闭,电流断开。这是一个完美的开关:可靠、快速、且几乎不消耗控制能量。

图2-1 晶体管开关机制:电压控制通断

PN结 → MOSFET:开关是怎么"长"出来的

第1章讲过掺杂:在纯硅里掺入微量杂质,得到 N 型(多电子)和 P 型(少电子)两种硅。把 N 型和 P 型拼在一起,交界处就形成PN——一个单向阀:只允许电流从一个方向流过。

MOSFET 就是在 PN 结构造上"加装闸门"的结果:用一块栅极盖在通道上方,通过电压控制通道的通断。单向阀保证了方向,闸门实现了控制——两者一组合,一个可控的开关就诞生了。

图2-2 PN结 → MOSFET:三步演化

为什么"越小越好"

如果开关是理想的,那做多大都行——但现实里有两个问题:

• 越大越慢:信号要从一头跑到另一头,跑得越远越慢;

• 越大越费电:每个晶体管都有寄生电容,开关一次要给它充放电,越大充放电越费劲。

所以芯片厂拼命把晶体管做小——小 = 快 + 省电。这就是摩尔定律背后最朴素的物理动机。至于小到纳米级会遇到什么麻烦,那是第4、8章的故事。

2.2 门级逻辑:从晶体管搭出逻辑

单个开关只能"通/断"。但把几个开关按特定方式组合,就能实现逻辑——这就是逻辑门

CMOS:几乎不耗电的组合方式

现代芯片用CMOS(互补金属氧化物半导体)方式组合晶体管:一对互补的管子(一个 P 型、一个 N 型)永远处于"一个开、一个关"的状态。

好处是:稳态时电流无法从电源直接流到地——几乎不耗电。只有开关切换的瞬间才消耗一点点能量。这就是为什么几十亿个晶体管塞在一颗芯片里还能不烧掉的原因。

从反相器到与非门:用数字说话

• 反相器(NOT):输入 1 输出 0,输入 0 输出 1——个晶体管(1P+1N);

• 与非门NAND):两个输入,只有"两个都是 1"时输出 0——个晶体管(2P+2N);

• 其他门都可以由它们组合出来:与门 = 与非门 + 反相器;或门、异或门同理。

逻辑门的"说明书"叫真值表——列出所有输入组合对应的输出:

图2-3 CMOS 反相器:2 个晶体管实现"取反"

图2-4 逻辑门符号与真值表

一句话总结:逻辑门 = 开关的"约定组合"芯片设计者的工作,就是把这些"约定"像乐高一样拼起来——一颗现代 CPU 里有几十亿个晶体管,本质上是几亿个逻辑门的组合。

2.3 组合电路:没有记忆的"接线员"

把逻辑门再组合起来,就得到组合电路:它的特点是输出只由当前输入决定,没有记忆——输入一变,输出立刻变。像一位"接线员":你拨哪个号,它就接哪条线。

加法器:计算的起点

• 半加器:两个门(异或+与)就能算 1 位二进制加法,输出"和"和"进位";

• 全加器:把两个半加器拼起来,多一个"接收上一位进位"的入口;

• 加法器:一串全加器首尾相连,就能算任意多位数的加法——64 位加法器大约由几千个晶体管构成。

第1章说过:计算机本质上只做加法。减法用补码、乘法用连加、除法用连减,更复杂的运算全部拆解成加法+逻辑——加法器就是这座"开关城市"的算盘。

图2-5 半加器 → 全加器 → 加法器

选路与翻译:MUX 和译码器

• 多路选择器(MUX:好几路输入,用一个"选择信号"挑一路放行——像铁路道岔;

• 译码器:输入一个"地址编号",点亮对应的那一路输出——像门牌号点亮一扇门。

它们本身不算数,但没有它们,数据在 CPU 里就"找不到路"。

图2-6 多路选择器与译码器

2.4 时序与存储:给电路装上"记忆"

组合电路有个致命缺陷:它不记事。算完 1+1,结果放哪?计算过程中的中间值怎么办?于是需要时序电路——输出不仅取决于当前输入,还取决于之前的状态

触发器:1 位的记忆

把两个逻辑门的输出交叉接回对方的输入,形成一个回环:状态一旦建立就会"自我维持"——这就是触发器(第1章的"记忆环"正式版)。

• 一个触发器 = 记住(0 或 1);

• 时钟信号(2.6 详讲)让所有触发器同步地"记住/更新",整个芯片才能步调一致。

图2-7 触发器:交叉耦合的"记忆环"

寄存器:一组触发器

把几十个触发器并排放在一起,就是一个寄存器——CPU 里能存一个数(比如 64 位)的"格子"。第1章说的"小纸条"就是它。

三种存储器:各司其职

存储器的核心矛盾是:快的不持久,持久的不快。于是有三种主流方案:

图2-8 三种存储单元对比

深一层:DRAM 的电容会漏电,所以它必须每秒成千上万次地"刷新"(读出来再写回去)——这就是"内存一断电就清零"的物理原因;闪存则把电荷关进一道"浮栅"里,即使断电电荷也跑不出来——这就是 U 盘"断电不忘"的秘密。存储器的全部学问,就是和"遗忘"赛跑。

2.5 模拟电路:与真实世界打交道

到目前为止我们看到的全是数字世界:0 和 1。但真实世界是连续的——声音、温度、光线、压力,都是平滑变化的模拟信号。两者之间,需要"翻译官"。

从真实世界到芯片:一条完整的链

声音(模拟)→ 麦克风 → ADC → CPU 处理 → DAC → 喇叭 → 你听到的声音。

• ADC模数转换器):把连续的模拟信号切成一个个"台阶",量化为 0/1——模拟 → 数字

• DAC数模转换器):把数字台阶还原成连续的波形——数字 → 模拟

图2-9 模拟信号 vs 数字信号

图2-10 ADC / DAC:模拟与数字的"翻译桥"

运放与电源管理

• 运算放大器运放:把微弱的信号放大成千上万倍——模拟世界的"顺风耳";

• 电源管理 IC:把电池/电源的电压转换成数字电路需要的稳定电压——模拟世界的"心脏"。你手机里的充电、续航管理,全靠它。

为什么模拟设计这么难?

数字电路错了可以"重算",但模拟信号错了就是错了。模拟设计难在三个地方:

1. 噪声:信号本身是连续的,任何一点干扰都会混进去、被放大;

2. 温度漂移:温度一变,晶体管的特性就变,电路参数跟着漂;

3. 工艺偏差:同一批造出来的晶体管,每一个都有微小差异——数字电路能容忍,模拟电路可能直接失真。

所以业内有一句话:数字工程师是"建筑师",模拟工程师是"手艺人"。这也是第1章思考题里"为什么模拟芯片无法靠堆晶体管数量进步"的答案。

2.6 CPU:指令如何执行

有了门、有了存储,最后的问题来了:一座开关的城市,怎么"跑程序"

指令集:芯片听得懂的语言

芯片听不懂"中文"也听不懂"Python",它只听得懂指令——每条指令是一串 0/1(比如 0100 0011 代表"把两个数加起来")。一台芯片支持的指令全集,叫指令集ISA。x86(电脑)、ARM(手机)、RISC-V开源新贵)就是几套不同的"语言"。

取指 → 译码 → 执行:一条指令的旅行

1. 取指(Fetch:从内存里把下一条指令读出来;

2. 译码(Decode:翻译成电路能懂的控制信号——"哦,这是一条加法指令";

3. 执行(Execute:指挥 ALU 真的去算,把结果写回。

图2-11 取指 → 译码 → 执行

CPU 内部对应三个核心部件:

• 控制单元:总指挥,负责取指和译码,向全城发号施令;

• ALU算术逻辑单元:干活的,负责加减和逻辑运算(2.3 的加法器就住在里面);

• 寄存器:CPU 手边的"小纸条",极快地暂存中间结果。

图2-12 CPU 内部结构

时钟:全城的节拍器

CPU 里所有动作必须步调一致——靠时钟信号:它像节拍器一样每秒发出固定次数的脉冲,所有电路在每个节拍上"踩点"前进。时钟每秒跳动的次数叫主频:3GHz ≈ 每秒 30 亿拍,每拍完成一小步,一条指令就这样一步步走完。

图2-13 时钟节拍

让流水线不空转:流水线与分支预测

• 流水线:像工厂流水线一样,上一条指令还在执行,下一条已经取指了——多条指令重叠处理;

• 分支预测:遇到"如果……否则……"的指令,先一个方向继续跑,猜错了再回头——现代 CPU 的猜中率超过 90%。

存储层次:让数据离 CPU 近一点

数据从硬盘到 CPU,路上每一站都比上一站快一点、贵一点:寄存器 → 缓存 → 内存 → 硬盘/闪存(最快/最贵 → 最慢/最便宜)。

为什么不全用最快的?因为=。所以设计成"金字塔":把最常用的数据放在最快最贵的存储里,把不常用的放在慢但便宜的存储里——数据离 CPU 越近,电脑越快

图2-14 存储层次金字塔

深一层:你有没有发现,电脑的主频十几年没怎么涨了?不是做不快,是做快了会烧——主频翻倍,发热翻好几倍,功耗墙把频率死死按住了。这条"功耗墙"是摩尔定律最大的敌人之一,第8章我们专门聊它。

2.7 GPU:为什么它能并行

CPU 很聪明,但有一种任务它干得很吃力:海量的简单计算同时做——比如游戏渲染、AI 训练。这时候需要GPU

CPU vs GPU:特种兵 vs 普通兵

• CPU:十几个"特种兵"——每个核心都很强,什么复杂任务都能干;

• GPU:几千个"普通兵"——每个核心很弱,但人多力量大,特别适合"同一件事重复做几千遍"。

图2-15 CPU vs GPU:特种兵 vs 普通兵

SIMT:齐步走

GPU 用SIMT(单指令多线程)的方式工作:一条指令,同时驱动上千个核心执行——像军队齐步走,指挥官喊一声"齐步走",几千人同时迈左脚。

• 适合:矩阵乘法、图像像素、神经网络——天然并行的任务

• 不适合:复杂的条件判断、串行依赖的任务——这些 GPU 反而干得慢。

为什么 AI 训练用 GPU

神经网络的核心运算就是矩阵乘法:一层网络 = 一个超大矩阵乘加。矩阵乘法天然可以切成千万个小块同时算——正好是 GPU 的主场。

图2-16 AI 训练:并行计算

深一层:GPU 也不是万能——它强在"并行的重复劳动",弱在"复杂的决策"。所以未来芯片的方向之一,是让不同的任务各找各的"特种部队"(第8章:Chiplet、存算一体)。

小结:从晶体管到系统

把这一章的旅程倒过来看:晶体管(开关)→ 逻辑门(约定)→ 组合电路(计算)→ 时序电路(记忆)→ 模拟电路(对话)→ CPU(跑指令)→ GPU(并行)。

第1章说"芯片 = 开关的城市"——现在你知道了这座城市如何运转:门做逻辑,环做记忆,时钟定节拍,指令定任务。一切计算,都是开关在听话。

预告:这些电路是怎么被"造"出来的?几十亿个开关,怎么被"印"到一小片硅上?——第3章,我们从一粒沙子出发,旅程正式开始。

本章术语表(速查)

相关推荐

全球半导体行业综合研究及信息交流