从一粒沙子到人工智能:计算机到底是怎么工作的

如果用一句话概括计算机的全部原理,那就是:

用电的开和关,模拟逻辑的真和假。

听起来很简单,甚至有点粗糙。但现代计算机、操作系统、编译器、虚拟机,甚至今天的人工智能,本质上都是从这个简单事实一层一层堆出来的。

计算机世界最神奇的地方不在于它一开始就很复杂,而在于它用极其简单的规则,构造出了极其复杂的系统。

一、最底层:电的开和关

想象你面前有一根电线。

通电,我们记作 1。

断电,我们记作 0。

这就是计算机里最小的信息单位:bit,比特。

一个 bit 本身几乎什么也做不了。它就像一个灯泡,只能亮或者灭。

但是,如果我们把很多个 bit 组合起来,事情就开始变得有意思了。

比如:

1
2
0
1

可以表示真假。

1
2
3
4
00
01
10
11

两个 bit 可以表示四种状态。

8 个 bit 可以表示 256 种状态,也就是一个字节。

于是,数字、字母、图片、声音、视频,最终都可以被编码成一串串 0 和 1。

但光有 0 和 1 还不够。计算机不只是存储信息,它还要处理信息。

那么,处理信息靠什么?

靠逻辑门。

二、逻辑门:用电路表达逻辑

假设有一个电路,它有两个输入,一个输出。

它的规则是:

只有两个输入都通电时,输出才通电。

这就是 与门。

用逻辑表示就是:

1
2
3
4
1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0

类似的基本逻辑门还有:

  • 或门:只要有一个输入是 1,输出就是 1
  • 非门:输入是 1,输出就是 0;输入是 0,输出就是 1
  • 异或门:两个输入不同,输出为 1;相同则为 0

这些门看起来很简单,但它们是计算机世界的积木。

只要把这些逻辑门组合起来,就可以构造出更复杂的电路。

其中最关键的一种电路,叫做 加法器。

三、加法器:计算能力的起点

二进制加法的规则很简单:

1
2
3
4
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10

最后一个 1 + 1 = 10 的意思是:

当前位结果是 0,向高位进 1。

这个过程可以用逻辑门实现。

比如:

  • 当前位的结果,可以用异或门得到
  • 是否产生进位,可以用与门得到

也就是说,我们可以用电路搭出一个真正能做加法的机器。

一旦有了加法,很多事情就可以继续推导出来:

  • 减法可以看作加负数
  • 乘法可以看作反复加法
  • 除法可以看作反复减法
  • 比较大小可以通过减法判断结果
  • 位运算可以直接通过逻辑门完成

所以,从某种意义上说:

有了加法,计算机就拥有了计算的基础。

但此时我们得到的还只是一个计算器。

计算器和计算机之间,还差一个关键能力。

四、计算器和计算机的区别

计算器需要人来按按钮。

你按 1 + 1 =,它才计算 1 + 1。

你按 5 × 8 =,它才计算 5 × 8。

也就是说,计算器本身不会决定下一步该做什么。

而计算机不同。

计算机可以自己从内存里读取指令,然后自己执行。

这就是计算机真正强大的地方。

它不只是能计算,它还能自动执行一系列计算步骤。

这个过程可以概括为三个动作:

1
取指令 → 解码 → 执行

CPU 一生都在做这件事。

每秒几十亿次。

五、CPU 到底在干什么?

CPU 可以粗略分成几个部分:

  • 控制单元
  • 算术逻辑单元
  • 寄存器
  • 缓存
  • 总线接口

其中最核心的是两个部分:

1. 算术逻辑单元

算术逻辑单元,也就是 ALU,负责真正的计算。

比如:

  • 加法
  • 减法
  • 与运算
  • 或运算
  • 异或运算
  • 比较大小

它就是前面那些逻辑门和加法器的高级组合。

2. 控制单元

控制单元负责指挥。

它会从内存里读取一条指令,然后判断这条指令是什么意思。

比如某条指令可能表示:

1
2
3
4
把内存 A 里的数字取出来
把内存 B 里的数字取出来
相加
把结果存回内存 C

CPU 不断重复这个过程:

1
2
3
4
读取指令
理解指令
执行指令
读取下一条指令

这就是所谓的 取指-译码-执行循环。

计算机所有复杂行为,本质上都是这个循环高速重复的结果。

六、内存:存放数据,也存放指令

现在问题来了。

CPU 从哪里读取指令?

答案是:内存。

内存可以理解为一大片格子。

