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

    文章

    2990

    浏览量

    73836
  • 内存计算
    +关注

    关注

    1

    文章

    15

    浏览量

    12143
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    内存缓冲区和内存的关系

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

    内存管理的硬件结构

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

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

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

    内存时钟是什么意思

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

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

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

    堆栈和内存的基本知识

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

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

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

    内存不够用的处理方法

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

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

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

    内存溢出与内存泄漏:定义、区别与解决方案

    内存溢出与内存泄漏:定义、区别与解决方案  内存溢出和内存泄漏是计算机科学中常见的问题,在开发和调试过程中经常会遇到。本文将详细介绍
    的头像 发表于 12-19 14:10 2417次阅读

    嵌入式软件内存与指针相关问题

    的慢性病,不会立即展现,但不知道未来的哪一天,所有的设备,会在相近的时间点爆发问题。 内存泄漏还会导致系统意外的重启,重启的原因可能千奇百怪。因此,检测和解决内存泄漏,就显得非常重要。 1. 泄漏的原因
    的头像 发表于 12-07 16:07 408次阅读

    什么是内存内存的工作原理 关于NOR和NAND的介绍和区别

    什么是内存呢?在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为
    的头像 发表于 12-07 11:02 2715次阅读

    jvm内存模型和内存结构

    JVM(Java虚拟机)是Java程序的运行平台,它负责将Java程序转换成机器码并在计算机上执行。在JVM中,内存模型和内存结构是两个重要的概念,本文将详细介绍它们。 一、JVM内存
    的头像 发表于 12-05 11:08 883次阅读