存算一体——后摩尔时代的AI芯片架构[通俗易懂]

2022-10-04 15:36:29 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

存算一体,或存内计算,是指将传统冯诺依曼架构中以计算为中心的设计,转变为以数据存储为中心的设计,也就是利用存储器对数据进行运算,从而避免数据搬运产生的“存储墙”和“功耗墙”,极大提高数据的并行度和能量效率。这种架构特别适用于要求大算力、低功耗的终端设备,如可穿戴设备、移动设备、智能家居等。

1. 冯诺依曼架构的局限

首先是性能。

经典的冯诺依曼架构下,数据的存储和计算是分开的,处理器CPU存储器之间通过数据总线进行数据交换。但由于处理器和存储器的内部结构、工艺和封装不同,二者的性能也存在很大的差别。从1980年开始,处理器和存储器的性能差距不断拉大,存储器的访问速度远远跟不上CPU的数据处理速度,这就在存储器和处理器之间行程了一道“存储墙”,严重制约了芯片的整体性能提升。

其次是功耗。

如前所述,由于处理器和存储器的分离,在处理数据的过程中,首先需要将数据从存储器通过总线搬运到处理器,处理完成后,再将数据搬运回存储器进行存储。数据在搬运过程中的能耗是浮点运算的4~1000倍。随着半导体工艺的进步,虽然总体功耗下降,但是数据搬运所占的功耗比越来越大。据研究显示,在7nm时代,访存功耗和通信功耗之和占据芯片总功耗的63%以上。

由于以上存储墙和功耗墙两种瓶颈的存在,传统的冯诺依曼架构已经不再适应以大数据计算为主的AIoT场景,对于新型计算架构的需求因此应运而生。

2. 解决思路

针对新型计算架构的设计,研究者们提出了多种解决方法,大体分为三类:

(1) 高速带宽数据通信,包括光互连、2D/3D堆叠。

高速带宽数据通信主要通过提高通信带宽缓解存储墙问题。光互连技术可以实现数据的高速传输,降低功耗。2.5D/3D堆叠技术是将多个芯片堆叠在一起,通过增大并行宽度或利用串行传输提升通信带宽。

(2) 近存储运算。

近存储计算的基本做法是将数据存储尽量靠近计算单元,从而降低数据搬运的延迟和功耗。目前,近存储运算的架构主要包括多级缓存架构和高密度片上存储。

(3) 存算一体,即存储器本身的算法嵌入。

存算一体或者存内计算的核心思想是,通过对存储器单元本身进行算法嵌入,使得计算可以在存储器单元内完成。

功耗对比

传统片外存储、近存储计算以及存内计算的功耗对比可参考下图:

图片来源:青源 LIVE 第 28 期 | 下一代AI芯片—存内计算的硬核与软着陆_哔哩哔哩_bilibili

3. 存算一体芯片特性

前面我们提到,存算一体的核心思想,是通过在存储单元本身进行算法嵌入,具体来说,主要就是将AI模型的权重数据存储在内存单元中,然后对内存的核心电路进行设计,使得数据流动的过程就是输入数据和权重在模拟域做点乘的过程,相当于实现输入的带权重累加,也就是卷积运算。由于卷积运算是深度学习算法的核心组成单元,因此存算一体非常适合深度学习。该架构彻底消除了访存延迟,并极大降低了功耗,是一种真正意义上的存储和计算的融合。同时,由于计算完全耦合于存储,因此可以开发更细粒度的并行性,获得更高的性能和能效。

图片来源:青源 LIVE 第 28 期 | 下一代AI芯片—存内计算的硬核与软着陆_哔哩哔哩_bilibili

4. 存算一体芯片现状

(1) 技术实现方式

根据存储期间的易失性分类,存算一体技术的实现方式大致可分为两种,

  • 基于易失性、现有工艺成熟的SRAM、DRAM实现;
  • 基于非易失性、新型存储器如相变存储器PCM、阻变存储器RRAM/忆阻器ReRAM、浮栅器件或闪存Flash来实现。

易失性存储器SRAM和DRAM工艺成熟,是目前商业化的主要存储器产品。因此,很多的厂商和研究机构开始基于SRAM和DRAM展开存内计算的研究。但由于目前存储器和处理器的制造工艺不同,尚不能在处理性能和存储容量之间取得一个良好的平衡。

非易失性存储器包括自旋矩磁存储器STTRAM、相变存储器PCM、阻变存储器RRAM等,这些存储器的研究在近十几年也取得了较快的发展,容量不断增大,且具有对计算和存储的天然融合性,研究者们也开始考虑基于非易失性存储器构建存算一体系统的可能性。但由于相应的厂商和工艺尚未成熟,距真正的商用还有一定的距离。

(2) 竞争格局

近几年,国内外涌现了多家存算一体初创企业。

国外比较有名的存算一体初创企业包括Mythic、Syntiant。另外,老牌巨头三星也基于HBM2 DRAM开发了其存算一体技术。

国内的企业更是百花齐放,包括知存科技(基于Flash)、闪亿半导体(基于忆阻器PLRAM)、新忆科技(基于RRAM)、恒烁半导体(基于NOR Flash)、后摩智能(研究方向包括SRAM/MRAM/RRAM)、九天睿芯(基于SRAM)等。另外,还有阿里平头哥(基于DRAM的3D键合堆叠)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196483.html原文链接:https://javaforall.cn

0 人点赞