每个格子里都存着一串 0 和 1。

这些 0 和 1 可以是数字,可以是文字,可以是图片,也可以是 CPU 要执行的指令。

这里出现了计算机历史上极其重要的一点:

指令和数据,在内存里长得一模一样。

它们都是二进制。

比如:

1
01011001

这串东西到底是一个数字,还是一个字符,还是一条 CPU 指令?

它自己并不知道。

关键在于:CPU 如何解释它。

如果 CPU 把它当成数字,它就是数字。

如果 CPU 把它当成指令,它就是指令。

这就是冯·诺依曼架构最重要的思想之一:

程序和数据统一存储。

七、冯·诺依曼架构:现代计算机的灵魂

在冯·诺依曼架构里,程序和数据都放在内存中。

CPU 按照程序计数器指向的位置,一条一条读取指令并执行。

这带来了一个非常深远的结果:

程序可以处理程序。

一段程序可以读取另一段程序。

一段程序可以生成另一段程序。

一段程序甚至可以修改自己。

这意味着计算机不再是一台固定功能的机器。

它变成了一台可以通过更换程序来改变用途的通用机器。

同一台电脑:

  • 装上浏览器,它就能上网
  • 装上游戏,它就能娱乐
  • 装上编译器,它就能写程序
  • 装上虚拟机,它就能模拟另一台计算机
  • 装上操作系统,它就能管理其他程序

硬件没有改变。

改变的只是内存里那一串串 0 和 1。

这就是现代计算机最根本的力量。

八、编译器:程序生成程序

既然程序本身也是数据,那么我们就可以写一个程序,让它去处理另一段程序。

比如,人类写的代码是这样的:

1
int a = 1 + 2;

CPU 并不能直接理解这句话。

CPU 只能理解机器指令,也就是二进制。

于是我们需要一个程序,把人类能读懂的代码翻译成 CPU 能执行的机器码。

这个程序就是 编译器。

编译器本质上也是一个普通程序。

它读取文本,分析语法,理解结构,然后生成另一批二进制指令。

也就是说:

编译器是一个生产程序的程序。

这件事非常重要。

因为有了编译器,人类就不需要直接面对 0 和 1 了。

我们可以写 C、C++、Java、Go、Rust、Python,再由编译器或解释器转换成机器能够执行的形式。

软件文明由此开始膨胀。

九、操作系统:管理所有程序的程序

如果计算机只能一次运行一个程序,那还不够好用。

我们需要同时打开浏览器、编辑器、音乐播放器、终端和聊天软件。

问题是:

CPU 到底先执行谁?

内存怎么分配?

硬盘谁来读写?

键盘输入给哪个程序?

网络数据交给谁?

这些事情都需要一个总管。

这个总管就是 操作系统。

操作系统也是程序。

只不过它是一个特殊的程序,负责管理其他程序。

它主要做几件事:

  • 管理 CPU 时间
  • 管理内存
  • 管理文件系统
  • 管理输入输出设备
  • 管理进程和线程
  • 提供系统调用接口

应用程序不能直接随便操作硬件。

它们需要请求操作系统,由操作系统统一调度。

所以,我们平时写程序,很多时候并不是在直接控制硬件,而是在调用操作系统提供的能力。

比如读文件、开网络连接、创建进程,本质上都是在请求操作系统帮忙。

十、虚拟机:用程序模拟另一台计算机

既然程序可以处理程序,那还能做一件更离谱的事:

写一个程序,假装自己是一台计算机。

这就是虚拟机。

虚拟机可以模拟 CPU、内存、硬盘、网卡等硬件设备。

真实硬件上运行着一个操作系统。

操作系统里运行着一个虚拟机程序。

虚拟机程序里面又运行着另一个操作系统。

这听起来像套娃,但原理仍然没有变:

CPU 执行程序。

程序模拟硬件。

被模拟出来的硬件继续执行另一个程序。

这就是为什么我们可以在一台电脑上运行多个系统。

也是为什么云计算可以把一台大型服务器切分成很多台虚拟服务器。

十一、从晶体管到软件文明

现在我们把链路重新串起来:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
电的开关
↓
0 和 1
↓
逻辑门
↓
加法器
↓
算术逻辑单元
↓
CPU
↓
内存
↓
取指令、解码、执行
↓
程序和数据统一存储
↓
编译器
↓
操作系统
↓
虚拟机
↓
现代软件生态

看起来复杂,但每一层都是建立在上一层之上的。

没有魔法。

只有抽象。

