这是有关CPU设计的系列文章中的第三篇。 在第一篇文章中,我们研究了计算机的体系结构,并从高层次上解释了它的操作。 第二篇文章讨论了芯片某些组件的设计和实现。 在第三部分中,我们将学习建筑设计和电路如何成为物理芯片。
如何将一堆沙子变成现代处理器? 让我们弄清楚。
第1部分:计算机体系结构基础知识 (指令集体系结构,缓存,管道,超线程)
第2部分:CPU设计过程 (电路,晶体管,逻辑元件,同步)
第3部分:芯片的布局和物理制造 (VLSI和硅制造)
第4部分:计算机体系结构中的当前趋势和重要的未来方向(加速器之海,三维集成,FPGA,近存储器计算)
如前所述,处理器和所有其他数字逻辑均由晶体管组成。 晶体管是一种电控开关,可以通过施加或断开栅极电压来接通和断开。 我们说过,晶体管有两种类型:当快门打开时,nMOS器件通过电流,而当快门关闭时,pMOS器件通过电流。 处理器的基本结构是由硅制成的晶体管。 硅是
半导体 ,因为它处于中间位置-它不能完全传导电流,但它不是绝缘体。
为了通过添加晶体管将硅片变成实用的电路,生产工程师使用了一种称为
掺杂的工艺。 掺杂是将精心选择的杂质添加到基础硅衬底以改变其导电性的过程。 目的是改变电子的行为,以便我们可以控制它们。 有两种类型的晶体管,因此有两种主要的掺杂类型。
在将切屑放入盒中之前制造板的过程。如果添加精确控制数量的电子供体元素(例如砷,锑或磷),则可以创建n型区域。 由于现在板上沉积有这些元素的区域具有过量的电子,因此它带负电。 从这里出现类型的名称(n-负)和nMOS中的字母“ n”。 通过向硅中添加硼,铟或镓等电子受体元素,我们可以创建一个带正电的p型区域。 p型和pMOS中的字母“ p”从这里出现(p-正)。 将这些杂质添加到硅中的具体过程称为
离子注入和
扩散 ; 我们将不在本文中考虑它们。
现在我们可以控制硅晶片各个部分的电导率,我们可以结合多个区域的特性来创建晶体管。 集成电路中使用的称为MOSFET(金属氧化物半导体场效应晶体管,MOS结构,金属氧化物导体结构)的晶体管具有四个连接。 我们控制的电流在源极和漏极之间流动。 在n沟道器件中,电流通常进入漏极并离开源极,而在p沟道器件中,电流通常从源极流出并离开漏极。 栅极是用于打开和关闭晶体管的开关。 最后,该设备具有一个晶体管主体(Body),不适用于处理器,因此我们将不考虑它。
硅中逆变器的物理结构。 不同颜色的区域具有不同的导电性。 请注意,不同的硅组件如何对应于右图。晶体管操作的技术细节和各个区域的相互作用是整个大学课程的内容,因此我们仅涉及基础知识。 他们工作的一个很好的比喻是在河上的吊桥。 汽车-晶体管中的电子-希望从河流的一侧流到另一侧,这是晶体管的源极和漏极。 以nMOS器件为例:当快门未充电时,吊桥升高,电子无法流过通道。 当我们降低桥梁时,我们在河上形成一条道路,汽车可以自由行驶。 晶体管中也会发生同样的事情。 给栅极充电会在源极和漏极之间形成一条通道,从而使电流流动。
为了精确控制硅上不同p和n区域的位置,诸如Intel和TSMC之类的制造商使用了一种称为
光刻的工艺。 这是一个极其复杂的多阶段过程,公司花费数十亿美元对其进行改进,以生产更小,更快和更节能的晶体管。 想象一下一个超高精度打印机,您可以使用它为每个区域绘制硅图案。
在芯片上制造晶体管的过程始于干净的硅晶片(基板)。 将其在烤箱中加热以在板表面上形成二氧化硅薄层。 然后,将光敏光致抗蚀剂聚合物施加到二氧化硅上。 通过用某些频率的光照射聚合物,我们可以在要进行合金化的区域中暴露聚合物。 这是光刻步骤,与打印机如何将墨水仅以较小的比例施加到页面的特定区域相似。
用氢氟酸蚀刻该板以在除去聚合物的位置溶解二氧化硅。 然后去除光致抗蚀剂,仅在其下方留下氧化物层。 现在,可以将掺杂离子施加到板上,仅在不存在氧化物的地方注入离子。
重复进行这种掩膜,形成和掺杂的过程数十次,以缓慢地在半导体中构建每一级的元件。 完成基础硅层后,您可以在顶部创建连接不同晶体管的金属化合物。 稍后,我们将更多地讨论这些化合物和金属化层。
当然,芯片制造商不会执行在一个之下的晶体管的制造过程。 设计新芯片时,它们会在制造过程的每个阶段生成掩膜。 这些掩模包含芯片中十亿个晶体管的每个元素的位置。 几个芯片被组合在一起,并在同一芯片上组合在一起。
在制造板之后,将其切成单个晶体,然后放置
在这种情况下。 每个板可包含数百个甚至更多的芯片。 通常,芯片制造的功能越强大,晶体将越大,制造商从每个板上得到的芯片越少。
您可能认为我们只需要生产具有数百个内核的超强大芯片,但这是不可能的。 当前,阻碍制造更大芯片的最严重因素是制造过程中的缺陷。 现代芯片包含数十亿个晶体管,如果一个晶体管的至少一部分坏了,那么整个芯片就可以扔掉。 随着处理器尺寸的增加,芯片故障的可能性也会增加。
公司仔细地隐藏了其芯片制造过程的生产率,但是大约可以估计为70-90%。 公司通常会以一定的利润来生产芯片,因为他们知道某些零件将无法工作。 例如,英特尔可能会设计一个8核芯片,但只能将其作为6核出售,因为它希望一个或两个核被破坏。 通常,低缺陷芯片通常以较高的价格出售。 此过程称为装
仓 。
与芯片制造相关的最严重的营销参数之一是元件的尺寸。 例如,英特尔正在掌握10纳米制程,AMD在某些GPU上使用7纳米制程,而台积电(TSMC)已开始研究5纳米制程。 但是所有这些数字是什么意思? 传统上,元件的尺寸称为晶体管的漏极和源极之间的最小距离。 在技术开发过程中,我们学会了减少晶体管,以便越来越多的晶体管可以安装在单个芯片上。 随着晶体管的减少,它们也变得越来越快。
查看这些数字,重要的是要记住,有些公司可能不是根据标准距离来确定制造过程的大小,而是根据其他值来确定。 这意味着在不同公司使用不同尺寸的工艺实际上可以导致创建相同尺寸的晶体管。 另一方面,并不是在单独的制造过程中所有晶体管都具有相同的尺寸。 为了折衷,设计人员可以决定使某些晶体管大于其他晶体管。 较小的晶体管会更快,因为它需要较少的时间对其快门进行充电和放电。 但是,小型晶体管只能控制非常少量的输出。 如果一块逻辑电路管理一些需要大量电源的事情,例如输出引脚,那么它将需要做更多的工作。 这样的输出晶体管可以比内部逻辑晶体管大几个数量级。
现代AMD Zen处理器的水晶镜头。 该设计由数十亿个晶体管组成。但是,晶体管的设计和制造仅是芯片的一半。 我们需要导体根据方案连接所有物体。 这些化合物是使用晶体管顶部的镀层创建的。 想象一下一个多级道路交叉口,其中有入口,出口和一堆相交的道路。 这恰好在芯片内部发生,只是规模小得多。 不同的处理器在晶体管上具有不同数量的金属键合层。 减少了晶体管,并且需要越来越多的金属化层来路由所有信号。 据悉,未来的5纳米TMSC工艺技术将使用15层。 想象一下一个15层的垂直路口-这将使您了解芯片内部布线的复杂程度。
下面的显微镜图像显示了由七个金属化层形成的网格。 每层都是平坦的,上升时,各层会变大以帮助减少阻力。 在各层之间有一个称为跳线的微小金属圆柱,用于将其移到更高的高度。 通常,每一层都相对于其下面的层改变方向,以减少不必要的电容。 奇怪的金属化层可用于创建水平接缝,甚至可用于垂直接缝。
您可以理解,快速管理所有这些信号和金属化层变得异常复杂。 为了帮助解决此问题,使用了自动定位并连接晶体管的计算机程序。 根据设计的复杂程度,程序甚至可以将高级C代码的功能转换为每个导体和晶体管的物理位置。 通常,芯片设计人员允许计算机自动生成大量设计,然后手动研究和优化各个关键部件。
当公司要创建新芯片时,他们将从芯片制造商提供的标准单元开始设计过程。 例如,英特尔或台积电为设计人员提供了诸如逻辑元件或存储单元之类的基本部件。 设计人员可以将这些标准单元组合到他们想要生产的任何芯片中。 然后将它们送到工厂-将原始硅转化为工作芯片的工厂-芯片晶体管和金属化层的电路。 这些电路变成掩模,其在上述制造过程中使用。 接下来,我们将看到一个非常简单的芯片的设计过程。
首先我们看到反相器电路,它是一个标准单元。 顶部的阴影绿色矩形是pMOS晶体管,而底部的透明绿色矩形是nMOS晶体管。 垂直的红色导体是多晶硅栅极,蓝色的区域是金属化层1,紫色的区域是金属化层2。输入A进入左侧,输出Y进入右侧。 电源和接地连接在金属化层2的顶部和底部进行。
结合几个逻辑元素,我们得到了一个简单的1位算术模块。 该设计可以通过两个1位输入进行加,减和执行逻辑运算。 向上的阴影蓝色导体是金属化层3。导体末端稍大的正方形是连接两层的跳线。
最后,将许多单元和大约2,000个晶体管结合在一起,我们得到了一个简单的4位处理器,在四个金属化层上具有8个字节的RAM。 看到它有多么复杂,您只能想象设计一个具有兆字节缓存,几个内核和20多个流水线级的64位处理器有多么困难。 鉴于现代高性能CPU具有多达500亿个晶体管和十二个金属化层,因此毫不夸张地说它们比我们的示例复杂了数百万倍。
这使我们理解了为什么新处理器是一项如此昂贵的技术,以及为什么AMD和Intel这么久以来一直在发布新产品。 为了使新芯片从绘图板投放市场,通常需要3-5年的时间。 这意味着最快的现代芯片是基于已经使用了几年的技术,并且多年来,我们不会看到具有现代制造技术水平的芯片。
在本系列的第四篇也是最后一篇文章中,我们将回到物理领域,并考虑行业的当前趋势。 研究人员正在开发什么以使下一代计算机更快?