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

news2025/1/16 19:07:35

一、总述

电容、电导补偿作为大规模数字电路的关键设计理念,是 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.coloradmin.cn/o/2256545.html

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

相关文章

汽车网络安全 -- IDPS如何帮助OEM保证车辆全生命周期的信息安全

目录 1.强标的另一层解读 2.什么是IDPS 2.1 IDPS技术要点 2.2 车辆IDPS系统示例 3.车辆纵深防御架构 4.小结 1.强标的另一层解读 在最近发布的国家汽车安全强标《GB 44495》,在7.2节明确提出了12条关于通信安全的要求,分别涉及到车辆与车辆制造商云平台通信、车辆与车辆…

【数字化】华为企业数字化转型-认知篇

导读:企业数字化转型的必要性在于,它能够帮助企业适应数字化时代的需求,提升运营效率,创新业务模式,增强客户互动,从而在激烈的市场竞争中保持领先地位并实现可持续发展。通过学习华为企业数字化转型相关理…

用C#开发程序进行ASCII艺术制作

我一直很喜欢 ASCII 艺术,而我对制作 ASCII 艺术的热情促使我探索 .NET 框架中的 GDI。在本文中, 我将向您展示如何通过三个简单的步骤从 JPEG/Bitmap 图像生成 ASCII 艺术。 1、加载并调整图像大小。 2、读取每个像素,获取其颜色并将其转换…

第23周:机器学习及文献阅读

目录 摘要 Abstract 一、理论知识 1、逻辑提升 2、分类任务 3、10倍交叉验证法 二、文献阅读 1、模型方法——MLT (1)特征选择 (2)决策树剪枝 2、分类任务——逻辑回归 3、实验部分 数据集的选取 代码实践 模型…

2020年国赛高教杯数学建模E题校园供水系统智能管理解题全过程文档及程序

2020年国赛高教杯数学建模 E题 校园供水系统智能管理 原题再现 校园供水系统是校园公用设施的重要组成部分,学校为了保障校园供水系统的正常运行需要投入大量的人力、物力和财力。随着科学技术的发展,校园内已经普遍使用了智能水表,从而可以…

React开发高级篇 - React Hooks以及自定义Hooks实现思路

Hooks介绍 Hooks是react16.8以后新增的钩子API; 目的:增加代码的可复用性,逻辑性,弥补无状态组件没有生命周期,没有数据管理状态state的缺陷。 为什么要使用Hooks? 开发友好,可扩展性强&#…

摩尔线程 国产显卡 MUSA 并行编程 学习笔记-2024/12/03

Learning Roadmap: Section 1: Intro to Parallel Programming & MUSA Deep Learning Ecosystem(摩尔线程 国产显卡 MUSA 并行编程 学习笔记-2024/11/30-CSDN博客)UbuntuDriverToolkitcondapytorchtorch_musa环境安装(2024/11/24-Ubunt…

如何使用Docker轻松搭建高颜值无广告音乐播放器SPlayer随时随地听歌

前言 在快节奏的生活环境中,音乐成为了许多人放松和享受的重要方式。本文将介绍如何在Linux Ubuntu系统中使用Docker快速部署一款高颜值无广告的某抑云音乐播放器——SPlayer,并结合Cpolar内网穿透工具实现出门在外也能远程访问本地服务,随时…

C# Decimal

文章目录 前言1. Decimal 的基本特性2. 基本用法示例3. 特殊值与转换4. 数学运算示例5. 精度处理示例6. 比较操作示例7. 货币计算示例8. Decimal 的保留小数位数9. 处理 Decimal 的溢出和下溢10. 避免浮点数计算误差总结 前言 decimal 是 C# 中一种用于表示高精度十进制数的关键…

【理论·专业课】第三次作业

第1题(存储管理_内存碎片) 请指出内部碎片与外部碎片的区别。 ANS: 内部碎片是分配给进程但未被进程使用且无法被其他进程利用的内存空间 外部碎片是内存中因进程分配释放内存形成的不连续小块,虽总和够但因不连续无…

最新的springboot 3.x的支持s3协议的2.x方法的minio上传文件方法

拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/minio:latest运行命令 docker run -d \--name minio \-p 10087:9000 \-p 10088:9001 \-e MINIO_ROOT_USERminioadmin \-e MINIO_ROOT_PASSWORDY6HYraaphfZ9k8Lv \-v /data/minio/data:/data \-v /data/…

cocos creator接入字节跳动抖音小游戏JSAPI敏感词检测(进行文字输入,但输入敏感词后没有替换为*号)

今天更新了某个抖音小游戏的版本,增加了部分剧情,半天过后一条短信审核未通过,emmm…抖音总是能给开发者惊喜…打开电脑看看这次又整什么幺蛾子… 首先是一脸懵逼,后端早已接入了官方的内容安全检测能力了(https://de…

Origin快速拟合荧光寿命、PL Decay (TRPL)数据分析处理-方法二

1.先导入数据到origin 2.导入文件的时候注意:名字短的这个是,或者你打开后看哪个里面有800,因为我的激光重频是1.25Hz(应该是,不太确定单位是KHz还是MHz),所以对应的时间是800s。 3.选中两列直接…

17. 面向对象的特征

一、面向对象的三大特征 面向对象的三大特征指的是 封装、继承、多态。 封装(encapsulation,有时称为数据隐藏)是处理对象的一个重要概念。从形式上看,封装就是将数据和行为组合在一个包中,并对对象的使用者隐藏具体的…

Apache Dolphinscheduler可视化 DAG 工作流任务调度系统

Apache Dolphinscheduler 关于 一个分布式易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。 DolphinScheduler 的主要特性如下: 易于部署,提供四种部署方式&am…

第二部分:基础知识 6.函数 --[JavaScript 新手村:开启编程之旅的第一步]

JavaScript 函数是可重用的代码块,用于执行特定任务。函数可以接受参数(输入数据),并且可以返回一个值。JavaScript 提供了多种定义函数的方式,下面将详细介绍这些方式,并给出一些示例。 1. 函数声明 下面…

我眼中的“懂重构”(一)

初识重构 2017年的时候,领导让我看公司的一本书《重构——改善代码的既有设计》,这是一本JAVA版本的,前后看了2遍。那时候看书因为不懂看的格外仔细。我只是那时候不懂,然而多年后的今天我仍然发现很多人对重构充满误解。在刚进入…

机器学习详解(3):线性回归之代码详解

文章目录 1 数据预处理2 构建线性回归模型并绘制回归线初始化方法前向传播:forward_propagation代价函数:cost_function反向传播:backward_propagation参数更新:update_parameters训练方法:train代码运行结果 3 使用Py…

基于openzeppelin插件的智能合约升级

一、作用以及优点 部署可升级合约,插件自动部署proxy和proxyAdmin合约,帮助管理合约升级和交互;升级已部署合约,通过插件快速升级合约,脚本开发方便快捷;管理代理管理员的权限,只有proxyAdmin的…

游戏引擎学习第36天

仓库 :https://gitee.com/mrxiao_com/2d_game 回顾之前的内容 在这个程序中,目标是通过手动编写代码来从头开始制作一个完整的游戏。整个过程不使用任何库或现成的游戏引擎,这样做的目的是为了能够全面了解游戏执行的每一个细节。开发过程中&#xff0…