搜索
 找回密码
 立即注册

简单一步 , 微信登陆

More Than Moore之升维革命

作者:芯片制程趋势 | 时间:2022-2-26 20:59:41 | 阅读:2399| 只看该作者 只看大图
本帖最后由 芯片制程趋势 于 2022-2-26 21:00 编辑

摩尔定律在几十年间是半导体行业发展的纲领。摩尔定律指出半导体工艺特征尺寸每18个月缩小一半的升级速度能够很好地平衡工艺升级的收益与风险。随着特征尺寸缩小,拥有相同晶体管数目的芯片的生产成本大大降低,而且同时晶体管的性能也随着特征尺寸缩小而提升。这使得半导体厂商有动力去不断缩小特征尺寸。处理器芯片是从摩尔定律受益最大的芯片,每一次工艺制程进化都会极大地提升处理器芯片的性能,如今我们手里使用iphone的处理器性能已经相当于30年前的超级计算机Cray-2,但iphone的功耗仅仅相当于Cray-2的十万分之一。

在2005年前,PC处理器性能提升的方法是提升主频。处理器中使用流水线(pipeline)技术处理指令,在理想的情况下每一个时钟周期都能完成一条指令。随着工艺特征尺寸缩小,晶体管性能提升,处理器可以工作在更高的主频,因此处理器的性能突飞猛进。在30年间,PC处理器的时钟频率大约每三年便提升一倍,但是这种简单粗暴的模式到2005年左右遇到了瓶颈。第一个问题是过高的功耗,因为处理器内的数字逻辑晶体管每次充放电都需要消耗一定的能量。随着时钟频率快速提升,晶体管充放电频率也随之增长,处理器功耗飞快地攀升,随之而来的是散热问题,一块手指甲大小的处理器竟然能散发100W的功率!第二个问题是内存瓶颈。为了能工作在3.6 GHz,处理器引入了深度流水线(>30级),相当于把一条指令分解成很多个子任务,而流水线的每一级都完成自己的子任务。举例来说,我们可以把本来需要n个周期才能完成的指令分解成n个子任务并且分配给n级流水线。在理想情况下,流水线的每一级每一个时钟周期都能完成一件子任务(如图1)。如果任务源源不断地输入流水线且流水线没有停顿,那么平均流水线完成n条指令只需要n个周期。如果不使用流水线,那么完成n条指令需要 n^2 个时钟周期!由此可见使用流水线在理想情况下可以大大地提升处理器的处理效率。举个例子,使用流水线执行5条指令,5条指令耗时5个周期,加上初始化用来填满流水线的4个周期,总共耗时9个周期,如果不使用流水线时执行这样的5条指令,就需要25个时钟周期。

Intel当时认为,随着摩尔定律的发展,晶体管速度越来越快,使用这种流水线架构可以把CPU的时钟频率提高到10GHz。可惜的是,流水线架构仅仅是在理想情况下能带来这样的性能提升。在实际情况中,流水线往往会出现停顿(Stall)。引起流水线停顿的原因很多,其中读取内存是最重要的原因之一。由于访问内存的所需要的时间相对于处理器时钟周期来说非常长(访问DRAM的时间在30ns左右,大约是处理器时钟周期的一百倍,如果是访问虚拟内存在硬盘上内容大约要到毫秒级别,大约是处理器周期的一百万倍),一旦流水线中的某个任务需要读取内存的数据时,整条流水线都必须停下来等待(图2)。所以对于需要频繁访问内存的程序,它的执行速度实际上是由内存访问速度决定的。这样内存就成为了整个计算机系统速度的瓶颈。这样的情况下,处理器再按照摩尔定律的规律继续暴力提升时钟频率变成了一件吃力不讨好的事情,功耗大幅提升,但是整体计算机性能没有提升太多。在意识到这个问题之后,Intel不再坚持高频时钟+深度流水线架构,而是开始使用中等频率时钟+多核结构。事实证明,这种结构相对于深度流水线结构有更好的能效比,即实现相同的性能所需的功耗小许多。然而内存瓶颈问题并没有随着使用多核架构而完全解决。
流水线停顿

