Files
test-repo/docs/zh-cn/appendix/1-computer-fundamentals/transistor-to-cpu.md
T
sanbuphy 6098908eee feat(docs): add interactive demos and complete content for development tools
- Add Vue components for interactive demos (SSH auth, regex, env vars, ports)
- Complete markdown content for SSH, regex, environment variables, and ports
- Remove placeholder "待实现" sections and replace with detailed guides
- Add visual explanations for key concepts like ports and localhost
- Include practical examples and troubleshooting tips
- Add component for showing evolution from transistors to CPU
- Improve documentation structure and navigation
- Add security best practices for API keys and environment variables
2026-02-21 10:04:47 +08:00

9.7 KiB
Raw Blame History

从晶体管到 CPU

::: tip 核心问题 计算机是怎么"思考"的? 你可能知道 CPU 是电脑的"大脑",但这个大脑到底是怎么工作的?它怎么从一堆金属和塑料变成能执行程序、处理数据的智能设备?本章带你从最底层的晶体管开始,一步步理解 CPU 的构造原理。 :::


0. 全景图:从沙子到智能

现代计算机的"思考"能力,归根结底来自于一个简单的东西:开关

想象你有一个开关,可以控制灯的亮灭。现在,如果你有几十亿个这样的开关,并且能用它们组合出各种复杂的逻辑,会发生什么?这就是计算机的奥秘。

从沙子到智能的层次结构:

层级 名称 数量级 作用 类比
1 晶体管 数十亿 最基本的开关单元 一个开关
2 逻辑门 数亿 实现基本逻辑运算 开关组合
3 功能单元 数百 实现特定功能(加法、存储等) 功能模块
4 CPU 核心 1-128 完整的处理器 大脑

::: tip 逐行解读这张表 第1层(晶体管):这是最底层的"开关"。现代 CPU 使用的是 MOSFET(金属氧化物半导体场效应晶体管),它的特点是:给栅极加电压,源极和漏极之间就导通;不加电压,就断开。这就是"用电控制电"的开关。

第2层(逻辑门):把晶体管组合起来,就能实现"与"、"或"、"非"等逻辑运算。比如 AND 门:两个输入都为 1 时输出才为 1。这就像两个串联的开关,必须都按下灯才会亮。

第3层(功能单元):把逻辑门组合起来,就能实现更复杂的功能。加法器能做加法,寄存器能存储数据,多路选择器能选择数据。这些是 CPU 的"器官"。

第4层(CPU 核心):把功能单元组合起来,加上控制器、总线等,就形成了一个完整的 CPU 核心。它能取指令、解码、执行、写回结果——这就是"计算"的全部过程。 :::


1. 晶体管:数字世界的开关

1.1 什么是晶体管?

