CPU,在一块石头里面嵌入了计算的灵魂。
西游记里,石头里蹦出来秒天秒地的孙悟空,那是文学虚构。
现实中,让一块石头里面嵌入一颗计算的灵魂,却是人类掌握的真实魔法。
让机器学会计算,很早之前人类就在谋划。
从算盘,手摇计算器,制表机等等。
19世纪中期,英国有个叫查尔斯·巴贝奇的老哥,他脑子里就蹦出了个“分析机”。
这玩意儿,蒸汽驱动的,能编程!
虽然最后没完全造出来,但他的设计理念简直是“神预言”机器能“吞噬自己的尾巴”,说白了就是能根据计算结果自己调整下一步怎么走。
这就是程序里“if-else”的祖宗
他把CPU叫“磨坊”,内存叫“仓库”。
那尺寸,一个15英尺高,一个20英尺长,简直是巨无霸!
而且,他还想到了打印机、打孔卡片编程这些,跟咱们现在的电脑是不是有点像?
巴贝奇的分析机虽然牛,但真正给它“注入灵魂”的,是阿达·洛芙莱斯这位伯爵夫人。
她翻译了一篇关于分析机的文章,然后加了七篇长长的注释。
其中一篇,就写了怎么用分析机算伯努利数,这可是公认的第一个公开发表的计算机程序!
更牛的是,洛芙莱斯这姐们儿,眼光比巴贝奇还远。
巴贝奇觉得这机器就是个“算数机”,
但洛芙莱斯直接预言:这玩意儿不光能算数,还能处理音乐这种“非数字信息”!
她把这叫“诗意科学”,简直是把技术和艺术都玩明白了。
为了纪念她,美国国防部还专门搞了门编程语言,就叫“Ada”!
另外,英伟达在22年也出了一个GPU架构叫做Ada Lovelace,也是根据这姐们名字命名。
阿达·洛芙莱斯真正计算机领域的大女主,一代宗师。
到了1936年,英国数学家艾伦·图灵登场了。
他搞了个“a-machine”,后来被他导师命名为“图灵机”。这玩意儿,是个“理想化模型”,用数学语言描述了一个能进行任意计算的简单设备。
通过它,图灵证明了计算的普遍性质,也揭示了机械计算的“天花板”——比如那个著名的“停机问题”,就是算不出来的!
图灵机,就是CPU的“理想化模型”啊!
它用一个无限长的纸带,一个磁头,根据内部状态和当前符号来读写、移动。
别看它简单,但任何一台真电脑能算的问题,图灵机也能算!
这叫“图灵完备性”。
图灵的工作,不光给计算机科学奠定了基石,还顺带搞出了“图灵测试”,直接影响了人工智能的发展!
最后出场压轴出场的,匈牙利裔美国数学家约翰·冯·诺依曼,在1945年搞出了个“存储程序计算机”的概念,也就是咱们现在说的“冯·诺依曼架构”。
冯诺依曼架构
在这个架构里,CPU就是“大脑”,里面有算术逻辑单元(ALU)负责算数和逻辑,控制单元(CU)负责发号施令。
CPU从内存里一条条地取指令、执行指令,还有寄存器和高速缓存这些“小弟”帮忙提速。
现在,从超级计算机到你手里的智能手机,几乎所有现代电脑,都TM是冯·诺依曼架构的“徒子徒孙”!
以前的电脑,指令是“硬编码”在硬件里的,改功能就得动刀子。
冯·诺依曼牛就牛在,他把程序指令和数据都存在同一个内存里,这样一来,电脑就变得“万能”了,想干啥,换个程序就行!
所以说,CPU的“灵魂”是这些大佬们一点点“画”出来的。
巴贝奇画了个草图 ,图灵给草图定了规矩 ,洛芙莱斯给草图写了第一个“剧本” ,最后冯·诺依曼把草图变成了可执行的“施工图” 。
这是一场跨越世纪的“接力赛”!
CPU,就是这些抽象思想的物理化身,它证明了人类抽象思维的强大力量,能把最虚无缥缈的逻辑,变成最坚实可靠的硬件。
大型计算机出现了,是一个占据一间房间的庞然大物。
CPU还没有出现,它在等待一个机会。
如果说理论是CPU的灵魂,那工程就是它的肉身。
把那些天马行空的理论,变成指甲盖大小、能跑几十亿晶体管的玩意儿,这才是人类工程的真正巅峰!
故事得从1947年说起,贝尔实验室那仨哥们儿——肖克利、布拉顿、巴丁,搞出了晶体管 。
这玩意儿,比真空管小多了,还省电,发热也少,直接给电子设备“瘦身”打下了基础。
然后大家就开始琢磨,怎么把更多晶体管塞到一块硅片上。
1959年,德州仪器的基尔比搞出了第一个集成电路(IC),接着仙童半导体的诺伊斯也搞出来了 。
特别是光刻技术一出来,直接把电路图“刻”到硅片上,大规模生产瞬间就起飞了!
集成电路
1968年,诺伊斯、摩尔、格鲁夫这仨大佬从仙童出来,创办了Intel。
一开始他们是做内存芯片的 。
但转折点来了,
1969年,一家日本公司Busicom委托intel设计一系列应用于计算器的芯片。
因为这个任务,Intel的工程师霍夫脑洞大开:为啥不把CPU的所有逻辑电路都塞到一块芯片上呢?
这想法,直接催生了“微处理器”!
1971年1月,Intel团队真把这玩意儿造出来Intel 4004 !
4004的版图
这是第一款商用微处理器,虽然是为计算器设计的,但大家很快就意识到,这小东西能干的事儿可多了去了!
才过了五个月,1972年4月,Intel又推出了更强的8008 。
这可是世界上第一个8位可编程微处理器,晶体管数量比4004多了快一倍,时钟速度快了八倍,还能处理字符数据,应用范围一下就广了 。
8008
4004和8008一开始主要用在嵌入式控制上,但很快,各路大神就发现,用Intel的开发工具,居然能搭出简陋的个人电脑(PC)!
比如8008,就成了好几款早期PC的CPU 。
8008这芯片还没正式发布呢,就已经让英特尔看到了微处理器这门新生意的大好前景。
这8008能管16KB的内存,最高频率0.8 MHz,虽然现在听起来像“老古董”,
但在当时,它可是SCELBI、Micral N和MCM/70这些早期非计算器类个人电脑的“心脏” 。
在微处理器还没出世的时候,电脑那可是“庞然大物”,又贵又占地方,只有那些大公司、大学和政府机构才玩得起 。
而且,那时候的电脑都是“共享经济”的鼻祖,一台主机大家分着用,你得通过终端才能“摸”到它(有点云计算的祖宗的意思) 。
但微处理器这“芯片上的电脑”一出来,成本立马“跳水”,以前得好几块昂贵的电路板才能干的活儿,现在一个芯片就搞定了,这下可好,大规模生产成了可能 。
早期的个人电脑,那时候还叫“微型计算机”,大多是那种“DIY套件”,卖得不多,主要就是吸引那些技术宅和发烧友 。
比如1974年出来的MITS Altair电脑,用的就是英特尔8080微处理器,在爱好者圈子里挺火,但商业上嘛,就有点“小打小闹”了 。
那时候的个人电脑市场,简直就是个“战国时代”,各种稀奇古怪的非计算器类PC层出不穷。
这个由爱好者们“瞎折腾”的阶段,其实是个人电脑发展必不可少的“孵化器”。
1976年,史蒂夫·沃兹尼亚克和史蒂夫·乔布斯,在乔布斯家的车库里,捣鼓出了苹果电脑公司 。
他们最早的产品叫Apple I,在“家酿计算机俱乐部”里给那些技术大牛们展示 。
但真正让苹果“一飞冲天”,奠定江湖地位的,还得是后来的Apple II。
Apple II这台机器,广告词那叫一个响亮:“为普通人设计的非凡电脑” 。
它把电路板、键盘、电源都塞进了一个小巧的机箱里,还内置了BASIC语言,直接连电视就能当显示器,这用户体验,简直是“质的飞跃” 。
Apple II的成功,不光让苹果公司成了“明星企业”,也彻底把个人电脑送进了千家万户和办公室,从此开启了个人电脑时代。
而作为全球计算机界的老大,IBM却发现自己的市场份额“蹭蹭蹭”地往下掉。
从1970年的60%掉到1980年的32%,这很大程度上就是拜个人电脑的崛起所赐 。
面对这个新兴市场和日益增长的竞争,IBM这个“大象”级别的公司,必须得“跳起舞来”了 。
为了应对这场“危机”,IBM派出了菲利普·唐·埃斯特里奇,让他负责搞一套小型、基于微处理器的系统,直接跟苹果这些“小年轻”们掰手腕 。
埃斯特里奇这哥们儿,做出了一个在IBM看来简直是“离经叛道”的决定:他不用IBM自己家的东西,而是去外面买现成的组件,还搞了个“开放式架构”来造IBM PC。
这跟IBM那种啥都自己搞、啥都保密的传统做法,简直是“天壤之别” 。
IBM在给自己的个人电脑选处理器的时候,其实考虑过摩托罗拉68000和英特尔8086,但最后,他们“慧眼识珠”,选择了英特尔8088 。
为啥选8088?
一个主要原因就是它“便宜”。
到了1981年,Intel的8088(8008的后代)被IBM选中,成了IBM PC的核心。
IBM自己本来预测PC能卖25万台,结果呢?
他们“大错特错”!头两年,IBM就卖了200多万台PC,直接把苹果甩在了后面,成了全球最大的个人电脑制造商 。
从此,苹果和IBM兼容机的大战开始,进行了10年残酷的战争。
争夺个人计算时代的铁王座。
不过,最终故事里的两个主人公IBM和苹果,谁也没有赢得个人计算时代的王位。
反而,一个CPU的供应商Intel成了个人计算时代的王者 。
1965年,英特尔的戈登·摩尔发现了一个惊人的规律:集成电路上的晶体管数量,大约每两年翻一番 。这就是大名鼎鼎的“摩尔定律”!
它简直成了半导体行业的“自我实现预言”,推动着计算能力指数级增长。
CPU的设计和制造,简直是人类工程史上最复杂的壮举之一。
这不光是画图纸那么简单,还得精确采购原材料,造出专门的工具,然后把几十亿甚至上万亿个晶体管,一个不差地放到指甲盖大小的硅片上 。
哪怕一点点小失误,整个芯片就废了,得从头再来,那成本,那时间,想想都肉疼!
现在的CPU,晶体管数量简直是天文数字。
比如苹果M3 Ultra,1840亿个晶体管 ;
想想Intel 4004才2300个,
8008才3500个,这简直是坐火箭的速度!
这晶体管数量的爆炸式增长,主要靠的是光刻技术的不断进步 。
这技术就像用光在硅片上“雕刻”电路图案,精度高到能刻出几纳米的结构 。
一个芯片,可能要经历50次光刻循环才能完成。
晶体管的制造,那叫一个层层叠加。
先在硅片上挖“井”,再长出栅氧化层,然后铺上多晶硅或金属层做栅极。
通过光刻和蚀刻,精确定义栅极。接着用离子注入技术,在栅极两边形成源极和漏极 。
最后,一层层金属互连线(铜线、钨通孔)把这些微小的晶体管连接起来,形成一个复杂的三维电路 。
当然,CPU也不简单是晶体管的堆砌。
现代CPU之所以能这么快,
那是因为它内部藏着一套极其复杂的“武功秘籍”,
每微秒甚至每纳秒都在疯狂协同工作,把指令吞吐量榨到极致。
CPU就像个勤劳的打工人,不停地“取指-解码-执行” 。
为了提高效率,它学会了 流水线(Pipelining) ,就像工厂的流水线一样,同时处理指令的不同阶段,大大提高了效率。
但CPU跑得太快,内存跟不上怎么办?
CPU就给自己配了一套“记忆宫殿”——缓存层次结构(Cache Hierarchy) 。
L1、L2、L3,甚至L4,一层比一层大,一层比一层慢,但都比主内存快得多。
它把经常用的数据和指令提前放进这些“小金库”里,CPU就不用老跑去慢悠悠的主内存拿东西了,大大减少了等待时间 。
ZEN5的缓存结构
为了进一步压榨性能,现代CPU还玩起了“骚操作”——乱序执行(Out-of-Order Execution) 。
程序指令本来是一条条排队的,但CPU发现,有些指令虽然排在前面,但它需要的数据还没准备好,那我就先跳过去执行后面那些已经准备好的指令!
等前面的数据好了,再回来补上。
最后再把结果按顺序排好,保证程序逻辑没错。这就像一个聪明的老板,不会让员工闲着,谁有活儿谁先干!
还有个绝活叫分支预测(Branch Prediction) 。
程序里经常有“如果…就…否则…”这种分支判断。如果每次都等判断结果出来再决定走哪条路,那流水线就得停下来。
所以CPU就搞了个“预言家”——分支预测器,它会提前猜你要走哪条路,然后提前把那条路的指令先跑起来。
猜对了,血赚;猜错了,虽然得把跑错的指令扔掉重来,但总比傻等强!
流水线、缓存、乱序执行、分支预测,这些都是高度复杂的内部机制 。
它们让CPU不再是简单的晶体管堆砌,而是一个微架构设计的奇迹。
它能以我们无法想象的速度预测、优化和管理数据流,让复杂的软件跑得飞起。
虽然,摩尔定律曾经是芯片行业的“金科玉律”,
但现在它有点“跑不动”了,英雄迟暮 。
后摩尔时代,芯粒(Chiplet)架构成了香饽饽 。
简单说,就是把一个复杂的芯片,拆成好几个小芯片,单独制造,然后再封装到一起。
这“搭积木”的玩法好处多多:设计更灵活,扩展性更强,良率更高,制造也更简单,成本还能降下来 。
AMD的EPYC CPU就是这种“搭积木”的成功案例 。
EPYC
天下大势,分久必合,合久必分。
CPU从将所有部件(控制器,计算器,IO)集成在一起,到chiplet封装,一个命运的轮回。
从巴贝奇的“超前构想” ,到洛芙莱斯的“程序首秀” ,再到图灵的“计算哲学” ,以及冯·诺依曼的“架构蓝图” ,这些理论大佬们,给CPU打下了最坚实的智力基础。
在工程上,从晶体管的“横空出世” ,到Intel 4004和8008开启的“微处理器时代” ,再到摩尔定律驱动的“疯狂内卷” ,
无不展现了人类在微观世界里“雕刻宇宙”的逆天能力。
纳米级制造的极致精度 、几十亿晶体管 ,以及流水线、缓存、乱序执行、分支预测,多核这些“神操作” ,将CPU送上了人造物的巅峰。