CN111783958A - 一种数据处理系统、方法、装置和存储介质 - Google Patents
一种数据处理系统、方法、装置和存储介质 Download PDFInfo
- Publication number
- CN111783958A CN111783958A CN202010637376.9A CN202010637376A CN111783958A CN 111783958 A CN111783958 A CN 111783958A CN 202010637376 A CN202010637376 A CN 202010637376A CN 111783958 A CN111783958 A CN 111783958A
- Authority
- CN
- China
- Prior art keywords
- unit
- operation unit
- data
- central processing
- processing unit
- 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
Links
- 238000000034 method Methods 0.000 title abstract description 14
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 42
- 238000003062 neural network model Methods 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000003672 processing method Methods 0.000 claims description 10
- 238000010606 normalization Methods 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 6
- 230000006978 adaptation Effects 0.000 abstract description 4
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000005971 DNA damage repair Effects 0.000 description 1
- 102000002706 Discoidin Domain Receptors Human genes 0.000 description 1
- 108010043648 Discoidin Domain Receptors Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Advance Control (AREA)
Abstract
本发明实施例公开了一种数据处理系统、方法、装置和存储介质,该系统包括:至少一个中央处理器和人工智能加速器;所述中央处理器基于RISC‑V架构,所述中央处理器连接所述人工智能加速器,所述中央处理器与所述人工智能加速器通过RISC‑V指令集和中断通信;本发明实施例中的AI加速器结构简单,可以实现多种类型的数学运算,解决了中央处理器计算能力不足的问题,同时,中央处理器与AI加速器通过RISC‑V指令集和中断进行通信,使得数据处理系统可以根据不同的应用需求使用不同内核的中央处理器,极大地扩展了AI加速器的适配范围。
Description
技术领域
本发明实施例涉及芯片技术领域,尤其涉及一种数据处理系统、方法、装置和存储介质。
背景技术
科技的不断进步,使得芯片技术得到了迅速发展,伴随着集成电路工艺的不断提高,中央处理器(Central processing unit,CPU)在逻辑结构、运行效率以及功能外延上均取得了巨大发展。
作为计算机系统的运算和控制核心,CPU是信息处理和程序运行的最终执行单元,可以解释计算机指令以及处理计算机软件中的数据,但CPU对于复杂数学运算的处理能力较低,现有技术中通常为CPU配备协处理器,用于处理复杂的数学运算。
然而,现有的协处理器结构复杂,且只能处理单一类型的数学运算,同时,协处理器也只能与特定类型的CPU匹配,不具备普遍适用性。
发明内容
本发明实施例提供了一种数据处理系统、方法、装置和存储介质。
第一方面,本发明实施例提供了一种数据处理系统,包括:至少一个中央处理器和人工智能加速器;
所述中央处理器基于RISC-V架构,所述中央处理器连接所述人工智能加速器,所述中央处理器与所述人工智能加速器通过RISC-V指令集和中断通信;
所述中央处理器用于向所述人工智能加速器传输RISC-V指令,以使所述人工智能加速器执行目标数据运算;
所述人工智能加速器用于根据所述中央处理器传输的RISC-V指令,执行目标数据运算,并向所述中央处理器传输中断通知。
第二方面,本发明实施例提供了一种数据处理方法,包括:
指令调度单元根据获取到的由中央处理器传输的RISC-V指令,确定匹配的目标运算单元;
指令调度单元控制读操作单元和权重单元分别与所述目标运算单元导通;
目标运算单元根据所述读操作单元传输的神经网络模型的输入数据和所述权重单元传输的神经网络模型的权重值,获取数据运算结果;
目标运算单元通过写操作单元,将所述数据运算结果发送给目标存储器,并向指令调度单元传输运算结束信号;
指令调度单元在获取到所述运算结束信号后,向所述中央处理器发送中断,以通知所述中央处理器数据处理完毕。
第三方面,本发明实施例提供了一种数据处理装置,包括:
指令获取模块,用于根据获取到的由中央处理器传输的RISC-V指令,确定匹配的目标运算单元;
导通执行模块,用于控制读操作单元和权重单元分别与所述目标运算单元导通;
运算结果获取模块,用于根据所述读操作单元传输的神经网络模型的输入数据和所述权重单元传输的神经网络模型的权重值,获取数据运算结果;
运算结果发送模块,用于通过写操作单元,将所述数据运算结果发送给目标存储器,并向指令调度单元传输运算结束信号;
中断发送模块,用于在获取到所述运算结束信号后,向所述中央处理器发送中断,以通知所述中央处理器数据处理完毕。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时实现本发明任意实施例的分数据处理方法。
本发明实施例中的AI加速器结构简单,可以实现多种类型的数学运算,解决了中央处理器计算能力不足的问题,同时,中央处理器与AI加速器通过RISC-V指令集和中断进行通信,使得数据处理系统可以根据不同的应用需求使用不同内核的中央处理器,极大地扩展了AI加速器的适配范围。
附图说明
图1A是本发明实施例一提供的一种数据处理系统的结构图;
图1B是本发明实施例一提供的一种人工智能加速器的结构图;
图2是本发明实施例二提供的一种数据处理方法的流程图;
图3是本发明实施例三提供的一种数据处理装置的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1A为本发明实施例一提供的一种数据处理系统的结构框图,包括:至少一个中央处理器100和人工智能加速器200;所述中央处理器100基于RISC-V架构,所述中央处理器100连接所述人工智能加速器200,所述中央处理器100与所述人工智能加速器通过RISC-V指令集和中断通信;所述中央处理器100用于向所述人工智能加速器200传输RISC-V指令,以使所述人工智能加速器200执行目标数据运算。
RISC-V是基于精简指令集(RISC)原则的第五代开源指令集架构(ISA),具有开源、简捷和易扩展的特点,相比于基于复杂指令集(CISC)架构的CPU,基于RISC-V架构的CPU可以将一条指令分成多个进程或线程,交由多个处理器同时执行,处理速度和处理效率均优于基于复杂指令集(CISC)架构的CPU。RISC-V指令集包括基本指令集和扩展指令集,在本发明实施例中,中央处理器100通过RISC-V扩展指令集与人工智能(ArtificialIntelligence,AI)加速器模块200通信,用以扩展中央处理器100的数据运算能力;由于中央处理器100与AI加速器200通过标准的RISC-V扩展指令集通信,任何基于RISC-V指令集的CPU均适用,因此,中央处理器100的实现方式灵活,可以根据不同的应用需求使用不同内核的CPU,极大的扩展了AI加速器200的适配范围。
人工智能加速器,也即AI芯片,是用于处理人工智能应用中的大量计算任务的装置;中央处理器100本身具备一定的数据处理能力,但是对于特定的处理任务,例如,图像处理和语音处理,中央处理器100的执行效率较低、执行效果较差,因此,在本发明实施例中,所述人工智能加速器200用于根据所述中央处理器100传输的RISC-V指令,执行目标数据运算,并向所述中央处理器100传输中断通知。具体的,AI加速器200作为中央处理器100的协处理器(coprocessor),执行数据计算,而其它非计算任务,例如,控制对应的终端设备的运行,仍由中央处理器100负责;在本发明实施例中,对中央处理器100控制的终端设备的类型不作具体限定。
可选的,在本发明实施例中,所述目标数据运算包括基于神经网络模型的数值计算;神经网络,即人工神经网络(Artificial Neural Networks,ANNs),是通过模仿动物神经网络行为特征,进行分布式并行信息处理的算法模型,通过调整内部节点之间的互联关系进行数据处理;特别的,所述神经网络模型包括基于图像的神经网络模型和/或基于语音的神经网络模型;通过AI加速器200,利用基于图像的神经网络模型和/或基于语音的神经网络模型,执行图像和/或语音的数据处理操作,有效的弥补了中央处理器100在图像和/或语音处理能力上的不足。
可选的,在本发明实施例中,如图1B所示,所述人工智能加速器200包括读操作单元201、权重单元202、至少一个运算单元203、写操作单元204和指令调度单元205;
所述读操作单元201用于获取神经网络模型的输入数据,并将所述输入数据传输给所述运算单元203;神经网络模型的输入数据,也即神经网络模型的待处理数据,具体的,读操作单元201通过AXI(Advanced eXtensible Interface)4协议的系统总线从外部装置,例如,双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic RandomAccess Memory,简称DDR)和静态随机存取存储器(Static Random-Access Memory,简称SRAM)中读取待处理数据,并将获取到的待处理数据传输给运算单元203,以此为运算单元203提供输入数据。
所述权重单元202,用于获取所述神经网络模型的权重值,并将所述权重值传输给所述运算单元203;权重值是神经网络模型中各输入数据的权重数据,输入数据与权重值的乘积即为输入数据的变化值;具体的,权重单元202,通过AXI4协议的系统总线从存储有权重值的DDR或Flash(闪存芯片)中顺序读取各中间数据的权重值,并将该权重值传输给运算单元203;特别的,在本发明实施例中,读操作单元201获取的输入数据和权重单元202获取的权重值来源于不同的DDR中。
至少一个所述运算单元203,连接所述读操作单元201、所述权重单元202和所述写操作单元204,用于根据所述输入数据和所述权重值,执行数值运算;具体的,运算单元203根据读操作单元201获取的输入数据和权重单元202获取的权重值,执行数值计算,并将计算结果通过写操作单元203发送给目标存储器。不同的运算单元203可以具备不同的运算子单元,以执行不同的运算任务,可选的,所述运算单元包括卷积运算子单元、线性整流函数运算子单元、Sigmoid函数运算子单元、双曲正切函数运算子单元、池化运算子单元、残差运算子单元和/或分批次标准化运算子单元;其中,卷积(Convolution)是两个函数经过翻转和平移的重叠部分函数值的乘积对重叠长度的积分,是一种加权后的滑动平均运算,卷积运算子单元用于与卷积相关的数值计算;线性整流函数(Rectified Linear Unit,ReLU),即修正线性单元,是神经网络中的一种激活函数(activation function),包括斜坡函数等非线性函数,定义了神经元在线性变换下的非线性输出结果,线性整流函数运算子单元用于与线性整流函数相关的数值计算;Sigmoid函数是一种S型函数(即S型生长曲线),作为神经网络中的一种激活函数,其具有单调递增及反函数单调递增的特性,用于隐层神经元的输出,Sigmoid函数运算子单元用于与Sigmoid函数相关的数值计算;双曲正切(Tanh)函数,用于线性微分方程的求解,例如定义悬链线和拉普拉斯方程,双曲正切函数运算子单元用于与双曲正切函数相关的数值计算;池化(pooling)是在保证特征向量的特性(例如,旋转、平移和伸缩等)不变的前提下,减少特征向量的数量,以降低运算量的过程,池化运算子单元用于与池化相关的数值计算;残差是实际数值与估计值之间的差,用于确定数学模型的合理性和数据的可靠性,残差运算子单元用于与残差相关的数值计算;分批次标准化(Batch Normalization),是通过规范化计算,把神经网络模型中每层神经网络激活值的分布调整为均值为0且方差为1的标准正态分布,分批次标准化运算子单元用于与分批次标准化相关的数值计算。特别的,所述运算单元203还包括数据缓存子单元;所述数据缓存子单元用于存储所述输入数据和所述权重值;运算单元203在进行数值计算时,重复使用输入数据和权重值,因此,每个运算单元203中均包括数据缓存子单元,用于存储神经网络模型的输入数据和权重值。
所述写操作单元204用于获取所述运算单元203的数据运算结果,并将所述数据运算结果发送给目标存储器;具体的,写操作单元204通过AXI4协议的系统总线将数据运算结果发送给目标存储器,其中,目标存储器可以是DDR或SRAM,也可以是其它类型的存储器,本发明实施例对此不作具体限定。
所述指令调度单元205,连接所述读操作单元201、所述权重单元202、至少一个所述运算单元203、所述写操作单元204和所述中央处理器100,用于根据所述中央处理器100传输的RISC-V指令,控制匹配的运算单元201执行数值运算,并在获取到运算结果后,向所述中央处理器100发送中断,以通知中央处理器100已完成目标数据运算。指令调度单元205是AI加速器200的控制中心,根据获取到的RISC-V指令,确定对应的目标运算单元203,并控制目标运算单元203与读操作单元201和权重单元202导通,以获取神经网络模型的输入数据和权重值,并在目标运算单元203获取到计算结果时,控制目标运算单元203与写操作单元204导通,以将计算结果通过写操作单元204输出,同时,以中断的形式向中央处理器100发送中断,以通知中央处理器100已完成目标数据运算。
可选的,在本发明实施例中,所述读操作单元包括第一令牌产生器,所述第一令牌产生器用于动态生成第一令牌信息,所述第一令牌信息用于与至少一个所述运算单元的令牌信息进行比对,以确定与所述读操作单元导通的第一运算单元;所述权重单元包括第二令牌产生器,所述第二令牌产生器用于动态生成第二令牌信息,所述第二令牌信息用于与至少一个所述运算单元的令牌信息进行比对,以确定与所述权重单元导通的第二运算单元;所述写操作单元包括第三令牌产生器,所述第三令牌产生器用于动态生成第三令牌信息,所述第三令牌信息用于与至少一个所述运算单元的令牌信息进行比对,以确定与所述写操作单元导通的第三运算单元。各运算单元203都有对应且固定的令牌信息(Token),不同的运算单元203令牌信息也是不同的,只有当不同的运算单元203之间存在共享数据时,那么存在共享数据的各运算单元203才会具备同样的Token。以读操作单元201中的第一令牌产生器为例,在指令调度单元205确定目标运算单元203后,会通知读操作单元201,使第一令牌产生器产生的第一令牌信息与目标运算单元203的令牌信息相匹配,使得目标运算单元203与读操作单元201导通,而其它运算单元203与读操作单元201不导通。
本发明实施例中的AI加速器结构简单,可以实现多种类型的数学运算,解决了中央处理器计算能力不足的问题,同时,中央处理器与AI加速器通过RISC-V指令集和中断进行通信,使得数据处理系统可以根据不同的应用需求使用不同内核的中央处理器,极大地扩展了AI加速器的适配范围。
实施例二
图2为本发明实施例二提供的一种数据处理方法的流程图,本发明实施例可适用于通过AI加速器进行数据运算的情况,该方法可以由本发明实施例中的数据处理装置来执行,该装置可以通过软件和/或硬件的方式实现,并可以集成在本发明实施例一所述的数据处理系统中,该方法具体包括如下步骤:
S210、指令调度单元根据获取到的由中央处理器传输的RISC-V指令,确定匹配的目标运算单元。
S220、指令调度单元控制读操作单元和权重单元分别与所述目标运算单元导通。
S230、目标运算单元根据所述读操作单元传输的神经网络模型的输入数据和所述权重单元传输的神经网络模型的权重值,获取数据运算结果。
S240、目标运算单元通过写操作单元,将所述数据运算结果发送给目标存储器,并向指令调度单元传输运算结束信号。
S250、指令调度单元在获取到所述运算结束信号后,向所述中央处理器发送中断,以通知所述中央处理器数据处理完毕。
本发明实施例的技术方案,在获取到中央处理器传输的RISC-V指令后,AI加速器控制目标运算单元根据读操作单元传输的输入数据和权重单元传输的权重值,获取数据运算结果,并以中断的形式通知中央处理器数据处理完毕,解决了中央处理器计算能力不足的问题,同时,中央处理器与AI加速器通过RISC-V指令集和中断进行通信,可以根据不同的应用需求使用不同内核的中央处理器,极大地扩展了AI加速器的适配范围。
实施例三
图3是本发明实施例三所提供的数据处理装置,该装置具体包括:指令获取模块310、导通执行模块320、运算结果获取模块330、运算结果发送模块340和中断发送模块350。
指令获取模块310,用于根据获取到的由中央处理器传输的RISC-V指令,确定匹配的目标运算单元;
导通执行模块320,用于控制读操作单元和权重单元分别与所述目标运算单元导通;
运算结果获取模块330,用于目标运算单元根据所述读操作单元传输的神经网络模型的输入数据和所述权重单元传输的神经网络模型的权重值,获取数据运算结果;
运算结果发送模块340,用于通过写操作单元,将所述数据运算结果发送给目标存储器,并向指令调度单元传输运算结束信号;
中断发送模块350,用于在获取到所述运算结束信号后,向所述中央处理器发送中断,以通知所述中央处理器数据处理完毕。
本发明实施例的技术方案,在获取到中央处理器传输的RISC-V指令后,AI加速器控制目标运算单元根据读操作单元传输的输入数据和权重单元传输的权重值,获取数据运算结果,并以中断的形式通知中央处理器数据处理完毕,解决了中央处理器计算能力不足的问题,同时,中央处理器与AI加速器通过RISC-V指令集和中断进行通信,可以根据不同的应用需求使用不同内核的中央处理器,极大地扩展了AI加速器的适配范围。
上述装置可执行本发明任意实施例所提供的数据处理方法,具备执行方法相应的功能单元和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的方法。
实施例四
本发明实施例四还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的数据处理方法;该方法包括:
指令调度单元根据获取到的由中央处理器传输的RISC-V指令,确定匹配的目标运算单元;
指令调度单元控制读操作单元和权重单元分别与所述目标运算单元导通;
目标运算单元根据所述读操作单元传输的神经网络模型的输入数据和所述权重单元传输的神经网络模型的权重值,获取数据运算结果;
目标运算单元通过写操作单元,将所述数据运算结果发送给目标存储器,并向指令调度单元传输运算结束信号;
指令调度单元在获取到所述运算结束信号后,向所述中央处理器发送中断,以通知所述中央处理器数据处理完毕。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据处理系统,其特征在于,包括:至少一个中央处理器和人工智能加速器;
所述中央处理器基于RISC-V架构,所述中央处理器连接所述人工智能加速器,所述中央处理器与所述人工智能加速器通过RISC-V指令集和中断通信;
所述中央处理器用于向所述人工智能加速器传输RISC-V指令,以使所述人工智能加速器执行目标数据运算;
所述人工智能加速器用于根据所述中央处理器传输的RISC-V指令,执行目标数据运算,并向所述中央处理器传输中断通知。
2.根据权利要求1所述的数据处理系统,其特征在于,所述目标数据运算包括基于神经网络模型的数值计算。
3.根据权利要求2所述的数据处理系统,其特征在于,所述神经网络模型包括基于图像的神经网络模型和/或基于语音的神经网络模型。
4.根据权利要求2所述的数据处理系统,其特征在于,所述人工智能加速器包括读操作单元、权重单元、至少一个运算单元、写操作单元和指令调度单元;
所述读操作单元,用于获取神经网络模型的输入数据,并将所述输入数据传输给所述运算单元;
所述权重单元,用于获取神经网络模型的权重值,并将所述权重值传输给所述运算单元;
至少一个所述运算单元,连接所述读操作单元、所述权重单元和所述写操作单元,用于根据所述输入数据和所述权重值,执行数值运算;
所述写操作单元,用于获取所述运算单元的数据运算结果,并将所述数据运算结果发送给目标存储器;
所述指令调度单元,连接所述读操作单元、所述权重单元、至少一个所述运算单元、所述写操作单元和所述中央处理器,用于根据所述中央处理器传输的RISC-V指令,控制匹配的运算单元执行数值运算,并在获取到运算结果后,向所述中央处理器发送中断。
5.根据权利要求4所述的数据处理系统,其特征在于,所述运算单元包括卷积运算子单元、线性整流函数运算子单元、Sigmoid函数运算子单元、双曲正切函数运算子单元、池化运算子单元、残差运算子单元和/或分批次标准化运算子单元。
6.根据权利要求4或5所述的数据处理系统,其特征在于,所述运算单元包括数据缓存子单元;
所述数据缓存子单元用于存储所述输入数据和所述权重值。
7.根据权利要求4所述的数据处理系统,其特征在于,所述读操作单元包括第一令牌产生器,所述第一令牌产生器用于动态生成第一令牌信息,所述第一令牌信息用于与至少一个所述运算单元的令牌信息进行比对,以确定与所述读操作单元导通的第一运算单元;
所述权重单元包括第二令牌产生器,所述第二令牌产生器用于动态生成第二令牌信息,所述第二令牌信息用于与至少一个所述运算单元的令牌信息进行比对,以确定与所述权重单元导通的第二运算单元;
所述写操作单元包括第三令牌产生器,所述第三令牌产生器用于动态生成第三令牌信息,所述第三令牌信息用于与至少一个所述运算单元的令牌信息进行比对,以确定与所述写操作单元导通的第三运算单元。
8.一种数据处理方法,其特征在于,包括:
指令调度单元根据获取到的由中央处理器传输的RISC-V指令,确定匹配的目标运算单元;
指令调度单元控制读操作单元和权重单元分别与所述目标运算单元导通;
目标运算单元根据所述读操作单元传输的神经网络模型的输入数据和所述权重单元传输的神经网络模型的权重值,获取数据运算结果;
目标运算单元通过写操作单元,将所述数据运算结果发送给目标存储器,并向指令调度单元传输运算结束信号;
指令调度单元在获取到所述运算结束信号后,向所述中央处理器发送中断,以通知所述中央处理器数据处理完毕。
9.一种数据处理装置,其特征在于,包括:
指令获取模块,用于根据获取到的由中央处理器传输的RISC-V指令,确定匹配的目标运算单元;
导通执行模块,用于控制读操作单元和权重单元分别与所述目标运算单元导通;
运算结果获取模块,用于根据所述读操作单元传输的神经网络模型的输入数据和所述权重单元传输的神经网络模型的权重值,获取数据运算结果;
运算结果发送模块,用于通过写操作单元,将所述数据运算结果发送给目标存储器,并向指令调度单元传输运算结束信号;
中断发送模块,用于在获取到所述运算结束信号后,向所述中央处理器发送中断,以通知所述中央处理器数据处理完毕。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求8所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010637376.9A CN111783958A (zh) | 2020-07-03 | 2020-07-03 | 一种数据处理系统、方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010637376.9A CN111783958A (zh) | 2020-07-03 | 2020-07-03 | 一种数据处理系统、方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111783958A true CN111783958A (zh) | 2020-10-16 |
Family
ID=72758853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010637376.9A Pending CN111783958A (zh) | 2020-07-03 | 2020-07-03 | 一种数据处理系统、方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111783958A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090466A (zh) * | 2021-11-29 | 2022-02-25 | 上海阵量智能科技有限公司 | 一种指令处理装置、方法、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491811A (zh) * | 2017-09-01 | 2017-12-19 | 中国科学院计算技术研究所 | 用于加速神经网络处理器的方法和系统及神经网络处理器 |
US20180300608A1 (en) * | 2017-04-12 | 2018-10-18 | Yodlee, Inc. | Neural Networks for Information Extraction From Transaction Data |
US20190102338A1 (en) * | 2017-09-30 | 2019-04-04 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
CN110007961A (zh) * | 2019-02-01 | 2019-07-12 | 中山大学 | 一种基于risc-v的边缘计算硬件架构 |
CN110490311A (zh) * | 2019-07-08 | 2019-11-22 | 华南理工大学 | 基于risc-v架构的卷积神经网络加速装置及其控制方法 |
CN212460600U (zh) * | 2020-07-03 | 2021-02-02 | 中用科技有限公司 | 一种数据处理系统 |
-
2020
- 2020-07-03 CN CN202010637376.9A patent/CN111783958A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180300608A1 (en) * | 2017-04-12 | 2018-10-18 | Yodlee, Inc. | Neural Networks for Information Extraction From Transaction Data |
CN107491811A (zh) * | 2017-09-01 | 2017-12-19 | 中国科学院计算技术研究所 | 用于加速神经网络处理器的方法和系统及神经网络处理器 |
US20190102338A1 (en) * | 2017-09-30 | 2019-04-04 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
CN110007961A (zh) * | 2019-02-01 | 2019-07-12 | 中山大学 | 一种基于risc-v的边缘计算硬件架构 |
CN110490311A (zh) * | 2019-07-08 | 2019-11-22 | 华南理工大学 | 基于risc-v架构的卷积神经网络加速装置及其控制方法 |
CN212460600U (zh) * | 2020-07-03 | 2021-02-02 | 中用科技有限公司 | 一种数据处理系统 |
Non-Patent Citations (2)
Title |
---|
"A CNN Accelerator on Embedded FPGA Using Dynamic Reconfigurable Coprocessor", 《AIIPCC \'19 PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE, INFORMATION PROCESSING AND CLOUD COMPUTING》, 19 December 2019 (2019-12-19), pages 1 - 5 * |
沈阳靖: "基于FPGA的脉冲神经网络加速器的设计", 《中国优秀硕士学位论文全文数据库信息科技辑》, 15 February 2018 (2018-02-15), pages 1 - 57 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090466A (zh) * | 2021-11-29 | 2022-02-25 | 上海阵量智能科技有限公司 | 一种指令处理装置、方法、计算机设备及存储介质 |
WO2023093260A1 (zh) * | 2021-11-29 | 2023-06-01 | 上海商汤智能科技有限公司 | 指令处理装置、方法、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN212460600U (zh) | 一种数据处理系统 | |
US11307865B2 (en) | Data processing apparatus and method | |
WO2021190127A1 (zh) | 一种数据处理方法和数据处理设备 | |
Huynh et al. | Deepsense: A gpu-based deep convolutional neural network framework on commodity mobile devices | |
CN110070181A (zh) | 一种用于边缘计算设备的深度学习的优化方法 | |
WO2021208612A1 (zh) | 数据处理的方法与装置 | |
US11010313B2 (en) | Method, apparatus, and system for an architecture for machine learning acceleration | |
CN113128678A (zh) | 神经网络的自适应搜索方法及装置 | |
US20220004858A1 (en) | Method for processing artificial neural network, and electronic device therefor | |
WO2019019926A1 (zh) | 系统参数的优化方法、装置及设备、可读介质 | |
WO2018113790A1 (zh) | 一种人工神经网络运算的装置及方法 | |
EP3964945A1 (en) | Electronic device with storage device implementation | |
CN114186609A (zh) | 模型训练方法和装置 | |
KR20220001821A (ko) | 텐서 처리 방법, 가속기 및 이를 포함한 가속기 시스템 | |
CN116627662B (zh) | 边缘计算的资源处理方法、装置、存储介质及电子设备 | |
CN116263681A (zh) | 移动边缘计算任务卸载方法、装置、设备及存储介质 | |
CN111783958A (zh) | 一种数据处理系统、方法、装置和存储介质 | |
US12014202B2 (en) | Method and apparatus with accelerator | |
CN113313237A (zh) | 一种神经网络训练方法 | |
US20240029836A1 (en) | System and method for retrieval-based controllable molecule generation | |
US20240028235A1 (en) | Neural network memory configuration | |
CN116362301A (zh) | 一种模型的量化方法以及相关设备 | |
CN113761934B (zh) | 一种基于自注意力机制的词向量表示方法及自注意力模型 | |
CN118036776A (zh) | 一种模型训练方法及相关装置 | |
US20220138528A1 (en) | Data processing method for neural network accelerator, device and storage medium |
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 |