如果我告诉你,你面前这台能刷视频、能玩3A大作、能跟你聊天对话的计算机,拆到底层其实只有两种状态:通电,和断电。
你会不会觉得我在开玩笑?
别着急反驳。
整个计算机文明的全部秘密,说穿了就这一句话:用电的通与断,模拟逻辑的真与假。剩下所有你看到的复杂功能,全都是这句话一步步推导出来的结果。
先从最基础的砖块说起。
你家里随便一个灯泡,按下开关就亮,再按就灭。
![]()
亮和灭,两种清晰可分的状态,这就是计算机世界最小的单位:一个比特(bit)。
我们给它起个名字,亮叫1,灭叫0。就
这么简单,没有别的含义,也没有多余的花样。
一个比特当然没什么用,就像一个灯泡只能亮灭,干不了别的。但如果我们把很多个比特拼在一起,再加上一点规则,事情就开始有意思了。
![]()
比如,我们把两根电线接到一个特殊的电路上,定下一条规矩:只有两根线都通电的时候,输出端才通电。
换句话说,两个输入都是1,输出才是1。这就是“与门”。
![]()
听起来玄乎,其实生活里到处都是:你家门上装了两把锁,你和室友各拿一把,必须两个人都用钥匙开门,门才能打开,这就是一个现实版的与门。
类似的基础门电路还有几种:两根线只要有一根通电就输出通电,这是“或门”,就像卧室的双控开关,按哪个都能开灯;输入通电反而输出断电,反过来的,这是“非门”,相当于按下去就关灯的开关。
就这三样:与、或、非。
听起来少得可怜对吧?但神奇的地方就在这:只用这三种简单的门电路,互相组合拼接,你就能拼出所有你能想到的逻辑运算。
其中最关键的一步,是拼出加法器。
很多人可能没想过,加法本质上就是一种逻辑操作。
我们用二进制来算:0加0等于0,0加1等于1,1加0等于1,1加1等于10(进位)。
就这四条规则,刚好能用与门和异或门的组合完美实现。
没错,就这么一堆开关,接来接去,居然就能算数了。
有了加法器,整个算术世界就都打开了。
减法怎么算?加上一个负数就行。
乘法?就是同一个数反复加很多次。
除法?就是反复减去同一个数,看能减多少次。
哪怕是开方、求对数这些复杂运算,拆到底层,全都是加法和一点点位操作的组合。
到这儿,我们其实造出了一个计算器。你按数字、按符号、按等号,它给你结果。
![]()
但计算器不是计算机。差在哪?
差在“能不能自己知道下一步该干嘛”。
计算器每一步都要等人按按钮,人告诉它做什么它才做什么。
但真正的计算机,可以自己把一整件事从头到尾做完,中间不用人插手。
这一步跨越,是整个计算机发展史里最关键的一跳。
怎么实现?
很简单,我们需要两个东西:一个地方专门存指令,一个东西专门按顺序读指令并执行。
存指令的地方,就是内存。
你可以把它想象成一整排密密麻麻的小开关,每一组开关都能记下一串0和1。这串0和1可以是一个数字,可以是一段文字,也可以是一条命令,比如“把两个数加起来”“把结果搬到某个位置”。
而负责读指令的,就是CPU里的控制单元。
它一辈子只干一件事,无限循环:从内存里取出下一条指令,翻译一下这条指令是让谁干活、干什么活,然后发出信号让对应的电路执行,执行完再取下一条。
就这么简单的循环,每秒能跑几十亿次。我们所有的软件,本质上都是在这个循环上跑起来的。
但真正让计算机从“专用计算工具”变成“万能通用机器”的,是一个乍看很普通、实则石破天惊的设计决策。
那就是:在内存里,指令和数据,长得一模一样。
同样一串二进制代码,比如01011001,你告诉CPU这是数据,它就拿去做加法;你告诉CPU这是指令,它就去执行对应的操作。
它们在物理上没有任何区别,没有任何标记告诉你这是命令还是数字,全看你用什么方式去解读它。
这意味着什么?
意味着程序可以自己改写自己。
一段正在运行的代码,可以一边运行,一边生成一串新的0和1,写进内存的某个位置,然后CPU跑到那个位置,直接执行这段刚刚才被创造出来的新代码。程序不再是一个写死的剧本,它可以在运行的过程中,修改自己的剧本。
这个架构,就是冯·诺依曼架构。
![]()
就这一个设计,直接让计算机从“只能干特定事情的机器”,变成了“可以模拟任何机器的机器”。
你现在用电脑打游戏,它就是游戏机;
用它看电影,它就是播放器;
用它写文档,它就是办公工具。
硬件还是那堆晶体管,一个都没换,变的只是内存里那串0和1。
换一串代码,同一台机器就变成了完全不同的东西。
这就是为什么一台电脑能干几乎所有事,不是因为它天生什么都会,而是因为它本质上什么都不会,只会机械地执行下一条指令。恰恰是这种“什么都不会”,反而让它变得万能。
顺着这个逻辑往下推,很多高大上的概念一下就落地了。
能不能写一个程序,专门把人类写的编程语言翻译成CPU能懂的机器码?
当然能,这就是编译器。
能不能写一个程序,让它模拟出另一台计算机的硬件环境,在里面跑另一个系统?能,这就是虚拟机。
能不能写一个程序,专门管理所有其他程序,分配CPU时间、分配内存、管理输入输出设备?能,这就是操作系统。
编译器、虚拟机、操作系统,这些听起来无比复杂的软件基石,拆到底全都是同一个事实的推论:指令和数据不分家。
一个1945年的设计决定,撑起了之后近八十年的整个软件文明。
最后我们来说说现在无处不在的人工智能。
![]()
其实AI领域从诞生之初,就有两条完全不同的路线。
一派认为,智能的本质是规则。人类把所有知识总结成一条条逻辑规则,写进程序里,机器自然就有智能了。
另一派认为,智能的本质是学习。不用手动写规则,只要搭建一个足够大的数学结构,喂给它足够多的数据,它自己就能从里面学到规律。
前一派主导了AI领域的前三十年,后一派一度几乎被赶出主流学术界。
但第二派的方法有一个特点:它极度依赖算力和数据量。
模型的参数越多,效果就越好,几乎没有上限。而刚好从半导体诞生以来,算力就在以指数级增长。摩尔定律下,每两年芯片上的晶体管数量翻一倍,五十年下来,算力翻了几十万倍。
第一派的规则派不吃算力,这波指数增长跟它们没关系;
但第二派,就像久旱的土地遇上了暴雨。
终于在某个时间点,算力追上了模型的胃口。
GPU让大规模并行矩阵运算成为可能,模型的参数量从几百万暴涨到几千亿。
然后最不可思议的事情发生了:当参数量突破某个临界点之后,模型突然展现出了很多从来没有被专门训练过的能力。
你明明只是训练它预测下一个字,它却突然会解数学题了,会写代码了,会一步步推理分析问题了。没有人能完美解释这种“涌现”到底是怎么发生的。
![]()
第二派赢了,不是因为他们的理论更正确,而是因为他们恰好站在了算力指数增长的这一边。
现在我们回头把整条链路串起来: 沙子炼成硅锭,硅片刻出晶体管,晶体管拼成逻辑门,逻辑门搭出加法器,加上内存和控制单元形成取指执行循环,因为指令与数据的统一诞生了通用计算机,在此之上长出了编译器、操作系统、各类软件,算力的指数增长又让神经网络从边缘理论变成了统治范式,最终诞生了能和你自然对话的AI。
从一粒沙子到一个会思考的模型,中间没有任何魔法,没有任何超自然的东西。
每一步都是上一步的必然延伸,每一层都是上一层的自然推论。
整个计算机文明,本质上就是人类用最朴素的“开和关”两种状态,一层一层垒起来的巴别塔。最基础、最笨拙的原理,最终长出了最复杂、最不可思议的结果。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.