CN112905523B - 一种芯片及核间数据传输方法 - Google Patents
一种芯片及核间数据传输方法 Download PDFInfo
- Publication number
- CN112905523B CN112905523B CN201911230193.9A CN201911230193A CN112905523B CN 112905523 B CN112905523 B CN 112905523B CN 201911230193 A CN201911230193 A CN 201911230193A CN 112905523 B CN112905523 B CN 112905523B
- Authority
- CN
- China
- Prior art keywords
- processing core
- processing
- chip
- cores
- core
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 224
- 238000012546 transfer Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 239000011111 cardboard Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种芯片及核间数据传输方法。该芯片包括:多个互联结构,每个所述互联结构连接一个处理核组,所述处理核组包括至少两个处理核;所述处理核组内的各个所述处理核通过与所述处理核组连接的所述互联结构进行数据传输;其中,多个所述互联结构之间不直接相连。本发明实施方式提供的芯片,同一处理核组的各个核之间通过与该组对应的互联结构实现数据传输,不同处理核组的核与核之间的数据传输能够并行处理,一方面,大大提高了总的数据带宽,提高了核与核之间的数据传输效率,降低了功耗,提高了芯片的性能;另一方面,由于不同组的数据传输能够并行处理,不同组的数据传输不会相互干扰,从而避免发生数据拥塞现象,提高了芯片的性能。
Description
技术领域
本发明涉及芯片技术领域,尤其是涉及一种芯片及核间数据传输方法。
背景技术
随着科学技术的发展,人类社会正在快速进入智能时代。智能时代的重要特点,就是人们获得数据的种类越来越多,获得数据的量越来越大,而对处理数据的速度要求越来越高。
芯片是数据处理的基石,它从根本上决定了人们处理数据的能力。从应用领域来看,芯片主要有两条路线:一条是通用芯片路线,例如中央处理器(Central ProcessingUnit,CPU)等,它们能提供极大的灵活性,但是在处理特定领域算法时有效算力比较低;另一条是专用芯片路线,例如张量处理器(Tensor Processing Unit,TPU)等,它们在某些特定领域,能发挥较高的有效算力,但是面对灵活多变的比较通用的领域,它们处理能力比较差甚至无法处理。
由于智能时代的数据种类繁多且数量巨大,所以要求芯片既具有极高的灵活性,能处理不同领域且日新月异的算法,又具有极强的处理能力,能快速处理极大的且急剧增长的数据量。
发明内容
(一)发明目的
本发明的目的是提供一种芯片及核间数据传输方法。本发明实施方式提供的芯片,包括多个互联结构,同一处理核组内的处理核间通过与该组连接的互联结构实现数据传输,这样使得不同组核之间的数据传输能够并行处理,大大提高了总的数据带宽,提高了芯片的性能。
(二)技术方案
为解决上述问题,本发明的第一方面提供了一种芯片,包括:多个互联结构,每个所述互联结构连接一个处理核组,一个所述互联结构连接的全部所述处理核为一个处理核组;归属于同一所述处理核组的各个所述处理核通过与所述处理核组连接的所述互联结构进行数据传输;其中,多个所述互联结构之间不直接相连。
本发明实施方式提供的芯片,包括多个互联结构,同一处理核组内的处理核间通过与该组连接的互联结构实现数据传输,这样使得不同处理组的核与核之间的数据传输能够并行处理,大大提高了总的数据带宽,提高了芯片的性能。
进一步地,归属于不同所述处理核组的各个处理核之间能进行数据传输。
进一步地,归属于一个处理核组的任意两个处理核之间传输的数据量大于分别归属于任意两个不同处理核组的处理核之间传输的数据量。
进一步地,多个所述互联结构包括第一互联结构和第二互联结构;所述第一互联结构连接有第一处理核;所述第一处理核与所述第二互联结构连接。
进一步地,所述第一互联结构还连接有第二处理核;所述第二互联结构连接有第三处理核;所述第二处理核通过所述第一处理核与所述第三处理核实现数据传输。
进一步地,所述互联结构包括第三互联结构;所述第三互联结构连接的全部所述处理核与其他所述互联结构不连接。
进一步地,每个所述互联结构连接的所述处理核与其他所述互联结构不连接。
进一步地,每个所述处理核包括至少一个传输单元,所述互联结构的带宽满足所述传输单元的带宽需求。
进一步地,所述互联结构的带宽满足与所述互联结构连接的所述处理核组内的各个所述处理核的带宽需求。
进一步地,互联结构的带宽大于与所述互联结构连接的所述处理核组内的各个所述处理核的带宽需求。
进一步地,多个所述互联结构至少设置有两种时钟频率。
进一步地,多个所述互联结构至少设置有两种位宽值。
进一步地,至少有两个处理核组的带宽需求不同。
根据本发明的第二方面,提供了一种卡板,包括一个或多个第一方面提供的芯片。
根据本发明的第三方面,还提供了一种电子设备,包括一个或多个第二方面提供的卡板。
根据本发明的第四方面,提供了一种核间数据传输方法,用于第一方面提供的芯片中,该方法包括:属于同一个处理核组的各个所述处理核通过与所述处理核组连接的互联结构实现数据传输;分别属于两个不同处理核组的两个所述处理核,至少通过两个所述互联结构实现数据传输。
进一步地,分别属于两个不同处理核组的两个所述处理核,至少通过两个所述互联结构实现数据传输,包括:所述分别属于两个不同处理核组的两个所述处理核,经由同时属于所述两个不同处理核组中的一个处理核,通过两个所述互联结构实现数据传输。
根据本发明的第五方面,提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述程序被处理器执行时实现第四方面的核间数据传输方法的步骤。
根据本发明的第六方面,提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现第四方面的核间数据传输方法的步骤。
根据本发明的第七方面,提供一种计算机程序产品,其中,包括计算机指令,当所述计算机指令被计算设备执行时,所述计算设备可以执行第四方面的核间数据传输方法的步骤。
(三)有益效果
本发明的上述技术方案具有如下有益的技术效果:
(1)本发明实施方式提供的芯片,设置有多个互联结构,同一处理核组的处理核间通过与该组连接的互联结构实现数据传输,使得不同处理核组的数据传输能够并行处理,一方面,大大提高了总的数据带宽,提高了核与核之间的数据传输效率,降低了功耗,提高了芯片的性能;另一方面,由于不同组的数据传输能够并行处理,不同组的数据传输不会相互干扰,从而避免发生数据拥塞现象,提高了芯片的性能。
(2)本发明实施方式提供的芯片,分属于同一组的核与核之间在数据传输时,只需要考虑同一组内的核的数据格式,无需考虑芯片的其他分组的其他核的数据格式,降低了芯片中电路的复杂度。
(3)由于一个处理核组之间采用一个互联结构实现数据传输,不同的互联结构可以设置不同的时钟频率和不同的位宽,可以按照每组数据传输的需要设置相应的位宽,相比于一个芯片中所有的核采用一个互联结构进行数据传输,降低了功耗,提升整个芯片的性能且增加了芯片设计的灵活性,并且根据不同的处理核组的实际带宽的需求,来确定互联结构合适的位宽及频率,能够节省芯片的面积。
附图说明
图1为一种芯片的结构示意图;
图2是根据本发明一实施方式的芯片的结构图;
图3是根据本发明一实施方式的芯片的结构图;
图4是根据本发明一实施方式的核间数据传输方法流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在多(众)核芯片中,所有的核可能是同构的,也就是每一个核都是相同的结构,所有的核中可能也存在异构的核,也就是至少存在两种不同的核。多(众)核架构中,经常会有多个核同时参与某个任务的执行,此时,各核之间会有数据的传输。因此,对于多核芯片,采用哪种架构,如何进行数据传输,使同构或者异构的核有机的构成一款性能卓越的芯片,至关重要。
图1为一种芯片的结构示意图。
在图1所示的芯片结构中,该芯片只有一个片上网络,所有的核与核之间通过一个片上网络(NoC,Network On Chip)相互连通,交换数据。
如图1所示,该芯片设置有多种结构的核,多种结构的核包括K1_C1、K2_C1及KM_C1,其中M表示核的种类为M种,每一种核的数量为多个,例如第一种核K1包括K1_C1、K1_C2及K1_CNM,其中NM表示为每一种核的个数为NM个。即KM_CNM表示为第M种结构的第NM个核。
由于该芯片中核的种类很多(M种),且不同种类的核与核之间使用同一个NoC进行数据交换,这样导致每一个核都需要知道所有的其他的所需要交换数据的核的数据格式(位宽),由于核与核之间使用同一个NoC,所以对发送或者接收的数据包的格式具有较高的要求,即发送核将数据格式编码成接收核的数据格式,或者接收核根据发送核类型将数据重新解码再编码成接收核的数据格式,导致数据包路由算法的复杂度高,各个核的负担很重。
此外,由于所有核共用一个NoC,由于核与核之间交换的数据量不同,当有一对核进行数据传输时,其他的核无法采用NoC进行数据传输,需要等待该对核数据传输之后,进行数据传输,这样就会产生数据传输延时的情况,导致芯片的性能降低。例如,第一个核与第二个核之间数据传输带宽很大,在第一个核与第二个核数据传输过程中,第三个核产生了需要发送给第四个核的数据,这部分数据量比较小,但是对实时性的要求很高,而由于所有的核共用一个NoC,第三个核需要等到第一个核与第二个核之间的数据传输完成之后,再进行数据传输,这样实时性要求高的数据没有及时的传输,影响芯片的性能。
为解决上述问题,提出本发明的技术方案。
下面将详细说明本申请一实施方式提供的芯片。在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
图2是根据本发明一实施方式的芯片的结构图。
如图2所示,该芯片包括:多个互联结构,每个所述互联结构连接一个处理核组,一个所述互联结构连接的全部所述处理核为一个处理核组;所述处理核组内的各个所述处理核通过与所述处理核组连接的所述互联结构进行数据传输;其中,多个所述互联结构之间不直接相连。
在图2所示的实施方式中,芯片包括o个互联结构,其中,互联结构可以是核间互联结构Fabric、片上网络(Network On Chip,Noc)、总线bus或开关switch。本发明互联结构采用片上网络Noc为例,但不以此为限。其中,o个互联结构分别为NoC1、NoC2…NoCo,每个NoC连接一个处理核组。处理核组内的各个处理核通过与处理核组连接的NoC进行数据传输。
该芯片包括M种核,每一种核的个数分别为NM个。例如,K2_CN2表示为第2种核的第N2个核,KM_CNM表示为第M种的第NM个核。
在图2所示的实施方式中,第一处理核组包括核K1_C1、核K1_C2…核K1_CN1、核K2_C1和核K2_C2。第一片上网络NoC1连接该第一处理核组,即第一处理核组的每个处理核都与NoC1连接。该第一处理核组的核与核之间通过第一片上网络NoC1实现数据传输。例如当核K1_C1有数据需要传输给核K1_C2时,将该数据发送至第一片上网络NoC1,第一片上网络NoC1将数据传输给核K1_C2。
第二处理核组包括:核K1_C1、核K1_CN1、核K2_C2、…核K2_CN2、核KM_C1和核KM_C2,该第二处理核组的每个处理核都与第二片上网络NoC2连接。该第二处理核组的核与核之间通过第二片上网络NoC2实现数据传输。
第o处理核组包括核K1_CN1、核K2_C2、核KM_C2、…核KM_CNM。该第o处理核组的每个核都与第o片上网络NoCo连接。该第o处理核组的核与核之间通过第o互联结构NoCO实现数据传输。
本发明实施方式提供的芯片,设置有多个互联结构,每个所述互联结构连接一个处理核组,同一处理核组的各个核之间通过与该组连接的互联结构实现数据传输,不同组的核与核之间的数据传输能够并行处理,一方面,属于同一组的核与核之间在数据传输时,只需要考虑同一组内的核的数据格式,无需考虑芯片的其他分组的其他核的数据格式,降低了芯片中电路的复杂度,提高了核与核之间的数据传输效率,降低了功耗,提高了芯片的性能;另一方面,由于不同组的数据传输能够并行处理,不同组的数据传输不会相互干扰,从而避免发生数据拥塞现象,提高了芯片的性能。
在一个实施方式中,归属于不同所述处理核组的各个处理核之间能进行数据传输。
在一个优选的实施例中,多个互联结构包括第一互联结构和第二互联结构;第一互联结构连接有第一处理核;第一处理核与所述第二互联结构连接。
具体地,在本实施例中,同一个处理核可以同时设置在两个不同处理核组中,例如,在图2所示的实施方式中,处理核K1_C1既设置在第一处理核组中,又设置在第二处理核组中,即,该处理核K1_C1既与第一片上网络NoC1连接,又与第二片上网络NoC2连接。
在一个实施例中,归属于同一处理核组的任意两个处理核之间传输的数据量大于分别归属于任意两个不同组的处理核之间传输的数据量。
具体地,在本实施例中,如果某两个核之间存在比较大量的数据传输,那么它们会分配在同一个组中。
在一个实施例中,所述第一互联结构还连接有第二处理核;所述第二互联结构连接有第三处理核;所述第二处理核通过所述第一处理核与所述第三处理核实现数据传输。
具体地,在本实施例中,若分别属于两个分组的两个核之间有数据需要传输,一般来讲这两个核之间需要传输的数据量会比较少,如果某两个核之间只有很少的数据需要交换,则可通过一些搭桥的核中转进行交换,即通过同时位于这两组的核来实现数据传输。例如,与NoC1连接的K2_C1要发送数据到与NoC2连接的KM_C1,由于它们不在一个处理核组中,那么K2_C1可以通过一个既与NoC1连接又与NoC2连接的处理核进行传输,例如K1_C1或者K2_C2。即K2_C1将数据通过NoC1发送至K1_C1,K1_C1通过NoC2将数据发送至KM_C1,从而实现数据传输。
例如,在图2所示的实施方式中,第一处理核组的处理核K1_C2需要将数据发送给第二处理核组的处理核KM_C2,可以通过处理核K1_C1、K1_CN1或K2_C2实现。
具体地,处理核K1_C2通过第一片上网络NoC1将数据发送给处理核K1_C1,处理核K1_C1将数据通过第二片上网络NoC2发送至处理核KM_C2。
在一个实施例中,多个互联结构包括第三互联结构;第三互联结构连接的全部所述处理核与其他所述互联结构不连接。
例如,在图2所示的实施方式中,芯片还包括第三片上网络,第三片上网络连接有一个第三处理核组,第三处理核组中包括核K1_C3、和核K3_C1,这两个核与其他的互联结构不连接。
在本发明的一个实施例中,芯片中的每个互联结构连接的所述处理核与其他所述互联结构不连接。在本实施例中,每个互联结构连接的处理核与其他的互联结构都不连接,即分别属于两个处理核组的两个处理核之间没有数据传输。
在一个实施例中,每个所述处理核包括至少一个传输单元,所述互联结构的带宽满足所述传输单元的带宽需求。例如,互联结构的带宽与传输单元的带宽需求相等,以使得处理核能够将数据发送至互联结构中。
其中,传输单元的带宽需求可以是传输单元在一定时间内发送一定量的数据所需要的带宽。
在一个实施例中,互联结构的带宽满足与该互联结构连接的所述处理核组内的各个所述处理核的带宽需求。
其中,处理核的带宽需求可以是该处理核在一定时间内发送一定量的数据所需要的带宽。
优选的,互联结构的带宽大于与该互联结构连接的所述处理核组内的各个所述处理核的带宽需求。这样每一个互联结构都能够最匹配与互联结构连接的处理核组内所有处理核的结构,一方面能最大程度的节省面积,另一方面,使得芯片具有较好的性能。
在一个实施例中,芯片中至少有两个处理核组的带宽需求不同,例如,第一组带宽需求为1MBps,第二组为10MBps,这样可以基于处理核组需求的不同,进而设置相应结构的Noc,能最大程度的节省Noc的面积。
图3是本发明一实施方式提供的芯片结构示意图。
如图3所示,该芯片包括6个核,这6个核中包括3种结构不同的核,即包括第一种核K1、第二种核K2和第三种核K3,每一种核有2个。
其中,第一种核K1中的两个核为:核K1_C1和核K1_C2,第二种核K2中的两个核为:核K2_C1和核K2_C2,第三种核K2中的两个核为:核K3_C1和核K3_C2。
该芯片中的这6个核分为三组。
第一处理核组由核K1_C1、核K1_C2、核K2_C1和K2_C2构成,第一处理核组中每个核都与第一互联结构NoC1连接。
第二处理核组由K1_C1、K2_C2、K3_C1、K3_C2构成,第二处理核组中每个核都与第二互联结构NoC2连接。
第三处理核组由K1_C2、K2_C2、K3_C2构成,第三处理核组中每个核都与第三互联结构NoC3连接。
在一个优选的实施方式中,芯片中的每个核包括至少一个计算单元。
其中,计算单元可以是执行单元(Execution Unit,EU),或者运算单元(Processing Unit,PU)。
芯片中包括多个互联结构,每个互联结构连接有一个处理核组,同一组处理核通过与该处理核组连接的互联结构连接来实现数据传输,该互联结构会根据其对应组的核所需要的带宽,核所使用的数据位宽,设计专用于本组核的数据包和相应的协议。
在一个实施例中,芯片中的多个所述互联结构中至少设置有两种时钟频率。由于芯片中设置有多个互联结构,每个互联结构连接一组处理核,各组处理核之间的数据传输可以并行处理,所以芯片中的多个互联结构可以设置多种不同的时钟频率。
可选的,芯片中的多个互联结构也可以设置为相同的时钟频率。
在一个实施例中,多个所述互联结构中至少设置有两种位宽值。由于芯片中设置有多个互联结构,每个互联结构连接一组处理核,各组处理核之间的数据传输可以并行处理,所以互联结构中可以设置有多种位宽值。
可选的,芯片中的多个互联结构也可以设置为相同的位宽值。
需要说明的是,带宽=位宽*时钟频率,若某一处理核组的处理核之间数据传输需要较高的带宽,则可以根据该处理核组的带宽需求,确定NoC的带宽(例如确定合适的时钟频率和位宽),以使得NoC的带宽满足处理核组中各个处理核的带宽需求。例如,设置较高的NoC的位宽。另外,由于各个处理核组之间的数据传输相互独立,若其他的处理核组不需要较高的带宽,则可根据其需求,设置相适应的NoC位宽,这样能够节省芯片的面积,从而节省了功耗。
而且,本发明实施方式的芯片,由于一个处理核组之间采用一个NoC实现数据传输,不同的NoC可以设置不同的时钟频率和不同的位宽,可以按照每组数据传输的需要设置相应的位宽,相比于一个芯片中所有的核采用一个互联结构进行传输,降低了功耗,提升整个芯片的性能且增加了芯片设计的灵活性,还能够节省面积。
本发明的上述技术方案具有如下有益的技术效果:
(1)本发明实施方式提供的芯片,设置有多个互联结构,同一处理核组之间通过与该处理核组连接的互联结构实现数据传输,使得不同处理核组的核与核之间的数据传输能够并行处理,一方面,大大提高了总的数据带宽,提高了核与核之间的数据传输效率,降低了功耗,提高了芯片的性能;另一方面,由于不同组的数据传输能够并行处理,不同组的数据传输不会相互干扰,从而避免发生数据拥塞现象,提高了芯片的性能。
(2)本发明实施方式提供的芯片,分属于同一组的核与核之间在数据传输时,只需要考虑同一组内的核的数据格式,无需考虑芯片的其他分组的其他核的数据格式,降低了芯片中电路的复杂度。
本发明一实施方式还提供了一种卡板,包括一个或多个上述实施方式提供的芯片。
本发明一实施方式还提供了一种电子设备,包括一个或多个上述实施方式提供的卡板。
图4是本发明一实施方式提供的核间数据传输方法流程示意图。
如图4所示,该方法包括步骤S101~步骤S102:
步骤S101,属于同一个处理核组的各个所述处理核通过与所述处理核组连接的互联结构实现数据传输。
步骤S102,分别属于两个不同处理核组的两个所述处理核,至少通过两个所述互联结构实现数据传输。
在一个实施例中,所述分别属于两个不同处理核组的两个所述处理核,至少通过两个所述互联结构实现数据传输步骤包括:
所述分别属于两个不同处理核组的两个所述处理核,经由同时属于所述两个不同处理核组中的一个处理核,通过两个所述互联结构实现数据传输。
例如,在图3所示的实施例中,NoC1中的K2_C1要发送数据到在NoC2中的K3_C1,由于它们不在一个组中,那么K2_C1可以通过一个既在NoC1又在NoC2中的核进行传输,例如K1_C1或者K2_C2。即K2_C1将数据通过NoC1发送至K1_C1,K1_C1通过NoC2将数据发送至K3_C1,从而实现数据传输。
需要说明的是,分别属于两个不同处理核组的两个处理核,还可以通过多个互联结构实现数据传输。
例如,在图3所示的实施例中,处理核K2_C1可以通过NoC1、NoC2和NoC3将数据发送给处理核K3_C1。具体地,处理核K2_C1通过NoC1将数据发送给处理核K1_C2,处理核K1_C2通过NoC3将数据发送给处理核K3_C2,处理核K3_C2将该数据通过NoC2发送给处理核K3_C1。
本发明实施方式提供的核间数据传输方法,属于同一个处理核组的各个处理核通过与处理核组连接的互联结构实现数据传输,使得不同组核之间的数据传输能够并行处理,一方面,大大提高了总的数据带宽,提高了核与核之间的数据传输效率,降低了功耗,提高了芯片的性能;另一方面,由于不同组的数据传输能够并行处理,不同组的数据传输不会相互干扰,从而避免发生数据拥塞现象,提高了芯片的性能。
根据本发明的一个实施方式,提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述程序被处理器执行时实现上述实施方式提供的核间数据传输方法的步骤。
根据本发明的一个实施方式,提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施方式提供的核间数据传输方法的步骤。
根据本发明的一个实施方式,提供一种计算机程序产品,其中,包括计算机指令,当所述计算机指令被计算设备执行时,所述计算设备可以执行上述实施方式提供的核间数据传输方法的步骤。
本公开附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
以上参照本发明的实施例对本发明予以了说明。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本发明的范围。本发明的范围由所附权利要求及其等价物限定。不脱离本发明的范围,本领域技术人员可以做出多种替换和修改,这些替换和修改都应落在本发明的范围之内。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (7)
1.一种芯片,其特征在于,包括:多个互联结构,每个所述互联结构连接至少两个处理核,一个所述互联结构连接的全部所述处理核为一个处理核组;
归属于同一所述处理核组的各个所述处理核通过与其所属处理核组连接的所述互联结构进行数据传输;
其中,多个所述互联结构之间不直接相连;
多个所述互联结构包括第一互联结构和第二互联结构;
所述第一互联结构连接有第一处理核;
所述第一处理核与所述第二互联结构连接;
所述第一互联结构还连接有第二处理核;所述第二互联结构连接有第三处理核;
所述第二处理核通过所述第一处理核与所述第三处理核实现数据传输。
2.如权利要求1所述的芯片,其特征在于,归属于不同所述处理核组的各个处理核之间能进行数据传输。
3.如权利要求2所述的芯片,其特征在于,
归属于一个所述处理核组的任意两个处理核之间传输的数据量大于分别归属于任意两个不同处理核组的处理核之间传输的数据量。
4.如权利要求3所述的芯片,其特征在于,
所述互联结构包括第三互联结构;
所述第三互联结构连接的全部所述处理核与其他所述互联结构不连接。
5.如权利要求1所述的芯片,其特征在于,所述互联结构的带宽满足与所述互联结构连接的所述处理核组内的各个所述处理核的带宽需求。
6.如权利要求1所述的芯片,其特征在于,其特征在于,多个所述互联结构至少设置有两种时钟频率;和/或
多个所述互联结构至少设置有两种位宽值。
7.一种核间数据传输方法,用于如权利要求1-6任一项所述的芯片中,其特征在于,包括:
属于同一个处理核组的各个所述处理核通过与所述处理核组连接的互联结构实现数据传输;
分别属于两个不同处理核组的两个所述处理核,至少通过两个所述互联结构实现数据传输;其中,所述分别属于两个不同处理核组的两个所述处理核,经由同时属于所述两个不同处理核组中的一个处理核,通过两个所述互联结构实现数据传输。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911230193.9A CN112905523B (zh) | 2019-12-04 | 2019-12-04 | 一种芯片及核间数据传输方法 |
PCT/CN2020/118709 WO2021109698A1 (zh) | 2019-12-04 | 2020-09-29 | 一种芯片及核间数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911230193.9A CN112905523B (zh) | 2019-12-04 | 2019-12-04 | 一种芯片及核间数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905523A CN112905523A (zh) | 2021-06-04 |
CN112905523B true CN112905523B (zh) | 2023-11-17 |
Family
ID=76110785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911230193.9A Active CN112905523B (zh) | 2019-12-04 | 2019-12-04 | 一种芯片及核间数据传输方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112905523B (zh) |
WO (1) | WO2021109698A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778938B (zh) * | 2021-08-31 | 2024-03-12 | 上海阵量智能科技有限公司 | 片上网络拓扑结构的确定方法、装置及芯片 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546302A (zh) * | 2009-05-07 | 2009-09-30 | 复旦大学 | 一种多核处理器的互连结构及基于该结构的层次化互连设计方法 |
CN106528052A (zh) * | 2016-12-26 | 2017-03-22 | 北京海嘉科技有限公司 | 一种基于分布式功能单元的微处理器架构 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9063730B2 (en) * | 2010-12-20 | 2015-06-23 | Intel Corporation | Performing variation-aware profiling and dynamic core allocation for a many-core processor |
CN103336756B (zh) * | 2013-07-19 | 2016-01-27 | 中国人民解放军信息工程大学 | 一种数据计算节点的生成装置 |
CN205540720U (zh) * | 2016-04-06 | 2016-08-31 | 龙芯中科技术有限公司 | 处理器互联结构和主板 |
-
2019
- 2019-12-04 CN CN201911230193.9A patent/CN112905523B/zh active Active
-
2020
- 2020-09-29 WO PCT/CN2020/118709 patent/WO2021109698A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546302A (zh) * | 2009-05-07 | 2009-09-30 | 复旦大学 | 一种多核处理器的互连结构及基于该结构的层次化互连设计方法 |
CN106528052A (zh) * | 2016-12-26 | 2017-03-22 | 北京海嘉科技有限公司 | 一种基于分布式功能单元的微处理器架构 |
Also Published As
Publication number | Publication date |
---|---|
WO2021109698A1 (zh) | 2021-06-10 |
CN112905523A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10355996B2 (en) | Heterogeneous channel capacities in an interconnect | |
US8811422B2 (en) | Single chip protocol converter | |
US7555001B2 (en) | On-chip packet-switched communication system | |
US9253085B2 (en) | Hierarchical asymmetric mesh with virtual routers | |
US20150188847A1 (en) | STREAMING BRIDGE DESIGN WITH HOST INTERFACES AND NETWORK ON CHIP (NoC) LAYERS | |
US20140219097A1 (en) | Method and apparatus for congestion-aware routing in a computer interconnection network | |
EP3364625B1 (en) | Device, system and method for adaptive payload compression in a network fabric | |
CN110636139B (zh) | 一种云负载均衡的优化方法及*** | |
CN112905523B (zh) | 一种芯片及核间数据传输方法 | |
CN114185840A (zh) | 一种三维多裸片互连网络结构 | |
CN116915708A (zh) | 路由数据包的方法、处理器及可读存储介质 | |
Ueno et al. | Hybrid network utilization for efficient communication in a tightly coupled FPGA cluster | |
US11636061B2 (en) | On-demand packetization for a chip-to-chip interface | |
CN113553279B (zh) | 一种rdma通信加速集合通信的方法及*** | |
CN111274193A (zh) | 数据处理装置及方法 | |
US9774498B2 (en) | Hierarchical asymmetric mesh with virtual routers | |
CN114445260A (zh) | 基于fpga的分布式gpu通信的方法及装置 | |
CN117221212B (zh) | 片上光网络低拥塞路由方法及相关设备 | |
CN114095289B (zh) | 数据多播电路、方法、电子设备及计算机可读存储介质 | |
CN112437032B (zh) | 数据收发装置及方法、存储介质和电子设备 | |
Shu et al. | Optimal many-to-many personalized concurrent communication in RapidIO-based fat-trees | |
CN112825101B (zh) | 芯片架构及其数据处理方法、电子设备及存储介质 | |
US20230254253A1 (en) | Message split-aggregation for multi-stage electrical interconnection network | |
KR20230120559A (ko) | 다중 스테이지 전기 접속 네트워크에서 메시지 분할-병합을 수행하는 전자 장치 및 그 동작 방법 | |
RU2642383C2 (ru) | Способ передачи информации |
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 |