CN112232498B - 一种数据处理装置、集成电路芯片、电子设备、板卡和方法 - Google Patents

一种数据处理装置、集成电路芯片、电子设备、板卡和方法 Download PDF

Info

Publication number
CN112232498B
CN112232498B CN202011086377.5A CN202011086377A CN112232498B CN 112232498 B CN112232498 B CN 112232498B CN 202011086377 A CN202011086377 A CN 202011086377A CN 112232498 B CN112232498 B CN 112232498B
Authority
CN
China
Prior art keywords
data
data block
storage
transfer
storage 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.)
Active
Application number
CN202011086377.5A
Other languages
English (en)
Other versions
CN112232498A (zh
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.)
Anhui Cambricon Information Technology Co Ltd
Original Assignee
Anhui Cambricon Information Technology Co Ltd
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 Anhui Cambricon Information Technology Co Ltd filed Critical Anhui Cambricon Information Technology Co Ltd
Priority to CN202011086377.5A priority Critical patent/CN112232498B/zh
Publication of CN112232498A publication Critical patent/CN112232498A/zh
Application granted granted Critical
Publication of CN112232498B publication Critical patent/CN112232498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Abstract

本披露公开了一种数据处理装置、集成电路芯片、电子设备、板卡和使用前述数据处理装置实现的方法。该数据处理装置可以包括在组合处理装置的计算处理装置中,该计算处理装置可以包括一个或多个数据处理装置。前述的组合处理装置还可以包括接口装置和其他处理装置。所述计算处理装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与设备和其他处理装置连接,用于存储该设备和其他处理装置的数据。本披露的方案可以降低内部存储设备与外部存储设备之间的数据传输量,充分利用了片上的高速传输方式,克服了I/O总线带宽的瓶颈问题,从而可以提高数据处理装置的整体性能。

Description

