数据处理装置及相关产品的制作方法

文档序号:20920677发布日期:2020-05-29 14:06阅读:196来源:国知局
数据处理装置及相关产品的制作方法

本申请涉及信息处理技术领域,特别是涉及一种数据处理装置及相关产品。



背景技术:

随着信息技术的不断发展和日益增长的需求,人们对数据访问和数据处理的需求越来越高,随之对一些处理数据和访问数据的处理器的要求也越来越严格。以一种通用处理器为例,多个通用处理器核(例如,cpu核)构成的多核处理器,以其强大的并行计算能力,成为一种主流。

但是随着目前机器学习算法的不断发展,越来越多架构的机器学习芯片逐渐问世,但这些机器学习芯片在访问或者处理共享存储中的数据时,经常存在相同的问题,即:数据访问逻辑及其复杂,进而导致机器学习时的数据处理效率低下。

因此,如何简化机器学习芯片在数据访问上的逻辑,成为当前技术人员亟待解决的技术问题。



技术实现要素:

本申请实施例提供了一种数据处理装置及相关产品,可简化机器学习芯片在数据访问上的逻辑,提升了机器学习芯片的处理速度,提高效率、节省功耗。

第一方面,一种数据处理装置,所述数据处理装置包括:机器学习装置、传输电路以及共享存储器,所述机器学习装置通过第一传输接口与所述传输电路连接,所述传输电路与所述共享存储器连接;

所述传输电路用于根据所述机器学习装置发出的数据操作信号,从所述共享存储器中获取所述机器学习装置所需的输入数据,并将所述输入数据返回至所述机器学习装置;其中,所述数据操作信号表征对共享存储器中的数据的操作方式。

第二方面,本申请实施例提供了一种组合处理装置,该组合处理装置包括如第一方面所述的数据处理装置、通用互联接口,和其他处理装置。该数据处理装置与上述其他处理装置进行交互,共同完成用户指定的操作。

第三方面,本申请实施例提供了一种机器学习芯片,该机器学习芯片包括上述第一方面所述的数据处理装置、上述第二方面所述的组合处理装置。

第四方面,本申请实施例提供了一种板卡,该板卡包括上述第三方面所述的机器学习芯片。

第五方面,本申请实施例提供了一种电子设备,该电子设备包括上述第四方面所述的板卡。

上述数据处理装置及相关产品,由于机器学习装置在执行机器学习运算时会有大量的数据共用,基于此种情况,本申请使用的数据处理装置采用传输电路实现机器学习装置从共享存储器中读取和写入数据,相比传统的cpu对存储器的直接数据访问过程中存在的问题:在cpu执行并行运算时由于并行数据访问逻辑复杂而易产生的堵塞和死锁,本申请使用的数据处理装置简化了机器学习装置对于共享存储器的数据访问逻辑,提高了数据访问效率,从而进一步的提升了机器学习装置的机器学习运算速度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中数据处理装置的结构示意图;

图1a为一个实施例中机器学习装置的结构示意图;

图2为一个实施例中传输电路的结构示意图;

图2a为一个实施例中的一种传输电路的结构示意图;

图2b为一个实施例中的一种传输电路的结构示意图;

图3为一个实施例中的一种簇中传输电路结构示意图;

图4为一个实施例中的另一种簇中传输电路结构示意图;

图5为一个实施例中的另一种传输电路结构示意图;

图6为一个实施例中一种组合处理装置的结构示意图;

图7为一个实施例中另一种组合处理装置的结构示意图;

图8为一个实施例中一种板卡的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本申请提出的数据处理装置应用于机器学习运算,其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。以神经网络运算为例,对于神经网络中的运算可以为神经网络中的一层的运算,也可以为神经网络中的多层的运算。对于多层神经网络,其实现过程是,在正向运算中,当上一层人工神经网络执行完成之后,下一层的运算指令会将运算单元中计算出的输出神经元数据作为下一层的输入神经元数据进行运算(或者是对该输出神经元数据进行某些操作再作为下一层的输入神经元数据),同时,将权值数据也替换为下一层的权值数据;在反向运算中,当上一层人工神经网络的反向运算执行完成后,下一层运算指令会将运算单元中计算出的输入神经元梯度(同样可以作为一种输入的神经元数据)作为下一层的输出神经元梯度进行运算(同样可以作为一种输出的神经元数据)(或者是对该输入神经元梯度进行某些操作再作为下一层的输出神经元梯度),同时将权值数据替换为下一层的权值数据。

