出品:科普中国
制作:王智豪(中科院长春光机所)
监制:中国科学院计算机网络信息中心
中央处理器,简称CPU,是现在电子计算机的核心元件,也是信息时代最主要的器件之一。
从小的方面说,我们每天使用手机软件,以及在电脑上写方案、敲代码、制作PPT等所有计算机软件的计算,都需要CPU的计算;
从大的方面讲,航天飞船的制造需要CPU进行前期建模工作;发射时间、轨道、天气预测、燃料都需要CPU的模拟计算;发射后的实时追踪、内部调度及处理应急问题也都需要CPU精准的计算。
如天问号、祝融号、月兔号探测器,从着陆、巡视再到传回原始数据几乎都需要CPU运行机器进行自主操作。
可以说,21世纪,CPU在生活、工作及科学等方方面面都发挥了重要作用。
CPU(veer图库)
CPU的功能主要是处理计算机软件的数据,将人类的命令转化为机器语言,并对其他计算机中的设备,如内存、显卡、主板等提出命令。在整台计算系统中,它扮演“老板”的角色。
更形象地说,CPU就是人类的大脑,一切信息都需要它的参与或思考。
组成CPU的三大部门
CPU由三部分组成:运算器、控制器与寄存器。
运算器主要是负责执行任务,可以理解为“打工人”,它的任务是负责直接计算相关数据;
控制器类似于“领导”,任务就是针对不同的需要,给“员工”下达不同的命令;
寄存器则可以理解为控制器和运算器之间联络的小组,也可以理解成“秘书”,它的主要工作是协调控制器和运算器。
寄存器这个“部门”的事情非常繁琐,控制器会让它给运算器下达命令,运算器运算的数据太多,也会让寄存器暂时先寄存一部分。所以,当数据过多时候,寄存器忙不过来就只能暂时招收一些“临时工”——高速缓存。
在寄存器完成不了工作时候,就调用高速缓存来存储数据。当然临时工也会有等级:一级缓存、二级缓存和三级缓存。如果三缓也耗尽,那就交给CPU外的内存来缓存。
但是,如果内存也不够了怎么办呢?这时候,你的电脑就开始卡顿了,建议换一台电脑(狗头)。
CPU原理图(图片来源:作者自制)
在这个庞大的部门中,当然要制定相关的行为规范,让控制器能按照规则来下达命令。这一行为规范就是指令集。
不同设备的指令集可能会不一样。例如,我们的计算机用的就是复杂指令集x86,而手机处理器的指令集就是精简指令集ARM。这两种指令集最大的区别,就在于设计者考虑问题的方式。
举个简单的例子,比如命令一个人吃饭,我们应该怎么发布指令呢?
1、直接对他下达“吃饭”的命令。
2、命令他“先拿勺子,然后舀起一勺饭,然后张嘴,然后送到嘴里,最后咽下去”。
从这里可以看到,对于“命令人吃饭”这件事,可以复杂也可以简单。而如何训练那个人,则出现不同的理解。
有人认为,如果我首先给接受命令的人以足够的训练,让他掌握各种复杂技能(即在硬件中实现对应的复杂功能),那么以后就可以用非常简单的命令让他去做很复杂的事情——比如只要说一句“吃饭”,他就会吃饭,这就是“复杂指令集”的思路。
但是也有人认为这样会让事情变得太复杂,毕竟接受命令的人要做的事情很复杂,如果你这时候想让他吃菜,那还得再训练吃菜的技能。既然如此,我们为什么不把事情分为许多非常基本的步骤呢?
这样的话,虽然下达命令的人稍微累一点,但只需要接受命令的人懂得很少的基本技能,就可以完成同样的工作——比如现在我要他吃菜,只需要把刚刚吃饭命令里的“舀起一勺饭”改成“舀起一勺菜”,问题就解决了,多么简单。这就“精简指令集”的逻辑。
从利用这两种指令集的设备,我们就可以看出指令集的区别了。
首先是性能。ARM强在效率,在一些任务相对固定的应用场合,其优势就能发挥得淋漓尽致。而x86则在专业软件或者综合性工作方面,依然是“大哥”。
其次是扩展能力。手机方面,可能直到淘汰产品,我们都不会自行加装例如内存、存储等扩展设备,奉行的原则是够用就好。而计算机可以通过桥接方式扩展许多设备。
最后是功耗,X86的计算机性能强,但是功耗一直居高不下,随着摩尔定理逐渐失效,现在性能提高都是建立在功耗的基础上,动不动几百瓦的功率,是国家电网“长期战略合作伙伴”。ARM方的手机则大概只有几瓦的功耗,因此它更适于便携化与移动化。
至于与我们日常交互,也是开机就能看到的桌面则是操作系统,你可以理解为一种特殊的软件,主要发挥性能调度、管理文件、为上层软件提供服务与可视化操作的作用。
如何制作CPU
介绍完CPU,那你肯定想知道,这么复杂的元件需要如何制作呢?制作CPU的复杂程度将超乎你想象。
准备好了吗,接下来,笔者将带大家进入原子的世界,一个肉眼无法看到的世界。
制作CPU第一步是设计电路图,众所周知,CPU是超大规模的集成电路,合理的电路分布则是重中之重。因此,会由来自全球各地设计中心的专家合作设计CPU的晶圆电路,完成物理掩模板整体芯片设计。
下一步是制作硅晶。硅晶的原料就是沙子,经过一系列复杂的提纯会将沙子变成纯度高达99.9999%的单晶硅棒,再切成光滑的小薄片,晶圆就制作完成了,它上面将会刻蚀出集成电路。
杂质会对CPU质量造成严重的影响,因此制作晶圆的环境比手术室还要干净十万倍。
△原料及单晶硅棒(图片来源:https://www.intel.cn/content/www/cn/zh/silicon-innovations/22nm-technology-how-transistors-are-made-video.html?wapkw=The Making of a Chip – Intel)
接着我们就要在晶圆上刻上设计好的电路,用什么刻呢?普通刻刀远远达不到那样的精度,聪明的科学家想到了世界上最精细的刻刀——光。
在晶圆上均匀涂覆光刻胶,然后用紫外光将掩膜上的电路结构印在晶圆上,曝光的部分具有可溶性,可以被洗掉。再将晶圆表面未受保护的部分刻蚀掉,指甲盖大小的晶圆上就被刻上数十亿个晶体管。