0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于下一代计算的新范式分析

半导体科技评论 来源:djl 2019-08-29 11:21 次阅读

最近,内存内计算成了热门关键词。今年早些时候,IBM发布了基于相变内存(PCM)的内存内计算,在此之后基于Flash内存内计算的初创公司Mythic获得了来自软银领投的高达4000万美元的B轮融资,而在中国,初创公司知存科技也在做内存内计算的尝试。本文将对内存内计算的原理以及其市场前景做一些分析。

冯诺伊曼架构之痛

冯诺伊曼架构是计算机的经典架构,同时也是目前计算机以及处理器芯片的主流架构。在冯诺伊曼架构中,计算/处理单元与内存是两个完全分离的单元:计算/处理单元根据指令从内存中读取数据,在计算/处理单元中完成计算/处理,并存回内存。

关于下一代计算的新范式分析

冯诺伊曼架构是经典的计算机体系架构,也构成了过去近一个世纪的计算机科学的基础。然而,冯诺伊曼架构在构建之初只是一个理论模型,在建立该模型时做了一个合理的假设就是处理器和内存的速度很接近。当然,冯诺伊曼在当时没有办法预测到未来集成电路发展对于计算机造成的深远变化。计算机处理器的性能随着摩尔定律高速发展,其性能随着晶体管特征尺寸的缩小而直接提升,因此在过去数十年中其性能提升可谓是天翻地覆,现在一颗手机中处理器的性能已经比30年前超级计算机中的处理器还要强。另一方面,计算机的主要内存使用的是DRAM方案,DRAM是基于电容充放电实现的高密度存储方案,其性能(速度)取决于两方面,即内存中电容充放电的读取/写入速度以及DRAM与处理器之间的接口带宽。DRAM电容充放电的读取/写入速度随着摩尔定律有一定提升,但是速度并不如处理器这么快,另一方面DRAM与处理器之间的接口属于混合信号电路,其带宽提升速度主要是受到PCB板上走线的信号完整性所限制,因此从摩尔定律晶体管尺寸缩小所获得的益处并不大。这也造成了DRAM的性能提升速度远远慢于处理器速度,目前DRAM的性能已经成为了整体计算机性能的一个重要瓶颈,即所谓阻碍性能提升的“内存墙”。

关于下一代计算的新范式分析

除了性能之外,内存对于能效比的限制也成了传统冯诺伊曼体系计算机的一个瓶颈。这个瓶颈在人工智能应用快速普及的今天尤其显著。这一代人工智能基于的是神经网络模型,而神经网络模型的一个重要特点就是计算量大,而且计算过程中涉及到的数据量也很大,使用传统冯诺伊曼架构会需要频繁读写内存。目前的DRAM一次读写32bit数据消耗的能量比起32bit数据计算消耗的能量要大两到三个数量级,因此成为了总体计算设备中的能效比瓶颈。如果想让人工智能应用也走入对于能效比有严格要求的移动端和嵌入式设备以实现“人工智能无处不在”,那么内存访问瓶颈就是一个不得不解决的问题。

关于下一代计算的新范式分析

内存内计算的原理

为了解决“内存墙”问题,一个最近得到越来越多关注的思路就是做内存内计算。2018年的国际固态半导体会议(ISSCC,全球最顶尖的芯片设计会议,发表最领先的芯片设计成果,称为“芯片界的奥林匹克”)有专门一个议程,其中的论文全部讨论内存内计算;到了2019年,根据最新发布的ISSCC 2019预览,也有5篇关于内存内计算的论文,不过分散在不同的议程中。内存计算的主要改进就是把计算嵌入到内存里面去,这样内存就不仅仅是一个存储器,还是一个计算器。这样一来,在存储/读取数据的时候就同时完成了运算,因此大大减少了计算过程中的数据存取的耗费。

关于下一代计算的新范式分析

内存内计算现在还处于探索阶段,有很多种具体实现方式。举一个ISSCC 2018年论文中的例子。这个内存内计算的电路由MIT的研究组提出,主要用途是加速卷积计算。我们知道,卷积计算可以展开成带权重的累加计算,从另一个角度来看其实就是多个数的加权平均。因此,该电路实现的就是电荷域的加权平均,其中权重(1-bit)储存在SRAM中,输入数据(7-bit数字信号)经过DAC成为模拟信号,而根据SRAM中的对应权重,DAC的输出在模拟域被乘以1或者-1,然后在模拟域做平均,最后由ADC读出成为数字信号。具体来说,由于乘法的权重是1-bit(1或-1),因此可以简单地用一个开关加差分线来控制,如果是权重是1就让差分线一边的电容充电到DAC输出值,反之则让差分线另一边充到这个值。平均也很简单,几条差分线简单地连到一起就是在电荷域做了平均了。

关于下一代计算的新范式分析

当然,内存内计算的电路并不止于一种,其计算的精度也并不限于1-bit计算。但是,从以上的例子我们可以看出内存内计算的核心思想,一般是把计算都转化为带权重加和计算,把权重存在内存单元中,然后在内存的核心电路(如读出电路)上做修改,从而让读出的过程就是输入数据和权重在模拟域做点乘的过程,相当于实现了输入的带权重累加,即卷积。因为卷积是人工智能以及其他计算的核心组成部分,因此内存内计算可以被广泛使用在这类应用中。内存内计算会使用模拟电路做计算,这也是它和传统使用数字逻辑做计算的不同之处。

内存内计算的两大推动力以及市场前景

人们十几年之前就认识到了“内存墙”的问题,但是为什么内存内计算在这两年才火起来呢?我们认为,最近内存内计算兴起的背后有两大动力。

第一个动力是基于神经网络的人工智能的兴起,尤其是人工智能希望能普及到移动端和嵌入式设备中,这样能效比很高的内存内计算就获得了关注。另外,神经网络的一个特点是对于计算精度的误差拥有较高的容忍度,因此内存内计算的模拟计算中引入的误差往往可以被神经网络所接受,也可以说内存内计算和人工智能(尤其是嵌入式人工智能)可谓是天作之合。

第二个动力是新的存储器。对于内存内计算来说,存储器的特性往往决定了内存内计算的效率,因此当带有新特性的存储器出现时,往往会带动内存内计算的发展。举例来说,最近很火的ReRAM使用电阻调制来实现数据存储,因此每一位的读出使用的是电流信号而非传统的电荷信号。这样一来,由于电流做累加运算是非常自然而然的操作(把几路电流直接组合在一起就实现了电流的加和,甚至无需额外电路),因此ReRAM非常适合内存内计算,也确实有不少研究组已经在做相关的研究并发表了论文。从存储器推广的角度,新的存储器也愿意搭上人工智能的风潮,因此新存储器厂商也乐于看到有人做基于自家存储器的内存内计算加速人工智能,也会帮助一起推广内存内计算。

因为内存内计算的两大推力是人工智能和新存储器,因此我们看到的新存储器产品在人工智能和新存储器这两个关键词上至少会有一个,也有不少内存内计算项目会同时横跨两个关键词。

内存内计算的芯片产品预计会有两种形式。第一种形式是作为一种带有计算功能的存储器IP出售。这样的带内存内计算功能的存储器IP可能是传统的SRAM,也可能是eFlash,ReRAM,MRAM,PCM这样的新存储器。这样的存储器IP往往是一家做内存内计算的公司和一家做存储器的公司(如TSMC或SMIC)联合做推广。

第二种形式是直接做基于内存内计算的人工智能加速芯片。例如Mythic就计划流片做基于Flash存储器的PCIe加速卡,通过PCIe接口和主CPU通信,Mythic的内存芯片上存储了权重数据,这样当数据送到Mythic的IPU上后就可以直接读出计算结果。这样一来就省去了权重数据的读取开销。

关于下一代计算的新范式分析

那么内存内计算对于人工智能芯片市场会有什么影响呢?首先,我们看到内存内计算本质上会使用模拟计算,因此其计算精度会受到模拟计算低信噪比的影响,通常精度上限在8bit左右,而且只能做定点数计算,难以做浮点数计算。所以,需要高计算精度的人工智能训练市场并不适合内存内计算,换句话说内存内计算的主战场是在人工智能推理市场。即使在人工智能推理市场,由于精度的限制,内存内计算对于精度要求较高的边缘服务器计算等市场也并不适合,而更适合嵌入式人工智能等对于能效比有高要求而对于精确度有一定容忍的市场。此外,内存内计算其实最适合本来就需要大存储器的场合。举例来说,Flash在IoT等场景中本来就一定需要,那么如果能让这块Flash加上内存内计算的特性就相当合适,而在那些本来存储器并不是非常重要的场合,为了引入内存内计算而加上一块大内存就未必合适。基于这样的分析,我们认为内存内计算有望成为未来嵌入式人工智能(如智能IoT)的重要组成部分。

结语

随着人工智能和新存储器的兴起,内存内计算也成为了新的热点。内存内计算利用存储器的独特特性,结合模拟计算直接在存储器中完成计算,从而大大减少人工智能计算中的内存读写操作。由于内存内计算的精度受到模拟计算的限制,因此它最适合追求能效比且能接受一定精确度损失的嵌入式人工智能应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4963

    文章

    18160

    浏览量

    286539
  • 内存
    +关注

    关注

    8

    文章

    2737

    浏览量

    72614
  • 人工智能
    +关注

    关注

    1773

    文章

    43368

    浏览量

    230134
