探索存内计算—基于 SRAM 的存内计算与基于 MRAM 的存算一体的探究

news2024/11/26 2:24:04

CSDN存内社区招募:https://bbs.csdn.net/forums/computinginmemory

首个存内计算开发者社区,现0门槛新人加入,发文享积分兑超值礼品; 存内计算先锋/大使在社区投稿,可获得双倍积分,以及社区精选流量推送;精选文章可获得社区奖金激励800,可获得线下训练营的免费名额以及存内主题活动大咖交流机会;

随着信息技术的迅猛发展,存算一体技术逐渐成为计算领域的研究热点。在这一领域,基于SRAM(静态随机存取存储器)和MRAM(磁性随机存取存储器)的存内计算和存算一体架构日益受到重视,为计算性能和能效带来了新的可能性。本文将深入探讨这两种技术的原理、优势及其在不同领域的应用,旨在为读者提供对存算一体技术发展趋势的全面了解。

一.基于 SRAM 的存内计算

在信息技术的不断发展中,SRAM存内逻辑计算技术日益成为研究的焦点。自2016年Jeloka等人提出了基于SRAM的存内逻辑计算以来,这一领域取得了长足的进步。该技术不仅仅局限于逻辑运算,还应用于神经网络的硬件加速,为计算领域带来了全新的可能性。

SRAM的逻辑运算是通过激活同一列的多个存储单元来实现的。这些存储单元的字线被同时激活,通过灵敏放大器感测位线电压,得到存储单元存储比特的逻辑运算结果。在增加额外的逻辑门后,SRAM可以实现逻辑或非和逻辑与非运算。与传统的SRAM阵列相比,新的阵列具有更高的密度和更低的功耗,为存内计算提供了更广阔的发展空间。

在这一领域的持续探索中,研究者们提出了更多创新的SRAM存内计算架构。例如,Aga等人提出了一种新的存内计算架构,通过添加解码器和使用单端灵敏放大器实现了逻辑异或运算。而Dong等人则提出了一种4+2T的SRAM单元,相比传统的6T SRAM单元具有更好的噪声容限。

针对传统6T SRAM单元存在的读写干扰和存储内容翻转等问题,研究者们提出了8T和10T SRAM单元。Agrawal等人则提出了使用8T SRAM单元和8+T SRAM单元的解耦读写路径,成功实现了存内布尔运算,包括逻辑与非、逻辑或非、逻辑异或等逻辑运算。相比于6T SRAM单元,8T SRAM单元提高了数据的吞吐量和处理速度,为计算性能带来了明显的提升。

一些研究者还探索了SRAM单元与算术电路协同的架构,例如Rajput等人提出了一种8T SRAM单元与算术电路协同的架构,具有更高的能量利用率和读取裕量。

基于SRAM的存内逻辑计算技术不断创新,为计算领域带来了更高的性能和更低的功耗。随着这一技术的不断发展,我们有理由期待它在未来的计算应用中发挥更加重要的作用。

二.基于 SRAM 的存内计算在神经网络的应用

近年来,深度学习技术在神经网络领域蓬勃发展,但由于常规训练通常依赖于高功耗的CPU或GPU,因此功耗问题成为制约其应用的重要因素。然而,随着超大规模集成电路制造业的飞速进步,嵌入式系统逐渐成为研究的热点。嵌入式系统以其低功耗和小占用面积的特点,成为解决目标检测等问题的理想选择。

在嵌入式神经形态处理系统的发展中,基于忆阻器的神经形态计算体系架构引起了广泛关注。多种基于忆阻器的神经形态计算体系架构相继被提出。例如,Sun等人提出了一种基于忆阻器的神经形态计算架构,实现了三层全并行卷积神经网络(FP-CNN)。而在此基础上,Sun等人将其作为基本计算单元提出了一种级联神经网络体系架构。Yakopcic等人则提出了一种基于忆阻器的卷积神经网络,利用多个忆阻器交叉阵列实现。

尽管这些方法在网络架构方面取得了显著成效,但当忆阻器阵列存在低良率问题时,其性能却会受到明显影响。为此,本文提出了一种基于忆阻器的神经形态计算方法,结合了提高忆阻器阵列乘累加计算准确率的校准方法和可减少训练误差的原位训练方法,从而能够提高网络在低良率阵列中的识别率。