目前内存访问速度主要有两个相关指标。其一是访问延迟,其二是带宽。访问延迟是指处理器从发出读取内存指令到真正得到数据所需要的时间,带宽则是指处理器与内存间数据交换速度可以有多快。访问延迟是由内存器件的本身性质决定的。目前主内存的主流解决方案是DRAM。DRAM的本质是把数据存储在电容里。DRAM可以实现相当高的存储密度,但是数据读取需要比较长的时间,而且需要定期刷新数据。这就使得DRAM的延迟比较大。另外,出于经济学原因,DRAM的进化重心是更高的密度而非更快的速度,因此随着时间推移处理器和内存速度之间的差距只会越来越大。

处理器与内存速度对比

既然DRAM的器件本质决定了内存访问延迟很难改进,工程师努力的方向变成了充分利用内存带宽。假设内存访问延迟是30 ns,那么如果处理器需要从内存读取1个字节的数据需要等待30 ns。但是如果内存的带宽够大可以在一个时钟周期内输出8个字节的数据,那么理论上可以做到读取8个字节数据和1个字节数据的延迟是一样的都是30 ns。换言之,读取每字节的平均延迟不再是30 ns而是3.75 ns。如果内存带宽够大,计算机架构上可以使用一些技巧去遮盖(hide)内存延迟,比如在等待内存数据的时候处理器先去执行其他不需要读取内存的指令,这样整个程序的执行速度受到内存延迟的影响就被大大减小。然而,如果大量指令都需要读取内存而内存的带宽又很小,就会导致指令需要排队读取内存。这样一来那些用来遮盖内存读取延迟的不需要读取内存的指令很快就执行完了,于是内存延迟无法再被遮盖,流水线只好老老实实停下来等待内存读取。内存带宽的重要性在多核架构成为主流的今天尤其重要,因为多个处理器核心会同时向内存发出读取数据的要求,如果内存带宽不足以满足这些要求那么处理器就不得不停下来等待内存。另一个内存带宽特别重要的场合是显卡,因为显卡的大量图形渲染运算都需要从显存中读取数据,所以显卡的内存接口标准(GDDR)与处理器的内存接口标准(DDR/LPDDR)还不一样,就是为了满足显卡对内存带宽的要求。

随着核心数目上升,处理器主要是被内存带宽而非内存访问延迟所限制。显卡使用的是数据级平行架构,核心数可达数十个,因此带宽对显卡而言更加重要。

那么内存带宽的限制到底在哪里呢?说出来不那么高大上,其实主要限制是印刷电路板(PCB)线宽。PCB主板的标准最小线宽从十年前就是3 mil(大约75 um),到今天还是3 mil,几乎没有进步!毕竟,PCB板这里是摩尔定律管不到的地方。由于PCB线宽都没变化,所以处理器和内存之间的连线密度也保持不变。换句话说,在处理器和内存封装大小不大变的情况下,处理器和内存之间的连线数量不会显著变化。而内存的带宽等于内存接口位宽 乘以 内存接口操作频率 。 内存输出位宽等于处理器和内存之间的连线数量,在十年间受到PCB板工艺的限制一直是64bit没有发生变化。所以想提升内存带宽只有提高内存接口操作频率。在2000年左右推出的第一代DDR内存接口标准中,内存接口位宽是64bit,而接口操作频率是100 MHz。目前最新的DDR4标准定义的内存接口位宽仍然是64bit,但是接口操作频率为1200 MHz,相对15年前提升了12倍。这里可以看到半导体芯片技术发展和PCB技术发展速度的差异:内存接口操作频率由半导体晶体管速度决定,在15年间提升了12倍,而内存接口位宽由PCB最小线宽决定,在15年间没有发生任何变化!到了今天,提升内存接口操作频率也变得越来越困难,因为在接口操作频率很高时,PCB走线上会出现各种非理想因素(例如信号衰减,信号反射以及各种传输线效应)。为了保证处理器与内存接口之间的信号质量,必须在接口电路中使用各种电路技术(例如使用均衡器equalizer),于是总体功耗又会变大。到了今天,即使使用在手机的低功耗版内存接口LPDDR4的功耗已经达到了600mW左右,而使用在PC的DDR4更是会消耗1.5W的功耗。这是一个非常大的功耗!另一方面,设计高速接口的难度也随着频率上升而加大,设计和制造成本也上升。最关键的是,这种提升带宽的方式目前看来已经不能持续太久,因为PCB走线上能传输的信号速度是有限的!为了能多快好省地提升内存接口带宽,各大内存公司想要绕开PCB线宽的限制而增加内存接口位宽,具体方法就是使用先进封装技术。