::: tip 晶体管是什么? 晶体管(Transistor 是一种半导体器件,它可以像开关一样控制电流的通断。

生活类比:想象一个水龙头:

  • 水龙头:你用手拧开关,控制水流
  • 晶体管:用电压控制开关,控制电流

关键区别是:晶体管不是用手拧,而是用"电"来控制。这意味着一个开关可以控制另一个开关,从而实现"自动控制"。 :::

晶体管的三个极:

名称 作用 类比
源极 (Source) 电流入口 电流从这里进入 水管入口
漏极 (Drain) 电流出口 电流从这里流出 水管出口
栅极 (Gate) 控制端 控制是否导通 水龙头开关

1.2 晶体管如何表示 0 和 1

计算机只认识 0 和 1,这和晶体管有什么关系?

::: tip 用电压表示 0 和 1 核心思想:用电压的高低来表示 0 和 1。

  • 高电压(如 3.3V:表示 1
  • 低电压(如 0V:表示 0

这就像灯泡的亮和灭:

  • 灯亮 = 1
  • 灯灭 = 0

晶体管的作用就是"控制灯泡的亮灭"——给栅极加高电压,源极和漏极导通,"灯泡"亮了(输出 1);给栅极低电压,源极和漏极断开,"灯泡"灭了(输出 0)。 :::

1.3 从一个开关到几十亿

你可能好奇:一个开关能做什么?答案是:一个开关做不了什么,但几十亿个开关组合起来,就能做任何计算。

现代 CPU 的晶体管数量:

年份 CPU 晶体管数量 制程工艺
1971 Intel 4004 2,300 10μm
1993 Intel Pentium 310万 0.8μm
2006 Intel Core 2 2.91亿 65nm
2020 Apple M1 160亿 5nm
2023 Apple M3 Max 920亿 3nm

::: tip 什么是制程工艺? 制程工艺(如 5nm、3nm)指的是晶体管的尺寸。数字越小,晶体管越小,同样面积能容纳的晶体管越多。

  • 5nm:大约是 50 个原子的宽度
  • 3nm:大约是 30 个原子的宽度

制程越小,CPU 性能越强、功耗越低。但制造难度也指数级增加。 :::


2. 逻辑门:用开关做运算

2.1 从晶体管到逻辑门

一个晶体管只是一个开关,但把多个晶体管组合起来,就能实现"逻辑运算"。

2.2 基本逻辑门详解

AND 门(与门)

  • 规则:两个输入都为 1,输出才为 1
  • 生活类比:串联的两个开关,必须都按下灯才亮
  • 应用:判断"多个条件是否同时满足"

OR 门(或门)

  • 规则:任一个输入为 1,输出就为 1
  • 生活类比:并联的两个开关,按任意一个灯就亮
  • 应用:判断"是否满足任一条件"

NOT 门(非门)

  • 规则:输入和输出相反
  • 生活类比:反相器,开变关、关变开
  • 应用:取反操作

XOR 门(异或门)

  • 规则:两个输入不同时输出 1
  • 生活类比:判断"两个值是否不同"
  • 应用:比较、加法运算

2.3 用逻辑门做加法

::: tip 💡 加法器是怎么工作的? 半加器:处理两个 1 位二进制数相加

  • 输入:A、B(各 1 位)
  • 输出:和(S)、进位(C
  • 公式:S = A XOR BC = A AND B

全加器:处理两个 1 位二进制数相加,加上上一位的进位

  • 输入:A、B、Cin(进位输入)
  • 输出:和(S)、Cout(进位输出)

多位加法器:把多个全加器级联起来

  • 第 1 位加法器的进位输出,连接到第 2 位加法器的进位输入
  • 就像我们手算加法时"逢二进一" :::

3. 功能单元:逻辑门的组合

3.1 常见功能单元

单元 功能 组成 类比
加法器 做加法 多个全加器级联 计算器的加法功能
多路选择器 选择数据 AND 门 + OR 门 多选一开关
译码器 解码指令 多个 AND 门 翻译器
寄存器 存储数据 触发器(锁存器) 临时笔记本
计数器 计数 触发器级联 计分牌

3.2 寄存器:存储 1 位数据

::: tip 💡 寄存器是怎么存储数据的? 寄存器使用触发器电路来存储数据。触发器的特点是:一旦设置了状态,就能保持住,直到下一次改变。

生活类比:想象一个跷跷板:

  • 推一下左边,左边就沉下去,右边翘起来
  • 即使你松手,跷跷板也会保持这个状态
  • 只有再推一下,才会改变状态

触发器就是这样的"电子跷跷板",能"记住"上一次被设置的状态。 :::


4. CPU 架构:从功能单元到处理器

4.1 CPU 的核心组件

4.2 CPU 是如何执行指令的?

CPU 执行一条指令,需要经过四个阶段:

阶段 名称 做什么 类比
1 取指 (Fetch) 从内存读取指令 从书架上取书
2 解码 (Decode) 分析指令要做什么 阅读书的内容
3 执行 (Execute) 执行运算 按书中的指示行动
4 写回 (Write Back) 把结果存回寄存器 把结果记在笔记本上

::: tip 💡 指令周期 这四个阶段组成一个指令周期。CPU 不断重复这个周期,一条一条执行指令,就实现了"计算"。

现代 CPU 使用流水线技术,让多个指令的不同阶段并行执行:

  • 第 1 条指令在执行时
  • 第 2 条指令在解码
  • 第 3 条指令在取指

这就像工厂流水线,大大提高了效率。 :::

4.3 CPU 性能的关键指标

指标 含义 影响 典型值
主频 每秒执行多少个时钟周期 主频越高,执行越快 3-5 GHz
核心数 独立的处理器数量 核心越多,并行能力越强 4-64 核
缓存 CPU 内部的高速存储 缓存越大,访问内存越少 8-64 MB
指令集 CPU 能理解的指令集合 决定兼容性和功能 x86、ARM

5. 总结:从沙子到智能

让我们回顾一下从晶体管到 CPU 的完整路径:

::: tip 核心启示 计算机的本质是"开关的组合"

  • 一个开关做不了什么
  • 但几十亿个开关,按特定方式组合,就能执行任何计算
  • 这就是"量变引起质变"的最好例证

理解这一点,你就会明白:

  • 为什么计算机只认识 0 和 1
  • 为什么编程语言最终都要翻译成机器码
  • 为什么算法效率如此重要(因为每一步操作都需要大量晶体管参与) :::

延伸阅读

  • 计算机组成原理:深入了解 CPU、内存、I/O 的工作原理
  • 数字电路:学习逻辑门、触发器、时序电路的设计
  • 计算机体系结构:研究 CPU 的性能优化、流水线、缓存等
  • 汇编语言:直接和 CPU 对话,理解指令执行过程