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

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

3天内不再提示

关于内存大家都知道,但什么是内存内计算

独爱72H 来源:至顶网 作者:至顶网 2019-12-24 15:37 次阅读

(文章来源:至顶网)

在过去的几十年中,计算性能的提高是通过更快、更精确地处理更大数量的数据来实现的。内存和存储空间现在是以千兆字节和兆字节来衡量的,而不是以千字节和兆字节。处理器操作64位而不是8位数据块。然而,半导体行业创造和收集高质量数据的能力比分析数据的能力增长得更快。

随着人工智能的不断发展,逐渐衍生出了一个新兴技术,那就是“内存内计算”。而近来,内存内计算也一度成了热门的关键词。早些时候,IBM就发布了基于相变内存(PCM)的内存内计算,在此之后基于Flash内存内计算的初创公司也获得高额融资;而在中国,初创公司也开始在做内存内计算方面的尝试。然而“内存内计算”倒是什么东西?这种新技术的诞生,还要从冯 · 诺依曼体系和人工智能讲起。

自从计算机诞生的那天开始,冯 · 诺依曼架构的体系就占据着主导的地位。这种运行计算方式是先把数据存入主存储器,再按照顺序从主存储器中取出指令,然后一条一条地执行。我们都知道,如果内存的通讯速度跟不上CPU的性能,就会导致计算能力受到限制,这就是内存墙了。同时在效能方面,冯 · 诺依曼体系也存在明显的缺点,它读写一次内存数据的能量,要比计算一次数据的能量多消耗了足足几百倍。

而在现在人工智能的技术中,随着数据量越来越多,计算量越来越大,原始的冯 · 诺依曼结构正承受着越来越多的挑战。硬件架构不能指望计算量一大,就扩展CPU。因为存储量一变大,就马上采用增大内存来存储的方式是对过去架构的严重依赖,并且这种方式也非常不适合AI。当容量大到一定程度,只能说明某些技术需要革新。从生物角度来讲,大脑存储了大量的知识,并且能够快速访问并提取,而大脑的内存和计算是相容的。未来的计算机不是基于计算的memory,而是基于memory的计算。

关于内存大家都知道,但什么是内存内计算

同时,目前最主流的人工智能,也是对计算能力有着极高的要求。如果想让人工智能用在移动端和嵌入式设备中,还有能耗大,发热降频等问题。这样一来,内存和效能就变成了冯 · 诺依曼计算机体系的一个瓶颈。为了解决这一系列的问题,于是就衍生出了传说中的内存内计算。顾名思义就是把计算单元嵌入到内存里面,这样的话内存既是一个存储器,也是一个计算机,它并不需要从内存中读取数据,数据是直接进出CPU的。不但不受内存的性能限制,而且还提高了效能比(能源转换的效率之比)。

人工智能专用的NPU(嵌入式神经网络处理器)SPR2801S就使用了内存内计算,这种技术还搭建了人工智能专用的APIM构架,它的全称是AI Processing In Memory。采用了APIM构架的计算机不需要指令,也不需要总线和DDR(双倍速率同步动态随机存储器),大数据就可以直接进出CPU,极大地提高了效能比。此外,它还把算力提高到了5.6T ops,高效能比高达9.2T ops每瓦。Firefly基于这款SPR2801S则推出了人工智能开源主板AIO-3399EC,以及NCC S1 神经网络计算卡和USB神经网络计算棒,还搭配了模型训练工具PLAI。可以说,这些都加速了人工智能项目的落实。

虽然内存内计算现在还处于探索阶段,但是人们在十余年之前就认识到了“内存墙”的问题,但是为什么内存内计算直到现在才被人们关注呢?小编认为主要有两点,第一个就是基于神经网络的AI的兴起,尤其是人们都希望AI能普及到移动端和嵌入式设备中。而神经网络的其中1个特点就是对于计算精度的误差有着比较高的容忍度,所以内存内计算的中引入的误差一般都可以被神经网络所接受。内存内计算和人工智能,尤其是嵌入式人工智能,可以说是完美的结合。

第二个则是新存储器分发展。对于内存内计算来说,存储器的特性决定了它的效率,所以每当带有新特性的存储器出现时,都会带动内存内计算的发展。此外,从存储器推广的角度,新存储器的诞生也愿意搭上人工智能的风潮,这样一来新存储器的厂商也乐于看到有人做基于自家存储器的内存内计算去加速人工智能,也会帮助一起推广内存内计算。

内存内计算利用存储器的特点,减少了人工智能在计算中的读写和操作,也正是因为内存内计算的精度受到了模拟计算的限制,所以它也是目前为止,最适合追求能效比以及能接受一定精确度损失的嵌入式人工智能的应用。
(责任编辑:fqj)

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

    关注

    8

    文章

    3020

    浏览量

    74014
  • 内存计算
    +关注

    关注

    1

    文章

    15

    浏览量

    12154
收藏 人收藏

    评论

    相关推荐

    虚拟内存和云计算的关系

    在现代计算机科学中,虚拟内存和云计算是两个关键的技术概念。虚拟内存是一种内存管理技术,它允许计算
    的头像 发表于 12-04 09:50 113次阅读

    虚拟内存计算机性能的影响

    在现代计算机系统中,内存管理是确保系统高效运行的关键因素之一。虚拟内存技术作为内存管理的核心组成部分,对于提升计算机性能和用户体验起着至关重
    的头像 发表于 12-04 09:17 563次阅读

    虚拟内存不足如何解决 虚拟内存和物理内存的区别

    虚拟内存不足的解决方案 虚拟内存不足是计算机用户经常遇到的问题,尤其是在运行大型软件或多任务处理时。以下是一些解决虚拟内存不足问题的方法: 增加物理
    的头像 发表于 12-04 09:14 367次阅读

    虚拟内存的作用和原理 如何调整虚拟内存设置

    虚拟内存,也称为虚拟内存管理或页面文件,是计算机操作系统中的一种内存管理技术。它允许系统使用硬盘空间作为额外的RAM(随机存取存储器),以弥补物理
    的头像 发表于 12-04 09:13 369次阅读

    内存模组n/a怎么解决?

    一、内存模组n/a问题概述 1.1 内存模组的定义 内存模组,又称为RAM(Random Access Memory),是计算机系统中用于存储数据的硬件设备。它允许处理器快速访问和处理
    的头像 发表于 10-14 10:44 545次阅读

    逻辑内存和物理内存的区别

    逻辑内存和物理内存计算机系统中两个重要的概念,它们在计算机的运行和数据处理中起着至关重要的作用。 1. 物理内存(Physical Mem
    的头像 发表于 09-27 15:38 652次阅读

    内存缓冲区和内存的关系

    内存缓冲区和内存之间的关系是计算机体系结构中一个至关重要的方面,它们共同协作以提高数据处理的效率和系统的整体性能。
    的头像 发表于 09-10 14:38 546次阅读

    内存管理的硬件结构

    常见的内存分配函数有malloc,mmap等,大家有没有想过,这些函数在内核中是怎么实现的?换句话说,Linux内核的内存管理是怎么实现的?
    的头像 发表于 09-04 14:28 300次阅读
    <b class='flag-5'>内存</b>管理的硬件结构

    内存控制器概述和工作原理

    内存控制器是计算机系统内部控制内存并负责内存与CPU之间数据交换的重要组成部分。它不仅是连接CPU与内存的桥梁,还决定了
    的头像 发表于 09-04 14:19 717次阅读

    内存时钟是什么意思

    内存时钟是内存模块中一个至关重要的参数,它直接关联到内存模块能够工作的最高频率。以下是对内存时钟的详细解析,包括其定义、作用、与内存频率的关
    的头像 发表于 09-04 11:45 1212次阅读

    内存与主板接触不良,怎么解决

    内存与主板接触不良是计算机常见的故障之一,可能导致计算机无法启动、频繁死机、蓝屏等问题。 一、内存与主板接触不良的原因 内存条质量问题
    的头像 发表于 09-02 14:35 1619次阅读

    堆栈和内存的基本知识

    本文主要聊聊关于堆栈的内容。包括堆栈和内存的基本知识。常见和堆栈相关的 bug,如栈溢出,内存泄漏,堆内存分配失败等。后面介绍软件中堆栈统计的重要性,以及如何使用工具工具软件中堆栈使用
    的头像 发表于 08-29 14:10 459次阅读
    堆栈和<b class='flag-5'>内存</b>的基本知识

    系统内存和运行内存的区别

    系统内存和运行内存都是计算机中重要的概念,它们在计算机的存储和运行方面起着不可或缺的作用。虽然它们与计算机存储和运行息息相关,但是它们具有不
    的头像 发表于 01-15 16:32 3344次阅读

    内存不够用的处理方法

    内存不够用的处理方法 内存不够用是许多计算机用户普遍面临的问题。当我们的计算机内存不足时,会导致系统运行缓慢,应用程序无法正常运行,甚至直接导致计算
    的头像 发表于 12-28 11:15 1055次阅读

    Windows服务器虚拟内存的设置建议

    虚拟内存计算机操作系统用于扩展物理内存的一种机制。在Windows服务器上,虚拟内存的设置对系统性能和稳定性至关重要。以下是关于Windo
    的头像 发表于 12-25 17:03 2478次阅读