引言
存内计算的概念
存内计算(In-Memory Computing, IMC)是一种创新的计算架构,它颠覆了经典的冯·诺依曼范式,其中数据和指令存储与数据处理是分开的。在存内计算模型中,计算单元被直接集成到存储器内部,允许数据在其驻留位置直接执行处理操作,无需通过系统总线频繁往返于处理器与内存之间。这一变革性的设计目标在于消除数据搬运的开销,显著提升计算效率和降低能源消耗,为大数据处理、实时分析和机器学习等应用提供强大的支撑。
为何它是计算架构的一场革命
- 性能瓶颈突破:传统架构中,CPU与内存间的数据传输速率成为限制系统性能的关键因素,即所谓的“内存墙”问题。存内计算通过消除这一瓶颈,理论上可以实现接近存储器访问速度的计算速度,极大地提升了系统响应和处理能力。
- 能效提升:数据传输消耗大量能量,尤其是在高性能计算场景下。存内计算减少了数据移动,从而显著降低了整体功耗,对移动设备和绿色计算尤为重要。
- 架构灵活性增强:它为异构计算、近数据处理等新型计算模式打开了大门,使得系统能够更加灵活地适应多样化的计算需求。
现代计算挑战
数据移动瓶颈
随着数据集的爆炸性增长,传统架构下的数据搬运成为主要性能瓶颈。应用程序频繁地在处理器和远离计算核心的存储层级之间移动数据,导致延迟增加,降低了处理速度。
功耗问题
数据中心和高性能计算系统面临巨大的能源消耗,部分原因在于频繁的数据传输和维持高性能处理器的运行。随着对环境可持续性的关注加深,降低计算的能耗成为迫切需求。
摩尔定律放缓的大背景
摩尔定律指出,集成电路上可容纳的晶体管数量每隔大约两年便会翻一番,进而带来计算能力的指数级增长。然而,随着物理极限的逼近,继续按照摩尔定律缩小芯片尺寸变得越来越困难,迫使行业寻找新的计算效率提升路径。存内计算正是在这种背景下,作为提升计算效率的一种重要探索方向,受到了广泛的关注和研究。
存内计算的前世今生:深化理解与技术演进
前世:计算与存储分离的历史
计算机体系结构的演变
- 冯·诺依曼架构(Von Neumann Architecture)
- 起源:1945年由数学家和计算机科学家约翰·冯·诺依曼提出,核心特征是程序和数据共用同一存储空间,指令和数据需要从同一内存中读取。
- 影响:虽然极大地促进了计算机科学的发展,但也确立了计算与存储分离的基础,这一设计在后续几十年中成为了计算机设计的模板。
存储技术的发展
-
磁盘存储(Hard Disk Drives, HDD)
- 特点:利用旋转磁盘和移动读写头来存储数据,提供了比早期磁带更高的存储容量和更快的访问速度。
- 局限:由于物理运动部件的存在,HDD受限于较低的数据传输率和较高的寻道时间。
-
DRAM(Dynamic Random Access Memory)
- 优势:速度快,能够快速读写数据,支持计算机的即时运算需求。
- 缺点:断电后数据丢失,且成本高于其他形式的存储介质。
-
Flash存储(Solid State Drives, SSD)
- 革新:基于闪存技术,无机械运动部件,显著提高了读写速度和耐用性。
- 挑战:尽管性能提升,但仍有写入次数限制和较高的单位成本。
-
新进展:Flash存储技术的出现,凭借其非易失性与高速读写速度,彻底改变了存储格局。知存科技紧随技术潮流,研发了基于模拟Flash的存算一体芯片WTM2101,这是基于模拟Flash存算一体的SoC芯片,它采用极小封装尺寸,能够在微安级别下完成上百条语音命令词的识别。同时,它能够以超低功耗实现NN声音降噪算法、健康监测与动作识别算法。这款芯片的AI算力提高了10-200倍,功耗仅在5uA到3mA之间,适用于需要高算力和低功耗的AIoT场景。相对于传统的NPU、DSP、MCU计算平台,WTM2101的AI算力提高了10-200倍,功耗仅在5uA到3mA之间。这使得WTM2101芯片在需要人声增强、降噪、抗啸叫算法时产生的算力,尤其在存内计算技术上更能发挥优势
分离带来的问题
- 能量消耗:在传统架构中,数据频繁往返于CPU与内存/存储设备之间,消耗大量电力。
- 延迟问题:数据搬运增加了额外的时间延迟,尤其是在大数据和实时应用中,影响系统响应速度。
存内计算的萌芽
初期理论基础
- 近数据处理:主张将计算任务移到数据所在位置执行,减少数据移动,提高效率。
- PIM(Processor-in-Memory)概念:提出在存储器上集成计算逻辑,实现数据的本地处理,减少数据传输需求。
预存内计算技术尝试
- SIMD(Single Instruction Multiple Data):一种并行处理技术,允许一条指令同时操作多个数据,为PIM提供了并行处理的思路。
- 向量处理器:专为处理大规模数组运算而设计,展示了特定领域计算加速的可能性。
关键启发点
- 神经网络硬件加速器:神经网络计算的特性(如矩阵运算)与存储器计算天然契合,促进了PIM技术在AI领域的探索。
- 存储器计算研究:通过将计算功能融入存储单元,探索新的计算范式,减少数据移动,提高能效。
技术突破与关键里程碑
90年代至21世纪初
- 忆阻器(Memristor)的理论提出
- 意义:作为电路的第四种基本元件,忆阻器能够在不同电阻状态间切换,理论上能够用于存储信息并执行计算。
- 进展:HP实验室2008年成功演示了首个忆阻器原型,为存内计算打开了新大门。
2000s
-
ReRAM(Resistance Random Access Memory)与PCM(Phase Change Memory)
- ReRAM:通过改变材料电阻状态存储信息,具备高速、低能耗和非易失性,成为PIM研究的热点。
- PCM:通过材料相变存储数据,同样具有高速和非易失性,为存内计算提供了另一种可能的物理实现方式。
-
PIM架构的提出:学者们开始设计将计算单元嵌入存储阵列中的架构,探索新的计算模式。
2010s
-
3D堆叠技术
- 概述:通过垂直堆叠存储层和计算层,极大提高了集成度和数据传输速率,降低了能耗。
- 案例:如三星的3D V-NAND和HBM(High Bandwidth Memory),以及Intel的3D XPoint技术。
-
IBM TrueNorth
- 创新:2014年,IBM推出了TrueNorth,这是一种基于神经元形态计算的芯片,集成了超过一百万个“神经元”和数十亿个“突触”,展示了存内计算在模拟人脑计算方面的潜力。
近年来
-
知存科技存算一体芯片:
在探讨存内计算的发展历程中,知存科技的贡献不容忽视。该公司专注于存内计算芯片领域,推出了两款具有里程碑意义的产品:WTM1001和WTM2101。-
WTM1001是知存科技推出的首款存算一体加速器。它标志着公司在存内计算领域的初步突破,为后续的技术进步奠定了基础。WTM1001的设计理念是将存储和计算功能紧密结合,以提高数据处理效率并降低功耗。这款芯片的运行功耗仅为300μA,算力是市场上同类芯片的20倍,能够直接存储和运行神经网络,运算过程无需数据搬运,效率提高了近50倍。
-
WTM2101则是基于模拟Flash存算一体的SoC芯片,代表了知存科技在存内计算技术上的进一步革新。WTM2101采用极小封装尺寸,能够在微安级别下完成上百条语音命令词的识别,并以超低功耗实现NN声音降噪算法、健康监测与动作识别算法。这款芯片的AI算力提高了10-200倍,功耗仅在5uA到3mA之间,特别适合于需要高算力和低功耗的智能可穿戴设备和智能终端设备等AIoT场景中。
-
知存科技的这些创新不仅推动了存内计算技术的发展,也为AI应用提供了更高效、低功耗的解决方案,有助于推动智能设备的普及和AI技术的进步。随着技术的不断演进,我们可以期待知存科技在未来计算架构变革中扮演更加重要的角色。
存内计算在硬件与嵌入式领域的革新应用
存内计算在硬件设计中的应用
存内计算技术深刻改变了硬件设计的哲学,其核心在于通过直接在存储层内执行计算任务,实现数据处理的革命性优化。这不仅显著提升了计算效率,还极大降低了系统整体的能耗,具体体现在以下几个方面:
-
数据传输的革命:传统的计算架构因数据频繁在CPU与内存间移动而遭受性能瓶颈。存内计算技术通过在存储单元内完成计算,几乎消除了数据搬运的延迟,使得计算密集型应用如人工智能算法、大数据分析和高性能计算能够以前所未有的速度运行。
-
能效比的飞跃:尤其对于数据中心和移动设备而言,能效是衡量技术实用性的关键指标。存内计算通过减少数据在系统中的物理移动,直接降低了能量消耗,对实现绿色计算至关重要。
存内计算在嵌入式系统中的应用
在嵌入式系统的世界里,尺寸、效率和能源效率是设计的核心要素。存内计算技术恰逢其时地解决了这些需求:
-
高效能与低功耗的完美平衡:嵌入式系统,如物联网(IoT)设备、可穿戴设备及自动化控制系统,对能效要求极高。存内计算技术使得这些设备能在保持长时间运行的同时,处理更复杂的任务,而不必频繁充电或更换电池。
-
增强处理能力:对于图像识别、语音处理等复杂的人工智能应用,存内计算使嵌入式系统能够直接在设备端实现这些计算密集型操作,减少了对云服务的依赖,增强了隐私保护和即时响应能力。
存内计算技术的挑战与机遇
尽管存内计算带来了显著的效益,其应用也伴随着一系列挑战:
-
计算能力的局限:当前存储单元的计算能力与通用处理器相比仍有限,难以处理所有类型的任务,特别是在需要高度并行处理或复杂逻辑运算的场景中。
-
成本与技术门槛:存内计算技术的研发和生产成本较高,包括新材料的开发、制造工艺的创新以及与现有硬件生态的整合,这些都是短期内需要克服的障碍。
然而,随着材料科学的进步、制造工艺的成熟以及市场需求的驱动,存内计算技术的成本预计将持续下降,应用范围将进一步扩大。此外,软件与算法的优化也将是解锁存内计算全部潜力的关键。未来,存内计算技术有望在硬件设计与嵌入式系统领域开启一个效能与能效兼顾的新纪元。
最新进展
清华大学团队研发全球首颗全系统集成忆阻器存算一体芯片
团队背景
清华大学在存内计算领域的研究团队汇聚了集成电路学院、计算机科学与技术系等多个院系的顶尖学者,其中包括教授吴华强、副教授高滨等领军人物。这些研究人员在集成电路设计、计算机科学、材料科学等多个领域拥有深厚的专业背景,形成跨学科合作的研究力量。
重要论文与成果
- 全球首颗全系统集成忆阻器存算一体芯片:2023年,吴华强教授和高滨副教授领导的团队基于存算一体计算范式,成功研发出全球首颗全系统集成的忆阻器存算一体芯片,实现了高效片上学习,即机器学习过程直接在硬件端完成,该成果发表在《科学》(Science)杂志上。
- 新型存储材料研究:团队在新型纳米级忆阻器材料方面亦有突破,相关研究成果“90%Yield Production of Polymer Nano-Memristor for In-Memory Computing”发表于Nature Communications,展示了高产率的共轭氧化还原活性高分子忆阻器材料,为存内计算的硬件基础提供了新材料支持。
北京大学-知存科技存算一体联合实验室正式揭牌
知存科技产学研合作布局
知存科技作为国际领先的存内计算芯片企业,积极响应多模态大模型时代的需求,于2024年5月5日携手北京大学共同成立了“北京大学-知存科技存算一体技术联合实验室”。这一举措标志着知存科技产学研融合战略的新升级,旨在加速存内计算技术的创新与应用转化。
联合实验室成果概览
揭牌仪式之后,知存科技创始人兼CEO王绍迪在北京大学集成电路学院的“未名·芯”论坛上发表了题为《多模态大模型时代的存内计算发展》的专题报告。报告深入探讨了存内计算在人工智能芯片产业面临的挑战及未来趋势,为产学研各界提供了前瞻性的视角。
知存科技的技术创新
知存科技在产学研融合战略下,专注于Flash存算一体技术、模拟存算一体高能效ADC技术,以及新材料存算一体技术的研发。公司与北京大学的顶级学者团队紧密合作,如蔡一茂院长、吴燕庆研究员、唐希源研究员等,共同推进技术创新,加速成果转化。
项目转化实例
联合实验室的首个共研项目聚焦于边缘AI的存内计算芯片技术难题,由唐希源研究员领导的团队承担。唐希源以其在国际顶级期刊和会议发表的高质量研究成果,以及荣获IEEE SSCS Rising Stars Award的经历,为项目提供了坚实的学术基础。
存内计算在神经网络训练中的演示
#存内计算概念代码:
import torch
import torch.nn as nn
import torch.optim as optim
# 定义一个使用存内计算的神经网络模型
class AcceleratedModel(nn.Module):
def __init__(self):
super(AcceleratedModel, self).__init__()
# 在存储单元中引入计算操作
self.fc1 = nn.Linear(10, 5, bias=False)
self.fc2 = nn.Linear(5, 1, bias=False)
def forward(self, x):
# 在存储单元中进行计算
x = torch.relu(self.fc1(x))
x = self.fc2(x)
return x
# 创建一个使用存内计算的模型实例
accelerated_model = AcceleratedModel()
# 定义损失函数和优化器
criterion = nn.MSELoss()
optimizer = optim.SGD(accelerated_model.parameters(), lr=0.01)
# 训练模型
for epoch in range(100):
# 前向传播
outputs = accelerated_model(inputs)
# 计算损失
loss = criterion(outputs, labels)
# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()
if epoch % 10 == 0:
print(f'Epoch {epoch}, Loss: {loss.item()}')
运行结果
分析
- 存算一体技术在神经网络中的几个关键优势:
- 降低数据传输延迟:在传统的冯·诺依曼架构中,数据需要在处理器和存储器之间频繁传输,这会导致显著的延迟。存算一体技术通过在存- - 储单元内进行计算,减少了数据在不同硬件组件之间的移动,从而降低了延迟。
- 减少能量消耗:数据传输需要消耗能量,尤其是在大规模数据处理时。存算一体技术通过减少数据搬运,可以显著降低整个系统的能量消耗。
- 提高带宽利用率:由于计算可以在存储单元内完成,存算一体技术能够更有效地利用带宽,避免了传统架构中处理器和存储器之间的带宽瓶颈。
- 空间效率:将计算逻辑集成到存储单元中,可以减少芯片空间的占用,使得设备更加紧凑,这对于移动设备和可穿戴设备尤为重要。
- 并行处理能力:存算一体架构通常设计为支持高度并行的操作,这对于神经网络中的矩阵运算等并行计算任务非常有利。
灵活性和可扩展性:存算一体技术提供了更多的设计灵活性,可以根据特定的应用需求定制存储和计算单元的集成方式
未来展望
对存内计算未来发展的预测
- 技术成熟与普及:预期未来几年内,存内计算技术将逐渐成熟,成为高性能计算、数据中心、移动设备和物联网等领域的重要技术支撑。
- 新计算范式:随着存内计算技术的深入发展,可能会催生新的计算模型和算法设计,特别是在人工智能、大数据处理领域,将促进计算效率和应用创新的双重飞跃。
面临的挑战与机遇
- 技术挑战:提高忆阻器的稳定性和持久性,优化存内计算架构以支持更广泛的应用需求,以及降低成本和提高良率,是技术层面亟需解决的问题。
- 生态系统构建:建立完善的软件生态系统,包括编译器、编程模型、工具链等,以充分释放存内计算的潜力。
- 市场机遇:随着AI、5G、物联网等技术的快速发展,对低延迟、高能效计算的需求激增,存内计算技术有望开辟巨大的市场空间,成为推动信息技术产业革新的关键力量。
结语:存内计算 - 一场颠覆硬件工程与嵌入式开发的革命
存内计算对嵌入式行业的影响
硬件工程的革新
存内计算技术正逐步重塑硬件工程的面貌,它不仅仅是一项技术创新,更是对传统计算架构的一次深刻反思与重构。在硬件设计层面,存内计算促使工程师们重新考虑计算与存储的融合方式,推动了新型存储器、计算模块以及三维集成技术的发展。例如,通过在DRAM或新兴非易失性存储器(NVM)中集成计算逻辑,硬件工程师能够设计出高度优化的数据处理单元,这些单元能直接在数据驻留的位置执行计算任务,从而显著减少数据传输延迟和能耗。
嵌入式开发的变革
在嵌入式系统领域,存内计算技术的影响尤为深远。它为设计高效、低功耗的嵌入式设备提供了新的途径。对于资源受限的IoT设备、可穿戴设备或边缘计算节点,存内计算技术使得在有限的能源预算下执行复杂算法成为可能。此外,它还简化了系统设计,降低了对外部存储和高速数据总线的依赖,使嵌入式开发者能够更专注于提升设备的智能化水平和用户体验,而不必过分担忧能源效率或硬件复杂度问题。
存内计算技术的未来趋势
技术融合与标准化
随着存内计算技术的成熟,预计未来将看到更多的技术融合,包括存内计算与传统计算架构的互补集成、与新兴存储技术(如存内计算与量子存储、生物存储的结合)的创新应用,以及在标准化方面取得进展,以促进不同厂商之间的互操作性和生态系统的建立。
材料与制造工艺的进步
材料科学的突破将是存内计算技术发展的重要驱动力。新型存储材料的发现与优化,如更稳定、高效的忆阻器材料,将为存内计算提供更强大的硬件基础。同时,先进的制造工艺,如纳米加工、3D封装技术的不断演进,将使得存内计算芯片的集成度更高、成本更低,加速其商业化进程。
软件与算法的协同创新
存内计算的潜力充分发挥还需软件和算法层面的革新。未来,针对存内计算特性的编程模型、编译器优化、以及针对特定应用的算法设计将不断涌现,实现软硬件的深度协同,最大化存内计算的效能。例如,为存内计算定制的深度学习框架,可以有效利用存储器内的并行计算资源,提升模型训练和推断效率。
应用场景的拓展
随着技术的进步和成本的进一步降低,存内计算将渗透到更多应用场景中,从数据中心的高性能计算、云计算,到边缘计算的实时数据处理,再到消费电子产品的智能化升级,存内计算将成为推动社会数字化转型的关键技术之一。
总之,存内计算技术正处于技术演进的关键时期,它对硬件工程和嵌入式开发的深远影响才刚刚开始展现,未来将在技术创新、产业应用、生态建设等多方面带来革命性的变化,开启计算技术的新纪元。