我们用的手机电脑最重要的部分就是里面的芯片,本文试图讲讲芯片从设计到制造出来的过程。水平有限,将就看吧。
任何产品都是为了满足需求,芯片也是如此,首先我们要知道为啥需要芯片。一台计算机要工作需要软件和硬件的协同合作,硬件包括芯片和一大堆外设,我们只关注芯片部分,可以认为软件就是直接运行在芯片之上的。我们一般写的程序都是使用高级语言,再由编译器帮助我们生成计算机可以理解的机器语言,那么芯片的需求就是要能读懂我们喂给它的机器指令。一般我们需要的指令有算术逻辑、控制等,指令越丰富功能越多,芯片越复杂,我们想要做的任何事都可以由最基本的指令组合完成。那么我们就可以抛开那些上层软件直接关注指令层面的东西,指令的集合就是指令集,它是软件开发人员与芯片的接口,开发者无需知道芯片是怎么做出来的,只要知道指令集就能控制芯片工作了。芯片设计的第一步就是设计指令集,这当然是根据软件的需求设计出来的。
有了指令集,但是芯片怎么才能实现指令操作呢,这就需要知道芯片的几个基本组成部分。作为计算机的鼻祖,冯诺依曼将计算机分成运算、控制、存储、输入、输出。再具体一点就是指令读取、译码、执行、访存、写回这几个微操作。计算机循环往复的执行这几个操作就可以执行程序了。一条指令包含操作码和操作数,通过上述几个微操作指令集就可以跟计算机的逻辑硬件对应起来了。当然计算机发展到今天已经相当复杂,远不止上面那几个微操作,这里以最基本最简单的方式呈现。指令集的设计机器微架构的设计就是通常所说的IP设计,主要的厂商有Arm、MIPS等,产品有Arm的cortex系列。
怎么将微操作转换成硬件呢。这是一个从逻辑设计到电路设计的过程。我们知道组成芯片最基本的零件是晶体管,但是光有晶体管是没有任何作用的,必须要组成具有逻辑功能的电路,其中最基本的逻辑电路一般称为门电路,包括与或非三种,由这三种基本的逻辑门就可以组合出复杂的有实际功能的基本元器件,比如加法器、移位器、比较器等,芯片运行中的各种微操作就可以通过一系列的逻辑电路实现。于是我们可以先将微操作表示为各种逻辑门的形式,再转换为电路形式,最后是物理设计,即将电路设计转换为集成电路的物理布局图,这张图可以给晶圆厂生产芯片。这一部分一般被称作IC设计,主要的厂商有高通、华为海思、联发科等。
有了芯片设计的物理版图,晶圆厂就可以直接拿来生产具体的芯片。晶圆厂的工作就是将设计出来的芯片制造出实物。这个过程技术含量应该是最高的,也是最烧钱的。当前技术最强的公司当属台积电。晶圆其实就是圆柱形的单晶硅,首先切片,再将由集成电路版图制作成的掩膜覆盖在切片上,用光刻机照射,这样在切片上就会留下不同的印记,再经过化学方法加深印记,电路就会在切片上蚀刻出来,再拿去封装测试,可用的芯片就制造出来了。