CN112825101B - 芯片架构及其数据处理方法、电子设备及存储介质 - Google Patents
芯片架构及其数据处理方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112825101B CN112825101B CN201911149348.6A CN201911149348A CN112825101B CN 112825101 B CN112825101 B CN 112825101B CN 201911149348 A CN201911149348 A CN 201911149348A CN 112825101 B CN112825101 B CN 112825101B
- Authority
- CN
- China
- Prior art keywords
- chip
- network
- data packet
- unit
- processing
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 156
- 238000012546 transfer Methods 0.000 claims abstract description 21
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 238000004458 analytical method Methods 0.000 claims description 18
- 230000003139 buffering effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012858 packaging process Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种芯片架构及数据处理方法、电子设备及存储介质。芯片架构包括多个处理核组,所述处理核组包括至少一个处理核,每个所述处理核组具有与所述多个处理核组中其余的处理核组不同的数据包格式;多个片上网络,所述多个片上网络中的每个片上网络连接一个所述处理核组;中转处理单元,所述中转处理单元与所述多个片上网络的每个所述片上网络相连接,所述中转处理单元用于对待中转的数据包进行数据包格式的转换。本发明的芯片架构,可以最大程度的节省片上网络的面积而取得最佳性能,不仅降低了电路的复杂度,还有效提高数据传输效率,同时还能够降低功耗。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种芯片架构、一种芯片架构的数据处理方法、一种电子设备以及一种计算机可读存储介质。
背景技术
随着科学技术的发展,人类社会正在快速进入智能时代。智能时代的重要特点,就是人们获得数据的种类越来越多,获得数据的量越来越大,而对处理数据的速度要求越来越高,例如,矩阵运算。
芯片是数据处理的基石,它从根本上决定了人们处理数据的能力。从应用领域来看,芯片主要有两条路线:一条是通用芯片路线,例如中央处理器(Central ProcessingUnit,CPU)等,它们能提供极大的灵活性,但是在处理特定领域算法时有效算力比较低;另一条是专用芯片路线,例如张量处理器(Tensor Processing Unit,TPU)等,它们在某些特定领域,能发挥较高的有效算力,但是面对灵活多变的比较通用的领域,它们处理能力比较差甚至无法处理。
由于智能时代的数据种类繁多且数量巨大,所以要求芯片既具有极高的灵活性,能处理不同领域且日新月异的算法,又具有极强的处理能力,能快速处理极大的且急剧增长的数据量。
在多(众)核芯片中,所有的核可能是相同的结构,也可能至少存在两种不同的核。采用哪种芯片架构,使同构或者异构的核有机的构成一款性能卓越的芯片,至关重要。
如图1所示,为现有技术的芯片架构示意图,该芯片架构包括相同或不同种类的核(例如,该架构中有M(M≥1)个不同种类的核,每一个种类的核的个数为NM(NM≥1)个),相同或者不同种类的核均通过共同的片上网络(NoC,Network On Chip)相互连通并交换数据。
但是,在如图1所示的芯片架构中,由于芯片架构中所有的核均使用同一个NoC,所以所有核均需将待交换的数据打成同一种格式的数据包,例如在NoC上传输的数据包的有效数据是64bit,那么有32bit的核收发数据的时候,可能是只传输32bit的有效数据,也可能是两个32bit的数据组成一个64bit有效数据的数据包一起传输,这样的代价是要么浪费带宽,要么增加了组包的工作。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一,提供一种芯片架构、一种芯片架构的数据处理方法、一种电子设备以及一种计算机可读存储介质。
本发明的一个方面,提供一种芯片架构,包括:
多个处理核组,所述处理核组包括至少一个处理核,每个所述处理核组具有与所述多个处理核组中其余的处理核组不同的数据包格式;
多个片上网络,所述多个片上网络中的每个片上网络连接一个所述处理核组;
中转处理单元,所述中转处理单元与所述多个片上网络的每个所述片上网络相连接,所述中转处理单元用于对待中转的数据包进行数据包格式的转换。
本实施例的芯片架构,借助所设置的中转处理单元,可以使得支持不同数据包格式的片上网络之间实现快捷的数据传输,最大程度的节省片上网络的面积而取得最佳性能。此外,对不同数据包格式的核进行分组,通过所设置的中转处理单元进行不同数据格式的转换,这样每一种核不需要根据目的核的数据包格式而进行相应的数据包格式处理,降低了电路的复杂度,提升了效率,降低了功耗。此外,芯片架构可以灵活设计,例如,如果有两个片上网络之间的数据交换量大,那么可以适当加大对应于此两个片上网络的接口,以适应具体的要求。最后,不同的片上网络可以使用不同的时钟频率,能够全异步互相配合工作,提升整个芯片的性能。
在一些可选地实施方式中,所述中转处理单元包括多个处理子单元,
所述中转处理单元与所述多个片上网络的每个所述片上网络相连接,包括:
每个所述处理子单元的输入端与其对应的片上网络的输出端相连,每个所述处理子单元的输出端均选择性地与所述多个片上网络中其余的片上网络的输入端相连。
在一些可选地实施方式中,所述处理子单元用于:
接收来自所述对应的片上网络的源数据包;
根据所述源数据包在所述其余的片上网络中确定目的片上网络;
将所述源数据包转换成新数据包,所述新数据包格式与所述目的片上网络支持的数据包格式相同;
将所述新数据包发送至所述目的片上网络。
在一些可选地实施方式中,所述处理子单元包括解析单元、缓存单元和生成单元;
所述解析单元的输入端与所述对应的片上网络的输出端相连,所述解析单元的输出端选择性地与所述其余的片上网络的输入端相连,所述解析单元的控制端与所述生成单元的控制端相连;
所述缓存单元的输入端与所述对应的片上网络的所述输出端相连,所述缓存单元的输出端与所述生成单元的输入端相连;所述生成单元的输出端选择性地与所述其余的片上网络的所述输入端相连。
在一些可选地实施方式中,所述生成单元包括多个生成子单元,所述多个生成子单元与所述其余的片上网络一一对应;其中,
所述生成子单元的输入端与所述缓存单元的所述输出端相连,所述生成子单元的输出端与所述其余的片上网络中对应的一个片上网络相连,每个所述生成子单元的控制端均与所述解析单元的控制端相连;其中,
所述解析单元,用于接收并解析来自所述对应的片上网络的源数据包中的源包头以生成控制信号,根据所述控制信号在所述其余的片上网络中确定目的片上网络,并生成新包头;
所述缓存单元,用于接收并缓存来自所述对应的片上网络的源数据包中的源数据;
所述解析单元,还用于根据所述控制信号,从所述多个生成子单元中选定与所述目的片上网络相对应的目的生成子单元;
所述目的生成子单元,用于从所述缓存单元中取出所述源数据并根据所述目的片上网络支持的数据包格式生成新数据。
本实施例的芯片架构,各片上网络均采用包头和数据分开处理的并行总线协议,为了匹配片上网络的数据传输协议,处理子单元采用解析单元传输数据包的包头,缓存单元和生成单元传输数据包的数据,这样,不需要额外的数据拆包打包过程,可以有效提高数据传输效率。
在一些可选地实施方式中,所述从所述缓存单元中取出所述源数据并根据所述目的片上网络支持的数据包格式生成新数据,包括:
所述目的生成子单元,用于在所述目的片上网络的数据位宽为所述源数据的数据位宽的N倍时,从所述缓存单元中取出N个所述源数据生成所述新数据,N为大于或等于1的正整数。
在一些可选地实施方式中,所述处理子单元包括缓存单元和解析生成单元,所述缓存单元的输入端与所述对应的片上网络的输出端相连,所述缓存单元的输出端与所述解析生成单元的输入端相连,所述解析生成单元的输出端选择性地与所述其余的片上网络的输入端相连;其中,
所述缓存单元,用于接收并缓存来自所述对应的片上网络的源数据包;
所述解析生成单元,用于从所述缓存单元中取出并解析所述源数据包以生成控制信号,根据所述控制信号在所述其余的片上网络中确定目的片上网络,将所述源数据包打包生成所述目的片上网络支持的新数据包,并将所述新数据包发送至所述目的片上网络。
本发明的另一个方面,提供一种芯片架构的数据处理方法,所述芯片架构包括多个处理核组和多个片上网络,所述处理核组包括至少一个处理核,每个所述处理核组具有与所述多个处理核组中其余的处理核组不同的传输带宽,所述多个片上网络中的每个片上网络连接一个所述处理核组,所述数据处理方法包括:
接收来自所述多个片上网络中的第一片上网络的源数据包;
根据所述源数据包在所述多个片上网络中确定目的片上网络,所述目的片上网络为所述多个片上网络中除所述第一片上网络之外的其余的片上网络中的一个;
将所述源数据包转换成新数据包,所述新数据包的数据包格式与所述目的片上网络支持的数据包格式相同;
将所述新数据包发送至所述目的片上网络。
本实施例的数据处理方法,可以使得每一种具有不同传输带宽的片上网络均能够最匹配其相应核的结构,从而可以最大程度的节省片上网络的面积而取得最佳性能。此外,通过根据片上网络的传输带宽将源数据包进行转换,这样每一种核不需要根据目的核的数据格式而进行相应的数据格式处理,降低了电路的复杂度,提升了效率,降低了功耗。此外,不同的片上网络可以使用不同的时钟频率,能够全异步互相配合工作,提升整个芯片的性能。
在一些可选地实施方式中,所述接收来自所述多个片上网络中的第一片上网络的源数据包,包括:分别接收来自所述多个片上网络中的第一片上网络的源数据包中的源包头和源数据,并缓存所述源数据;
所述根据所述源数据包在所述多个片上网络中确定目的片上网络,包括:解析所述源包头以生成控制信号,根据所述控制信号在所述多个片上网络中确定目的片上网络;
所述将所述源数据包转换成新数据包,包括:根据所述目的片上网络的数据位宽生成新包头,以及取出缓存的源数据并根据所述目的片上网络的数据位宽生成新数据。
可选地,所述取出缓存的源数据并根据所述目的片上网络支持的数据包格式生成新数据,包括:
在所述目的片上网络的数据位宽为所述源数据的数据位宽的N倍时,取出N个所述源数据生成所述新数据,N为大于或等于1的正整数。
本发明的另一个方面,提供一种电子设备,包括:
一个或多个处理器;
存储单元,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,能使得所述一个或多个处理器实现根据前文记载的所述的数据处理方法。
本发明的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能实现根据前文记载的所述的数据处理方法。
本发明的芯片架构及数据处理方法、电子设备及存储介质,借助所设置的中转处理单元,可以使得每一种具有不同数据位宽的片上网络均能够最匹配其相应核的结构,从而可以最大程度的节省片上网络的面积而取得最佳性能。此外,通过所设置的中转处理单元进行数据包格式的转换,每一种核不需要根据目的核的数据包格式而进行相应的数据包格式处理,降低了电路的复杂度,提升了效率,降低了功耗。此外,数据处理电路的具体结构可以灵活设计,例如,如果有两个片上网络之间的数据交换量大,那么可以适当加大对应与此两个片上网络的接口,以适应具体的要求。最后,不同的片上网络可以使用不同的时钟频率,能够全异步互相配合工作,提升整个芯片架构的性能。
附图说明
图1为现有技术的芯片架构示意图;
图2为本发明第一实施例芯片架构的结构示意图;
图3为本发明第二实施例芯片架构的结构示意图;
图4为本发明第三实施例中转处理单元的结构示意图;
图5为本发明第四实施例处理子单元的结构示意图;
图6为本发明第五实施例处理子单元的结构示意图;
图7为本发明第六实施例处理子单元的结构示意图;
图8为本发明第七实施例数据处理方法的流程图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
本发明的一个方面,涉及一种芯片架构,该芯片架构包括多个处理核组、多个片上网络和中转处理单元。所述处理核组包括至少一个处理核,每个所述处理核组具有与所述多个处理核组中其余的处理核组不同的数据包格式。所述多个片上网络中的每个片上网络连接一个所述处理核组。所述中转处理单元与所述多个片上网络的每个所述片上网络相连接,所述中转处理单元用于对待中转的数据包进行数据包格式的转换。
如图2所示,芯片架构可以包括M个处理核组和M个片上网络,分别为第一个处理核组(K1_C1、K1_C2、……、K1_CN1)、第二个处理核组(K2_C1、K2_C2、……、K2_CN2)、……、第M个处理核组(KM_C1、KM_C2、……、KM_CNM)、第一片上网络NoC1、第二片上网络NoC2、……、第M片上网络NoCM。其中,M为大于等于2的正整数。本领域技术人员可以根据实际需要,设计芯片架构中M的具体取值,下文将以芯片架构包括三个处理核组和三个片上网络进行具体说明。
具体地,如图3所示,芯片架构包括三个处理核组和三个片上网络,分别为第一处理核组(K1_C1、K1_C2、K1_C3)、第二处理核组(K2_C1、K2_C2、K2_C3)、第三处理核组(K3_C1、K3_C2、K3_C3)、第一片上网络NoC1、第二片上网络NoC2和第三片上网络NoC3。其中,第一片上网络NoC1分别与第一处理核组(K1_C1、K1_C2、K1_C3)和中转处理单元PS相连,第二片上网络NoC2分别与第二处理核组(K2_C1、K2_C2、K2_C3)和中转处理单元PS相连,第三片上网络NoC3分别与第三个处理核组(K3_C1、K3_C2、K3_C3)和中转处理单元PS相连。
假设,第一片上网络NoC1支持第一处理核组(K1_C1、K1_C2、K1_C3)的数据包格式,例如,第一处理核组的各数据包格式均为32bit,即数据包的数据位宽为32bit。类似的,第二片上网络NoC2支持第二处理核组(K2_C1、K2_C2、K2_C3)的数据包格式,例如,第二处理核组的各数据包格式均为64bit,即数据包的数据位宽为64bit。第三片上网络NoC3支持第三处理核组(K3_C1、K3_C2、K3_C3)的数据包格式,例如,第三处理核组的各数据包格式均为128bit,即数据包的数据位宽为128bit。
当然,除此以外,本领域技术人员还可以根据实际需要,设计第一处理核组(K1_C1、K1_C2、K1_C3)、第二处理核组(K2_C1、K2_C2、K2_C3)、第三处理核组(K3_C1、K3_C2、K3_C3)的数据包格式,并不局限于前文所列的32bit、64bit和128bit。
由于一个片上网络连接的各个核的数据包格式相同,因此,同一片上网络所连接的各个核在这个片上网络上进行的数据交换不会产生传输带宽的浪费,提高了传输效率。对于不同片上网络连接的各个核的数据包格式虽然不同,但是本发明对不同片上网络的数据包进行数据包格式进行转换后再进行数据交换,可以有效提高数据传输效率。
下面对图3中的芯片架构的数据处理过程进行详细描述:
具体地,第一处理核组(K1_C1、K1_C2、K1_C3)中的源数据包发送至第一片上网络NoC1,第一片上网络NoC1将该源数据包发送至中转处理单元PS,该中转处理单元PS将源数据包的格式进行转换,例如,该源数据包需要发送至第三片上网络NoC3,则中转处理单元PS将32bit的源数据转换成128bit的新数据,并将新数据包发送至目的片上网络。
本实施例的芯片架构,借助所设置的中转处理单元,可以使得支持不同数据包格式的片上网络之间实现快捷的数据传输,最大程度的节省片上网络的面积而取得最佳性能。此外,对不同数据包格式的核进行分组,通过所设置的中转处理单元进行不同数据格式的转换,这样每一种核不需要根据目的核的数据包格式而进行相应的数据包格式处理,降低了电路的复杂度,提升了效率,降低了功耗。此外,本实施例的芯片架构可以灵活设计,例如,如果有两个片上网络之间的数据交换量大,那么可以适当加大对应于此两个片上网络的接口,以适应具体的要求。最后,不同的片上网络可以使用不同的时钟频率,能够全异步互相配合工作,提升整个芯片的性能。
在一些可选地实施方式中,中转处理单元包括多个处理子单元,每个所述处理子单元的输入端与其对应的片上网络的输出端相连,每个所述处理子单元的输出端均选择性地与所述多个片上网络中其余的片上网络的输入端相连。
中转处理单元所包括的处理子单元的数量可以根据片上网络的种类以及片上网络之间数据交换的需求进行设置,本文对此不做具体限定。下面以三个处理子单元为例进行介绍。
如图4所示,中转处理单元包括三个处理子单元,分别为第一处理子单元PS_S1,第二处理子单元PS_S2以及第三处理子单元PS_S3。第一处理子单元PS_S1的输入端与第一片上网络NoC1的输出端相连,第一处理子单元PS_S1的输出端选择性地与第二片上网络NoC2的输入端以及第三片上网络NoC3的输入端相连。第二处理子单元PS_S2的输入端与第二片上网络NoC2的输出端相连,第二处理子单元PS_S2的输出端选择性地与第一片上网络NoC1的输入端以及第三片上网络NoC3的输入端相连。第三处理子单元PS_S1的输入端与第三片上网络NoC3的输出端相连,第三处理子单元PS_S3的输出端选择性地与第一片上网络NoC1的输入端以及第二片上网络NoC2的输入端相连。
下面结合图3和图4对芯片架构的数据处理工作过程进行详细说明:
具体地,第一处理核组(K1_C1、K1_C2、K1_C3)中的一个处理核通过对应的第一片上网络NoC1将源数据包发送到第一处理子单元PS_S1,第一处理子单元PS_S1根据该源数据包确定出目的片上网络,如目的片上网络为第二片上网络NoC2,则第一处理子单元PS_S1根据第二片上网络的支持的数据格式(64bit),将源数据包的数据格式(32bit)转换成64bit,形成新的数据包,并将该新的数据包经由第二片上网络NoC2发送至第二处理核组(K2_C1、K2_C2、K2_C3)的处理核,从而完成数据处理过程。
类似的,第二处理核组(K2_C1、K2_C2、K2_C3)和第三处理核组(K3_C1、K3_C2、K3_C3)的数据处理过程与第一处理核组(K1_C1、K1_C2、K1_C3)的数据处理过程相同,在此不作赘述。
下面对处理子单元的结构做进一步的描述。
在一些可选地实施方式中,如图5所示,处理子单元包括解析单元HG、缓存单元Buff和生成单元DG。其中,解析单元HG的输入端和缓存单元Buff的输入端均与第一片上网络NoC1的输出端相连,解析单元HG的输出端选择性地与第二片上网络NoC2和第三片上网络NoC3的输入端相连,解析单元HG的控制端与生成单元DG的控制端相连。缓存单元Buff的输出端与生成单元DG的输入端相连。生成单元DG的输出端选择性地与第二片上网络NoC2和第三片上网络NoC3的输入端相连。
具体地,如图5所示,解析单元HG用于接收并解析来自第一片上网络NoC1的源数据包P1中的源包头H1,源包头H1一般包括目的地址位(目的核地址)和控制位等等,解析单元HG根据解析的目的地址位确定目的核,从而可以根据目的核地址查找对应的目的片上网络,例如为第二片上网络NoC2,根据第二片上网络NoC2的数据位宽确定并生成新包头H2;同时,根据确定的目的片上网络生成控制信号C,该控制信号C用于指示生成单元选择第二片上网络NoC2为目的片上网络。缓存单元Buff用于接收并缓存来自第一片上网络NoC1的源数据包P1的源数据D1。生成单元根据控制信号C确定与第二片上网络NoC2导通,并从缓存单元Buff中取出第一数据D(该第一数据可以为源数据D1或者是多个源数据D1,取决于目的片上网络的数据位宽),根据第二片上网络NoC2的数据位宽生成相应的新数据D2。解析单元HG发出的新包头H2与从生成单元DG发出的新数据D2形成新数据包P2,发送至目的片上网络即第二片上网络NoC2。
本实施例的芯片架构,各片上网络均采用包头和数据分开处理的并行总线协议,为了匹配片上网络的数据传输协议,处理子单元采用解析单元HG传输数据包的包头,缓存单元Buff和生成单元DG传输数据包的数据,这样,不需要额外的数据拆包打包过程,可以有效提高数据传输效率。
在一些可选地实施方式中,如图6所示,生成单元包括两个生成子单元(D2G、D3G),生成子单元(D2G、D3G)的输入端均与缓存单元Buff的输出端相连,生成子单元D2G的输出端与第二片上网络NoC2相连,生成子单元D3G的输出端与第三片上网络NoC3相连,生成子单元(D2G、D3G)的控制端均与解析单元HG的控制端相连。
具体地,解析单元HG解析源数据包的源包头H1,根据H1确定目的片上网络,如第三片上网络NoC3,并生成新包头H3和控制信号C,该控制信号指示目的片上网络为第三片上网络NoC3,因此,生成子单元D3G与第三片上网络NoC3实现导通,生成子单元D3G从缓存单元Buff中取出第一数据D,并根据第三片上网络NoC3的数据位宽生成新数据D3,生成子单元D3G发出的数据D3与新包头H3一起发送至目的片上网络,也即第三片上网络NoC3。
本实施例的芯片架构,生成单元包括多个生成子单元,从而可以进一步有效提高数据传输效率,并且可以简化生成单元的结构,使得支持不同数据位宽的片上网络之间的数据传输互不干扰。
在一些可选地实施方式中,如图5和图6所示,生成单元DG用于在目的片上网络的数据位宽为源数据的数据位宽的N倍时,从缓存单元Buff中取出N个源数据生成新数据,N为大于或等于1的正整数。
具体地,例如当32bit的源数据D1从第一片上网络NoC1的核发送到数据位宽为64bit的第二片上网络NoC2时,则生成子单元D2G会从缓存单元Buff中取出两个第一片上网络NoC1的源数据D1(32bit),生成一个新数据D2(64bit),从而可以降低组包的工作难度。
在一些可选地实施方式中,各片上网络均采用包头和数据一起处理的串行总线协议,如图7所示,处理子单元包括缓存单元Buff和解析生成单元DEC-ENC,缓存单元Buff的输入端与第一片上网络NoC1的输出端相连,缓存单元Buff的输出端与解析生成单元DEC-ENC的输入端相连,解析生成单元DEC-ENC的输出端选择性地与第二片上网络NoC2和第三片上网络NoC3的输入端相连。
其中,缓存单元Buff,用于接收并缓存来自第一片上网络NoC1的源数据包P1。解析生成单元DEC-ENC用于从缓存单元Buff中取出并解析源数据包P1,根据解析的源数据包中的包头信息确定新包头以及目的片上网络,例如第二片上网络NoC2。根据第二片上网络NoC2支持的数据位宽,将源数据包P1中的源数据生成为新数据,将新数据包和新包头打包发送至目的片上网络,也即第二片上网络NoC2上。
不难理解,片上网络的数据传输协议除了可以是并行总线协议、串行总线协议以外,本领域技术人员还可以设计其他一些数据传输协议方式,例如,部分片上网络采用串行总线协议,其余部分片上网络采用并行总线协议等等。
本发明的另一个方面,如图8所示,提供一种芯片架构的数据处理方法S100,芯片架构采用前文记载的芯片架构,具体可以参考前文相关记载,在此不作赘述。数据处理方法S100包括:
S110、接收来所述多个片上网络中的第一片上网络的源数据包。
S120、根据所述源数据包在所述多个片上网络中确定目的片上网络,所述目的片上网络为所述多个片上网络中除所述第一片上网络之外的其余的片上网络中的一个;
S130、将所述源数据包转换成新数据包,所述新数据包的数据包格式与所述目的片上网络支持的数据包格式相同;
S140、将所述新数据包发送至目的片上网络。
本实施例的数据处理方法,可以使得支持不同数据包格式的片上网络之间实现快捷的数据传输,最大程度的节省片上网络的面积而取得最佳性能。此外,通过根据片上网络支持的数据包格式将源数据包的格式进行转换,这样每一种核不需要根据目的核的数据包格式而进行相应的数据包格式处理,降低了电路的复杂度,提升了效率,降低了功耗。此外,不同的片上网络可以使用不同的时钟频率,能够全异步互相配合工作,提升整个芯片的性能。
在一些可选地实施方式中,所述接收来自所述多个片上网络中的第一片上网络的源数据包,包括:分别接收来自所述多个片上网络中的第一片上网络的源数据包中的源包头和源数据,并缓存源数据;
所述根据源数据包在所述多个片上网络中确定目的片上网络,包括:解析所述源包头以生成控制信号,根据所述控制信号在所述多个片上网络中确定目的片上网络;
所述将所述源数据包转换成新数据包,包括:根据目的片上网络的数据位宽生成新包头,以及取出缓存的源数据并根据所述目的片上网络的数据位宽生成新数据;
在一些可选地实施方式中,所述取出缓存的数据并根据所述目的片上网络的数据位宽生成新数据,包括:
在目的片上网络的数据位宽为源数据的数据位宽的N倍时,取出N个缓存的源数据生成新数据,N为大于或等于1的正整数。
本发明的另一个方面,提供一种电子设备,包括:
一个或多个处理器;
存储单元,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,能使得一个或多个处理器实现根据前文记载的的数据处理方法。
本实施例的数据处理方法,可以使得支持不同数据包格式的片上网络之间实现快捷的数据传输,最大程度的节省片上网络的面积而取得最佳性能。此外,通过根据片上网络支持的数据包格式将源数据包的格式进行转换,这样每一种核不需要根据目的核的数据包格式而进行相应的数据包格式处理,降低了电路的复杂度,提升了效率,降低了功耗。此外,不同的片上网络可以使用不同的时钟频率,能够全异步互相配合工作,提升整个芯片的性能。
本发明的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时能实现根据前文记载的的数据处理方法。
其中,计算机可读介质可以是本发明的装置、设备、系统中所包含的,也可以是单独存在。
其中,计算机可读存储介质可是任何包含或存储程序的有形介质,其可以是电、磁、光、电磁、红外线、半导体的系统、装置、设备,更具体的例子包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、光纤、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或它们任意合适的组合。
其中,计算机可读存储介质也可包括在基带中或作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码,其具体的例子包括但不限于电磁信号、光信号,或它们任意合适的组合。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (7)
1.一种芯片,其特征在于,包括:
多个处理核组,所述处理核组包括至少一个处理核,每个所述处理核组具有与所述多个处理核组中其余的处理核组不同的数据包格式;
多个片上网络,所述多个片上网络中的每个片上网络连接一个所述处理核组;
中转处理单元,所述中转处理单元与所述多个片上网络的每个所述片上网络相连接,所述中转处理单元用于对待中转的数据包进行数据包格式的转换;
所述中转处理单元包括多个处理子单元,
所述中转处理单元与所述多个片上网络的每个所述片上网络相连接,包括:每个所述处理子单元的输入端与其对应的片上网络的输出端相连,每个所述处理子单元的输出端均选择性地与所述多个片上网络中其余的片上网络的输入端相连;
所述处理子单元用于:接收来自所述对应的片上网络的源数据包;根据所述源数据包在所述其余的片上网络中确定目的片上网络;将所述源数据包转换成新数据包,所述新数据包格式与所述目的片上网络支持的数据包格式相同;将所述新数据包发送至所述目的片上网络;
所述处理子单元包括缓存单元和解析生成单元,所述缓存单元的输入端与所述对应的片上网络的输出端相连,所述缓存单元的输出端与所述解析生成单元的输入端相连,所述解析生成单元的输出端选择性地与所述其余的片上网络的输入端相连;其中,
所述缓存单元,用于接收并缓存来自所述对应的片上网络的源数据包;
所述解析生成单元,用于从所述缓存单元中取出并解析所述源数据包以生成控制信号,根据所述控制信号在所述其余的片上网络中确定目的片上网络,将所述源数据包打包生成所述目的片上网络支持的新数据包,并将所述新数据包发送至所述目的片上网络。
2.根据权利要求1所述的芯片,其特征在于,所述处理子单元包括解析单元、缓存单元和生成单元;
所述解析单元的输入端与所述对应的片上网络的输出端相连,所述解析单元的输出端选择性地与所述其余的片上网络的输入端相连,所述解析单元的控制端与所述生成单元的控制端相连;
所述缓存单元的输入端与所述对应的片上网络的所述输出端相连,所述缓存单元的输出端与所述生成单元的输入端相连;所述生成单元的输出端选择性地与所述其余的片上网络的所述输入端相连。
3.根据权利要求2所述的芯片,其特征在于,所述生成单元包括多个生成子单元,所述多个生成子单元与所述其余的片上网络一一对应;其中,
所述生成子单元的输入端与所述缓存单元的所述输出端相连,所述生成子单元的输出端与所述其余的片上网络中对应的一个片上网络相连,每个所述生成子单元的控制端均与所述解析单元的控制端相连;其中,
所述解析单元,用于接收并解析来自所述对应的片上网络的源数据包中的源包头以生成控制信号,根据所述控制信号在所述其余的片上网络中确定目的片上网络,并生成新包头;
所述缓存单元,用于接收并缓存来自所述对应的片上网络的源数据包中的源数据;
所述解析单元,还用于根据所述控制信号,从所述多个生成子单元中选定与所述目的片上网络相对应的目的生成子单元;
所述目的生成子单元,用于从所述缓存单元中取出所述源数据并根据所述目的片上网络支持的数据包格式生成新数据。
4.根据权利要求3所述的芯片,其特征在于,所述从所述缓存单元中取出所述源数据并根据所述目的片上网络支持的数据包格式生成新数据,包括:
所述目的生成子单元,用于在所述目的片上网络的数据位宽为所述源数据的数据位宽的N倍时,从所述缓存单元中取出N个所述源数据生成所述新数据,N为大于或等于1的正整数。
5.一种芯片的数据处理方法,所述芯片包括多个处理核组和多个片上网络,所述处理核组包括至少一个处理核,每个所述处理核组具有与所述多个处理核组中其余的处理核组不同的传输带宽,所述多个片上网络中的每个片上网络连接一个所述处理核组,其特征在于,
所述芯片还包括中转处理单元,所述中转处理单元与所述多个片上网络的每个所述片上网络相连接,所述中转处理单元用于对待中转的数据包进行数据包格式的转换;
所述中转处理单元包括多个处理子单元,每个所述处理子单元的输入端与其对应的片上网络的输出端相连,每个所述处理子单元的输出端均选择性地与所述多个片上网络中其余的片上网络的输入端相连;
所述处理子单元用于:接收来自所述对应的片上网络的源数据包;根据所述源数据包在所述其余的片上网络中确定目的片上网络;将所述源数据包转换成新数据包,所述新数据包格式与所述目的片上网络支持的数据包格式相同;将所述新数据包发送至所述目的片上网络;
所述处理子单元包括缓存单元和解析生成单元,所述缓存单元的输入端与所述对应的片上网络的输出端相连,所述缓存单元的输出端与所述解析生成单元的输入端相连,所述解析生成单元的输出端选择性地与所述其余的片上网络的输入端相连;其中,
所述缓存单元,用于接收并缓存来自所述对应的片上网络的源数据包;
所述解析生成单元,用于从所述缓存单元中取出并解析所述源数据包以生成控制信号,根据所述控制信号在所述其余的片上网络中确定目的片上网络,将所述源数据包打包生成所述目的片上网络支持的新数据包,并将所述新数据包发送至所述目的片上网络;
所述数据处理方法包括:
接收来自所述多个片上网络中的第一片上网络的源数据包;
根据所述源数据包在所述多个片上网络中确定目的片上网络,所述目的片上网络为所述多个片上网络中除所述第一片上网络之外的其余的片上网络中的一个;
将所述源数据包转换成新数据包,所述新数据包的数据包格式与所述目的片上网络支持的数据包格式相同;
将所述新数据包发送至所述目的片上网络。
6.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储单元,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,能使得所述一个或多个处理器实现根据权利要求5所述的数据处理方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,
所述计算机程序被处理器执行时能实现根据权利要求5所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911149348.6A CN112825101B (zh) | 2019-11-21 | 2019-11-21 | 芯片架构及其数据处理方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911149348.6A CN112825101B (zh) | 2019-11-21 | 2019-11-21 | 芯片架构及其数据处理方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112825101A CN112825101A (zh) | 2021-05-21 |
CN112825101B true CN112825101B (zh) | 2024-03-08 |
Family
ID=75907203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911149348.6A Active CN112825101B (zh) | 2019-11-21 | 2019-11-21 | 芯片架构及其数据处理方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112825101B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753388A (zh) * | 2008-11-28 | 2010-06-23 | 中国科学院微电子研究所 | 适用于多核处理器片上和片间扩展的路由及接口装置 |
KR20130033898A (ko) * | 2011-09-27 | 2013-04-04 | 성균관대학교산학협력단 | 3차원 네트워크 온 칩 |
CN103106173A (zh) * | 2013-01-25 | 2013-05-15 | 中国兵器工业集团第二一四研究所苏州研发中心 | 多核处理器核间互联的方法 |
CN103970692A (zh) * | 2013-01-25 | 2014-08-06 | 北京旋极信息技术股份有限公司 | RapidIO串行数据处理方法 |
CN104077138A (zh) * | 2014-06-27 | 2014-10-01 | 中国科学院计算技术研究所 | 一种集成网络路由器的众核处理器系统及其集成方法和实现方法 |
CN104794100A (zh) * | 2015-05-06 | 2015-07-22 | 西安电子科技大学 | 基于片上网络的异构多核处理系统 |
CN105635176A (zh) * | 2016-02-19 | 2016-06-01 | 山东超越数控电子有限公司 | 一种基于RapidIO的网络数据传输方法 |
CN105721354A (zh) * | 2016-01-18 | 2016-06-29 | 云南磊奥明科技有限公司 | 片上网络互联方法及装置 |
CN106302259A (zh) * | 2015-05-20 | 2017-01-04 | 华为技术有限公司 | 片上网络中处理报文的方法和路由器 |
CN106502932A (zh) * | 2016-09-20 | 2017-03-15 | 中国科学院自动化研究所 | 基于分层结构的片间互联接口及其写操作和读操作的方法 |
CN106603420A (zh) * | 2016-11-22 | 2017-04-26 | 北京控制工程研究所 | 一种具有实时和容错特性的片上网络路由器 |
CN109656861A (zh) * | 2018-10-22 | 2019-04-19 | 上海无线电设备研究所 | 一种基于srio总线的多核并行信号处理系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037224B2 (en) * | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US9755997B2 (en) * | 2012-01-13 | 2017-09-05 | Intel Corporation | Efficient peer-to-peer communication support in SoC fabrics |
US10657216B2 (en) * | 2016-02-29 | 2020-05-19 | Oregon State University | Routerless networks-on-chip |
-
2019
- 2019-11-21 CN CN201911149348.6A patent/CN112825101B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753388A (zh) * | 2008-11-28 | 2010-06-23 | 中国科学院微电子研究所 | 适用于多核处理器片上和片间扩展的路由及接口装置 |
KR20130033898A (ko) * | 2011-09-27 | 2013-04-04 | 성균관대학교산학협력단 | 3차원 네트워크 온 칩 |
CN103106173A (zh) * | 2013-01-25 | 2013-05-15 | 中国兵器工业集团第二一四研究所苏州研发中心 | 多核处理器核间互联的方法 |
CN103970692A (zh) * | 2013-01-25 | 2014-08-06 | 北京旋极信息技术股份有限公司 | RapidIO串行数据处理方法 |
CN104077138A (zh) * | 2014-06-27 | 2014-10-01 | 中国科学院计算技术研究所 | 一种集成网络路由器的众核处理器系统及其集成方法和实现方法 |
CN104794100A (zh) * | 2015-05-06 | 2015-07-22 | 西安电子科技大学 | 基于片上网络的异构多核处理系统 |
CN106302259A (zh) * | 2015-05-20 | 2017-01-04 | 华为技术有限公司 | 片上网络中处理报文的方法和路由器 |
CN105721354A (zh) * | 2016-01-18 | 2016-06-29 | 云南磊奥明科技有限公司 | 片上网络互联方法及装置 |
CN105635176A (zh) * | 2016-02-19 | 2016-06-01 | 山东超越数控电子有限公司 | 一种基于RapidIO的网络数据传输方法 |
CN106502932A (zh) * | 2016-09-20 | 2017-03-15 | 中国科学院自动化研究所 | 基于分层结构的片间互联接口及其写操作和读操作的方法 |
CN106603420A (zh) * | 2016-11-22 | 2017-04-26 | 北京控制工程研究所 | 一种具有实时和容错特性的片上网络路由器 |
CN109656861A (zh) * | 2018-10-22 | 2019-04-19 | 上海无线电设备研究所 | 一种基于srio总线的多核并行信号处理系统及方法 |
Non-Patent Citations (1)
Title |
---|
一种适用于多核DSP片外扩展的网络接口的设计;方幸福, 梁利平;微电子学与计算机;第27卷(第5期);9-13 * |
Also Published As
Publication number | Publication date |
---|---|
CN112825101A (zh) | 2021-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8352628B2 (en) | Method for transferring data from a source target to a destination target, and corresponding network interface | |
CN101095310B (zh) | 分组解析处理器及在处理器中解析分组的方法 | |
CN101894092B (zh) | 多核cpu及其核间通信方法 | |
CN106953853B (zh) | 一种片上网络千兆以太网资源节点及其工作方法 | |
CN101409675A (zh) | 网络分组净荷压缩 | |
CN110297797B (zh) | 异构协议转换装置和方法 | |
US20120300772A1 (en) | Sharing of internal pipeline resources of a network processor with external devices | |
WO2011046637A1 (en) | Reliable communications in on-chip networks | |
US8824468B2 (en) | System and method for parsing frames | |
CN108614792B (zh) | 1394事务层数据包存储管理方法及电路 | |
CN113542148B (zh) | 一种报文聚合方法、装置、网络网卡及可读存储介质 | |
CN103368872A (zh) | 数据包转发系统和方法 | |
EP2201740B1 (en) | High speed packet processing in a wireless network | |
CN112825101B (zh) | 芯片架构及其数据处理方法、电子设备及存储介质 | |
CN1738224B (zh) | Tdm数据与帧格式转换的电路及方法、传输交换系统及方法 | |
CN106789440B (zh) | 一种ip包包头检测方法及装置 | |
CN106027137B (zh) | 多星兼容的卫星遥感地面接收处理方法 | |
WO2021063214A1 (zh) | 一种数据传输方法及装置 | |
CN107317773B (zh) | 一种片上网络通信接口及通信方法 | |
KR20120038196A (ko) | 라우팅 장치 및 네트워크 장치 | |
CN112702313A (zh) | 高速udp数据发送系统及方法 | |
WO2014183525A1 (zh) | 报文的处理方法和级联芯片 | |
CN112866180B (zh) | 数据处理电路、装置以及方法 | |
CN114902619B (zh) | 一种存储管理装置及芯片 | |
CN113138711B (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 | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 201, No. 6 Fengtong Heng Street, Huangpu District, Guangzhou City, Guangdong Province, 510799 Applicant after: Guangzhou Ximu Semiconductor Technology Co.,Ltd. Address before: 100095 202-24, building 6, yard 1, gaolizhang Road, Haidian District, Beijing Applicant before: Beijing SIMM Computing Technology Co.,Ltd. Country or region before: China |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |