存内架构IR-DROP问题详解-电容电导补偿

一、总述

电容、电导补偿作为大规模数字电路的关键设计理念,是 CIM 架构优化的核心技术。在 CIM 中,平衡电容或电导并实现计算的精准映射,对能效提升和计算精度保障具有关键作用。本文基于近期文献探讨电容、电导补偿在 CIM 中的具体补偿策略,同时展望未来发展方向,包括如何进一步优化补偿方法以适应更复杂的计算需求,提高 CIM 系统的整体性能,为相关研究和技术发展提供理论分析和参考。

二、计算架构电容、电导补偿的优化背景

CIM技术凭借其在突破冯诺依曼瓶颈、降低数据移动能耗和提升计算并行性等方面的优势,已经成为高效计算的优质解决方案。在这种背景下,如何平衡CIM芯片计算精度与能效之间的矛盾,以及如何在电路中补偿电容或电导不均匀所带来的误差,成为了存内计算架构优化中的关键问题之一。

在存算一体架构中,电容补偿和电导补偿技术是作为解决非线性和信号失真问题的有效方法。非线性和信号失真问题主要源于电路中存在的寄生电容和电导的不匹配,导致了计算精度的损失和信号处理的不稳定性。电容和电导的不均匀性会引起线上的信号幅度差异,从而在计算中产生误差,影响最终结果的精度。电容补偿的核心思想是通过在存储单元中引入补偿电容,使得存储阵列中不同列或行的电容总和相等,从而减少因电容不匹配导致的计算误差。类似地,电导补偿通过引入补偿电导,使得在基于RRAM的存内计算中,正负输入端的负载导电值保持平衡,从而消除不匹配导致的非线性误差。

电容、电导补偿技术的应用使得存算一体电路在面对高精度需求时可以显著降低因不匹配而引起的信号失真,从而提升整体计算精度。电容、电导补偿的提出和应用为存算一体技术在实际应用中的可靠性提供了重要保障。

三、电容补偿(CapCom)

以基于SRAM的存算一体设计为例,电容补偿(Capacitance Compensation, CapCom)是一种常见的用于实现多位或有符号乘累加操作的技术。CapCom的基本原理是通过引入补偿电容,使得存储阵列中不同列或行的电容总和相等,从而消除因电容不匹配引起的误差。

图1 SRAM的字选择线和数据线会受寄生电容影响

具体来说,常规的基于SRAM的存算一体设计在SRAM阵列中使用多个带有不同权重的电容与比特线相连,以实现部分MAC结果的累加。在这种设计中,通常通过预充电和放电的方式来完成MAC运算,而补偿电容的加入则确保了每一列上的电容负载相等,从而提高了运算精度。电容不匹配会对计算结果产生显著影响,例如导致线上的信号幅度差异,进而影响到后续计算的准确性。常用的电容补偿方法有:

  • 成对电容补偿:通过匹配电容大小以减小误差。这种方法确保每个比特线上的电容负载相等,从而减少了由于电容不匹配而导致的信号失真问题。
  • 整体电容补偿:在芯片设计阶段进行电容阵列的优化,确保在设计过程中就考虑到所有电容之间的匹配性,以最大程度减少电路中的非线性误差。
  • 图2 某CIM设计的ADC采样模块的补偿电容器

某些设计中还会使用双通道(even-odd dual-channel, EODC)模式,通过在不同模式下激活偶数或奇数列,以增加带宽并确保信号的稳定性。此外,CapCom还被用于一些更为复杂的模拟计算芯片设计中,例如融合了光学计算与电子模拟计算的ACCEL芯片。该芯片通过光电二极管将光信号转换为电信号,并利用补偿电容来实现符号二进制的MAC运算,从而有效提高了计算的能效和精度。电容补偿技术的优势在于可以显著提高计算的线性度和一致性,使得在模拟计算中能够实现较高的精度。然而,其局限性也不容忽视,主要体现在电路设计的复杂性增加,以及在高密度集成电路中难以实现完全精确的补偿。

四、电导补偿(ConCom)

在数据密集型应用(如神经网络)中,矩阵向量乘法(MVM)是核心计算操作,关键在于基于电阻式随机存取存储器(RRAM)等的交叉点存储阵列技术,它能使计算在存储单元内直接进行,CIM避免了传统架构中数据在存储与计算单元间频繁传输带来的延迟和能耗,有效提升计算性能。

以丝状 RRAM 为例,其为金属 - 绝缘体 - 金属(MIM)堆叠结构,如图3经形成操作进入低阻态(LRS),之后可通过复位和置位操作切换电阻状态。置位操作时,可通过合规电流调节电导来精确控制电阻,也可利用基于电压的电阻调谐以适应不同计算需求。

图3(a) RRAM 器件由夹在金属顶部电极和底部电极之间的介电层组成。(b) 经过成形操作后,器件切换到低阻态(LRS)。(c) 在施加复位脉冲后,可以恢复到高阻态(HRS)

图4 整体电导变化的离散程度相对稳定

通过增量门脉冲编程(IGPP)技术实验如图4,RRAM 循环编程时电导中位数渐增,但各单元个体特性随机变化,电导分布标准差近乎恒定。除 IGPP 外,也可控制复位转换时最大顶电极电压调制电导,不过从实验和应用看(如图5),控制置位操作电导在精确电阻控制上更优,能提高计算准确性和稳定性。

图5 在 IRPP 过程中,电导随脉冲次数的变化轨迹,以及中值(蓝色)

在 4kb 的 RRAM 阵列等大规模测试中,编程算法会影响电导分布,其标准差大于循环间变化,导致不同器件间电导离散程度大、一致性差。多电平编程时相邻电导分布重叠,严重影响 RRAM 存储和计算精确性,降低数据存储读取准确性及计算系统整体性能。此外,高温退火会使 RRAM 导电丝原子扩散,微观结构改变,使得RRAM导电性能下降且电阻值不确定性增加。在CIM的应用中,作为存储器的RRAM 主要用于存储权重等关键信息,其电导变化直接影响推理精度,因不准确电导值使计算结果偏差,推理中偏差累积,最终可能致神经网络输出错误结果。

图6 在一个1 kB存储阵列的HfO2 RRAM中,4个已编程LRS电平和1个HRS电平的读取电流分布 (a) 通过ISPVA(编程后电流分布的标准化技术)获得的分布。(b) 在125°C退火1小时后的分布。

成对电补偿:ConCom原理首先应用于实值矩阵的矩阵向量乘法(MVM)电路,通过在运算放大器(OPA)的输入节点配置补偿电导,使电路能够在不使用模拟反相器的情况下实现实值矩阵计算。该方法还适用于实值矩阵求逆电路和特征向量电路,通过建立全局负反馈回路,根据电路的矩阵方程配置补偿电导,实现相应的计算功能。对于更复杂的电路,如广义逆电路,ConCom 方法同样适用,通过在左右阵列中进行行和列的电导补偿,实现电路输入节点的负载平衡,从而解决线性方程组问题。

图7 基于CONCOM的MVM电路。RRAM设备的最左列用于confom。

整体电补偿:ConCom 的概念也可扩展到整个阵列,为实现一步矩阵 - 矩阵 - 向量乘法(MMVM)电路奠定基础。在 MMVM 电路中,通过确定补偿电导的值,使每个位线(BL)的电阻负载相等,可使电路可作为构建模块用于解决更复杂的问题,如基于局部竞争算法(LCA)的压缩感知(CS)恢复电路,通过将 MMVM 电路与模拟反相器、跨阻放大器(TIA)和软阈值模块相结合,实现从压缩输入信号中重建原始信号的功能。

图8 基于ConCom的Gram矩阵向量乘法(MVM)电路。交叉点阻变存储阵列由两份矩阵  和补偿RRAM器件组成。

在基于电阻式存储器的 CIM 中,电导补偿方法具有提高导通电流一致性的优势,成对电导补偿法在多种实值矩阵相关电路中通过合理配置补偿电导平衡电导差异、确保电流稳定传输和计算准确,整体电导补偿法在 MMVM 电路中使各 BL 电阻负载相等、保证电流均匀分布;然而,这些方法也存在局限性,它们对制造工艺要求更高,需要精确控制电阻式存储器的电导特性,制造过程中任何偏差都可能影响电导值准确性、导通电流均匀性和计算精度,还可能导致成本上升与生产效率降低等问题。

五、发展方向

在未来的存内计算系统中,电容、电导补偿需从电路与架构协同出发。在电路层面,可以优化存储单元的周边电路,例如设计读写电路与选通电路,降低信号干扰,提升传输效率;在架构层面,针对三维堆叠存内计算架构,深入研究层间电容耦合与电导分布,制定适配补偿策略。为满足复杂计算需求,。电容、电导补偿精度可以通过深入探究存储器件的物理特性从而构建复杂数学模型以开发动态补偿算法,使其可以依据存储单元的实时状态,如电阻变化受温度影响的规律,精确计算补偿参数。另一方面,可以将算法映射至硬件并设计专用硬件电路,融合数字信号处理、模拟前端及可编程逻辑器件功能。

在工具链领域,EDA工具机器学习将在补偿策略探索中发挥关键作用。EDA对存内计算架构全面建模与仿真,涵盖存储单元、补偿电路及周边电路。设计人员可在EDA环境中设置不同策略参数,快速评估对系统性能的影响。同时,如果可以收集存储单元在多工况下的数据,训练机器学习模型预测性能变化并运用强化学习优化电路拓扑结构,搭载人工智能技术的EDA工具可以模拟更多电路结构性能,找到最优布局与参数组合,增强补偿电路适应性。

另外,考虑到RRAM和PCM等新型存储器在存内计算潜力巨大,针对新型存储器的电容、电导补偿应用同样前景广阔。RRAM 电阻变化复杂,受离子迁移等因素影响,可以通过在其单元中引入电容补偿结构,稳定编程电压,减小电阻变化误差;PCM在相变时电学特性改变显著,补偿技术可优化能量传递与信号检测,同时调整补偿参数可以确保相变过程中数据的准确读写。

七、总结

电容、电导补偿技术对存内计算意义非凡,它不仅能有效克服存储单元的非理想特性,还提升计算精度、速度与稳定性。当前补偿技术的研究方向聚焦于技术深度优化和新材料器件应用刚面,这不仅能突破现有瓶颈,还能释放存内计算的巨大潜力。此外,电容、电导补偿技术与CIM技术的深度融合,将引领计算架构优化进入新阶段,从而为实现高效、智能、低功耗的计算提供坚实支撑。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 环境配置 + IntelliJ IDEA 使用指南

文章目录 一、Java 程序的运行必须经过3 个步骤:编写、编译、运行(1)Java 和 JavaScript 的区别(2)JDK、JRE、JVM 的关系(3)是否需要 Maven? 二、软件下载2.1、JDK下载与安装 —— 是…

【力扣】409.最长回文串

问题描述 思路解析 因为同时包含大小写字母,直接创建个ASCII表大小的桶来标记又因为是要回文子串,所以偶数个数的一定可以那么同时,对于出现奇数次数的,我没需要他们的次数-1,变为偶数,并且可以标记出现过…

从零开始的使用SpringBoot和WebSocket打造实时共享文本应用

在现代应用中,实时协作已经成为了非常重要的功能,尤其是在文档编辑、聊天系统和在线编程等场景中。通过实时共享文档,多个用户可以同时对同一份文档进行编辑,并能看到其他人的编辑内容。这种功能广泛应用于 Google Docs、Notion 等…

【opencv入门教程】1.vs2017 + cmake 编译Opencv4.8.1 Sample

文章选自: 【一.准备工作】 1.opencv: https://opencv.org/releases/ 2.cmake :https://cmake.org/download/ 【二.编译配置】 1.解压下载后的opencv压缩包 2.打开cmake,将opencv sample路径及自定义的文件夹路径填入其中 3.按照1&…

五天SpringCloud计划——DAY3之服务治理(Nacos+OpenFeign+OKHttp)

一、引言 在微服务架构中,一个项目通常会被分为多个模块来降低耦合,但是通常情况下,一个项目中总会出现一种情况——一个模块内的方法需要调用另一个模块内的方法。本文就来使用NacosOpenFeignOKHttp帮助大家解决这个问题。 二、Nacos的使用…

leetcode 二进制数转字符串

1.题目要求: 2.题目代码: class Solution { public:string printBin(double num) {string result;double compare_value 1.0;//先给把0和.赋值给result;result.push_back(0);result.push_back(.);while(result.size() < 33){//利用十进制转换成二进制的方法//1.先给num …

软件项目标书参考,合同拟制,开发合同制定,开发协议,标书整体技术方案,实施方案,通用套用方案,业务流程,技术架构,数据库架构全资料下载(原件)

1、终止合同协议书 2、项目合作协议 3、合同交底纪要 4、合同管理台账 软件资料清单列表部分文档清单&#xff1a;工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c;产品需求规格说明书&#xff0c;需求调研计划&#xff0c;用户需求调查单&…

PADS系列:绘制RTL8306原理图的过程

大家好&#xff0c;我是山羊君Goat。 在所有相关的元件都被创建到了原理图库之后&#xff0c;就可以正式开始原理图的绘制了。不过绘制过程中也是会按照一定的顺序来进行的&#xff0c;这样可以达到事半功倍的效果。 首先就是主芯片的放置&#xff0c;这里有三个主芯片&#x…

c++:多态性

c三大特性&#xff1a;封装、继承、多态&#xff0c;其实这三者是相互联系的&#xff0c;相互包含的 1.概念 1.1编译时多态性&#xff08;静态多态性&#xff09; 主要通过函数重载和运算符重载来实现在编译时&#xff0c;编译器根据函数调用的参数类型或运算符的操作数类型来…

(ICML-2024)DoRA:权重分解低秩自适应

DoRA&#xff1a;权重分解低秩自适应 Paper是英伟达发表在ICML 2024的工作 Paper Title&#xff1a;DoRA: Weight-Decomposed Low-Rank Adaptation Code&#xff1a; 地址 Abstract 在广泛使用的参数高效微调 (PEFT) 方法中&#xff0c;LoRA 及其变体因避免了额外的推理成本而…

微信小程序从后端获取的图片,展示的时候上下没有完全拼接,有缝隙【已解决】

文章目录 1、index.wxml2、index.js3、detail.detail为什么 .rich-text-style 样式可以生效&#xff1f;1. <rich-text> 组件的特殊性2. 类选择器的作用范围3. 样式优先级4. line-height: 0 的作用5. 为什么直接使用 rich-text 选择器无效&#xff1f; 总结 上下两张图片…

基于单片机的空调温度控制器设计

摘 要 随着国民经济的发展和人民生活水平的提高&#xff0c;空调已被广泛应用于社会的各种场合。空调因具有节能、低噪、恒温控制、全天候运转、启动低频补偿、快速达到设定温度等性能&#xff0c;大大提高了其舒适性&#xff0c;得到越来越多的人们的喜爱。单片机和数字温度传…

ElasticSearch常见的索引_集群的备份与恢复方案

方案一&#xff1a;使用Elasticsearch的快照和恢复功能进行备份和恢复。该方案适用于集群整体备份与迁移&#xff0c;包括全量、增量备份和恢复。 方案二&#xff1a;通过reindex操作在集群内或跨集群同步数据。该方案适用于相同集群但不同索引层面的迁移&#xff0c;或者跨集…

【计算机网络】实验12:网际控制报文协议ICMP的应用

实验12 网际控制报文协议ICMP的应用 一、实验目的 验证ping命令和tracert命令的工作原理。 二、实验环境 Cisco Packet Tracer模拟器 三、实验过程 1.构建网络拓扑并进行信息标注&#xff0c;将所需要配置的IP地址写在对应的主机或者路由器旁边&#xff0c;如图1所示。 图…

Redis安装和Python练习(Windows11 + Python3.X + Pycharm社区版)

环境 Windows11 Python3.X Pycharm社区版 思路 1 github下载redis压缩包 &#xff0c;安装并启动redis服务&#xff0c;在客户端连接redis服务。 2 在pycharm中运行python程序&#xff0c;连接redis服务&#xff0c;熟悉redis的使用和巩固python语言。 3 python开发环境…

8.解决跨域问题的三种方案

开启域名&#xff0c;单点登录后&#xff0c;就使用最上面的接口了

【机器学习】基础知识:拟合度(Goodness of Fit)

拟合度概念及意义 拟合度&#xff08;Goodness of Fit&#xff09;是衡量统计模型对数据解释能力的指标&#xff0c;用于评价模型对观测数据的拟合效果。在回归分析、分类模型或其他预测模型中&#xff0c;拟合度是模型性能的重要衡量标准。 1. 拟合度的作用 拟合度的主要作用…

【Elasticsearch】实现用户行为分析

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

初识Linux · 线程同步

目录 前言&#xff1a; 认识条件变量 认识接口 快速使用接口 生产消费模型 前言&#xff1a; 前文我们介绍了线程互斥&#xff0c;线程互斥是为了防止多个线程对临界资源访问的时候出现了对一个变量同时操作的情况&#xff0c;对于线程互斥来说&#xff0c;我们使用到了锁…

使用 LlamaFactory 结合开源大语言模型实现文本分类:从数据集构建到 LoRA 微调与推理评估

文章目录 背景介绍文本分类数据集Lora 微调模型部署与推理期待模型的输出结果 文本分类评估代码 背景介绍 本文将一步一步地&#xff0c;介绍如何使用llamafactory框架利用开源大语言模型完成文本分类的实验&#xff0c;以 LoRA微调 qwen/Qwen2.5-7B-Instruct 为例。 文本分类…