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

存算一体——后摩尔时代的AI芯片架构[通俗易懂]存算一体,或存内计算,是指将传统冯诺依曼架构中以计算为中心的设计,转变为以数据存储为中心的设计,也就是利用存储器对数据进行运算,从而避免数据搬运产生的“存储墙”和“功耗墙”,极大提高数据的并行度和能量效率。这种架构特别适用于要求大算力、低功耗的终端设备,如可穿戴设备、移动设备、智能家居等。1.冯诺依曼架构的局限首先是性能。经典的冯诺依曼架构下,数据的存储和计算是分开的,处理器CPU存储器之间通过数据总线进行数据交换。但由于处理器和存储器的内部结构、工艺和封装不同,二者的性能也存在很大的差.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

1. 冯诺依曼架构的局限

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

 首先是性能。

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

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

其次是功耗。

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

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

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

2. 解决思路

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

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

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

(2) 近存储运算。

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

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

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

功耗对比

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

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

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

3. 存算一体芯片特性

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

存算一体——后摩尔时代的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.net/196483.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月26日 上午7:43
下一篇 2025年9月26日 上午8:22


相关推荐

  • 树莓派 gpio usb_树莓派gpio编程

    树莓派 gpio usb_树莓派gpio编程概览树莓派最令人兴奋的特点之一是它有一个GPIO连接器可以用来接其他的硬件设备。GPIO连接器实际上是由许多不同类型的接口组成的:真正的GPIO(GeneralPurposeInputOutput,通用输入/输出)针脚,你可以用来控制LED灯的开和关。I2C(Inter-IntegratedCircuit)接口针脚,使你能够仅使用2个控制针脚连接硬件模块。SPI(SerialPeriph…

    2022年10月14日
    4
  • Spark Streaming Join

    Spark Streaming Join多数据源Join思路多数据源Join大致有以下三种思路:数据源端Join,如Android/IOS客户端在上报用户行为数据时就获取并带上用户基础信息。计算引擎上Join,如用SparkStreaming、Flink做Join。结果端Join,如用HBase/ES做Join,Join键做Rowkey/_id,各字段分别写入列簇、列或field。三种思路各有优劣,使用时注意…

    2022年6月30日
    24
  • javasocket服务器

    javasocket服务器Javasockettc

    2026年3月18日
    1
  • 最详细完整的flex弹性布局

    最详细完整的flex弹性布局初了解在学习弹性布局之前首先就要明白其概念 flex 就是 flexiblebox 的缩写 意为弹性布局 用来为盒装模型提供最大的灵活性任何一个容器都可以指定为 flex 布局 box display flex 行内元素当然也可以使用 flex 布局 box display inline flex Webkit 内核的浏览器 必须加上 webkit 前缀 box display webkit flex Safari display flex

    2026年3月17日
    2
  • 开车旅行游戏_开车周游世界

    开车旅行游戏_开车周游世界题目链接这道题最基本的思路是用倍增,但是其实它的难点在预处理部分。倍增的部分此次就不细说了,和之前的最近公共祖先的思想类似。我们主要来探讨一下预处理的部分。我们需要预处理出每个城市小A和小B的选择目标和对应的距离,接下来就可以处理出进行2k轮开车的目的地和距离了。所以前者才是重中之重,而前者如果要用暴力的方法会tle的。有人可能会疑惑,我们找当前点的后面两三个不就可以了?为什么会tle呢?实际上并不是序号相差很远距离就很远,实际上有可能第一个城市和最后一个城市最近,可以举个例子,城市海拔如下:

    2022年8月22日
    11
  • centos mysql 1045 错误

    centos mysql 1045 错误1、停用MySQL服务:#/etc/rc.d/init.d/mysqldstop2、输入命令:#mysqld_safe–user=mysql–skip-grant-tables–skip-networking&3、登入数据库:#mysql-urootmysql4、mysql>usemysql; 结果如下:  Databasecha

    2022年5月10日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号