基于上述的机器学习运算方法,下面主要介绍本申请使用的数据处理装置,以及该数据处理装置中的各部件、各电路、以及各接口的具体实现方法和组成。

首先介绍本申请使用的数据处理装置。参阅图1,提供了一种数据处理装置,该数据处理装置可以通过硬件或者软硬件结合的方式实现。该数据处理装置用于执行机器学习数据的处理。如图1所示,该数据处理装置包括:机器学习装置11、传输电路12以及共享存储器13,其中,机器学习装置11通过第一传输接口14与传输电路12连接,传输电路12与共享存储器13连接。

上述传输电路12用于根据机器学习装置发出的数据操作信号,从共享存储器13中获取机器学习装置11所需的输入数据,并将输入数据返回至机器学习装置11;其中,数据操作信号表征对共享存储器13中的数据的操作方式。

可选的,机器学习装置11用于根据输入数据,执行机器学习运算,得到输出数据。可选的,机器学习装置11还用于将输出数据通过传输电路12传输至共享存储器13进行数据存储。具体的,若机器学习装置11用于执行一种神经网络运算时,机器学习装置11可以根据输入神经元数据和权值数据,执行人工神经网络运算,得到输出神经元数据,以及将输出神经元数据作为新的输入神经元数据,并通过传输电路12传输至共享存储器13进行数据存储。需要说明的是,上述机器学习装置11、传输电路12、共享存储器13以及第一传输接口14均可以通过硬件电路的方式实现。示例性地,传输电路12可以是广播总线(broadcastbus);共享存储器13可以是非易失性和/或易失性存储器,包括但不限于随机存取存储器(ram)、高速缓冲存储器等;第一传输接口14可以对应一个或多个数据i/o(in/out,读入读出)接口或i/o引脚。

可选的,机器学习装置11可以包括一个第一传输接口14,也可以包括多个第一传输接口。第一传输接口14可以是发送接口,也可以是接收接口。当第一传输接口14是发送接口时,机器学习装置11就可以向与发送接口连接的传输电路12发送数据操作信号或数据;当第一传输接口14是接收接口时,机器学习装置11就可以接收传输电路12返回的数据。

其中,数据操作信号表征对共享存储器13中的数据的操作方式。在一种可选的方案中,具体的,数据操作信号可以表征对共享存储器13中的数据进行读操作,也可以表征对共享存储器13中的数据进行写操作。相应的,当机器学习装置11发出的数据操作信号为读操作时,则传输电路12可以从共享存储器13中找到相应地址对应的数据,并进行读取,再将这些数据返还给至少一个机器学习装置11;当机器学习装置11发出的数据操作信号为写操作时,则传输电路12可以将机器学习装置11输出的写数据写入到共享存储器13中。

上述输入数据是机器学习装置11在执行机器学习运算时需要输入的数据。以上数据可以是预先存储在共享存储器13中的初始数据,也可以是机器学习装置11在执行机器学习运算时输出的中间结果或最终结果,再写入到共享存储器13中的数据。

可选的,上述输入数据可以包括输入神经元数据和/或权值数据,且该输入神经元数据和权值数据是机器学习装置11在执行一种人工神经网络运算时需要输入的数据;相应的,上述输出数据可以包括输出神经元数据,且该输出神经元数据是机器学习装置11在执行一种人工神经网络运算时输出的中间结果或最终结果。

需要说明的是,本申请使用的数据处理装置可以是以下结构形式中的至少一种:机器学习装置11可以通过多个第一传输接口14连接一个传输电路12,再通过该一个传输电路12连接一个共享存储器13,获取以上数据;可选的,机器学习装置11也可以通过多个第一传输接口14连接多个传输电路12,再通过这些传输电路12连接一个共享存储器13,获取以上数据;可选的,机器学习装置11还可以通过多个第一传输接口14连接一个传输电路12,再通过该一个传输电路12连接多个共享存储器13,获取以上数据。

可选的,机器学习装置11在执行一种人工神经网络运算时,对于多层神经网络运算,无论是正向运算还是反向运算,机器学习装置11可以计算每一层神经网络输出的神经元数据,具体的可以将每一层神经网络输入端对应的多个输入神经元数据和权值数据进行乘积运算、求和运算、卷积运算以及激活运算等一系列人工神经网络运算所需要包含的运算集合,以得到运算结果。当机器学习装置11经过人工神经网络运算,得到当前层的输出神经元数据后,可以将该输出神经元数据作为下一层神经网络的输入神经元数据再次进行人工神经网络运算,在这之前,可以先将当前层的输出神经元数据通过传输电路12写入到共享存储器13中进行存储,以便机器学习装置11可以随时读取该数据进行下一层的人工神经网络运算。

上述实施例提供的一种用于执行机器学习运算的数据处理装置,包括:机器学习装置、通过机器学习装置上的第一传输接口连接的传输电路、以及与传输电路连接的共享存储器。其中,传输电路根据机器学习装置发出的数据操作信号,从共享存储器中获取机器学习装置所需的输入数据,并将输入数据返回至机器学习装置;在上述数据操作过程中,由于执行机器学习运算时会有大量的数据共用,基于此种情况,本申请使用的数据处理装置设置相应的传输电路,来实现机器学习装置从共享存储器中读取和写入数据,相比传统的cpu对存储器的直接数据访问过程中存在的问题:在cpu执行并行运算时由于并行数据访问逻辑复杂而易产生的堵塞和死锁,本申请使用的数据处理装置简化了机器学习装置对于共享存储器的数据访问逻辑,提高了数据访问效率,从而进一步的提升了机器学习装置的机器学习运算速度。

图1a为本发明实施例提供的机器学习装置的结构示意图。在上述实施例的基础上,参阅图1a,该机器学习装置11包括至少一个机器学习单元15,机器学习单元15包括:至少一个运算单元151、以及与运算单元151连接的控制器单元152;运算单元151包括一个主处理电路151a和多个从处理电路151b,运算单元151通过第一传输接口14与传输电路12连接。

其中,上述控制器单元152,用于通过第一传输接口14中的发送接口向传输电路12发送数据操作信号和输出数据,并通过第一传输接口14中的接收接口接收传输电路12从共享存储器13获取的输入数据,并将输入数据发送给主处理电路151a和/或从处理电路151b;主处理电路151a,用于将输入数据分发至多个从处理电路151b;多个从处理电路151b,用于依据主处理电路151a传输的数据并行执行中间运算得到多个中间结果,并将多个中间结果传输给主处理电路151a;主处理电路151a,还用于对多个中间结果执行后续处理得到计算结果。

可选的,上述机器学习装置11可以包括一个机器学习单元15,这种机器学习装置11可适用于机器学习装置11在执行一种人工神经网络运算时,所涉及的神经网络结构中所包含的神经元数量较少的情况,可以利用一个机器学习单元15一次完成整个神经网络的运算。具体的运算过程为:机器学习单元15可以根据神经网络中每层神经元对应的输入神经元数据和权值数据,执行人工神经网络运算,得到每层神经元对应的输出神经元数据,以及将输出神经元数据作为新的输入神经元数据再进行下一层的神经网络运算,直到完成整个神经网络的运算,得到最终的运算结果为止。在此过程中,机器学习装置11可以将机器学习单元15对于每层运算得到的输出神经元数据,或最终的运算结果通过传输电路12传输至共享存储器13进行数据存储。

可选的,机器学习装置11也可以包括多个机器学习单元15,这种机器学习装置11适用于机器学习装置11在执行一种人工神经网络运算时,所涉及的神经网络结构中所包含的神经元数量较多的情况。例如,针对多层神经网络的运算,以正向运算上的某一层神经网络运算为例进行说明,当这一层上的神经元数量较多时,在一种可选的计算方式中,上述机器学习装置11可以利用其中的多个机器学习单元15分别并行计算一层神经网络中的部分神经元的输出神经元数据。例如,一个机器学习装置11包括4个机器学习单元15,一层神经网络具有100个神经元,则机器学习装置11就可以分配每个机器学习单元15各处理其中25个神经元,对应输出相应的输出神经元数据。如此进行一层又一层神经网络的并行计算,这样的计算方法可以实现神经网络计算的并行处理,提高了处理效率。

