造出计算机只靠两个洞察: ① 布尔(1854):逻辑可以当数学算。 ② 香农(1937):开关电路天生就会做布尔代数。 两者一拼,"会开关"就等于"会计算"。之后 90 年全是工程活: 继电器 → 真空管 → 晶体管 → 集成电路,换的全是开关,逻辑一步没变。 [!tip] 承接第 03 篇 [[03 用电表示计算-计算机加法运算]] 讲了门怎么搭出加法器(原理层); 本篇讲门是用什么器件造的、这条路是谁铺通的(实现层)。 两篇合起来,"电路计算"才算讲完整。
1. 第一条线:把逻辑变成数学(1854,布尔)
英国数学家乔治·布尔干了一件当时看来没什么用的事:把"而且、或者、不是"这类逻辑词,改造成能运算的代数。
| 逻辑词 | 布尔代数写法 | 结果只有两种 |
|---|---|---|
| A 而且 B | A × B(与) | 真 / 假 |
| A 或者 B | A + B(或) | 真 / 假 |
| 不是 A | Ā(非) | 真 / 假 |
对,就是上一篇那三个门。布尔当时只是在研究思维的规律,他的代数在纸上躺了 83 年,没人觉得它能造机器。
它的运算结果只有真/假两个值。 这和电路"通/断"的两个状态天生一一对应 —— 只是当时没人在意。
2. 第二条线:发现开关就会算(1937,香农)
转机出现在一个 21 岁的硕士论文里。克劳德·香农(后来成为信息论之父)在贝尔实验室注意到:
电话交换机里的继电器(一种用电控制的开关)串起来、并起来的行为,和布尔代数一模一样。
| 开关接法 | 什么时候灯亮 | 对应布尔运算 |
|---|---|---|
| 两个开关串联 | 两个都闭合才亮 | AND(与) |
| 两个开关并联 | 任一闭合就亮 | OR(或) |
| 一个常闭开关 | 按下反而断开 | NOT(非) |
这篇论文《继电器与开关电路的符号分析》证明了一件事: 任何逻辑运算,都能用开关搭出来。 再结合上一节——加法本来就是逻辑运算(异或门=本位,与门=进位)—— 结论就变成了:开关能搭出加法器,电路能计算。 从这天起,计算机从"能不能"变成了"怎么做"。
3. 第一次实现:继电器计算机(1938~1945)
有了理论,立刻有人动手。德国的楚泽(Zuse Z3,1941)和美国的哈佛 Mark I(1944)都用继电器造出了能用的计算机。
继电器是什么
一个电磁铁 + 一片金属簧片: - 线圈通电 → 产生磁力 → 吸下簧片 → 电路接通(= 1) - 断电 → 簧片弹回 → 电路断开(= 0)
用电控制开关 —— 这就是最早的"逻辑门"。
继电器的硬伤
| 问题 | 表现 |
|---|---|
| 机械动作慢 | 开关一次约 10 毫秒,每秒只能开关约 100 次 |
| 物理磨损 | 簧片是金属,迟早疲劳断裂 |
| 打火 | 触点开合会跳火花,烧蚀触点 |
1947 年哈佛 Mark II 死机,工程师拆开机柜, 在继电器里找到一只飞蛾 —— 它被继电器打死的。 工程师把飞蛾贴进工作日志,写下:"第一次发现虫子(bug)被找到。" "程序出 Bug" 这个词,从这只飞蛾开始。
4. 第二代:真空管(1946,ENIAC)
为了摆脱机械磨损,工程师改用真空管:一个抽成真空的玻璃泡,加热灯丝发射电子,用电压控制电子流通过或截断。
没有机械动作,开关全靠电子 —— 速度从每秒 100 次跳到每秒百万次。
ENIAC:第一台通用电子计算机
| 指标 | 数字 |
|---|---|
| 真空管数量 | 约 18,000 个 |
| 重量 | 约 30 吨 |
| 占地 | 170 平方米(一个教室) |
| 功耗 | 150 千瓦(传说一开灯全城变暗) |
| 速度 | 每秒约 5,000 次加法 |
| 平均寿命 | 大约每两天烧坏一个真空管,工程师天天像查地雷一样找坏管 |
机械磨损没了,但灯丝是靠"烧红"工作的—— 发热巨大、烧坏频繁、占地惊人。 本质原因:真空管里仍然有个"加热"过程,它在用宏观的电流发热工作。
5. 第三代:晶体管(1947)—— 真正的转折点
贝尔实验室,1947 年底。肖克利、巴丁、布拉顿造出了晶体管:
一块三层结构的硅半导体,中间夹一层能被电压控制的"闸门"—— 不加电压,电子过不去(= 0);加上电压,电子畅通(= 1)。
| 对比项 | 真空管 | 晶体管 |
|---|---|---|
| 工作方式 | 烧红灯丝,真空里导电子 | 固体硅片内直接控电子 |
| 发热 | 巨大 | 小得多 |
| 尺寸 | 拳头大的玻璃泡 | 指甲小 → 微米级 |
| 寿命 | months | 几十年不坏 |
| 开关速度 | 每秒百万次 | 每秒十亿次起步 |
三人因此拿了 1956 年诺贝尔物理学奖。这是 20 世纪最重要的发明,没有之一。
它把"开关"从宏观的机械/发热器件,变成了固体内部的一个电场。 开关不再需要任何东西"动"——既没有触点磨损,也没有烧红的灯丝。 从此开关可以做得多小、多快、多便宜,唯一限制只剩 manufacturing 能力。
6. 第四代:集成电路(1958)+ 摩尔定律
集成电路:不用一个一个焊了
1958 年,基尔比(德州仪器)和诺伊斯(仙童,后来创办 Intel)想出一个办法: 把晶体管、电阻、连线直接"印"在同一块硅片上,一次做成一整个电路。
就像印刷术之于手抄书 —— 不再逐个制造零件,而是批量印制整个电路。
摩尔定律(1965)
Intel 联合创始人戈登·摩尔观察到一个趋势并预言:
一块芯片上的晶体管数量,约每 18~24 个月翻一倍。
这条"定律"不是物理定律,是行业节奏——但它惊人地准了 50 年:
| 年份 | 芯片 | 晶体管数 |
|---|---|---|
| 1971 | Intel 4004(第一款微处理器) | 2,300 |
| 1993 | Pentium | 310 万 |
| 2008 | Core i7 | 7.3 亿 |
| 2023 | Apple M2 Ultra | 1,340 亿 |
从 1971 到今天:一块芯片 = 一台计算机
Intel 4004 把 CPU 整个印到了一块芯片上(2300 个晶体管)。 今天一块手机芯片里有上百亿个晶体管,工艺做到 3 纳米—— 1 纳米 = 十亿分之一米,3nm 大约是 30 个原子并排的宽度。
7. 规模对比:这条路的尽头有多夸张
| ENIAC(1946) | 今天的手机芯片 | |
|---|---|---|
| 重量 | 30 吨 | 几克 |
| 占地 | 170 ㎡ | 指甲盖 |
| 功耗 | 150,000 W | 约 5 W |
| 开关数 | 18,000 | 100 亿+ |
| 加法速度 | 5,000 次/秒 | 数万亿次/秒 |
体积缩小千万倍,速度快几十亿倍,功耗省三万倍。
而这一切的计算逻辑,和 1938 年楚泽用继电器搭的机器完全同构—— 变的从来不是"怎么算",是"开关是什么做的"。
理论早就走完了(1937),后面 90 年全是换开关。 这就是为什么学计算机的人要先学逻辑门—— 它是 90 年硬件革命中唯一没变的东西。
8. 常见误区自查
- "计算机是数学家发明的" —— 数学早有了(布尔 1854),差的是"发现开关会算"这一步(香农,电气工程背景)。
- "摩尔定律是物理定律" —— 是行业经验节奏,不是自然规律;如今已明显放缓,逼近原子极限。
- "晶体管就是缩小版的真空管" —— 工作原理完全不同:一个靠真空中的电子流+发热灯丝,一个靠固体半导体的电场控流。
- "集成电路只是把晶体管做小" —— 关键是集成:把整个电路一次印上去,成本和可靠性彻底改变。
- "ENIAC 是第一台计算机" —— 它是第一台通用电子计算机;更早的 ABC(1942,真空管专用机)、Z3(1941,继电器)都在它前面。
- "芯片越小越省电是白赚的" —— 晶体管越小,漏电越难控制,"省电"是花巨大工艺代价换来的。
9. 自测题(先自己想,再点开答案)
串联 = AND(两个都闭合电路才通); 并联 = OR(任一闭合就通)。 香农正是用这两个接法证明了开关电路 = 布尔代数。 [!question]- Q2. 继电器、真空管、晶体管分别用什么"动作"实现开关? 继电器:电磁铁吸合金属簧片(机械动作); 真空管:发热灯丝 + 真空中控制电子流; 晶体管:固体硅中的电场控制电子通过(无任何机械动作)。 [!question]- Q3. 为什么说晶体管是四代开关里的分水岭? 它把开关从宏观机械/发热器件变成固体内部的电场—— 没有触点磨损、没有烧红过程,因此能做得极小、极快、极可靠、极便宜, 集成电路和摩尔定律都建立在它之上。 [!question]- Q4. ENIAC 每两天坏一个真空管,根本原因是什么? 真空管靠烧红灯丝工作:发热大、灯丝寿命短。 这是"用发热实现开关"这条技术路线的固有缺陷,晶体管从原理上根除了它。 [!question]- Q5. 摩尔定律说的是什么?它现在还成立吗? 芯片晶体管数约每 18~24 个月翻一倍。 是行业经验不是物理定律;由于 3nm 已接近原子尺度(约 30 个原子宽), 漏电和散热问题使增速近年明显放缓——这也是"摩尔定律已死"争论的由来。
10. 下一步学什么
- [x] 编程是什么 —— 已写成 第 05 篇:指令怎么指挥你造的加法器
- [ ] 十六进制与负数表示 —— 颜色代码
#FF8800、内存地址,以及原码/反码/补码为什么长成那样 - [ ] 数据压缩原理 —— 哈夫曼、RLE,ZIP 到底做了什么
- [ ] 计算机五大部件 —— 加法器之外,一台完整电脑还需要什么
- [ ] 操作系统做什么 —— 这么多程序怎么排队用同一个 CPU
- [ ] 芯片是怎么造出来的 —— 光刻、晶圆、为什么只有几家公司能造
相关笔记
- 03 用电表示计算-计算机加法运算 ← 上一篇:门怎么搭出加法器(原理层)
- 02 信息的数字化表示
- 01 二进制原理入门
- 📇 计算机基础 · 索引
- 🏠 返回主页