[go: up one dir, main page]

CN114758699A - 一种数据处理方法、系统、装置及介质 - Google Patents

一种数据处理方法、系统、装置及介质 Download PDF

Info

Publication number
CN114758699A
CN114758699A CN202210276205.7A CN202210276205A CN114758699A CN 114758699 A CN114758699 A CN 114758699A CN 202210276205 A CN202210276205 A CN 202210276205A CN 114758699 A CN114758699 A CN 114758699A
Authority
CN
China
Prior art keywords
bit line
sensor signal
output
ternary
voltage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210276205.7A
Other languages
English (en)
Inventor
徐方磊
虞志益
陈伟冲
赵贵华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202210276205.7A priority Critical patent/CN114758699A/zh
Publication of CN114758699A publication Critical patent/CN114758699A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)

Abstract

本发明提供的一种数据处理方法、系统、装置及介质,该方法主要包括以下步骤:获取传感器信号,将传感器信号发送至SRAM阵列的读位线;确定读位线的电压值稳定,开启SRAM阵列的读字线;通过读字线获取传感器信号的权重值,根据权重值进行乘法操作,得到第一输出电压输出至共享位线;将第一输出电压进行二值化处理得到第二输出数据,将第二输出数据得到卷积运算结果;方案能够无需中间一系列模数转换、数模转换的处理步骤,大大降低数据传输的硬件开销、功耗、延迟,能够有效地提高神经网络算法的正确率,并且还可以降低数据搬移所产生的延迟和功耗;同时提供低延迟、高带宽等高性能要求,可广泛应用于嵌入式技术领域。

Description