这一方法的提出将为嵌入式神经计算带来全新的可能性,不仅能够提高计算准确率,还能在较低的功耗下实现更为稳健的性能表现。随着该方法的进一步研究和应用,我们有信心在嵌入式神经计算领域迈出更加坚实的步伐,为智能计算的未来铺平道路。

一种编程忆阻器交叉阵列的电路如下图:

2.1 神经网络算法(BNN)

神经网络算法中,乘加计算是最为频繁的操作之一。为了应对计算需求与功耗之间的平衡,研究者们提出了二值化神经网络(BNN),将输入和权重进行二值化,限定为1或-1。这种二值化使得基于SRAM的乘法运算可以被视为逻辑同或运算。然而,使用一位二值权重可能会导致较大的精度损失,因此研究者们将注意力转向了并行计算,以实现多位权重运算。

一种被提出的并行计算结构包括WL开关矩阵用于激活多行字线,闪存ADC的多电平检测器(MLSA)以及生成基准电压的参考生成器。另一种基于6T SRAM的双拆分结构实现了完全并行的乘积和累加计算,取得了显著的效果。该架构不仅可以实现全连接层的计算时间达到2.3 ns,而且能效最高可达55.8 TOPS/W。然而,这种架构使用了大量的晶体管,导致了较大的面积。

乘法真值表如下。

Nguyen等人提出了用于DNN存内计算的10T SRAM,并设计了整体架构,成功映射了LeNet-5手写数字识别网络。该架构支持完全并行的乘加计算,并且实现了4位权重、4位输入、8位输出的乘加操作。另外,Su等人提出了可用于2到8位运算的双向转置6T SRAM,支持神经网络推理和训练的过程。

此外,为了进一步降低功耗,研究者们还研究了稀疏性处理。Han等人提出了一种基于8T SRAM的DNN加速器,不仅具有前向传播和后向传播功能,还具有稀疏性处理功能。通过只存储非零值及其地址的方式来过滤零值,使得不必要的计算被跳过,最终实现了功耗上的降低。

在国内外,许多优秀团队也为SRAM的存内计算做出了贡献。他们提出了各种创新的方法和结构,如无乘法函数逼近器、更高线性度和吞吐量的SRAM单元、无ADC的动态SRAM架构等,以加速神经网络的计算过程并降低功耗。这些研究成果为神经网络计算的进一步优化提供了重要的参考和启示。

如下图所示,这种架构通过在一个32×32的10T SRAM阵列中输入32个输入向量,将输入向量与权重矩阵做乘法运算。在同一列上的所有SRAM单元的位线上的电流被求和并转换成模拟电压,在敏感放大器模块中将此模拟电压与参考电压进行对比,生成数字信号的输出。参考电压由3列10T SRAM组成的参考阵列块生成,同时此参考阵列块还产生检测放大器SA的检测使能信号。通过这样的方式,完成了矩阵和向量之间的乘加运算。

这种架构是通过28纳米CMOS工艺实现的,具有高能效和高吞吐量的优势。这意味着它在进行神经网络计算时能够以更低的功耗和更高的效率完成任务,从而提高了整个系统的性能表现。

三.基于 MRAM 的存算一体

基于MRAM(磁性随机存取存储器)的存算一体(MRAM-in-Memory Computing)是一种新型的计算模式,它结合了内存和计算的功能,利用MRAM的非易失性和快速读写特性,在存储器内部进行计算操作,从而提高计算效率和能源利用率。

MRAM作为一种新型的存储技术,具有快速的读/写速度、低功耗和非易失性等优点。这些特性使得MRAM非常适合用于存算一体的应用。在存算一体中,计算任务可以直接在MRAM中进行,而无需将数据从存储器传输到CPU进行处理,从而减少了数据传输的延迟和能耗。

MRAM 与其他类型存储器相比具有明显优势。下表列出几种不同类型的存储器优缺点比较:

通过将计算操作与存储操作结合在一起,存算一体架构可以实现更高效的数据处理。例如,对于机器学习应用,可以在MRAM中进行矩阵乘法等计算密集型操作,而无需将数据移动到CPU或GPU。这样可以大大减少数据传输的时间和能耗,提高系统的整体性能。

此外,存算一体还可以降低硬件系统的复杂性,减少了CPU和存储器之间的通信带宽需求,简化了系统架构,降低了成本。

自旋芯片被认为具有SRAM的高速度、DRAM的高密度以及Flash的非易失性等优点,这一观点得到了中国科学院院士、南京大学物理系教授和博士生导师的认同。此外,自旋芯片的抗辐射性也备受军方青睐,使其原则上可以取代当前各类存储器,成为未来的通用存储器。

鲁汶仪器的一位员工介绍称,目前,MRAM主要在军工、大数据高性能存储等领域有一些应用。然而,随着工艺的成熟和成本的降低,MRAM有望取代DRAM。

然而历史上在DRAM和Flash的发展过程中,一直有人认为还有其他存储芯片技术可以取代它们,但都没有成功。赵巍胜认为,DRAM和Flash将随着新技术的引入不断发展。例如,DRAM技术因为EUV光刻机的使用而得以进步。目前,MRAM在特定应用场景下已经有了一定的市场份额,如ToT、车载、航空航天等领域。然而,未来MRAM很有可能向新的消费级市场发起冲击。

四.SRAM 的存内计算和于 MRAM 的存算一体探讨

SRAM的存内计算和基于MRAM的存算一体是两种不同的计算模式,它们各自有着独特的特点和优势。

  1. SRAM的存内计算
  • 工作原理:SRAM的存内计算利用存储单元的逻辑运算功能,通过激活同一列的多个存储单元来实现逻辑运算。
  • 优势
    • 高密度和低功耗:相比传统的SRAM阵列,新的SRAM存内计算架构具有更高的密度和更低的功耗,提供了更广阔的发展空间。
    • 逻辑运算功能:SRAM存储单元具有逻辑运算功能,可以实现逻辑与非、逻辑或非、逻辑异或等逻辑运算。
  • 创新:研究者们提出了各种创新的SRAM存内计算架构,如8T和10T SRAM单元,以及解耦读写路径等,进一步提高了计算性能和能效。
  1. 基于MRAM的存算一体
  • 工作原理:基于MRAM的存算一体将计算和存储功能结合在一起,利用MRAM的快速读/写速度和非易失性,在存储器内部进行计算操作。
  • 优势
    • 减少数据传输:由于计算任务可以直接在MRAM中进行,无需将数据传输到CPU或GPU,因此可以减少数据传输的延迟和能耗。
    • 降低系统复杂性:存算一体可以降低硬件系统的复杂性,简化系统架构,降低成本。
  • 应用前景:MRAM作为一种新型存储技术,在军工、大数据高性能存储等领域已经有了一些应用,并有望取代DRAM。

对比

  • 工作原理差异:SRAM的存内计算主要利用存储单元的逻辑运算功能,而基于MRAM的存算一体则是将计算和存储功能集成在MRAM中。
  • 优势重点不同:SRAM存内计算注重于提高计算性能和能效,而基于MRAM的存算一体则注重于减少数据传输延迟和降低系统复杂性。
  • 应用领域不同:SRAM存内计算主要应用于逻辑计算和神经网络硬件加速,而基于MRAM的存算一体则更多应用于军工、大数据高性能存储等领域。

两者各有特点,适用于不同的场景和应用需求。SRAM的存内计算更适用于需要高性能逻辑计算和神经网络加速的场景,而基于MRAM的存算一体则更适用于减少数据传输延迟和简化系统架构的场景。

五.总结

本文深入探讨了基于SRAM和MRAM的存算一体技术在计算领域的应用和发展。首先,介绍了基于SRAM的存内逻辑计算技术,包括其原理、优势以及在神经网络领域的应用。其次,详细讨论了基于MRAM的存算一体技术,包括其工作原理、优势以及在军工和大数据存储领域的应用。最后,对比了SRAM的存内计算和基于MRAM的存算一体技术的差异,包括工作原理、优势重点和应用领域等方面。

在全文中,强调了这两种技术在提高计算性能、降低能耗、简化系统架构等方面的重要作用,展望了它们在未来的计算应用中的潜力和前景。同时,对于不同场景下的适用性和优势进行了详细的分析和比较,为读者提供了深入了解存内计算技术的参考。

参考文献

  1. DRAM时代即将到来,泛林集团这样构想3D DRAM的未来架构
  2. 3D DRAM Is Coming. Here’s a Possible Way to Build It.Benjamin Vincent
  3. .3D堆叠DRAM Cache的建模以及功耗优化关键技术研究
  4. 存内计算概述
  5. 中国科学技术大学
  6. 应用于忆阻器阵列存内计算的低延时低能耗新型感知放大器
  7. 基于存算一体集成芯片的大模型专用硬件架构
  8. 高能效高安全新兴计算芯片:现状、挑战与展望 54.01(2024):34-47.
  9. 校准方法和存内训练相结合的忆阻器神经形态计算方法
  10. Survey of In-Memory Computing Technology Based on SRAM and Non-Volatile Memory

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1604498.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目7-音乐播放器4+喜欢/收藏音乐

1.喜欢/收藏音乐模块设计 1.1 请求响应模块设计 请求: { post, /lovemusic/likeMusic data: id//音乐id } 响应: { "status": 0, "message": "点赞音乐成功", "da…

瑞芯微RK3328(ROC-RK3328-PC)buildroot 开发QT的hello world

第一部分:编译rk3328 sdk 0. 环境 - EC-R3328PC(ROC-RK3328-PC) - ubuntu18(100GB) 1. 安装依赖 sudo apt-get updatesudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools devi…

汽车充电桩充电效率的四大决定因素

随着电动汽车的快速普及,交流充电桩作为电动汽车的充电基础设施,其充电效率受到了广泛的关注。接下来,我们将深入探讨交流充电桩的充电效率,包括充电效率的定义、影响因素以及提升方法。 充电效率的定义 交流充电桩的充电效率指的…

Transformer with Transfer CNN for Remote-Sensing-Image Object Detection

遥感图像(RSI)中的目标检测始终是遥感界一个充满活力的研究主题。 最近,基于深度卷积神经网络 (CNN) 的方法,包括基于区域 CNN 和基于 You-Only-Look-Once 的方法,已成为 RSI 目标检测的事实上的标准。 CNN 擅长局部特…

基于springboot实现编程训练系统设计项目【项目源码+论文说明】计算机毕业设计

基于springboot实现编程训练系统设计演示 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了编程训练系统的开发全过程。通过分析编程训练系统管理的不足,创建了一个计算机管理编程训练系统的方案。文…

【软件工程与实践】(第四版)第5章习题答案详解

第5章 一、填空题二、选择题三、简答题四、实践题 一、填空题 (1) 软件工程中的总体设计又称为 系统设计。 (2) 在软件工程中的设计阶段,需要充分体现软件工程的“模块化”“抽象”“信息隐藏”等基本原则。 (3) 系统详细设计阶段最后产生的文档是 软件设计文档。…

创建SpringBoot控制台程序并打包运行(Windows)

1. 新建一个Springboot项目Study (PS&#xff1a; 这个不需要演示了吧?) 注意pom.xml&#xff0c;是spring-boot-starter&#xff0c;不是spring-boot-web-starter <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot…

[spring] Spring Boot REST API - CRUD 操作

Spring Boot REST API - CRUD 操作 这里主要提一下 spring boot 创建 rest api&#xff0c;并对其进行 CRUD 操作 jackson & gson 目前浏览器和服务端主流的交互方式是使用 JSON(JavaScript Object Notation)&#xff0c;但是 JSON 没有办法直接和 Java 的 POJO 创建对应…

IO引脚服用和映射

什么是端口复用 STM32F4 有很多的内置外设&#xff0c;这些外设的外部引脚都是与 GPIO 复用的。也就是说&#xff0c;一个 GPIO如果可以复用为内置外设的功能引脚&#xff0c;那么当这个 GPIO 作为内置外设使用的时候&#xff0c;就叫做复用。在芯片数据手册或STM32F4XX参考手…

光纤和铜缆:了解不同通信媒介的优势

在现代通信技术中&#xff0c;光纤和铜缆是两种主要的数据传输媒介。它们各有优势和局限性&#xff0c;但都在我们的日常生活中扮演着不可或缺的角色。 左侧&#xff08;网络跳线&#xff09;右侧&#xff08;光纤跳线&#xff09; 一、光纤的原理与优势 ADOP光纤跳线 光纤通信…

Day38: 动态规划 LeedCode:509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯 蓝桥杯: 更小的数

对于动态规划问题&#xff0c;拆解为如下五步曲 确定dp数组&#xff08;dp table&#xff09;以及下标的含义确定递推公式dp数组如何初始化(容易数组溢出)确定遍历顺序举例推导dp数组 509. 斐波那契数 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐…

STM32 HAL库F103系列之ADC实验(1)

ADC工作原理&#xff1a; 1、输入通道&#xff1a; 2、转换序列&#xff1a; A/D转换被组织为两组&#xff1a;规则组&#xff08;常规转换组&#xff09;和注入组&#xff08;注入转换组&#xff09; 规则组最多可以有16个转换&#xff0c;注入组最多有4个转换 规则组和注入…

艾迪比皮具携手工博科技SAP ERP公有云,打造数字化转型新标杆

4月1日&#xff0c;广州市艾迪比皮具有限公司&#xff08;以下简称“艾迪比”&#xff09;SAP S/4HANA Cloud Public Edition&#xff08;以下简称“SAP ERP公有云”&#xff09;项目正式启动。双方项目组领导、成员出席本次项目启动会&#xff0c;为未来项目的顺利实施打下坚实…

Computer Organization/Architecture 计算机组织/架构/结构 重要观念和笔记(陆续更新中,2024/04/17周三,已更新)

前情提要&#xff1a;我的说法比较白话&#xff0c;希望可以更好理解其中一些观念&#xff0c;这篇会以中文为主&#xff0c;专有名词还是用英文&#xff0c;好吧应该会中英穿插&#xff0c;自己学的时候感觉听中文会吸收比较快&#xff0c;也可能是我英文比较烂的关系&#xf…

软件产品许可证书 Licence 全流程研发(使用非对称加密技术,既安全又简单)

本篇博客对应的代码地址&#xff1a; Gitee 仓库地址&#xff1a;https://gitee.com/biandanLoveyou/licence 源代码百度网盘链接: https://pan.baidu.com/s/1_ZhdcENcrk2ZuL11hWDLTQ?pwdbmxi 提取码: bmxi 1、背景介绍 公司是做软件 SAAS 服务的&#xff0c;一般来说软件部…

《操作系统导论》第26章读书笔记:并发:介绍

《操作系统导论》第26章读书笔记&#xff1a;并发&#xff1a;介绍 —— 杭州 2024-04-18 夜 文章目录 《操作系统导论》第26章读书笔记&#xff1a;并发&#xff1a;介绍0.前言1.实例&#xff1a;线程创建(略)2.为什么更糟糕&#xff1a;共享数据(略)3.核心问题&#xff1a;不…

基于Springboot+Vue的Java项目-企业客户管理系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

uiautomation、pytest、schedule实现桌面程序自动化(初级)02

一&#xff1a;安装uiAutomation 前置条件:安装python、pycharm 命令行安装 Pip install uiautomation2.0.17 #指定版本 二&#xff1a;安装辅助工具&#xff1a;inspect.exe和、Accessibility Insights For Windows定位元素工具 辅助工具介绍 步骤中提到…

【每天一个linux小知识】tailf 和 tail -f

目录 典型使用场景区别 典型使用场景 如果我们实时查看文件的末尾内容&#xff0c;特别是当文件持续写入时&#xff0c;可以使用tailf 和 tail -f。两者都可以显示文件的最后几行内容&#xff0c;并且在文件被追加新内容时&#xff0c;会实时显示这些新内容。 tailf演示 区别 …

逆向案例二十八——红某点集登录接口逆向序

网址&#xff1a;aHR0cHM6Ly93d3cuaHJkanl1bi5jb20vIy9sb2dpbj9yZWRpcmVjdD0lMkZyZWFsVGltZUxpdmluZw 登录接口&#xff0c;发现两个参数加密&#xff0c;分别是pwd和sig,t很明显是时间戳。 观察pwd,发现很像md5加密&#xff0c;我输入的密码是123456&#xff0c;在在线加密网…