收藏 人收藏

    评论

    相关推荐

    谁是DRAM的替代者?下一代DRAM,关注什么?

    长期以来,人们一直期望持久内存会带来计算范式的转变,但这不太可能很快发生。
    的头像 发表于 02-25 15:59 374次阅读
    谁是DRAM的替代者?<b class='flag-5'>下一代</b>DRAM,关注什么?

    有奖问卷 | 下一代开发工具,由你定义!

    我们正在进行一项关于下一代开发者体验的研究,旨在深入了解和优化未来的开发工作流程和工具。在全部数据回收后, 将抽取一定比例的开发者获得50元京东卡 ,请您在问卷最后准确留下您的联系方式,以便兑奖
    的头像 发表于 12-15 15:50 165次阅读

    适用于下一代大功率应用的XHP™2封装

    适用于下一代大功率应用的XHP™2封装
    的头像 发表于 11-29 17:04 301次阅读
    适用于<b class='flag-5'>下一代</b>大功率应用的XHP™2封装

    瑞萨公布下一代oC和MCU计划

    瑞萨还分享了即将推出的下一代R-Car产品家族两款MCU产品规划:一款为全新跨界MCU系列,旨在为下一代汽车E/E架构中的域和区域电子控制单元(ECU)打造所需的高性能,这款产品将缩小传统MCU与先进R-Car SoC间的性能差距
    发表于 11-09 10:49 174次阅读
    瑞萨公布<b class='flag-5'>下一代</b>oC和MCU计划

    高通下一代智能PC计算平台名称确定:骁龙X系列

    骁龙X系列平台基于高通在CPU、GPU和NPU异构计算架构领域的多年经验打造。目前,采用下一代定制高通Oryon CPU的骁龙X系列将实现性能和能效的显著提升,此外其所搭载的NPU将面向生成式AI新时代提供加速的终端侧用户体验。
    的头像 发表于 10-11 11:31 395次阅读

    全域 Serverless 化,华为云引领下一代计算范式

    近日,华为开发者大会 2023(Cloud)在东莞成功举办,期间“全域 Serverless 化,引领下一代计算范式”专题论坛人气满满。华为云首席产品官方国伟携手业界专家、客户、伙伴,面向广大
    的头像 发表于 09-06 23:05 355次阅读
    全域 Serverless 化,华为云引领<b class='flag-5'>下一代</b>云<b class='flag-5'>计算</b>新<b class='flag-5'>范式</b>

    网络下一代企业存储:NVMe结构

    电子发烧友网站提供《网络下一代企业存储:NVMe结构.pdf》资料免费下载
    发表于 08-28 11:39 0次下载
    网络<b class='flag-5'>下一代</b>企业存储:NVMe结构

    创新储能电池设计思路:下一代能源储存的突破

    本文将介绍储能电池的基本原理、设计思路、优势分析以及未来发展趋势,展望下一代能源储存的突破。
    的头像 发表于 08-14 15:47 457次阅读
    创新储能电池设计思路:<b class='flag-5'>下一代</b>能源储存的突破

    什么是编程范式?常见的编程范式有哪些?各大编程范式详解

    本文给大家介绍了什么是"编程范式",选择合适的编程范式可以提高代码的可读性、可维护性和可扩展性。
    发表于 08-10 10:29 1222次阅读

    NVIDIA推动中国下一代车辆发展

    NVIDIA推动中国下一代车辆发展
    的头像 发表于 08-01 14:52 574次阅读

    利用下一代处理器实现物联网未来

    利用下一代处理器实现物联网未来演讲ppt分享
    发表于 07-14 17:15 0次下载

    下一代硅光子技术会是什么样子?

    下一代硅光子技术会是什么样子?
    的头像 发表于 07-05 14:48 344次阅读
    <b class='flag-5'>下一代</b>硅光子技术会是什么样子?

    下一代互联网体系结构的研究(2)#计算机网络

    计算机网络
    未来加油dz
    发布于 :2023年06月06日 11:15:18

    下一代互联网体系结构的研究(1)#计算机网络

    计算机网络
    未来加油dz
    发布于 :2023年06月06日 11:14:33

    下一代通信系统:面向语义通信的模分多址技术

    语义通信被认为是具有潜力的下一代通信系统新范式,自第一代基于文本的语义通信系统提出以来,已出现面向各种不同信源的语义通信系统。
    发表于 06-06 10:48 1928次阅读
    <b class='flag-5'>下一代</b>通信系统:面向语义通信的模分多址技术