技嘉的主板,PCB布线非常复杂,然而PCB最小线宽在十几年间几乎没有变化


先进封装技术如何解决内存瓶颈

先进封装技术的思路是:把处理器芯片和内存芯片集成到同一个封装内,使用封装内的走线而非PCB走线来实现处理器与内存之间的互联。由于封装内走线的密度可以远远高于PCB的走线密度,因此内存的接口位宽可以远远大于64bit。这样即使内存接口操作在比较低的频率,内存接口带宽也可以远远大于DDR系列标准所能实现的带宽。另外,由于封装内走线的长度(小于1 cm)远远小于PCB上的走线长度(可达5-10 cm),用于先进封装的处理器-内存接口电路的设计比起用于PCB走线的版本简单许多。综合这两个因素,使用先进封装的内存接口可以实现远高于DDR系列标准的带宽而且大大减小功耗。

目前最常见的先进封装技术包括3D和2.5D技术。3DIC技术指把多块芯片堆叠在一起,使用TSV(through silicon via,芯片间通孔)实现芯片间的互联,并把最底层的芯片通过基底(substrate)焊接到PCB。3DIC把芯片间互联的二维结构直接提升到了三维,芯片间的走线不再是在水平方向而是在垂直方向,于是极大地提升了单位面积的互联密度。内存接口的输出位宽可以由DDR标准的64bit增加到512bit甚至1024bit,内存带宽也相应增加。另外,由于3DIC中芯片间的连线变短,互连上的信号速度可以比PCB上的信号速度更快。3DIC技术还可以通过增加堆叠芯片的数量来增加内存带宽。目前3DIC可以实现的内存带宽还有很大的潜力可以挖,所以比起已经接近极限的PCB互联技术,3DIC互联是一项可以长期发展演进(scalable)的技术。
三星的产品中使用的3DIC 技术

最后,3DIC可以实现异质集成(heterogeneous integration),即把各种使用不同工艺制造的芯片集成在同一封装内。在过去,芯片公司通常会把尽可能多的模块(包括数字模块,模拟/射频模块以及混合信号模块)集成到同一块大芯片上,这样模块间可以在同一块芯片上方便地实现高位宽(比如128bit)互联。这样的大芯片即片上系统(System-on-chip, SoC)。然而,随着半导体工艺的进化,目前高端数字工艺(例如16nm FinFET)并不适合实现模拟和射频模块。首先,高端工艺的额定电源电压很低,模拟/射频模块设计非常困难。其次,高端工艺的掩模制造成本非常高,而模拟/射频模块的晶体管密度远低于数字模块,这样使用高端工艺制造模拟/射频模块非常昂贵。这样看来,使用高端工艺集成数字模块和模拟/射频模块在同一块芯片上的SoC其实非常难以设计而且成本很高。现在有了3DIC技术,可以用高端数字模块来实现数字模块,而用比较成熟的工艺来实现模拟/射频模块并且用TSV实现不同模块间的高速互联。这样在同一个封装内集成多个不同模块芯片的系统称之为封装内系统(System-in-Package, SiP)。