一种数据处理方法、系统、装置及介质
技术领域
本发明涉及嵌入式系统技术领域,尤其是一种数据处理方法、系统、装置及介质。
背景技术
在低功耗嵌入式系统中,复杂的计算需求和硬件资源可用性之间的鸿沟越来越大。同时对于物联网、边缘计算这些应用场景来说,越来越要求高性能、低功耗来满足实时性和便捷性。
在传统的冯·诺伊曼计算机体系架构下,计算单元和存储单元在物理空间上是分离的,两者间通过数据总线进行数据传输。计算单元根据指令从内存中读取数据,计算完成后存回内存。这种架构成为制约计算系统性能提升的主要瓶颈之一,不但增加了计算的延迟而且带来了巨大的能耗开销。据估算在冯·诺伊曼计算机体系架构中,数据传输的功耗在总的数据计算功耗中占比高达50%以上。另外,存储墙(Memory Wall)的问题更加不容忽视。由于计算和存储的分离,处理器和存储器朝着各自的方向和理念发展演进。处理器追求的是高频高性能,而存储器目标是低成本、高密集型,其性能相对来说发展较慢。很长一段时间以来,相比于处理器取得年均约55%的性能提升的进步,而内存的数据存取延迟只有可怜的10%的降低。同时,对于海量的数据传输需求,数据总线有限的带宽同样严重制约了系统计算的性能与效率。
发明内容
有鉴于此,为至少部分解决上述技术问题之一,本发明实施例的目的在于提供一种高性能、低功耗的数据处理方法,以及对应能够实现该方法的系统、装置以及介质。
一方面,本申请技术方案提供了一种数据处理方法,包括以下步骤:
获取传感器信号,将所述传感器信号发送至SRAM阵列的读位线;所述传感器信号为输入特征图的像素点,进行二值化处理所转换得到的电压信号;
确定所述读位线的电压值稳定,开启SRAM阵列的读字线;
获取所述读字线中传感器信号的权重值,获取所述读位线中的传感器信号,根据所述权重值与所述传感器信号进行乘法操作,得到第一输出电压输出至共享位线;所述第一输出电压为输出特征图中像素点的电压信号;
将所述第一输出电压进行转换得到第二输出数据,将所述第二输出数据得到卷积运算结果。
在本申请方案的一种可行的实施例中,所述读位线包括第一读位线和第二读位线,所述通过所述获取所述读字线中传感器信号的权重值,获取所述读位线中的传感器信号,根据所述权重值与所述传感器信号进行乘法操作,得到第一输出电压输出至共享位线,包括:
确定所述权重值为第一数值,第一晶体管截止,第二晶体管导通,将所述第一读位线中的传感器信号发送至所述共享位线;
确定所述权重值为第二数值,第一晶体管导通,第二晶体管截止,将所述第二读位线中的传感器信号发送至所述共享位线;
确定所述权重值为第三数值,第一晶体管截止,第二晶体管截止,将所述第一读位线和第二读位线中的传感器信号均发送至所述共享位线。
在本申请方案的一种可行的实施例中,所述将所述第一输出电压进行转换得到第二输出数据,将所述第二输出数据得到卷积运算结果这一步骤,包括:
将所述第一共享位线中的第二输出数据与所述第二共享位线中的第二输出数据相减得到所述卷积运算结果。
在本申请方案的一种可行的实施例中,所述数据处理方法还包括以下步骤:
将通过所述乘法操作得到的且数值为正的第一输出电压存储至第一电容;
将通过所述乘法操作得到的且数值为负的第一输出电压存储至第二电容。
在本申请方案的一种可行的实施例中,所述卷积运算结果满足以下公式:
Figure BDA0003556077520000021
其中,所述OUT为卷积运算结果,Wi为权重值,Vi为传感器信号的电压值,n为SRAM阵列的数量,i=1,2,3,…,N,N为正整数。
另一方面,本申请技术方案还提供了一种数据处理系统,该系统包括:
传感器存储阵列,用于获取传感器信号,将所述传感器信号发送至SRAM阵列的读位线;所述传感器信号为输入特征图的像素点,进行二值化处理所转换得到的电压信号;
读出计算电路,用于获取所述读字线中传感器信号的权重值,获取所述读位线中的传感器信号,根据所述权重值与所述传感器信号进行乘法操作,得到第一输出电压输出至共享位线;所述第一输出电压为输出特征图中像素点的电压信号;
模数转换电路,用于将所述第一输出电压进行转换得到第二输出数据,将所述第二输出数据得到卷积运算结果。
在本申请方案的一种可行的实施例中,所述传感器存储阵列为三值静态随机存取存储器;所述三值静态随机存取存储器包括第一三进制反相器,第二三进制反相器,第一三进制反相器的输出端连接至所述第二三进制反相器的输入端;所述第二三进制反相器输出端连接至所述第一三进制反相器的输入端。
在本申请方案的一种可行的实施例中,所述第一三进制反相器包括薄栅NMOS管、厚栅NMOS管、薄栅PMOS管以及厚栅PMOS管;
当所述第一三进制反相器的输入端为高电平信号,所述厚栅NMOS管以及所述薄栅NMOS管导通,所述第一三进制反相器的输出端为低电平信号;
当所述第一三进制反相器的输入端为低电平信号,所述厚栅PMOS管以及所述薄栅PMOS管导通,所述第一三进制反相器的输出端为高电平信号;
当所述第一三进制反相器的输入端信号幅值为高电平信号幅值的一半,所述薄栅NMOS管和所述薄栅PMOS管导通,所述第一三进制反相器的输出端的信号幅值为高电平信号幅值的一半;
所述第二三进制反相器的结构与所述第一三进制反相器相同。
另一方面,本申请技术方案还提供一种数据处理装置,该装置包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器运行如第一方面中任一项所述的一种数据处理方法。
另一方面,本申请技术方案还提供一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如第一方面中任一项所述的一种数据处理方法。
本发明的优点和有益效果将在下面的描述中部分给出,其他部分可以通过本发明的具体实施方式了解得到:
本申请技术方案面基于向传感器的存算一体卷积计算加速架构,方案可以直接从传感器中输入,无需中间一系列模数转换、数模转换的处理步骤,大大降低数据传输的硬件开销、功耗、延迟;采用的是能够存储多个权重的SRAM,能够有效地提高神经网络算法的正确率,并且还可以降低数据搬移所产生的延迟和功耗;方案满足了神经网络对于硬件实现架构降低包括功耗和硬件开销在内的成本,同时提供低延迟、高带宽等高性能要求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术中所通用的感知计算架构的示意图;
图2为本申请技术方案中面向近传感器的存算一体卷积计算加速架构示意图;
图3为本申请技术方案所提供一种数据处理系统的结构示意图;
图4为本申请技术方案实施例系统中三值SRAM的结构示意图;
图5为本申请技术方案实施例系统中三进制反相器STI的结构示意图;
图6为本申请技术方案实施例系统中卷积计算系统的结构示意图;
图7为本申请技术方案所提供一种数据处理方法的步骤流程图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
智能化时代,以人工智能技术(Artificial Intelligence,AI),为代表的科学技术极大地推动了人类社会的进步。近年来,人工智能技术取得了迅猛的发展,已经广泛地应用于消费领域以及工业生产领域。例如:图像识别、工业机器人、自动驾驶、元宇宙、医学影像分析等。与此同时,随着智能物联时代掀开序幕,越来越多的数据开始在云、边、端流动。成指数级增长的数据量对现有的计算架构的算力和功耗提出了更高要求。由于存储墙(Memory Wall)、功耗墙(Power Wall)的存在,冯·诺依曼计算架构的局限性日益凸显。因此,亟需一种新型的计算架构来应对未来应用场景的挑战。在这样的背景下,存算一体的概念重新进入学术界和产业界的视野。
人工神经网络算法的成功以及强大的硬件基础的突破共同推动了人工智能革命快速发展。近年来,人工神经网络在目标检测、可穿戴设备、自然语言处理等很多应用场景展现出了极大的优势。在软件层面,人工神经网络算法取得了巨大的成功,为了支持人工神经网络模型从云端到边缘设备的有效的实施。学术界和产业界的研究人员纷纷开始设计设计人工神经网络专用硬件加速器。当前,人工神经网络算法加速的主流的平台是图形处理单元(GPU),GPU的优点是具有很高的计算精度并且编程非常灵活。人工神经网络算法的训练通常是在GPU集群中完成,其能源消耗非常惊人,消耗高达数百到数千瓦的功率。为了提高能源效率,使其适用于大数据中心环境,研究人员开始为云端和边缘设备定制专用的集成电路(ASIC)架构解决方案,例如Google的张量处理单元(TPU)。然而人工神经网络算法加速器的真正问题在于计算单元和内存单元之间频繁的数据搬动,也就是我们所说的传统冯·诺依曼架构中的存储墙问题。人工神经网络处理的大部分操作是输入向量和权重矩阵之间的向量矩阵乘法(VMM),它本质上是执行乘累加(MAC)操作。因此,存内计算(CIM)是被认为是有望打破冯·诺依曼架构瓶颈最有效的解决方案。
此外,传感器系统是人工智能设备重要的组成部分。传统的传感器系统已经越来越不适用于智能设备,其能源消耗无法支持长时间连续数据采集任务。在传统的技术方案中中,由于传感器系统的功能要求和制造技术不同,因此在物理上与计算单元分离。传感器的主要工作在嘈杂的模拟域中,而计算单元通常是基于传统的冯·诺依曼计算架构以数字方式执行。传感器终端在本地采集大量原始数据,然后将数据传输到本地系统的计算单元。如图1所示,在传统的智能系统中,传感器采集的模拟数据首先要使用模数转换器(ADC)转换成数字信号,然后临时存储在存储器中,接着处理单元再从存储中取出数据进行处理。整体来看,数据从传感器采集到计算单元处理,中间存在一系列的数据转换和传输等处理。并且公开资料显示,ADC以及数据存储在整个系统的能耗中占据主导地位。因此,这种系统架构必然会造成重大的能耗、处理速度、通信带宽等问题。
基于前述的理论基础,如图2所示,本申请技术方案提出一种面向近传感器的存算一体卷积计算加速架构设计。在第一方案,本申请技术方案的实施例基于这一存算一体卷积计算加速架构,首先提供了一种数据处理系统,该系统主要包括传感器存储阵列、读出计算电路以及模数转换电路。
系统的整体架构如图3所示,其中,存储阵列由SRAM组成,存储阵列通过所连接的传感器获取传感器信号,将所述传感器信号发送至SRAM阵列的读位线;并且还用于存储神经网络模型的权重。系统中的读出计算电路,用于确定所述读位线的电压值稳定,开启SRAM阵列的读字线;并通过所述读字线获取所述传感器信号的权重值,根据所述权重值进行乘法操作,得到第一输出电压输出至共享位线。系统中的模数转换电路,用于将所述第一输出电压进行转换得到第二输出数据,将所述第二输出数据进行相减得到卷积运算结果。
在一些可以选择的实施例中,系统中传感器存储阵列为三值静态随机存取存储器;所述三值静态随机存取存储器包括第一三进制反相器,第二三进制反相器,第一三进制反相器的输出端连接至所述第二三进制反相器的输入端;所述第二三进制反相器输出端连接至所述第一三进制反相器的输入端。
由于在相关技术中,主流的CIM(Computer Integrated Manu-facturing)架构使用的SRAM都是只能存储2个权重Wi(1,-1),在其CIM架构中,高电平Vdd代表权重值Wi为1,低电平VGND代表的权重值Wi为-1。具体在本申请技术方案中,如图3所示,实施例系统采用的是三值SRAM,可以存储3个权重值Wi。在图3中,Q点为高电平Vdd代表权重值Wi为-1,Q点为低电平VGND代表的权重值Wi为1,Q为1/2Vdd代表的权重值Wi为0。三值SRAM实际上功耗比普通的六管SRAM略高一点,但是多了一个权重值对于神经网络模型来说识别正确率却会增加很多。
在一些可以选择的实施例中,如图4所示,实施例系统中三进制反相器(包括第一三进制反相器和第二三进制反相器)的构造主要包括薄栅NMOS管、厚栅NMOS管、薄栅PMOS管以及厚栅PMOS管。
其中,当所述三进制反相器的输入端为高电平信号,所述厚栅NMOS管以及所述薄栅NMOS管导通,所述三进制反相器的输出端为低电平信号;当所述三进制反相器的输入端为低电平信号,所述厚栅PMOS管以及所述薄栅PMOS管导通,所述三进制反相器的输出端为高电平信号;当所述三进制反相器的输入端信号幅值为高电平信号幅值的一半,所述薄栅NMOS管和所述薄栅PMOS管导通,所述三进制反相器的输出端的信号幅值为高电平信号幅值的一半。
具体如图5所示,实施例中SRAM能够存储三个权重关键在于三进制反相器(STI)的设计;实施例系统中STI中使用了多阈值CMOS技术来实现三元开关操作。厚栅NMOS管仅在栅极电压为Vdd才导通,厚栅PMOS管仅在栅极电压为VGND才导通,而栅极较薄的NMOS管在栅极电压为Vdd或者为1/2Vdd导通,栅极较薄的PMOS管在栅极电压为VGND或者为1/2Vdd导通。当输入电压In为Vdd时,输出电压Out为VGND;当输入的电压In为VGND时,输出电压Out为VGND;当输入电压In为1/2Vdd时,输出电压Out为1/2Vdd
如图6所示,更为具体地,本申请技术方案所提供的系统进行卷积计算时,可以直接从传感器输入电压值Vi,传感器采集的数据无需中间一系列的模数转换器(ADC)和数模转换器(DAC)以及存储,这样不仅可以省去大部分的能耗,而且可以大大降低中间数据的延迟,提高整个系统的处理速度。接下来就是在CIM架构中进行卷积计算(乘累加MAC)。
进而,基于第一方面中所提出的基于近传感器的存算一体架构的数据处理系统,本申请技术方案还提供了一种数据处理方法,方法主要完成二值化卷积神经网络CNN的卷积层和全连接层的乘累加计算。首先,实施例方案基于的人工神经网络模型是LeNet-5神经网络模型。并且基于LeNet-5神经网络模型进行二值化操作,构建了二值化的神经网络模型。虽然全精度浮点型的CNN能够提供很高的识别准确率,但是高识别率的背后付出的代价却是庞大的数据计算量、高功耗、高硬件成本。这对于低功耗、硬件资源受限的嵌入式边缘设备来说是难以承受的。从硬件友好的角度出发,对CNN进行二值化操作的方法是:利用sign函数,根据浮点数的正负来决定二值化的结果。简单来说,就是正数其二值化的结果为1,负数其二值化结果为-1;具体二值化的公式为:
Figure BDA0003556077520000071
LeNet-5神经网络模型的网络结构,LeNet-5神经网络模型是一种用于手写体识别的CNN网络模型。LeNet-5神经网络模型除去输入层和输出层总共有6层:C1和C3是卷积层、S2和S4是池化层、F5和F6是全连接层。通过对LeNet-5神经网络模型二值化,其计算量和硬件开销得到了大幅降低。在整个LeNet-5神经网络模型中,绝大多数的计算量都发生在卷积层和全连接层,这两层的卷积运算实质上就是乘累加(MAC)操作。因此,实施例方法,将这两层计算在我们所提出的存算一体计算架构(CIM)中完成,将有效的降低整个系统的功耗同时提高加速整个神经网络模型。基于前述的理论基础,如图7所示,实施例方法包括步骤S100-S400:
S100、获取传感器信号,将所述传感器信号发送至SRAM阵列的读位线,其中,传感器信号为输入特征图的像素点,进行二值化处理所转换得到的电压信号。
示例性地,在实施例中,近传感器的存算一体架构一行包括64个SRAM单元,意味着可以并行完成64个乘法再将结果累加起来。首先,实施例将传感器输出的电压值Vi送到SRAM阵列的读位线上。
S200、确定所述读位线的电压值稳定,开启SRAM阵列的读字线。
具体在实施例中,当送到读位线上的电压稳定后,开启SRAM的读字线(RWL),开始读出SRAM预先存入的权重值Wi
S300、获取所述读字线中传感器信号的权重值,获取所述读位线中的传感器信号,根据所述权重值与所述传感器信号进行乘法操作,得到第一输出电压输出至共享位线;其中,第一输出电压为输出特征图中像素点的电压信号。
在实施例中,读位线包括第一读位线和第二读位线(RBL和RBLB),进而,方法中通过所述读字线获取所述传感器信号权重值,根据所述权重值进行乘法操作,得到第一输出电压输出至共享位线这一步骤可以包括步骤S310-S330:
S310、确定所述权重值为第一数值,第一晶体管截止,第二晶体管导通,将所述第一读位线中的传感器信号发送至所述共享位线。
如图6所示,当权重值Wi为1时,也就是Q的电压值为VGND,那么QB的电压值为Vdd,这个时候N4晶体管(即第二晶体管)导通,RBLB上面的电压将会接地全部放掉,而N3晶体管(即第一晶体管)截止,则RBL上的电压保持不变,这个时候将ENP开关闭合,RBL上的电压被传送到V_p共享位线上。完成乘法操作1*Vi,得到第二数值。
S320、确定所述权重值为第二数值,第一晶体管导通,第二晶体管截止,将所述第二读位线中的传感器信号发送至所述共享位线。
如图6所示,当权重值Wi为-1时,也就是Q的电压值为Vdd,那么QB的电压值为VGND,这个时候N3晶体管导通,RBL上面的电压将会接地全部放掉,而N4晶体管截止,则RBLB上的电压保持不变,这个时候将ENn开关闭合,RBLB上的电压被传送到V_n共享位线上。完成乘法操作-1*Vi,得到第二数值。
S330、确定所述权重值为第三数值,第一晶体管截止,第二晶体管截止,将所述第一读位线和第二读位线中的传感器信号均发送至所述共享位线。
如图6所示,当权重值Wi为0时,也就是Q的电压值为1/2Vdd,那么QB的电压值为1/2Vdd,这个时候N3和N4晶体管均截至,RBL和RBLB上的电压保持不变,这个时候将ENP、ENn开关闭合,RBL上的电压被传送到V_p共享位线上,RBLB上的电压被传送到V_n共享位线上。完成乘法操作0*Vi,得到第二数值。
需要说明的是,在实施例中,所述将所述第一输出电压进行二值化处理得到第二输出数据,将所述第二输出数据得到卷积运算结果这一步骤,包括将所述第一共享位线中的第二输出数据与所述第二共享位线中的第二输出数据相减得到所述卷积运算结果这一步骤。
具体在实施例中,虽然两条位线上的电压分别送到了共享位线V_p和V_n上,但是因为在下一步会做V_p-V_n的操作,相减之后结果为0,达到了0*Vi乘法的效果。
在一些可行的实施例中,在得到乘法操作的计算结果之后,基于电容耦合和电荷共享机制,每一次乘法操作,读位线(RBL、RBLB)上的电压都会输送到共享位线V_p和V_n,电压累加存储在Cp和Cn电容里面。乘法结果为正值的电压存在共享位线V_p上的Cp电容,乘法结果为负值的电压存在共享位线V_n上的Cn电容。
S400、将所述第一输出电压进行转换得到第二输出数据,将所述第二输出数据得到卷积运算结果。
具体在实施例中,每条共享位线上的电压值通过ADC转换器就可以转换成二值化的数字结果,然后再相减就是最终的卷积运算之后的结果:
Figure BDA0003556077520000091
OUT为卷积运算结果,Wi为权重值,Vi为传感器信号的电压值,n为SRAM阵列的数量,i=1,2,3,…,N,N为正整数。
另一方面,本申请的技术方案还提供一种数据处理装置;其包括:
至少一个处理器;至少一个存储器,该存储器用于存储至少一个程序;当至少一个程序被至少一个处理器执行,使得至少一个处理器运行如第一方面中的一种数据处理方法。
本发明实施例还提供了一种存储介质,其存储有对应的执行程序,程序被处理器执行,实现第一方面中的一种数据处理方法。
从上述具体的实施过程,可以总结出,本发明所提供的技术方案相较于现有技术存在以下优点或优势:
本申请技术方案提出的一种面向传感器的存算一体卷积计算加速架构。首先在输入层面,CIM架构处理的数据是直接从传感器中输入的,无需中间一系列模数转换、数模转换的处理步骤,大大降低数据传输的硬件开销、功耗、延迟。然后本申请技术方案采用的是能够存储三个权重的SRAM,能够有效地提高神经网络算法的正确率。此外CIM架构突破了传统冯诺依曼架构的瓶颈,直接在SRAM存储器中完成乘累加(MAC)操作,可以降低数据搬移所产生的延迟和功耗。本专利所设计的面向传感器的存算一体卷积计算加速架构,适合作为神经网络算法卷积操作的硬件实现架构,满足了神经网络对于硬件实现架构降低包括功耗和硬件开销在内的成本,同时提供低延迟、高带宽等高性能要求。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.一种数据处理方法,其特征在于,包括以下步骤:
获取传感器信号,将所述传感器信号发送至SRAM阵列的读位线,所述传感器信号为输入特征图的像素点,进行二值化处理所转换得到的电压信号;
确定所述读位线的电压值稳定,开启SRAM阵列的读字线;
获取所述读字线中传感器信号的权重值,获取所述读位线中的传感器信号,根据所述权重值与所述传感器信号进行乘法操作,得到第一输出电压输出至共享位线;所述第一输出电压为输出特征图中像素点的电压信号;
将所述第一输出电压进行转换得到第二输出数据,将所述第二输出数据得到卷积运算结果。
2.根据权利要求1所述的一种数据处理方法,其特征在于,所述读位线包括第一读位线和第二读位线,所述获取所述读字线中传感器信号的权重值,获取所述读位线中的传感器信号,根据所述权重值与所述传感器信号进行乘法操作,得到第一输出电压输出至共享位线,包括:
确定所述权重值为第一数值,第一晶体管截止,第二晶体管导通,将所述第一读位线中的传感器信号发送至所述共享位线;
确定所述权重值为第二数值,第一晶体管导通,第二晶体管截止,将所述第二读位线中的传感器信号发送至所述共享位线;
确定所述权重值为第三数值,第一晶体管截止,第二晶体管截止,将所述第一读位线和第二读位线中的传感器信号均发送至所述共享位线。
3.根据权利要求2所述的一种数据处理方法,其特征在于,所述将所述第一输出电压进行转换得到第二输出数据,将所述第二输出数据得到卷积运算结果这一步骤,包括:
将所述第一共享位线中的第二输出数据与所述第二共享位线中的第二输出数据相减得到所述卷积运算结果。
4.根据权利要求3所述的一种数据处理方法,其特征在于,所述数据处理方法还包括以下步骤:
将通过所述乘法操作得到的且数值为正的第一输出电压存储至第一电容;
将通过所述乘法操作得到的且数值为负的第一输出电压存储至第二电容。
5.根据权利要求1所述的一种数据处理方法,其特征在于,所述卷积运算结果满足以下公式:
Figure FDA0003556077510000011
其中,所述OUT为卷积运算结果,Wi为权重值,Vi为传感器信号的电压值,n为SRAM阵列的数量,i=1,2,3,…,N,N为正整数。
6.一种数据处理系统,其特征在于,所述系统包括:
传感器存储阵列,用于获取传感器信号,将所述传感器信号发送至SRAM阵列的读位线;
所述传感器信号为输入特征图的像素点,进行二值化处理所转换得到的电压信号;
读出计算电路,用于确定所述读位线的电压值稳定,开启SRAM阵列的读字线;并获取所述读字线中传感器信号的权重值,获取所述读位线中的传感器信号,根据所述权重值与所述传感器信号进行乘法操作,得到第一输出电压输出至共享位线;所述第一输出电压为输出特征图中像素点的电压信号;
模数转换电路,用于将所述第一输出电压进行转换得到第二输出数据,将所述第二输出数据进行相减得到卷积运算结果。
7.根据权利要求6所述的一种数据处理系统,其特征在于,所述传感器存储阵列为三值静态随机存取存储器;所述三值静态随机存取存储器包括第一三进制反相器,第二三进制反相器,第一三进制反相器的输出端连接至所述第二三进制反相器的输入端;所述第二三进制反相器输出端连接至所述第一三进制反相器的输入端。
8.根据权利要求7所述的一种数据处理系统,其特征在于,所述第一三进制反相器包括薄栅NMOS管、厚栅NMOS管、薄栅PMOS管以及厚栅PMOS管;
当所述第一三进制反相器的输入端为高电平信号,所述厚栅NMOS管以及所述薄栅NMOS管导通,所述第一三进制反相器的输出端为低电平信号;
当所述第一三进制反相器的输入端为低电平信号,所述厚栅PMOS管以及所述薄栅PMOS管导通,所述第一三进制反相器的输出端为高电平信号;
当所述第一三进制反相器的输入端信号幅值为高电平信号幅值的一半,所述薄栅NMOS管和所述薄栅PMOS管导通,所述第一三进制反相器的输出端的信号幅值为高电平信号幅值的一半;
所述第二三进制反相器的结构与所述第一三进制反相器相同。
9.一种数据处理装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器运行如权利要求1-6任一项所述的一种数据处理方法。
10.一种存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于运行如权利要求1-6中任一项所述的一种数据处理方法。
CN202210276205.7A 2022-03-21 2022-03-21 一种数据处理方法、系统、装置及介质 Pending CN114758699A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210276205.7A CN114758699A (zh) 2022-03-21 2022-03-21 一种数据处理方法、系统、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210276205.7A CN114758699A (zh) 2022-03-21 2022-03-21 一种数据处理方法、系统、装置及介质