可选的,在上述的机器学习单元15中,其中的控制器单元152可以包括一个指令存储单元152a和一个指令处理单元152b。可选的,控制器单元152也可以包括多个指令存储单元152a和多个指令处理单元152b。

其中的指令存储单元152a,用于存储机器学习单元15在执行机器学习运算时所涉及到的所有运算指令,以及需要进行读写数据操作时对应的数据读写操作指令。其中的指令处理单元152b,用于处理指令存储单元152a中的所有指令,具体可以包括:将指令存储单元152a中的运算指令发送给运算单元151,使运算单元151可以根据运算指令进行相应的运算操作,还可以对指令存储单元152a中的数据读写操作指令进行解析,得到数据操作信号,并将该数据操作信号发送给第一传输接口14,使第一传输接口14可以通过该数据操作信号从共享存储器13中读写数据。

可选的,在上述的机器学习单元15中,其中的运算单元151可以包括一个主处理电路151a和一个从处理电路151b。可选的,运算单元151也可以包括一个主处理电路151a和多个从处理电路151b。这样的结构设计适用于处理较大数据量的应用场景,尤其是针对机器学习运算过程中存在大量并行运算时的场景,所以,本申请提出的这种运算结构能够提高运算速度,节省运算时间,进而降低功耗。

需要说明的是,上述结构中的每个从处理电路151b可以直接根据主处理电路151a发送的输入数据,执行并行运算。可选的,每个从处理电路151b也可以直接根据控制器单元152发送的输入数据,执行并行运算。

基于上述每个运算单元151中有一个主处理电路151a和多个从处理电路151b的情况,每个运算单元151中的主处理电路151a和多个从处理电路151b的结构可以相同,也可以不同。具体可以包括:主处理电路151a和多个从处理电路151b的结构可以包括h型、脉动阵列型、以及树型结构中的至少一种。

上述实施例提供的一种机器学习装置包括至少一个机器学习单元,每个机器学习单元中包括:至少一个运算单元、以及与运算单元连接的控制器单元;同时,运算单元包括一个主处理电路和多个从处理电路,运算单元通过第一传输接口与传输电路连接。上述机器学习装置中的控制器单元可以通过第一传输接口中的发送接口向传输电路发送数据操作信号和输出数据,并通过第一传输接口中的接收接口接收传输电路从共享存储器获取的输入数据,并将输入数据发送给主处理电路和/或从处理电路。由于上述机器学习装置中包含有主处理电路和多个从处理电路,主处理电路可以将获取到的数据同时分发给多个从处理电路,让多个从处理电路进行并行运算,再将中间运算结果返回给主处理电路,由主处理电路对中间结果进行运算,实现机器学习运算,相比于传统的用于机器学习运算的处理器中只有一种处理电路对数据进行运算的方式,本申请提出的机器学习装置对数据操作以及对数据进行运算的速度较快。

图2为本发明实施例提供的传输电路的结构示意图。参阅图2,该传输电路12包括:第二传输接口120、与第二传输接口120连接的至少一个读写处理电路121、以及与读写处理电路121连接的仲裁电路122;至少一个机器学习单元15通过第一传输接口14与第二传输接口120的连接,实现至少一个机器学习单元15与传输电路12的连接。

上述读写处理电路121,用于接收至少一个机器学习单元15通过第一传输接口14和第二传输接口120发送的数据操作信号,并将数据操作信号传输至所述仲裁电路122,以及将从共享存储器13中读取的数据通过第二传输接口120发送给至少一个机器学习单元15;上述仲裁电路122,用于根据预设仲裁规则仲裁从至少一个读写处理电路121接收到的数据操作信号,并根据仲裁成功的数据操作信号对共享存储器13中的数据进行操作。

可选的,传输电路12可以包括多个第二传输接口120,第二传输接口120可以是一种发送接口,也可以是一种接收接口。当第二传输接口120是发送接口时,传输电路12可以向与该发送接口连接的机器学习单元15发送数据;当第二传输接口120是接收接口时,传输电路12可以接收机器学习单元15向该接收接口发送的数据操作信号和/或数据。可选的,第二传输接口120的发送接口与第一传输接口14中的接收接口连接,第二传输接口120的接收接口与第一传输接口14中的发送接口连接。

可选的,参阅图2a,该传输电路12中可以包括多个读写处理电路121,且这多个读写处理电路121的输入端可以与多个第二传输接口120进行一一对应的连接。可选的,参阅图2b,该传输电路12中也可以只包括一个读写处理电路121,且这一个读写处理电路121的输入端与多个第二传输接口120进行一对多的连接,即一个读写处理电路121对应连接多个第二传输接口120。

可选的,当上述的多个读写处理电路121与多个第二传输接口120进行一一对应连接时,每个读写处理电路121都可以将数据通过与之连接的一个第二传输接口120发送给一个机器学习单元15,或是将数据通过与之连接的一个第二传输接口120发送给多个机器学习单元15;当上述的一个读写处理电路121与多个第二传输接口120进行一对多连接时,该读写处理电路121可以将数据通过与之连接的多个第二传输接口120发送给多个机器学习单元15,或是将数据通过其中的一个第二传输接口120发送给一个机器学习单元15。

可选的,在上述传输电路12的结构中可以包括一个仲裁电路122,且这一个仲裁电路122的输入端可以与多个读写处理电路121连接。该仲裁电路122的输出端与共享存储器13连接,可选的,也可以与其它存储器件或是控制器件进行连接。

由上述实施例可知,本申请使用的传输电路12可以包括多个读写处理电路121,相应的,这多个读写处理电路121的类型可以相同,也可以不同,下面实施例将根据读写处理电路121的类型,以及读写处理电路121接收到的数据信号的类型展开说明数据的传输方式。

具体的,读写处理电路121可以包括以下处理电路中的至少一种:单播读处理电路、单播写处理电路、广播处理电路;数据操作信号包括以下至少一种:单播读请求、单播写请求、单播读指令、单播写指令、多播指令、广播指令。

其中,单播类型的处理电路用于处理单播类型的信号,例如,上述实施例中的单播读处理电路可以处理对应的单播读请求或单播读指令,单播写处理电路可以处理对应的单播写请求或者单播写指令。相应的,多播广播类型的处理电路用于处理多播或者广播类型的信号,例如,上述实施例中的广播处理电路可以处理对应的多播指令或者广播指令。

需要说明的是,若数据操作信号为指令类型的信号,即为本实施例中的单播读指令、单播写指令、多播指令、广播指令时,则读写处理电路121,具体用于将指令类型的信号进行解析,生成请求类型的信号,并将请求类型的信号传输至仲裁电路122;若数据操作信号为请求型的信号,即为本实施例中的单播读请求、单播写请求时,则读写处理电路121,用于对该请求型的信号执行暂存操作,并将该请求型的信号发送给仲裁电路122。

可选的,若数据操作信号为多播指令时,该多播指令携带多个需要接收数据的目标机器学习单元的标识,则当传输电路12中的读写处理电路121接收到一个多播指令时,读写处理电路121就可以根据该多播指令中携带的标识对多个目标机器学习单元进行识别,最后向识别出的多个目标机器学习单元发送需要返回的数据。

可选的,若数据操作信号为广播指令时,该广播指令可以不携带任何一个接收数据的目标机器学习单元的标识,但是当读写处理电路121在接收到一个广播指令时,读写处理电路121可以将仲裁电路122从共享存储器13中获取到的数据,发送至机器学习装置11中包含的所有机器学习单元15。

可选的,预设仲裁规则用于使仲裁电路122可以按照一定的规则确定多个数据操作信号的优先级,从而使仲裁电路122可以根据各个数据操作信号的优先级来确定仲裁成功的数据操作信号。例如,1#读写处理电路121发送的数据操作信号的传输速率大于2#读写处理电路121发送的数据操作信号的传输速率,则仲裁电路122就可以将传输速率大的数据操作信号的优先级设置为高优先级,将传输速率小的数据操作信号的优先级设置为低优先级,之后,仲裁电路122就可以根据上述优先级,选择出高优先级的数据操作信号进行下一步的操作,即根据该数据操作信号从共享存储器13中获取数据。

