手机,特别是智能手机的普及,其实就是最近十几年的事。现在我们的手机成了一个能让人沉浸其中的小世界,这都多亏了手机芯片。
每台手机里,都有一个个小芯片在不断地执行着各种指令。这靠的是芯片里很多称为晶体管的半导体元器件,这些晶体管通过不同的电路连接方式可以实现开关、电信号放大等多种功能。我们每一次操作手机,都有上百亿个晶体管在工作,让指尖大小的微型集成电路发挥出远超首台巨型计算机的能力。 集成电路(又称芯片)技术,不仅仅体现在手机中,大至工业制造、机械设备、物流运输,小至电视机、计算机、手机、智能家居产品,底层都有芯片技术支撑。随着5G、人工智能、物联网、自动驾驶、大数据、云计算、智慧城市等新兴领域的蓬勃发展,芯片将扮演更加重要的角色。 我们可能永远都不会自己设计芯片,但了解芯片设计仍然是一件有趣且很重要的的事情。 芯片与晶体管 芯片发展史可以追溯到半导体特性的发现,即半导体的导电能力会随着温度、光线、光照条件、输入电压和掺入杂质的不同而发生改变。在这一理论基础上,半导体点接触式晶体管诞生,带来了集成电路。 其后,随着芯片制作工艺的演进,人们得以将完整计算机的不同功能集成于一颗硅片,这种高度集成的集成电路芯片即 SoC (System on Chip,片上系统),一块芯片中包含了具备不同功能的集成电路模块,它们构成了一个完整的系统,使芯片功能大大增强。一块芯片中可能包含几类不同功能的集成电路。 在理论上我们都知道,用晶体管搭成特定的电路,就可以让电路访问由0和1组成的机器语言代码(指令),并且执行这些指令。虽然每个指令对应的功能都很简单,比如仅仅是把某个位置存储着的数据拷贝到另一个位置去,但多个指令执行下来,就能实现很复杂的功能。 在计算机图书中,我们可以学习到,高级语言如C语言代码,在真正被处理器运行时会转化为汇编代码,并最终形成二进制格式的目标代码文件。最终机器执行的程序只是一个字节序列,它是对一系列指令的编码,机器对产生这些指令的源代码几乎一无所知。 晦涩的芯片知识 在计算机专业课堂中,当需要设计实际能够工作的微处理器时,学生们会先学习怎么用晶体管组成数字电路的基本计算单元——逻辑门。 △与门、或门和非门 △非门的实际晶体管电路图 后续设计时,我们就不会再画出逻辑门的实际晶体管电路了。 将很多的逻辑门组合成一个网,就称为组合电路。比如下面就是一个简单的组合电路。 之后我们可以将具体的组合电路写成更抽象的表示图。 比如算术/逻辑单元(ALU),就是一种很重要的组合电路,下面是它的一个抽象的图示。电路有标号为A和B的两个数据输入,一个控制输入。根据控制输入的设置,电路会对数据输入执行不同的算术或逻辑操作。 早期的硬件设计者,就是通过纸和笔描绘示意性的逻辑电路图来进行电路设计的。比如设计一个最简单的、每个时钟周期中执行一条完整指令的顺序执行处理器时,就会画出下面这样的一个逻辑图。 现在我们已经不再直接描绘逻辑电路图来进行电路设计了,而是会使用硬件描述语言(Hardware Description Language,HDL)来描述硬件结构,如Verilog语言。之后可以根据HDL的描述生成有效的电路设计。 用晶体管设计出特定的电路已经很难了,而真正把大量的晶体管“放进”指甲盖大小的芯片里并用电路连接在一起,难度会更大。现代的芯片设计、制造、测试,已经变得非常复杂了。按照传统的方式来学习了解芯片的设计制造,以及芯片中各个功能模块是怎么配合完成工作,还是很不容易的。 好在,我们现在有了一本介绍芯片知识的科普漫画图书,书中,芯片知识由拟人化的“元器件”们徐徐道来,带领读者轻松了解“点沙成芯”的奥秘。