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

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

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

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

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

一、最底层:电的开和关

想象你面前有一根电线。

通电,我们记作 1

断电,我们记作 0

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

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

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

比如:

1
2
0
1

可以表示真假。

1
2
3
4
00
01
10
11

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

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

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

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

那么,处理信息靠什么?

靠逻辑门。

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

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

它的规则是:

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

这就是 与门

用逻辑表示就是:

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 从哪里读取指令?

答案是:内存。

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

每个格子里都存着一串 01

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

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

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

它们都是二进制。

比如:

1
01011001

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

它自己并不知道。

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

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

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

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

程序和数据统一存储。

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

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

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

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

程序可以处理程序。

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

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

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

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

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

同一台电脑:

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

硬件没有改变。

改变的只是内存里那一串串 01

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

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

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

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

1
int a = 1 + 2;

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

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

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

这个程序就是 编译器

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

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

也就是说:

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

这件事非常重要。

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

我们可以写 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:

请我喝杯咖啡吧~

支付宝
微信