上述实施例中,传输电路包括:第二传输接口、与第二传输接口连接的至少一个读写处理电路、以及与读写处理电路连接的仲裁电路,以及将从共享存储器中读取的数据通过第二传输接口发送给至少一个机器学习单元;其中,读写处理电路可以接收至少一个机器学习单元通过第一传输接口和第二传输接口发送的数据操作信号,并将数据操作信号传输至仲裁电路,使得仲裁电路可以根据预设仲裁规则仲裁从至少一个读写处理电路接收到的数据操作信号,并根据仲裁成功的数据操作信号对共享存储器中的数据进行操作。在上述传输电路中,多个读写处理电路通过多个第二传输接口与机器学习装置连接,并通过仲裁电路进行仲裁,从而实现数据的有效传输,避免了机器学习装置同时发送多个数据操作信号时易产生数据冲突和堵塞的情况;另外,本实施例中的传输电路可以处理各种类型的指令或者请求,大大提高了数据处理装置的适用范围。

在一个实施例中,上述实施例中的的数据处理装置可以被划分为至少一个簇,每个簇包括多个机器学习单元15、一个传输电路12以及至少一个共享存储器13;在存在多个簇的应用场景中,参阅图3,传输电路12还可以包括:与所在簇内的仲裁电路122和簇内的共享存储器13连接的第一类直接内存访问控制器dma123,和/或,与所在簇内的仲裁电路122和其它簇内的共享存储器13连接的第二类dma124。

上述第一类dma123,用于控制簇内的仲裁电路122和簇内共享存储器13之间的数据交互;第二类dma124,用于控制簇内的仲裁电路122和其它簇内的共享存储器13之间的数据交互,以及用于控制簇内的仲裁电路122和片外存储器之间的数据交互。

可选的,第一类dma123和第二类dma124的功能主要是可以控制仲裁电路122可以连接至少一个的共享存储器13,且能够实现快速的从连接的至少一个的共享存储器13中读取数据或写入数据。

当传输电路中存在第一类dma123或者第二类dma124时,参阅图4所示,本申请使用的传输电路12还可以包括:与第一类dma123连接的第一选择传输电路125、与第二类dma连接的第二选择传输电路126;其中,第一选择传输电路125,用于选择性连接所在簇内的共享存储器13;第二选择传输电路126,用于选择性连接所在簇内以及其他簇内的共享存储器13、以及片外存储器。

可选的,第一选择传输电路125和第二选择传输电路126可以为诸如交叉开关、切换开关等类型的电路,且能够通过设置通断电流或通断信号控制各电路之间是否连接的电路。本实施例对此不做限制。

可选的,参阅图5,当传输电路12向共享存储器13写入数据,或者共享存储器13向传输电路12返回读取的数据时,传输电路12可以先将要写入的数据或是要返回的数据进行暂存,以等待处理,因此,在此种使用需求下,本申请使用的传输电路12还可以包括:与仲裁电路122和共享存储器13连接的缓存电路127,用于暂存仲裁电路122从共享存储器13中获取的数据,以及暂存仲裁电路122向共享存储器13写入的数据。

可选的,缓存电路127用于提供数据交换的缓冲区,缓存电路可以是随机存取存储器(randomaccessmemory,ram),关于这点属于现有技术,这里不做累赘说明。

针对本申请使用的数据处理装置,各电路之间的数据传输带宽可以不同,可选的,传输电路12和共享存储器13之间的传输带宽,大于传输电路12和机器学习单元15之间的传输带宽。

举例说明,假设一个机器学习装置11中包括n(n为大于等于1的整数)个机器学习单元15、一个传输电路12、以及一个共享存储器13,传输电路12到各机器学习单元15的带宽为m,则传输电路12中的广播处理电路到共享存储器13的带宽就可以设置为m*n。这样的设计的好处是在极端情况下避免冲突,例如,当多个机器学习单元15同时向传输电路12发送广播指令时,传输电路12中的仲裁电路122在向共享存储器13先后发送这些指令时,因带宽足够所以不易产生冲突。另外传输电路12中的仲裁电路122按照预设的仲裁规则选择出一个优先级较高的广播指令进行处理后,在等待共享存储器13返回数据的同时,可以再接着处理另一个广播指令,这样的设计加快了数据处理的时间,且有效利用了数据传输的带宽。需要说明的是,在实际电路的设计中,对于传输电路12到共享存储器13之间的带宽可以是传输电路12到每个机器学习单元15之间的带宽的2倍、4倍、6倍等,只要能够满足大于传输电路12到每个机器学习单元15之间的带宽的条件即可,对此本实施例不做限制。

参照图6所示,本申请还提供了一种组合处理装置,其包括上述数据处理装置、通用互联接口和除上述数据处理装置以外的其它处理装置;数据处理装置与其它处理装置进行交互,共同完成用户指定的计算操作。其中,其他处理装置,包括中央处理器cpu、图形处理器gpu、神经网络处理器等通用/专用处理器中的一种或以上的处理器类型。其他处理装置所包括的处理器数量不做限制。其他处理装置作为数据处理装置与外部数据和控制的接口,包括数据搬运,完成对本数据处理装置的开启、停止等基本控制;其他处理装置也可以和数据处理装置协作共同完成运算任务。通用互联接口,用于在所述数据处理装置与其他处理装置间传输数据和控制指令。该数据处理装置从其他处理装置中获取所需的输入数据,写入数据处理装置片上的共享存储器;可以从其他处理装置中获取控制指令,写入数据处理装置片上的机器学习装置;也可以读取数据处理装置的共享存储器中的数据并传输给其他处理装置。

可选的,参照图7所示,上述组合处理装置还可以包括存储装置,存储装置分别与所述数据处理装置和所述其他处理装置连接。存储装置用于保存在所述数据处理装置和所述其他处理装置的数据,尤其适用于所需要运算的数据在本数据处理装置或其他处理装置的内部存储中无法全部保存的数据。

该组合处理装置可以作为手机、机器人、无人机、视频监控设备等设备的soc片上系统,有效降低控制部分的核心面积,提高处理速度,降低整体功耗。此情况时,该组合处理装置的通用互联接口与设备的某些部件相连接。某些部件譬如摄像头,显示器,鼠标,键盘,网卡,wifi接口。

在一个实施例中,本申请还提供了一种机器学习芯片,其包括了上述数据处理装置和/或组合处理装置。

在一个实施例中,本申请还提供了一种芯片封装结构,其包括了上述芯片。

在一个实施例中,本申请还提供了一种板卡,其包括了上述芯片封装结构。参照图8所示,上述板卡除了包括上述芯片封装结构81以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件82、接口装置83和控制器件84;所述存储器件82与所述芯片封装结构81内的机器学习芯片811通过总线连接,用于存储数据,所述存储器件82可以包括多组存储单元821。每一组所述存储单元821与所述机器学习芯片811通过总线连接。可以理解,每一组所述存储单元821可以是ddrsdram(doubledataratesdram,双倍速率同步动态随机存储器)。

ddr不需要提高时钟频率就能加倍提高sdram的速度。ddr允许在时钟脉冲的上升沿和下降沿读出数据。ddr的速度是标准sdram的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个ddr4颗粒(芯片)。在一个实施例中,所述机器学习芯片内部可以包括4个72位ddr4控制器,上述72位ddr4控制器中64bit用于传输数据,8bit用于ecc校验。在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。ddr在一个时钟周期内可以传输两次数据。在所述芯片中设置控制ddr的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。

所述接口装置83与所述芯片封装结构81内的机器学习芯片811电连接。所述接口装置83用于实现所述机器学习芯片811与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置83可以为标准pcie(peripheralcomponentinterconnectexpress,一种高速串行计算机扩展总线标准)接口。比如,待处理的数据由服务器通过标准pcie接口传递至所述机器学习芯片,实现数据转移。优选的,当采用pcie3.0x16接口传输时,理论带宽可达到16000mb/s。在另一个实施例中,所述接口装置83还可以是其他的接口,本申请并不限制上述其他的接口的具体表现形式,所述接口装置能够实现转接功能即可。另外,所述机器学习芯片811的计算结果仍由所述接口装置83传送回外部设备(例如服务器)。

所述控制器件84与所述机器学习芯片811电连接。所述控制器件84用于对所述芯片的状态进行监控。具体的,所述机器学习芯片811与所述控制器件84可以通过spi(serialperipheralinterface,串行外设接口)接口电连接。所述控制器件可以包括单片机(microcontrollerunit,mcu)。如所述机器学习芯片可以包括多个数据处理装置和/或组合处理装置,可以带动多个负载。因此,所述机器学习芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制器件84可以实现对所述机器学习芯片中多个数据处理装置和/或组合处理装置的工作状态的调控。

在一些实施例里,申请了一种电子设备,其包括了上述板卡。电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、b超仪和/或心电图仪。

本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。

所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的全部或部分处理过程是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1