3DIC目前的成本仍然较高,于是台积电TSMC推出了2.5D封装技术。2.5D封装技术把不同的芯片集成在同一块硅载板(silicon interposer)上,并使用载板上的走线实现互联。由于载板上可实现的走线线宽(1 μm)远远小于PCB走线线宽(75 μm),因此内存接口位宽也可以做到很高,同时也可以实现异质集成。相对于3DIC技术,2.5D封装成本较低,但是由于不能使用芯片堆叠,因此同样的SiP系统使用2.5D技术的封装要比使用3D技术的封装尺寸要大。另外3DIC技术可以通过堆叠更多芯片来增加带宽,而2.5D技术则不行。

3DIC和2.5D技术比较

现在,主流的高级封装标准包括:
-- 三星主推的Wide-IO标准
-- AMD,NVIDIA和海力士主推的HBM标准
-- 美光主推HMC技术
-- TSMC主推的CoWoS和InFO技术

Wide-IO技术目前已经到了第二代,可以实现最多512bit的内存接口位宽,内存接口操作频率最高可达1GHz,总的内存带宽可达68 GBps,是最先进的DDR4接口带宽(34 GBps)的两倍。Wide-IO在内存接口操作频率并不高,其主要目标市场是要求低功耗的移动设备。

使用Wide-IO标准的处理器-内存堆叠结构

HBM(High-Bandwidth Memory,高带宽内存)标准主要针对显卡市场,它的接口操作频率和带宽要高于Wide-IO技术,当然功耗也会更高。HBM使用3DIC技术把多块内存芯片堆叠在一起,并使用2.5D技术把堆叠内存芯片和GPU在载板上实现互联。目前AMD在2015年推出的FIJI旗舰显卡首先使用HBM标准,显存带宽可达512 GBps,而显卡霸主Nvidia也紧追其后,在2016年Pascal显卡中预期使用HBM标准实现1 TBps的显存带宽。

AMD和Nvidia使用HBM标准实现超高显存带宽

HMC(Hybrid Memory Cube)标准由美光主推,目标市场是高端服务器市场,尤其是针对多处理器架构。HMC使用堆叠的DRAM芯片实现更大的内存带宽。另外HMC通过3DIC异质集成技术把内存控制器(memory controller)集成到DRAM堆叠封装里。以往内存控制器都做在处理器里,所以在高端服务器里,当需要使用大量内存模块时,内存控制器的设计非常复杂。现在把内存控制器集成到内存模块内,则内存控制器的设计就大大地简化了。最后,HMC使用高速串行接口(SerDes)来实现高速接口,适合处理器和内存距离较远的情况(例如处理器和内存在两张不同的PCB板上)。相较而言,Wide-IO和HBM都要求处理器和内存在同一个封装内。

HMC内存架构


Wide-IO, HMC, HBM及DDR标准比较

CoWoS(Chip-on-Wafer-on-Substrate)和InFO(Integrated Fan Out)是台积电推出的 2.5D封装技术,称为晶圆级封装。台积电的2.5D封装技术把芯片封装到硅载片上,并使用硅载片上的高密度走线进行互联。CoWoS针对高端市场,连线数量和封装尺寸都比较大。InFO针对性价比市场,封装尺寸较小,连线数量也比较少。目前InFO技术已经得到业界认可,苹果在iPhone7中使用的A10处理器即将采用InFO技术。

InFO和CoWoS技术
随着晶体管特征尺寸缩小越来越困难,我们必须找到更聪明的方法来提升系统的性能。随着系统越来越大,芯片间通讯所需的带宽也越来越高,芯片互联带宽成为亟需解决的问题。互联先进封装技术正是目前最热门的解决互联带宽的方向之一。相信在不远的未来我们就能看到更多在封装以及互联方面的创新。我们也会时刻关注业界在这方面的动向,及时深度解读最新动态。

结语

随着晶体管特征尺寸缩小越来越困难,我们必须找到更聪明的方法来提升系统的性能。随着系统越来越大,芯片间通讯所需的带宽也越来越高,芯片互联带宽成为亟需解决的问题。互联先进封装技术正是目前最热门的解决互联带宽的方向之一。相信在不远的未来我们就能看到更多在封装以及互联方面的创新。我们也会时刻关注业界在这方面的动向,及时深度解读最新动态。

收藏
收藏0
分享
分享
点赞
点赞4
反对
反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版