一种数据处理装置、集成电路芯片、电子设备、板卡和方法
技术领域
本披露一般地涉及数据处理领域。更具体地,本披露涉及一种数据处理装置、集成电路芯片、电子设备、板卡和方法。
背景技术
随着人工智能领域的发展,大规模神经网络涉及的运算数据量越来越大,对存储量的要求越来越高。在现有数据交互方式中,通常利用外部存储设备将数据发送至各个内部存储设备,以便内部运算单元可以根据各自对应的内部存储设备接收到的数据执行相应的运算。然而,庞大的数据传输量可能会导致内部存储设备与外部存储设备之间大量的数据交互。通常情况下,内外部存储设备之间通过输入/输出(“I/O”)总线进行数据传输,由于I/O总线的带宽限制,大量的数据吞吐量可能会造成严重的I/O瓶颈问题,因此极大地降低了数据传输效率,从而可能导致整体性能的降低。
发明内容
为了至少解决上述现有技术中存在的缺陷,本披露提供一种接收片外大数据的传输方式,其中通过增加片上数据的传输次数,可以减少与外部存储设备的数据传输次数,提高传输效率并且最大程度地降低总线带宽限制带来的I/O瓶颈问题的解决方案。具体地,本披露在如下的多个方面中提供前述的解决方案。
在第一方面中,本披露提供一种数据处理装置,包括数据接口和多个存储单元,其中:
所述数据接口配置成从外部存储器接收数据,其中所述数据包括针对于每个存储单元的初始数据并且所述初始数据包括一个或多个数据块;以及
所述多个存储单元中的每个存储单元配置成:
从所述数据接口接收针对于各自的初始数据;并且
沿数据传递方向在存储单元间传递所述一个数据块或逐个地传递所述初始数据的多个数据块,直到在所述存储单元间完成对所述数据的数据传递。
在第二方面中,本披露提供一种集成电路芯片,包括前述及其稍后描述的多个实施例的数据处理装置。
在第三方面中,本披露提供一种电子设备,包括前述的集成电路芯片。
在第四方面中,本披露提供一种板卡,包括前述的电子设备。
在第五方面中,本披露提供一种数据处理装置实现的方法,其中所述数据处理装置包括数据接口和多个存储单元,所述方法包括:
使用所述数据接口从外部存储器接收数据,其中所述数据包括针对于每个存储单元的初始数据并且所述初始数据包括一个或多个数据块;以及
使用所述多个存储单元中的每个来执行以下步骤:
从所述数据接口接收针对于各自的初始数据;并且
沿数据传递方向在存储单元间传递所述一个数据块或逐个地传递所述初始数据的多个数据块,直到在所述存储单元间完成对所述数据的数据传递。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1是示出根据本披露实施例的数据处理装置的示意架构图;
图2是示出根据本披露实施例的存储单元连接的示意图;
图3a、图3b和图3c是示出根据本披露实施例的存储单元之间的初始数据交换过程的示意图;
图4是示出根据本披露实施例的数据处理装置实现的方法的简化流程图;
图5是示出根据本披露实施例的一种组合处理装置的结构图;以及
图6是示出根据本披露实施例的一种板卡的结构示意图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
下面结合附图来详细描述本披露的具体实施方式。
图1是示出根据本披露实施例的数据处理装置100的示意架构图。如图1所示,本披露提供的数据处理装置100可以包括数据接口102和多个存储单元104。在一个实施例中,多个存储单元可以经由数据接口从外部存储器接收数据。在一个应用场景中,可以使用直接存储器访问(“DMA”)接口作为前述的数据接口,以便将外部存储器的数据发送至多个存储单元,例如图中示例性明确示出的四个存储单元和中间以黑点省略示出的一个或多个存储单元。
在所述数据接口从外部存储器接收数据的过程中,所述数据可以包括针对于每个存储单元的初始数据,以便每个存储单元可以通过所述数据接口从外部存储器接收针对于各自的初始数据,并且所述初始数据可以包括一个或多个数据块。在一个实施例中,可以根据所述存储单元的容量和所述初始数据的数据量大小来确定所述数据块的数目(稍后结合图2详细描述)。在一个或多个应用场景中,如果初始数据的数据量大小大于存储单元容量的一半,则可以将初始数据划分成多个数据块。否则,初始数据可以保留为一个数据块。进一步,所述初始数据的数据量大小可以根据需要所述数据的存储单元的数目和容量来确定。具体来说,考虑到存储单元的容量无法容纳计算所需的数据量的情形,本公开提出将所述数据分成多份子数据,并且将每份子数据按照存储单元的数目平均分配给每个存储单元。在该情形下,每个存储单元接收到的数据量可以是初始数据的大小。在一个实施例中,所述数据分成的份数可以由存储单元与外部存储器的通信次数、片外(存储单元与外部存储器间)带宽和/或片内(存储单元间)带宽中的一个或多个因素来参考确定,以便获得针对于份数的最优值。在另一个实施例中,初始数据的数据量大小可以小于存储单元的容量。
下面以一个具体例子来加以说明。假定有8个存储单元需要利用存储于外部存储器中的数据A,以执行各自关联的运算。然而,该数据A的数据量大小大于8个存储单元中每个的容量,即每个存储单元都无法直接接收数据A。根据本披露的方案,可以将数据A分成多份子数据例如为A_num份,并且每一份子数据表示为数据B。如前文描述,本公开的A_num份数量可以是通过考虑存储单元与外部存储器的通信次数、片外和/或片内带宽等因素中的一个或多个来确定的一个最优值。鉴于此,当在尽量不增加A_num份数量的前提下,数据B的数据量大小需要满足如下条件:将数据B按照前述的存储单元的数目分成8份后,获得的每份数据C的数据量大小要小于每个存储单元的容量。当数据B满足前述的条件下,每份数据C可以作为8个存储单元中每个存储单元各自的初始数据。
在确定所述多个存储单元各自的初始数据后,所述多个存储单元中的每个存储单元可以从所述数据接口接收针对于各自的初始数据,并且可以沿数据传递方向在存储单元间传递所述一个数据块或逐个地传递所述初始数据的多个数据块,直到在所述存储单元间完成对所述数据的数据传递。
在一个实施例中,需要利用所述初始数据的多个(例如图2中所示出的四个)存储单元可以依次连接以形成闭合的环路,以便进行存储单元间的数据传递,并且所述数据传递方向是沿所述环路的单向传递方向(如图1中示出的顺时针方向)。需要注意的是,图1中所示出的存储单元间顺时针方向的单向数据传递仅仅是示例性的而非限制性的,本领域技术人员根据数据的实际传递需求,也可以采用逆时针方向作为存储单元间进行单向数据传递的方向。
在一个应用场景中,在闭合环路中的存储单元间传递一个或多个数据块的每次传递过程中,每个存储单元可以向数据传递方向上的下一存储单元传递数据块,以及接收来自于数据传递方向上的上一存储单元的数据块。当存储单元的初始数据包括多个数据块时,本披露的方案可以在存储单元间进行多次的数据块传递,也即增加数据传递次数,以便完成多个存储单元间的初始数据交换。
在每个存储单元完成初始数据的接收后,本披露的数据处理装置还可以执行相应的计算操作。为此,数据处理装置100还可以包括多个计算单元106,其中每个所述计算单元与所述多个存储单元中的相应一个存储单元关联,并且基于所述存储单元内的所述初始数据进行计算。在一个实施例中,每个存储单元可以与至少一个计算单元关联。在初始数据传递的过程中,每个存储单元完成一次初始数据的接收后,与其关联的计算单元即可以根据该次初始数据执行相应的计算。
上文结合图1对数据处理装置的基本架构功能进行了详细描述,通过利用本披露的数据处理装置,可以利用多个存储单元形成闭合环路,减少了需要通过I/O总线从外部存储设备接收的庞大数据量,增加了内部存储单元间的数据交互量。通过充分利用存储单元之间的高速通信通道进行数据传递,有效地提升了数据的传输效率,减少了I/O总线带宽的瓶颈限制问题。另外,本披露的方案还可以根据运算场景的需要,预先确定要使用的形成闭合环路的存储单元的数目,以便充分利用内部数据传递资源,高效传递数据。下面将结合图2对四个存储单元形成闭合环路的具体应用做出示例性描述。
图2是示出根据本披露实施例的存储单元连接的示意图。如图2所示,四个存储单元(每个存储单元即为图1中的存储单元104)以顺时针方向顺序编号为存储单元0、存储单元1、存储单元2和存储单元3,并且已经连接形成闭合环路。具体地,相邻的两个存储单元0与存储单元1之间进行通信连接,并且以顺时针方向作为数据的单向传递方向。例如,存储单元间可以利用DMA通信连接进行数据传递。类似地,相邻的存储单元1和2之间、相邻的存储单元2和3之间、以及相邻的存储单元3和0之间分别进行通信连接。进一步,闭合环路中的存储单元间可以沿数据传递方向进行初始数据的单向传递,直至完成对所述数据的数据传递。另外,每个存储单元可以经由数据接口从外部存储器(图中以虚框示出)接收各自的初始数据。尽管图中示出四个不同的外部存储器,本领域技术人员可以理解该图示是示例性的而非限制性的,并且该四个外部存储器可以是如图1中所示出的同一个外部存储器。
进一步如图2中所示,每个存储单元可以有与其关联的计算单元(即图1所示出的计算单元106)并且计算单元可以根据初始数据来执行相应计算。如前所述,每个存储单元的初始数据可以包括一个或多个数据块。相应地,每个存储单元104可以对应地包括一个或多个数据块存储区202,以便存储每个所述数据块。进一步地,每个存储单元104还可以包括一个数据块接收区204,以便接收上一存储单元传送的数据块。在一个实施例中,在每次传递数据块的过程中,每个所述数据块存储区可以用于存储一个数据块,并且所述数据块接收区用于接收一个数据块。
在一个实施例中,在每次传递数据块过程中,所述存储单元可以配置成将所述数据块存储区和数据块接收区相互转换,以便对数据块进行逐个地传递和接收。在一个应用场景中,在每次数据块传递过程中,所述每个存储单元可以使用所述数据块接收区接收来自于数据传递方向上的上一存储单元的一个数据块。在接收数据块后,所述数据块接收区即转换为数据块存储区,以用于下一次的数据块传递。相应地,使用所述数据块存储区向所述数据传递方向上的下一存储单元的数据块接收区传递数据块。在传递数据块后,所述数据块存储区转换为数据块接收区,以用于下一次的数据块接收。
根据本公开的实施例,在逐个地传递所述初始数据的多个数据块前,所述每个存储单元可以配置成将多个数据块按数据高低位顺序分别存储于地址连续的多个数据块存储区中,以避免数据在数据传递过程中出现错误(例如数据失序、错位或丢失)等,继而可能影响后续的运算操作。在一个应用场景中,在存储单元间每次传递数据块的过程中,每个存储单元可以将存储在数据块存储区的数据块按一定顺序逐个地向数据传递方向上的下一存储单元传递,并且利用数据块接收区接收来自于数据传递方向上的上一存储单元的数据块。
如前所述,存储单元包括的数据块存储区的数目可以对应于所述初始数据包括的数据块的数目。基于此,本披露提出可以根据以下示例性算式(1)、(2)和(3)来确定每个存储单元的所述初始数据的数据块数目(即数据块存储区数目)。具体地,可以根据式(1)确定每个存储单元的数据块接收区Ram_remain的容量:
Ram_remain=Ram_max-Init_data (1)
其中Ram_max为每个存储单元的容量,Init_data为每个存储单元的初始数据的数据量大小本领域技术人员可以理解,在一些应用场景中,本公开的一个数据块存储区的容量大小可以与一个数据块接收区的容量大小相同。
接着,可以根据如下式(2)和式(3)来确定每个存储单元的初始数据的数据块数目(即数据块存储区的数目):
Repeat=Init_data/Ram_remain (2)
Remain=Init_data%Ram_remain (3)
其中,当初始数据的数据量大小不能整除数据块接收区的容量(即Remain不为0)时,Remain为初始数据的数据量大小整除数据块接收区容量后,余数部分数据块的数据量大小,而(Repeat+1)为初始数据划分的数据块数目。反之,当初始数据的数据量大小可以整除数据块接收区的容量(即Remain为0)时,Repeat为初始数据划分的数据块数目。
换句话说,当初始数据的数据量大小为数据块接收区容量的整数倍时(即Remain为0),可以根据式(2)确定初始数据划分为Repeat个数据块,并且每个数据块的数据量大小均为Ram_remain。当初始数据的数据量大小不能整除数据块接收区的容量时(即Remain不为0),可以根据式(2)确定可以整除部分的Repeat个数据块,而根据式(3)确定不能整除部分的Remain的大小,则初始数据划分为(Repeat+1)个数据块,即Repeat个数据量大小(以数据块计)为Ram_remain的数据块和1个Remain数据块之和。
在一个应用场景中,根据如图2所示出的四个存储单元,假定每个存储单元的初始数据Init_data的数据量大小为2X(X可以指代数据大小单位,例如KB等),每个存储单元的容量Ram_max为3G。根据前述式(1)可以确定数据块接收区的容量Ram_remain为1G。进一步,由于初始数据Init_data的数据量大小2G是数据块接收区容量1G的整数倍,根据前述式(2)获得Repeat为2,即初始数据可以划分为2个数据块,每个数据块的数据量大小为1G。相应地,每个存储单元具有两个数据块存储区,每个数据块存储区用于存储一个数据块。
在另一个应用场景中,根据如图2所示出的四个存储单元,假定每个存储单元的初始数据Init_data的数据量大小为2.5G,每个存储单元的容量Ram_max为4G。根据前述式(1)可以确定数据块接收区Ram_remain的容量为1.5G。进一步,由于初始数据Init_data的数据量大小2.5G不能整除数据块接收区容量1.5G,可以根据前述式(2)获得Repeat为1并且根据前述式(3)获得Remain为1G。即,初始数据Init_data被划分成1个1.5G的数据块和1个1G的Remain数据块。相应地,每个存储单元具有两个数据块存储区,一个数据块存储区用于存储1.5G的数据块,另一个用于存储1G的Remain数据块。
图3a、图3b和图3c是示出根据本披露实施例的存储单元之间的初始数据交换过程的示意图。图3a至图3c所描述的存储单元间的数据传递是基于图2所示出的结构,因此结合图2所描述的内容同样适用于图3a至图3c。如前所述,本披露的方案可以根据所述初始数据的数据量大小、存储单元的容量和/或数目来确定将一个存储单元内存储的初始数据沿所述数据传递方向传递到下一存储单元所需的传递次数。鉴于此,图2所描述的四个存储单元连接形成闭合环路的结构后,四个存储单元间需要传递三次初始数据来完成各自初始数据的交换。与此对应,图3a、图3b和图3c分别示出存储单元间第一次、第二次和第三次初始数据的传递过程。进一步,假定存储单元根据前述式(1)、式(2)和式(3)获得Repeat是2和Remain是0。通过该Repeat和Remain数据可以确定每个存储单元的初始数据包括两个数据量大小相等的数据块,并且每个数据块的数据量大小等于所述数据块接收区的容量。由此,在图3a、图3b和图3c中,每个存储单元可以包括用于存储两个数块的数据块存储区和用于接收一个数据块的数据块接收区。
图3a上图和下图分别示出初始数据的两次数据块的传递过程。如图3a上图所示,存储单元0至存储单元3各自包括两个数据块存储区202和一个数据块接收区204。进一步,存储单元按从左至右顺序地布置两个连续的数据块存储区和一个数据块接收区。在逐个地传递所述初始数据的两个数据块前,所述每个存储单元配置成将两个数据块按数据高低位顺序分别存储于地址连续的两个数据块存储区中。
如前所述,存储单元0的初始数据可以包括两个数据块,分别为低位数据块00和高位数据块01。从图3a上图可以看出,低位数据块00存储于左侧数据块存储区,高位数据块01存储于右侧数据块存储区。类似地,存储单元1的初始数据包括低位数据块10和高位数据块11。存储单元2的初始数据包括低位数据块20和高位数据块21。存储单元3的初始数据包括低位数据块30和高位数据块31。存储单元0至3各自初始数据的低位数据块和高位数据块分别存储于各自的左侧和右侧数据块存储区。所述数据块接收区(图中以空白框示出)为空,以用于接收上一存储单元传递的数据块。在一次初始数据的传递过程中,每个存储单元的初始数据沿数据传递方向进行两次数据块的传递至下一个存储单元,从而完成一次初始数据的传递。
本披露的方案在存储单元间逐个地传递初始数据的数据块。图3a上图示出各个存储单元将初始数据的第一个数据块沿数据传递方向传递至下一存储单元,并且接收上一存储单元的所述第一个数据块的过程。在数据块传输的过程中,将各个存储单元的高位数据块:数据块01、数据块11、数据块21和数据块31沿数据传递方向(如图中示出的顺时针方向)单向传递至下一存储单元的数据块接收区,并且单向接收上一存储单元的高位数据块:数据块31、数据块01、数据块11和数据块21。具体地,存储单元0将高位数据块01传递给存储单元1的数据块接收区,并且接收存储单元3的高位数据块31……,以此类推。存储单元3将高位数据块31传递至存储单元0的数据块接收区,并且接收存储单元2的高位数据块21。
图3a下图示出,当各个存储单元完成高位数据块传递后,图3a上图中示出发送数据的数据块存储区与数据块接收区的位置发生转换。从图3a下图中可以看出,各个存储单元在图3a上图中示出用于存储高位数据块的数据块存储区转换为数据块接收区,以用于等待接收下一个数据块,而各个存储单元在图3a上图中示出用于接收高位数据块的数据块接收区转换为数据块存储区。进一步,各个存储单元将初始数据第二个数据块沿数据传递方向传递至下一存储单元。具体地,将各个存储单元的低位数据块:数据块00、数据块10、数据块20和数据块30沿数据传递方向传递至下一存储单元的数据块接收区(如图中示出的位于存储单元两个数据块存储区之间的空白框),并且接收上一存储单元的低位数据块,以便完成存储单元间第一次初始数据的传递。
如图3b上图所示,各个存储单元完成第一次初始数据的接收,各存储单元从左至右顺序地布置数据块接收区和两个连续的数据块存储区,从上一存储单元接收的第一次初始数据的低位和高位数据块分别顺序存储于左侧和右侧数据块存储区。类似地,各个存储单元在图3a下图中示出用于存储低位数据块的数据块存储区转换为数据块接收区,而用于接收低位数据块的数据块接收区转换为数据块存储区。在一个实施例中,与各个存储单元关联的计算单元可以根据接收的初始数据,执行相应的运算。进一步,各个存储单元准备沿数据传递方向传递第二次初始数据的第一个数据块。此时,数据块接收区在两个数据块存储区的左侧。为了保证数据的存储顺序,将低位数据块作为传递第二次初始数据的第一个数据块。具体地,将各个存储单元的低位数据块:数据块30、数据块00、数据块10和数据块20沿数据传递方向传递至下一存储单元的数据块接收区,并且接收上一存储单元的低位数据块。
图3b下图示出各个存储单元传递第二次初始数据低位数据块后,各存储单元数据块存储区和数据块接收区位置情形。类似地,在低位数据块传递之后,各个存储单元的数据块存储区与数据块接收区进行了相互转换。接着,将各个存储单元的第二次初始数据的高位数据块(即第二个数据块):数据块31、数据块01、数据块11和数据块21沿数据传递方向传递至下一存储单元的数据块接收区,并且接收上一存储单元的高位数据块,以便完成存储单元间第二次初始数据的传递。
如图3c上图所示,各个存储单元完成第二次初始数据的传递后,存储单元中的两个数据块存储区从左至右连续存储了接收的第二次初始数据的低位数据块和高位数据块。在此情形下,各个存储单元中的两个数据块存储区和一个数据块接收区的排列顺序与如图3a上图所示出的数据块存储区和数据块接收区具有类似的排列顺序。由此,各个存储单元的第三次初始数据的高位数据块传递以及数据块存储区与接收区相互轮换的过程也具有类似的操作细节,因此不再赘述。
图3c下图示出各个存储单元第三次初始数据的高位数据块传递后的数据块存储区与数据块接收区的布置顺序。类似地,将各个存储单元的第三次初始数据的低位数据块沿数据传递方向传递至下一存储单元的数据块接收区,并且接收上一存储单元的第三次初始数据低位数据块,以便完成存储单元间第三次初始数据的传递。至此,四个存储单元完成本次存储单元间初始数据的交换。
通过上面的示例,本领域技术人员可以理解结合前述图2所示出的四个存储单元形成闭合环路仅仅是示例性的而非限制性的。本领域技术人员根据具体的应用场景,也可以预先布置其他合适数目的存储单元并且形成闭合环路,以便进行所述初始数据的传递或交换,直至在所述存储单元间完成对所述数据的数据传递。图4是示出根据本披露实施例的数据处理装置实现的方法400的简化流程图。所述数据处理装置可以应用如图1-图3(包括图3a至图3c)所示出的架构,并且支持各种附加的操作。
如图4所示,在步骤410处,方法400可以使用所述数据接口从外部存储器接收数据。所述数据可以包括针对于每个存储单元的初始数据并且所述初始数据包括一个或多个数据块。接着,在步骤420处,方法400可以使用所述多个存储单元中的每个来执行以下子步骤421和422。在步骤421处,方法400可以令所述多个存储单元中的每个从所述数据接口接收针对于各自的初始数据。可以理解的是,此处的步骤421是步骤410操作的细化。进一步,流程前进至步骤422处,方法400可以令所述多个存储单元中的每个沿数据传递方向在存储单元间传递所述一个数据块或逐个地传递所述初始数据的多个数据块,直到在所述存储单元间完成对所述数据的数据传递。
以上为了简明的目的,仅结合图4描述了本披露的数据处理装置实现的方法。本领域技术人员根据本披露的公开内容也可以想到本方法可以包括更多的步骤,并且这些步骤的执行可以实现前文结合图1-图3所描述的本披露的各类操作,此处不再赘述。
图5是示出根据本披露实施例的一种组合处理装置500的结构图。如图5中所示,该组合处理装置500包括计算处理装置502、接口装置504、其他处理装置506和存储装置508。根据不同的应用场景,计算处理装置中可以包括一个或多个数据处理装置510,该数据处理装置可以配置用于执行本文结合附图1-图3(包括图3a至图3c)所描述的操作和结合图4所描述的方法步骤。
在不同的实施例中,本披露的计算处理装置可以配置成执行用户指定的操作。在示例性的应用中,该计算处理装置可以实现为单核人工智能处理器或者多核人工智能处理器。类似地,包括在计算处理装置内的一个或多个数据处理装置可以实现为人工智能处理器核或者人工智能处理器核的部分硬件结构。当多个数据处理装置实现为人工智能处理器核或人工智能处理器核的部分硬件结构时,就本披露的计算处理装置而言,其可以视为具有单核结构或者同构多核结构。
在示例性的操作中,本披露的计算处理装置可以通过接口装置与其他处理装置进行交互,以共同完成用户指定的操作。根据实现方式的不同,本披露的其他处理装置可以包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics ProcessingUnit,GPU)、人工智能处理器等通用和/或专用处理器中的一种或多种类型的处理器。这些处理器可以包括但不限于数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本披露的计算处理装置而言,其可以视为具有单核结构或者同构多核结构。然而,当将计算处理装置和其他处理装置共同考虑时,二者可以视为形成异构多核结构。
在一个或多个实施例中,该其他处理装置可以作为本披露的计算处理装置与外部数据和控制的接口,执行包括但不限于数据搬运、对数据处理装置的开启和/或停止等基本控制。在另外的实施例中,其他处理装置也可以和该计算处理装置协作以共同完成运算任务。
在一个或多个实施例中,该接口装置可以用于在计算处理装置与其他处理装置间传输数据和控制指令。例如,该计算处理装置可以经由所述接口装置从其他处理装置中获取输入数据,写入该计算处理装置片上的存储装置(或称存储器)。进一步,该计算处理装置可以经由所述接口装置从其他处理装置中获取控制指令,写入计算处理装置片上的控制缓存中。替代地或可选地,接口装置也可以读取计算处理装置的存储装置中的数据并传输给其他处理装置。
附加地或可选地,本披露的组合处理装置还可以包括存储装置。如图中所示,该存储装置分别与所述计算处理装置和所述其他处理装置连接。在一个或多个实施例中,存储装置可以用于保存所述计算处理装置和/或所述其他处理装置的数据。例如,该数据可以是在计算处理装置或其他处理装置的内部或片上存储装置中无法全部保存的数据。
在一些实施例里,本披露还公开了一种芯片(例如图6中示出的芯片602)。在一种实现中,该芯片是一种系统级芯片(System on Chip,SoC),并且集成有一个或多个如图5中所示的组合处理装置。该芯片可以通过对外接口装置(如图6中示出的对外接口装置606)与其他相关部件相连接。该相关部件可以例如是摄像头、显示器、鼠标、键盘、网卡或wifi接口。在一些应用场景中,该芯片上可以集成有其他处理单元(例如视频编解码器)和/或接口模块(例如DRAM接口)等。在一些实施例中,本披露还公开了一种芯片封装结构和一种电子设备,二者各自包括了上述芯片。在一些实施例里,本披露还公开了一种板卡,其包括上述的芯片封装结构和/或上述的电子设备。下面将结合图6对该板卡进行详细地描述。
图6是示出根据本披露实施例的一种板卡600的结构示意图。如图6中所示,该板卡包括用于存储数据的存储器件604,其包括一个或多个存储单元610。该存储器件可以通过例如总线等方式与控制器件608和上文所述的芯片602进行连接和数据传输。进一步,该板卡还包括对外接口装置606,其配置用于芯片(或芯片封装结构中的芯片)与外部设备612(例如服务器或计算机等)之间的数据中继或转接功能。例如,待处理的数据可以由外部设备通过对外接口装置传递至芯片。又例如,所述芯片的计算结果可以经由所述对外接口装置传送回外部设备。根据不同的应用场景,所述对外接口装置可以具有不同的接口形式,例如其可以采用标准PCIE接口等。
在一个或多个实施例中,本披露板卡中的控制器件可以配置用于对所述芯片的状态进行调控。为此,在一个应用场景中,该控制器件可以包括单片机(Micro ControllerUnit,MCU),以用于对所述芯片的工作状态进行调控。
根据上述结合图5和图6的描述,本领域技术人员可以理解本披露也公开了一种电子设备或装置,其可以包括一个或多个上述板卡、一个或多个上述芯片和/或一个或多个上述组合处理装置。
根据不同的应用场景,本披露的电子设备或装置可以包括服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、PC设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。本披露的电子设备或装置还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本披露的电子设备或装置还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本披露方案的算力高的电子设备或装置可以应用于云端设备(例如云端服务器),而功耗小的电子设备或装置可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。
需要说明的是,为了简明的目的,本披露将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本披露的方案并不受所描述的动作的顺序限制。因此,依据本披露的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本披露所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本披露某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本披露对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本披露某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
在具体实现方面,基于本披露的公开和教导,本领域技术人员可以理解本披露所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行划分,而实际实现时也可以有另外的划分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
在本披露中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本披露实施例所述方案的目的。另外,在一些场景中,本披露实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
在一些实现场景中,上述集成的单元可以采用软件程序模块的形式来实现。如果以软件程序模块的形式实现并作为独立的产品销售或使用时,所述集成的单元可以存储在计算机可读取存储器中。基于此,当本披露的方案以软件产品(例如计算机可读存储介质)的形式体现时,该软件产品可以存储在存储器中,其可以包括若干指令用以使得计算机设备(例如个人计算机、服务器或者网络设备等)执行本披露实施例所述方法的部分或全部步骤。前述的存储器可以包括但不限于U盘、闪存盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,本文所述的各类装置(例如数据处理装置或其他处理装置)可以通过适当的硬件处理器来实现,例如CPU、GPU、FPGA、DSP和ASIC等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(Resistive Random Access Memory,RRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、增强动态随机存取存储器(Enhanced Dynamic Random Access Memory,EDRAM)、高带宽存储器(High Bandwidth Memory,HBM)、混合存储器立方体(Hybrid Memory Cube,HMC)、ROM和RAM等。
依据以下条款可更好地理解前述内容:
条款A1、一种数据处理装置,包括数据接口和多个存储单元,其中:
所述数据接口配置成从外部存储器接收数据,其中所述数据包括针对于每个存储单元的初始数据并且所述初始数据包括一个或多个数据块;以及
所述多个存储单元中的每个存储单元配置成:
从所述数据接口接收针对于各自的初始数据;并且
沿数据传递方向在存储单元间传递所述一个数据块或逐个地传递所述初始数据的多个数据块,直到在所述存储单元间完成对所述数据的数据传递。
条款A2、根据条款A1所述的数据处理装置,其中根据所述存储单元的容量和所述初始数据的大小来确定所述数据块的数目。
条款A3、根据条款A2所述的数据处理装置,其中根据所述存储单元的数目和容量来确定所述初始数据的大小。
条款A4、根据条款A1所述的数据处理装置,其中所述多个存储单元配置成依次连接以形成闭合的环路,并且所述数据传递方向是沿所述环路的单向传递方向。
条款A5、根据条款A1所述的数据处理装置,其中在存储单元间传递一个或多个数据块的每次传递过程中,所述每个存储单元配置成:
向数据传递方向上的下一存储单元传递数据块;以及
接收来自于数据传递方向上的上一存储单元的数据块。
条款A6、根据条款A1所述的数据处理装置,其中所述每个存储单元包括一个或多个数据块存储区和一个数据块接收区,其中在每次传递过程中,所述一个或多个数据块存储区的每个用于存储一个数据块,并且所述数据块接收区用于接收一个数据块。
条款A7、根据条款A6所述的数据处理装置,其中在逐个地传递所述初始数据的多个数据块前,所述每个存储单元配置成将多个数据块按数据高低位顺序分别存储于地址连续的多个数据块存储区中。
条款A8、根据条款A6所述的数据处理装置,其中在每次传递过程中,所述存储单元配置成将所述数据块存储区和数据块接收区相互转换,以便对数据块进行逐个地传递和接收。
条款A9、根据条款A8所述的数据处理装置,其中在每次传递过程中,所述每个存储单元配置成:
使用所述数据块接收区接收来自于数据传递方向上的上一存储单元的一个数据块,并且在接收后将所述数据块接收区转换为数据块存储区以用于下一次的数据块传递;以及
使用所述数据块存储区向所述数据传递方向上的下一存储单元的数据块接收区传递数据块,并且在传递后将所述数据块存储区转换为数据块接收区以用于下一次的数据块接收。
条款A10、根据条款A1-A9的任意一项所述的数据处理装置,其中根据所述初始数据大小、存储单元的容量和/或数目来确定将一个存储单元内存储的初始数据沿所述数据传递方向传递到下一存储单元所需的传递次数。
条款A11、根据条款A1-A9的任意一项所述的数据处理装置,其中所述数据处理装置还包括多个计算单元,其中每个所述计算单元与所述多个存储单元中的相应一个关联,并且配置成基于所述存储单元内的所述初始数据进行计算。
条款A12、一种集成电路芯片,包括根据条款A1-条款A11的任意一项所述的数据处理装置。
条款A13、一种电子设备,包括根据条款A12所述的集成电路芯片。
条款A14、一种板卡,包括根据条款A13所述的电子设备。
条款A15、一种数据处理装置实现的方法,其中所述数据处理装置包括数据接口和多个存储单元,所述方法包括:
使用所述数据接口从外部存储器接收数据,其中所述数据包括针对于每个存储单元的初始数据并且所述初始数据包括一个或多个数据块;以及
使用所述多个存储单元中的每个来执行以下步骤:
从所述数据接口接收针对于各自的初始数据;并且
沿数据传递方向在存储单元间传递所述一个数据块或逐个地传递所述初始数据的多个数据块,直到在所述存储单元间完成对所述数据的数据传递。
条款A16、根据条款A15所述的方法,还包括根据所述存储单元的容量和所述初始数据的大小来确定所述数据块的数目。
条款A17、根据条款A16所述的方法,还包括根据所述存储单元的数目和容量来确定所述初始数据的大小。
条款A18、根据条款A15所述的方法,还包括将所述多个存储单元配置成依次连接以形成闭合的环路,并且所述数据传递方向是沿所述环路的单向传递方向。
条款A19、根据条款A15所述的方法,其中在存储单元间传递一个或多个数据块的每次传递过程中,使用所述每个存储单元执行以下步骤:
向数据传递方向上的下一存储单元传递数据块;以及
接收来自于数据传递方向上的上一存储单元的数据块。
条款A20、根据条款A15所述的方法,其中所述每个存储单元包括一个或多个数据块存储区和一个数据块接收区,其中在每次传递过程中,所述一个或多个数据块存储区的每个用于存储一个数据块,并且所述数据块接收区用于接收一个数据块。
条款A21、根据条款A20所述的方法,其中在逐个地传递所述初始数据的多个数据块前,所述方法还包括使用所述每个存储单元将多个数据块按数据高低位顺序分别存储于地址连续的多个数据块存储区中。
条款A22、根据条款A20所述的方法,其中在每次传递过程中,所述方法还包括使用所述存储单元将所述数据块存储区和数据块接收区相互转换,以便对数据块进行逐个地传递和接收。
条款A23、根据条款A22所述的方法,其中在每次传递过程中,所述方法还包括使用所述每个存储单元执行以下步骤:
使用所述数据块接收区接收来自于数据传递方向上的上一存储单元的一个数据块,并且在接收后将所述数据块接收区转换为数据块存储区以用于下一次的数据块传递;以及
使用所述数据块存储区向所述数据传递方向上的下一存储单元的数据块接收区传递数据块,并且在传递后将所述数据块存储区转换为数据块接收区以用于下一次的数据块接收。
条款A24、根据条款A15-23的任意一项所述的方法,还包括根据所述初始数据大小、存储单元的容量和/或数目来确定将一个存储单元内存储的初始数据沿所述数据传递方向传递到下一存储单元所需的传递次数。
条款A25、根据条款A15-条款A23的任意一项所述的方法,其中所述数据处理装置还包括多个计算单元,其中每个所述计算单元与所述多个存储单元中的相应一个关联,并且所述方法还包括使用每个所述计算单元来基于所述初始数据进行计算。
应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
虽然本文已经示出和描述了本披露的多个实施例,但对于本领域技术人员显而易见的是,这样的实施例只是以示例的方式来提供。本领域技术人员可以在不偏离本披露思想和精神的情况下想到许多更改、改变和替代的方式。应当理解的是在实践本披露的过程中,可以采用对本文所描述的本披露实施例的各种替代方案。所附权利要求书旨在限定本披露的保护范围,并因此覆盖这些权利要求范围内的等同或替代方案。

Claims (12)

1.一种数据处理装置,包括数据接口和多个存储单元,其中:
所述数据接口配置成从外部存储器接收数据,其中所述数据包括针对于每个存储单元的初始数据并且所述初始数据包括一个或多个数据块;以及
所述多个存储单元中的每个存储单元配置成:
从所述数据接口接收针对于各自的初始数据;并且
沿数据传递方向在存储单元间传递所述一个数据块或逐个地传递所述初始数据的多个数据块,直到在所述存储单元间完成对所述数据的数据传递,
其中在存储单元间传递一个或多个数据块的每次传递过程中,所述每个存储单元还配置成:
向数据传递方向上的下一存储单元传递数据块;以及
接收来自于数据传递方向上的上一存储单元的数据块,
其中所述每个存储单元包括一个或多个数据块存储区和一个数据块接收区,其中在每次传递过程中,所述一个或多个数据块存储区的每个用于存储一个数据块,并且所述数据块接收区用于接收一个数据块,
其中在每次所述传递过程中,所述每个存储单元还配置成:
使用所述数据块接收区接收来自于数据传递方向上的上一存储单元的一个数据块,并且在接收后将所述数据块接收区转换为数据块存储区以用于下一次的数据块传递;以及
使用所述数据块存储区向所述数据传递方向上的下一存储单元的数据块接收区传递数据块,并且在传递后将所述数据块存储区转换为数据块接收区以用于下一次的数据块接收。
2.根据权利要求1所述的数据处理装置,其中根据所述存储单元的容量和所述初始数据的大小来确定所述数据块的数目。
3.根据权利要求2所述的数据处理装置,其中根据所述存储单元的数目和容量来确定所述初始数据的大小。
4.根据权利要求1所述的数据处理装置,其中所述多个存储单元配置成依次连接以形成闭合的环路,并且所述数据传递方向是沿所述环路的单向传递方向。
5.根据权利要求1所述的数据处理装置,其中在逐个地传递所述初始数据的多个数据块前,所述每个存储单元配置成将多个数据块按数据高低位顺序分别存储于地址连续的多个数据块存储区中。
6.根据权利要求1所述的数据处理装置,其中在每次传递过程中,所述存储单元配置成将所述数据块存储区和数据块接收区相互转换,以便对数据块进行逐个地传递和接收。
7.根据权利要求1-6的任意一项所述的数据处理装置,其中根据所述初始数据大小、存储单元的容量和/或数目来确定将一个存储单元内存储的初始数据沿所述数据传递方向传递到下一存储单元所需的传递次数。
8.根据权利要求1-6的任意一项所述的数据处理装置,其中所述数据处理装置还包括多个计算单元,其中每个所述计算单元与所述多个存储单元中的相应一个关联,并且配置成基于所述存储单元内的所述初始数据进行计算。
9.一种集成电路芯片,包括根据权利要求1-8的任意一项所述的数据处理装置。
10.一种电子设备,包括根据权利要求9所述的集成电路芯片。
11.一种板卡,包括根据权利要求10所述的电子设备。
12.一种数据处理装置实现的方法,其中所述数据处理装置包括数据接口和多个存储单元,所述方法包括:
使用所述数据接口从外部存储器接收数据,其中所述数据包括针对于每个存储单元的初始数据并且所述初始数据包括一个或多个数据块;以及
使用所述多个存储单元中的每个来执行以下步骤:
从所述数据接口接收针对于各自的初始数据;并且
沿数据传递方向在存储单元间传递所述一个数据块或逐个地传递所述初始数据的多个数据块,直到在所述存储单元间完成对所述数据的数据传递,
其中在存储单元间传递一个或多个数据块的每次传递过程中,使用所述每个存储单元来执行以下步骤:
向数据传递方向上的下一存储单元传递数据块;以及
接收来自于数据传递方向上的上一存储单元的数据块,
其中所述每个存储单元包括一个或多个数据块存储区和一个数据块接收区,其中在每次传递过程中,所述一个或多个数据块存储区的每个用于存储一个数据块,并且所述数据块接收区用于接收一个数据块,
其中在每次所述传递过程中,使用所述每个存储单元来执行以下步骤:
使用所述数据块接收区接收来自于数据传递方向上的上一存储单元的一个数据块,并且在接收后将所述数据块接收区转换为数据块存储区以用于下一次的数据块传递;以及
使用所述数据块存储区向所述数据传递方向上的下一存储单元的数据块接收区传递数据块,并且在传递后将所述数据块存储区转换为数据块接收区以用于下一次的数据块接收。
CN202011086377.5A 2020-10-12 2020-10-12 一种数据处理装置、集成电路芯片、电子设备、板卡和方法 Active CN112232498B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011086377.5A CN112232498B (zh) 2020-10-12 2020-10-12 一种数据处理装置、集成电路芯片、电子设备、板卡和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011086377.5A CN112232498B (zh) 2020-10-12 2020-10-12 一种数据处理装置、集成电路芯片、电子设备、板卡和方法

Publications (2)

Publication Number Publication Date
CN112232498A CN112232498A (zh) 2021-01-15
CN112232498B true CN112232498B (zh) 2022-11-18

Family

ID=74112274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011086377.5A Active CN112232498B (zh) 2020-10-12 2020-10-12 一种数据处理装置、集成电路芯片、电子设备、板卡和方法

Country Status (1)

Country Link
CN (1) CN112232498B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008052849A1 (de) * 2006-10-31 2008-05-08 Robert Bosch Gmbh Verfahren zum senden eines datenübertragungsblocks und verfahren und system zum übertragen eines datenübertragungsblocks
CN102959874A (zh) * 2010-07-12 2013-03-06 松下电器产业株式会社 解交错装置及解交错方法和数据传输系统及数据传输方法
CN103049397A (zh) * 2012-12-20 2013-04-17 中国科学院上海微系统与信息技术研究所 一种基于新型存储器的固态硬盘内部缓存管理方法及系统
CN107844434A (zh) * 2011-02-28 2018-03-27 甲骨文国际公司 通用高速缓存管理系统
WO2018096322A1 (en) * 2016-11-28 2018-05-31 Arm Limited Data movement engine
CN108664331A (zh) * 2018-05-22 2018-10-16 腾讯大地通途(北京)科技有限公司 分布式数据处理方法及装置、电子设备、存储介质
CN111459856A (zh) * 2020-03-20 2020-07-28 中国科学院计算技术研究所 一种数据传输装置及传输方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008052849A1 (de) * 2006-10-31 2008-05-08 Robert Bosch Gmbh Verfahren zum senden eines datenübertragungsblocks und verfahren und system zum übertragen eines datenübertragungsblocks
CN102959874A (zh) * 2010-07-12 2013-03-06 松下电器产业株式会社 解交错装置及解交错方法和数据传输系统及数据传输方法
CN107844434A (zh) * 2011-02-28 2018-03-27 甲骨文国际公司 通用高速缓存管理系统
CN103049397A (zh) * 2012-12-20 2013-04-17 中国科学院上海微系统与信息技术研究所 一种基于新型存储器的固态硬盘内部缓存管理方法及系统
WO2018096322A1 (en) * 2016-11-28 2018-05-31 Arm Limited Data movement engine
CN108664331A (zh) * 2018-05-22 2018-10-16 腾讯大地通途(北京)科技有限公司 分布式数据处理方法及装置、电子设备、存储介质
CN111459856A (zh) * 2020-03-20 2020-07-28 中国科学院计算技术研究所 一种数据传输装置及传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于2.5D封装系统的存储型计算研究;尹颖颖等;《计算机工程》;20170215(第02期);全文 *
基于FAS466的高速CCD相机数字视频实时存储系统设计;盛翠霞等;《电子技术应用》;20060730(第06期);全文 *

Also Published As

Publication number Publication date
CN112232498A (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN110597559B (zh) 计算装置以及计算方法
CN110096310B (zh) 运算方法、装置、计算机设备和存储介质
CN110119807B (zh) 运算方法、装置、计算机设备和存储介质
CN112686379B (zh) 集成电路装置、电子设备、板卡和计算方法
CN111124995A (zh) 通过人工智能处理器处理一维复数数组的方法和设备
CN112084023A (zh) 数据并行处理的方法、电子设备及计算机可读存储介质
CN111382847B (zh) 数据处理装置及相关产品
CN111047005A (zh) 运算方法、装置、计算机设备和存储介质
CN112232498B (zh) 一种数据处理装置、集成电路芯片、电子设备、板卡和方法
CN111382852B (zh) 数据处理装置、方法、芯片及电子设备
CN111382856B (zh) 数据处理装置、方法、芯片及电子设备
CN114281558A (zh) 多核处理器、用于多核处理器的方法及相应产品
CN111047030A (zh) 运算方法、装置、计算机设备和存储介质
CN111061507A (zh) 运算方法、装置、计算机设备和存储介质
CN111353124A (zh) 运算方法、装置、计算机设备和存储介质
CN113742266B (zh) 集成电路装置、电子设备、板卡和计算方法
CN111124497B (zh) 运算方法、装置、计算机设备和存储介质
US20230305840A1 (en) Computing apparatus, integrated circuit chip, board card, device and computing method
CN111275197B (zh) 运算方法、装置、计算机设备和存储介质
CN111353125B (zh) 运算方法、装置、计算机设备和存储介质
CN111026440B (zh) 运算方法、装置、计算机设备和存储介质
CN111382855B (zh) 数据处理装置、方法、芯片及电子设备
CN115495157A (zh) 分组运算装置、方法、集成电路芯片、计算装置和板卡
CN111062483A (zh) 运算方法、装置、计算机设备和存储介质
CN117908959A (zh) 用于执行原子操作的方法及其相关产品

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
GR01 Patent grant
GR01 Patent grant