存内计算的背景
传统的冯·诺依曼架构中,计算单元和存储单元是完全分离的。随着处理器速度的不断提升,存储器的性能提升速度远远落后,导致了所谓的“内存墙”问题。内存墙不仅限制了计算机的整体性能,还对能效比产生了负面影响,尤其是在人工智能和大数据处理等计算密集型应用中。
存内计算的工作原理
- 数据加载:将大量数据从各种数据源(如数据库、数据湖或流数据管道)加载到系统的RAM中。
- 数据处理:数据一旦进入内存,就可以使用内存分析工具直接进行处理,无需不断读写磁盘。
- 数据存储:处理后的结果可以存储回内存或持久化到磁盘以进行长期存储。
存内计算的实现方式
- 模拟存内计算:这种方法利用存储器单元的模拟特性进行计算。例如,利用存储器单元的阻值或电容进行矩阵乘法。模拟存内计算具有高能效的优势,但精度较低。
- 数字存内计算:这种方法利用存储器单元的数字特性进行计算。例如,利用存储器单元进行加法、乘法等逻辑运算。数字存内计算具有高精度的优势,但能耗较高。
存内计算的特点
- 减少数据传输:通过在存储器中直接处理数据,减少了数据在存储器和处理器之间的传输,从而降低了延迟和功耗。
- 高计算密度:由于计算和存储的集成,存内计算能够在有限的空间内实现更高的计算密度。
- 灵活的设计:允许对存储单元进行灵活设计,使其更适合执行计算操作,例如通过优化存储单元的组织方式来提高其计算性能。
为什么研究存内计算?
传统的计算机架构是将数据存储在存储器中,然后将数据传输到计算单元进行处理。这种架构存在一个性能瓶颈,即数据传输延迟。例如,CPU处理运算一道指令的耗时假若为1ns,但内存读取传输该指令的耗时可能就已达到10ns,严重影响了CPU的运行处理速度。此外,读写一次内存的数据能量比计算一次数据的能量多消耗几百倍,也就是“功耗墙”的存在。
存内计算是一种创新的计算架构,它将计算任务直接嵌入到数据存储器内部进行处理,从而避免了传统计算模型中频繁的数据传输和复杂的内存管理,显著提高了计算效率和性能。这种计算模型颠覆了经典的冯·诺依曼范式,其中数据和指令存储与数据处理是分开的。在存内计算模型中,计算单元被直接集成到存储器内部,允许数据在其驻留位置直接执行处理操作,无需通过系统总线频繁往返于处理器与内存之间。
目前,业界实现存内计算的三种主流路径为SRAM、DRAM、Flash,简单来说DRAM内存具有动态刷新,断电会丢失数据的特征,SRAM为高速缓存,其无需刷新,但同样会在断电状态下丢失数据,Flash则为闪存,其有着无需刷新,断电不丢数据的特征,通常作为硬盘使用。
选择SRAM路径的代表性半导体企业为台积电,它可以在5nm的先进工艺上制造。SRAM的存储逻辑简单清晰,和现在的数字处理器技术更容易结合,同时,SRAM离CPU近读写性能优势较大,但作为易失性存储器的SRAM同时也有着断电后数据无法保存的问题,因此SRAM还需要在断电后把数据传输到其它存储器中。
Flash阵营的代表玩家为美国的Mythic公司,Flash是一种业内较为成熟的存储器技术,它在功能工艺参数、器件模型上都有着成熟的工具,同时,其系统架构的核心设计可以向非易失性的RRAM(电阻式随机存取存储器)等新型非挥发器件上迁移,迅速完成产品的更新迭代,
基于DRAM的存内计算芯片,目前采用该方案的公司较少,因为其技术落地的时间暂不明朗。DRAM存内计算适合大算力AI芯片,其对硬件的通用性和可编程性的要求更高,这对目前专用性的架构来说需要花更多心思来重新设计,其难度自然更高。
存内计算的应用场景
随着人工智能技术的发展,AI在各领域的应用逐渐广泛,以深度学习为代表的神经网络算法需要系统能高效处理海量的非结构化数据,例如文本、视频、图像、语音等,这导致在冯·诺伊曼架构下的硬件需要频繁读写内存,其计算任务有着并行运算量大、参数多的特点,这使得AI芯片对并行运算、低延迟、带宽等有着更高的要求,也因此,存内计算在人工智能时代迎来了发展的黄金时期。
人工智能和机器学习:
存内计算可以为AI算法提供向量矩阵乘的算子加速,特别适用于卷积神经网络(CNN)、循环神经网络(RNN)等。例如,WTM2101芯片在语音激活检测、语音唤醒、命令词识别、环境去噪和声纹识别方面表现出色。
大数据分析:
存内计算能够快速处理和分析大量数据,适用于需要实时或近实时数据分析和决策的应用。例如,金融风险评估、实时市场分析等。
边缘计算和物联网设备:
在边缘计算节点上,存内计算可以用于实时处理和分析来自物联网设备的数据,减少需要传输到云的数据量。例如,智能可穿戴设备、智能家居、安防监控等。
存内计算的未来
存内计算的实现基于相对成熟的易失性存储和不太成熟的非易失性存储,但无论是哪种路线的实现都存在一定的挑战,几大技术方向也都在发展中。随着非易失性存储器(NVM)的出现,某些NVM具有在模拟域中执行计算所需的物理特性,因此只需对内存阵列进行最小的设计更改即可实现存内计算。例如,忆阻器作为存内计算的重要器件候选,可以支持各种模拟计算应用,包括人工神经网络(ANN)、机器学习、科学计算和数字图像处理等。我国的存内计算产业也开始迅猛发展,知存科技、九天睿芯、智芯科、后摩智能、苹芯科技等国内专注存内计算赛道的新兴公司纷纷获得融资,加速在该领域的早期市场布局及商业落地。
易失性存储路线在融合处理器工艺和存储器工艺上存在诸多难题,在冯·诺依曼架构下,处理器与存储器的区隔明显,从设计、制造、封装全流程,它们各自都发展出了独立的生态,想要把两者融合成一体,非一朝一夕之功。但极强的市场需求与暂未明朗的技术产品,谁能率先在可控的成本内实现存内计算存储密度与计算密度的平衡,谁或许就摸索到了成为下一个英伟达的路径。