所谓计算机科学,很大程度上就是不断把底层复杂性封装起来,然后在更高一层继续构建新的系统。

底层是电路。

上一层是指令。

再上一层是汇编。

再上一层是高级语言。

再上一层是操作系统 API。

再上一层是框架、应用、服务和人工智能。

每一层都隐藏了下面的细节,让人类可以处理更复杂的问题。

十二、人工智能也是这条链路的延续

最后再看人工智能。

人工智能看起来像是另一个世界。

模型、神经网络、参数、训练、推理、涌现能力,这些概念听起来和逻辑门、CPU、内存相距很远。

但从本质上说,AI 仍然运行在同一套计算机体系之上。

神经网络的核心运算是什么?

大量矩阵乘法。

矩阵乘法又是什么?

大量乘法和加法。

乘法和加法又是什么?

逻辑门组合出来的电路操作。

所以,即使是今天的大语言模型,归根结底也没有脱离那条链路:

1
晶体管 → 逻辑门 → 加法器 → CPU/GPU → 矩阵运算 → 神经网络 → 大语言模型

AI 的特殊之处在于,它不是靠人类手写规则来完成任务,而是通过大量数据和计算,调整模型内部的参数。

以前的很多人工智能系统依赖人工规则。

人告诉机器:

1
2
如果出现 A,就执行 B
如果出现 C,就执行 D

但现代神经网络不是这样。

它更像是通过海量样本自己学出一种复杂的映射关系。

你给它输入,它给你输出。

中间的规律不是人类逐条写进去的,而是在训练过程中逐渐形成的。

十三、为什么算力改变了一切?

神经网络并不是最近才出现的东西。

它的思想已经存在了很久。

但早期神经网络并不强,因为它需要巨大的数据和算力。

过去的计算机不够快,数据也不够多。

所以很长一段时间里,基于规则的方法更受欢迎。

后来事情变了。

CPU 越来越快。

GPU 被用于通用计算。

互联网积累了海量数据。

分布式计算和云计算降低了训练大模型的门槛。

于是神经网络终于等到了适合自己的时代。

尤其是 GPU,非常适合做矩阵运算。

而神经网络训练和推理中最核心的计算,正是大规模矩阵运算。

当模型参数从几百万增长到几十亿、几百亿、几千亿时,一些过去不明显的能力开始出现。

比如:

  • 语言理解
  • 代码生成
  • 数学推理
  • 多轮对话
  • 工具调用
  • 多模态理解

这些能力看起来像是突然“涌现”出来的。

但它们仍然建立在最底层的二进制计算之上。

十四、计算机的本质:用简单规则堆出复杂世界

回头看整条路径:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
沙子
↓
硅
↓
晶体管
↓
逻辑门
↓
加法器
↓
CPU
↓
内存
↓
指令执行循环
↓
程序
↓
编译器
↓
操作系统
↓
虚拟机
↓
互联网
↓
云计算
↓
神经网络
↓
人工智能

从一粒沙子,到一个可以和人类对话的 AI,中间没有任何一步需要神秘力量。

每一步都是工程上的组合、抽象和放大。

计算机并不真正“懂”文字。

它只是处理数字。

计算机也不真正“懂”图片。

它只是处理像素矩阵。

计算机甚至不真正“懂”程序。

它只是按照规则读取指令、解码指令、执行指令。

但当这些简单操作以极高速度、极大规模运行时,复杂性就出现了。

这就是计算机最迷人的地方。

它的底层极其笨拙:

1
2
3
开,关。
1,0。
是,否。

但它的上层极其宏大:

1
2
3
4
5
6
操作系统
互联网
游戏
搜索引擎
云计算
人工智能

整个计算机文明,就是人类用最简单的开关,一层一层搭出来的巴别塔。

结语

计算机的原理并不神秘。

它不是一开始就拥有智能,也不是天生就会处理复杂任务。

它只是从最简单的电信号开始:

1
2
通电是 1
断电是 0

然后人类用逻辑门构造运算,用内存保存状态,用 CPU 执行指令,用操作系统管理资源,用编译器生产程序,用网络连接世界,最后用海量算力训练出了今天的人工智能。

所以,计算机真正伟大的地方,不是它底层有多聪明。

恰恰相反。

它的底层极其简单,但人类用抽象把这种简单堆成了一个复杂世界。

从开关到 AI,这就是计算机的故事。


参考:能从底层解释一下计算机的原理吗? - sum哈哈的回答 - 知乎

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2015-2026 Kaisar
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信