Publications (1)

Publication Number Publication Date
CN114758699A true CN114758699A (zh) 2022-07-15

Family

ID=82327332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210276205.7A Pending CN114758699A (zh) 2022-03-21 2022-03-21 一种数据处理方法、系统、装置及介质

Country Status (1)

Country Link
CN (1) CN114758699A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115860079A (zh) * 2023-01-30 2023-03-28 深圳市九天睿芯科技有限公司 神经网络加速装置、方法、芯片、电子设备及存储介质
WO2024144172A1 (ko) * 2022-12-26 2024-07-04 울산과학기술원 3진 메모리 셀을 포함하고 3진 연산을 처리하는 메모리 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083421A1 (en) * 2002-10-29 2004-04-29 Richard Foss Method and circuit for error correction in CAM cells
US20180158515A1 (en) * 2016-12-07 2018-06-07 Ningbo University Ternary sense amplifier and sram array realized by the ternary sense amplifier
US20180315473A1 (en) * 2017-04-28 2018-11-01 Arizona Board Of Regents On Behalf Of Arizona State University Static random access memory (sram) cell and related sram array for deep neural network and machine learning applications
US20190087719A1 (en) * 2017-09-21 2019-03-21 Arizona Board Of Regents On Behalf Of Arizona State University Static random-access memory for deep neural networks
US20210089272A1 (en) * 2019-09-25 2021-03-25 Purdue Research Foundation Ternary in-memory accelerator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083421A1 (en) * 2002-10-29 2004-04-29 Richard Foss Method and circuit for error correction in CAM cells
US20180158515A1 (en) * 2016-12-07 2018-06-07 Ningbo University Ternary sense amplifier and sram array realized by the ternary sense amplifier
US20180315473A1 (en) * 2017-04-28 2018-11-01 Arizona Board Of Regents On Behalf Of Arizona State University Static random access memory (sram) cell and related sram array for deep neural network and machine learning applications
US20190087719A1 (en) * 2017-09-21 2019-03-21 Arizona Board Of Regents On Behalf Of Arizona State University Static random-access memory for deep neural networks
US20210089272A1 (en) * 2019-09-25 2021-03-25 Purdue Research Foundation Ternary in-memory accelerator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曾剑敏, 张章, 虞志益, 等: "基于SRAM的通用存算一体架构平台在物联网中的应用", 电子与信息学报, vol. 43, no. 6, 23 June 2021 (2021-06-23), pages 1574 - 1586 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024144172A1 (ko) * 2022-12-26 2024-07-04 울산과학기술원 3진 메모리 셀을 포함하고 3진 연산을 처리하는 메모리 장치
CN115860079A (zh) * 2023-01-30 2023-03-28 深圳市九天睿芯科技有限公司 神经网络加速装置、方法、芯片、电子设备及存储介质
CN115860079B (zh) * 2023-01-30 2023-05-12 深圳市九天睿芯科技有限公司 神经网络加速装置、方法、芯片、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110807519B (zh) 基于忆阻器的神经网络的并行加速方法及处理器、装置
Welser et al. Future computing hardware for AI
Choi et al. An energy-efficient deep convolutional neural network training accelerator for in situ personalization on smart devices
KR102207909B1 (ko) 비트라인의 전하 공유에 기반하는 cim 장치 및 그 동작 방법
WO2023056779A1 (zh) 一种用于卷积神经网络的内存计算eDRAM加速器
CN108090565A (zh) 一种卷积神经网络并行化训练加速方法
CN111105023A (zh) 数据流重构方法及可重构数据流处理器
US20230168891A1 (en) In-memory computing processor, processing system, processing apparatus, deployment method of algorithm model
CN115879530B (zh) 一种面向rram存内计算系统阵列结构优化的方法
CN115910152A (zh) 电荷域存内计算电路以及具有正负数运算功能的存算电路
JP2024525332A (ja) 深さ方向畳み込みニューラルネットワーク(cnn)をサポートするメモリ内計算(cim)アーキテクチャ及びデータフロー
CN114758699A (zh) 一种数据处理方法、系统、装置及介质
US20210150311A1 (en) Data layout conscious processing in memory architecture for executing neural network model
CN117795473A (zh) 用于存储器内计算的部分和管理和可重新配置的脉动流架构
US11705171B2 (en) Switched capacitor multiplier for compute in-memory applications
Yang et al. A parallel processing cnn accelerator on embedded devices based on optimized mobilenet
Song et al. Hardware for deep learning acceleration
Hu et al. A co-designed neuromorphic chip with compact (17.9 KF 2) and weak neuron number-dependent neuron/synapse modules
CN117765334A (zh) 基于深度二值神经网络模型的图像分类方法、系统、设备及介质
CN110717580B (zh) 面向二值化神经网络的基于电压调制的计算阵列
Tabrizchi et al. APRIS: Approximate Processing ReRAM In-Sensor Architecture Enabling Artificial-Intelligence-Powered Edge
CN110363292A (zh) 一种混合信号二进制cnn处理器
Ma et al. HPA: A hybrid data flow for PIM architectures
Lei et al. Low power AI ASIC design for portable edge computing
CN117037877A (zh) 基于NOR Flash的存内计算芯片及其控制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination