CN105630733B - 分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片 - Google Patents
分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片 Download PDFInfo
- Publication number
- CN105630733B CN105630733B CN201510983391.8A CN201510983391A CN105630733B CN 105630733 B CN105630733 B CN 105630733B CN 201510983391 A CN201510983391 A CN 201510983391A CN 105630733 B CN105630733 B CN 105630733B
- Authority
- CN
- China
- Prior art keywords
- vector data
- data
- leaf
- leaf node
- node
- 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
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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提出分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片,该装置包括一中心节点,接收叶子节点回传的向量数据;多个叶子节点,对向量数据进行计算与移位;转发器模块,包括局部缓存结构与数据处理部件;将所述多个叶子节点分为N组,每组中叶子节点的个数相同,所述中心节点通过所述转发器模块单独与每一组叶子节点进行通信连接,每组叶子节点构成的通信结构具有自相似性,所述多个叶子节点与所述中心节点通过多层所述转发器模块以完全M叉树方式进行通信连接,每个叶子节点包括设置位,如果所述设置位要求叶子节点中的向量数据进行移位,则叶子节点将预设带宽位的向量数据移至相应位置,否则叶子节点将向量数据回传给中心节点。
Description
技术领域
本发明涉及智能设备、无人驾驶、片上网络数据传输等技术领域,尤其涉及分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片。
背景技术
分形树结构,是一种由一个根节点作为中心节点,多组具有自相似性的叶子节点组成的多层次树状结构。分形树在超大规模集成电路设计中得到了广泛应用,因为在应用时采用了完全M叉树的布局,这种布局的使用面积与树节点的数目成正比,能节省片上空间;而且在分形上传播的延迟是相同的,所以经常被用作VLSI多处理器中的互连网络。
在线性代数中的向量是指n个实数或者复数组成的有序数组,称为n维向量,α=(a1,a2,…ai,an)称为n维向量,其中ai称为向量α的第i个分量。
在将向量的多个零散在各个分形叶子节点的分量回传给分形根节点的过程中,分量数据在分形的中间节点上互相竞争传输,维护分量数据的传输需要一个协议,用于保证分量数据的可靠性,分量数据传回的时间在各个叶节点之间无法互相通知,当分量数据传输到根节点时,分量数据是乱序的,根节点需要和叶节点建立一套复杂机制用于维护各个分量之间的顺序,最后将分量数据按序拼成向量数据。
现有技术对片上分形网络上对向量数据传输的网络的通讯没有提供有效方便的支持,因此,提供一种同时适合分形网络上对向量数据传输的网络的通讯方式的无冲突的、可靠的、有序的方式就尤为迫切和需要。
发明内容
针对现有技术的不足,本发明提出分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片。
本发明提出一种分形树中向量数据回传处理单元的装置,包括:
一中心节点,其为所述片上网络的通信数据中心,用于接收多个叶子节点回传的向量数据;
多个叶子节点,用于对向量数据进行计算与移位;
转发器模块,包括局部缓存结构与数据处理部件,用于与上层、下层节点的数据通信与对向量数据的处理;
将所述多个叶子节点分为N组,每组中叶子节点的个数相同,所述中心节点通过所述转发器模块单独与每一组叶子节点进行通信连接,每组叶子节点构成的通信结构具有自相似性,所述多个叶子节点与所述中心节点通过多层所述转发器模块以完全M叉树方式进行通信连接,每个叶子节点包括设置位,如果所述设置位要求叶子节点中的向量数据进行移位,则叶子节点将预设带宽位的向量数据移至相应位置,否则叶子节点将向量数据回传给中心节点。
所述的分形树中向量数据回传处理单元的装置,包括:每个叶子节点均有id标识,且所述id标识从完全M叉树的拓扑一侧按序依次增加序号;所述数据发布装置共享一个时钟信号。
所述的分形树中向量数据回传处理单元的装置,每个所述转发器模块包括预设带宽的加法器,所述加法器的个数为所有叶子节点的总数量,且所述加法器具有溢出检查功能,其中,如果向量数据进行过移位,则所述转发器模块将接收到的向量数据进行位拼接,将拼接结果传输给上一层节点,否则,所述转发器模块将接收到的向量数据进行检查溢出并进行加法操作后,传输给上一层节点。
本发明还提出一种利用所述装置的方法,包括:
通过所述叶子节点对向量数据进行计算与移位,并回传到所述中心节点,其中,每个叶子节点包括设置位,如果所述设置位要求叶子节点中的向量数据进行移位,则叶子节点将预设带宽位的向量数据移至相应位置,否则叶子节点将向量数据回传给中心节点。
所述的方法,每个叶子节点均有id标识,且所述id标识从完全M叉树的拓扑一侧按序依次增加序号;所述数据发布装置共享一个时钟信号
所述的方法,若叶子节点传输的数据为有效的预设带宽的向量数据,则设置位要求叶子节点进行移位,叶子节点根据id标识与预设带宽的位数进行计算,将叶子节点中的向量数据移至全带宽上的相应位置。
所述的方法,如果向量数据进行过移位,则所述转发器模块将接收到的向量数据进行位拼接,将拼接结果传输给上一层节点,否则,所述转发器模块将接收到的向量数据进行检查溢出并进行加法操作后,传输给上一层节点。
所述的方法,叶子节点与中心节点之间遵守握手协议。
本发明还提出一种包含所述装置的控制装置。
本发明还提出一种包含所述控制装置的智能芯片。
由以上发明可知,本发明的优点在于:
本发明为片上网络实现了对向量数据结果进行位拼接、叠加等操作,使得向量结果能够无冲突地、可靠地、有序地进行回传,从而获得更好的通讯效果。
附图说明
图1为本发明的一个实施例中使用H-tree连接的16+1个核的片上多核结构示意图;
图2为本发明的一个实施例中hub_two_add_to_one结构示意图;
图3为本发明的一个实施例中hub_two_add_to_one与数据发送方握手的行为示意图;
图4为本发明的H-tree结构的展开成完全二叉树拓扑的结构示意图;
图5为本发明的一个实施例中分量数据在叶子tile中移位成为向量数据的行为示意图;
图6为本发明的一个实施例中向量数据在hub中进行位拼接的行为示意图;
图7为本发明的一个实施例中所有leaf tile的分量数据在位拼接数据通路终点时向量结果的示意图。
图8为本发明的一个实施例中向量数据在hub中进行叠加的行为示意图。
图9为本发明的另一个实施例中使用X-tree连接的64+1个核的片上多核结构示意图;
图10为本发明的另一实施例中hub_four_add_to_one结构示意图;
图11为本发明的另一实施例中hub_four_add_to_one与数据发送方握手的行为示意图;
图12为本发明的另一实施例中分量数据在叶子tile中移位成为向量数据的行为示意图;
图13为本发明的另一实施例中向量数据在hub中进行位拼接的行为示意图;
图14为本发明的另一实施例中所有leaf tile的分量数据在位拼接数据通路终点时向量结果的示意图。
图15为本发明的另一个实施例中向量数据在hub中进行叠加的行为示意图。
具体实施方式
本发明提出一种分形树中向量数据回传处理单元的装置,包括:
一中心节点,其为所述片上网络的通信数据中心,用于接收多个叶子节点回传的向量数据;
多个叶子节点,用于对向量数据进行计算与移位;
转发器模块,包括局部缓存结构与数据处理部件,用于与上层、下层节点的数据通信与对向量数据的处理,包括与叶子节点直接相连的叶子转发器模块、与中心节点直接相连的中心转发器模块、与叶子节点与中心节点间接相连的中间转发器模块;
将所述多个叶子节点分为N组,每组中叶子节点的个数相同,所述中心节点通过所述转发器模块单独与每一组叶子节点进行通信连接,每组叶子节点构成的通信结构具有自相似性,所述多个叶子节点与所述中心节点通过多层所述转发器模块以完全M叉树方式进行通信连接,每个叶子节点包括设置位,如果所述设置位要求叶子节点中的向量数据进行移位,则叶子节点将预设带宽位的向量数据移至相应位置,否则叶子节点将向量数据回传给中心节点。
每个叶子节点均有id标识,且所述id标识从完全M叉树的拓扑一侧按序依次增加序号;所述数据发布装置共享一个时钟信号。
每个所述转发器模块包括预设带宽的加法器,所述加法器的个数为所有叶子节点的总数量,且所述加法器具有溢出检查功能,其中,如果向量数据进行过移位,则所述转发器模块将接收到的向量数据进行位拼接,将拼接结果传输给上一层节点,否则,所述转发器模块将接收到的向量数据进行检查溢出并进行加法操作后,传输给上一层节点。
本发明还提出一种利用所述装置的方法,包括:
通过所述叶子节点对向量数据进行计算与移位,并回传到所述中心节点,其中,每个叶子节点包括设置位,如果所述设置位要求叶子节点中的向量数据进行移位,则叶子节点将预设带宽位的向量数据移至相应位置,否则叶子节点将向量数据回传给中心节点。
每个叶子节点均有id标识,且所述id标识从完全M叉树的拓扑一侧按序依次增加序号;所述数据发布装置共享一个时钟信号。
若叶子节点传输的数据为有效的预设带宽的向量数据,则设置位要求叶子节点进行移位,叶子节点根据id标识与预设带宽的位数进行计算,将叶子节点中的向量数据移至全带宽上的相应位置。
如果向量数据进行过移位,则所述转发器模块将接收到的向量数据进行位拼接,将拼接结果传输给上一层节点,否则,所述转发器模块将接收到的向量数据进行检查溢出并进行加法操作后,传输给上一层节点。
叶子节点与中心节点之间遵守握手协议,即下一层两个节点的数据发送方都准备好发送数据后,发送数据有效信号,并将数据置于总线;上一层节点的数据接收方准备好接收数据后,发送数据准备接收信号;只有在上述的数据有效信号和数据准备接收信号均被检测到后,总线上的数据才会被数据接收方接收。
中间转发器模块将向量数据在数据缓存中位拼接和传输,包括:首先通过加法器,对所有的接收到的下一层节点传递来的向量数据进行位拼接,然后才将向量数据结果输入给上一层节点。
当执行所述多个叶子节点向所述中心节点之间的加法树进行向量数据回传时,如果叶子节点传输的是有效数据为全带宽的向量数据,则所述多个叶子节点发出的向量数据在hub上的传输方式如下:首先输入直接连接至所述叶子节点的叶子转发器模块的数据缓存中叠加和缓存,再依次在中间转发器模块的数据缓存中叠加和传输,最后输入直接连接至中心节点的中心转发器模块的数据缓存中进行叠加,最终将叠加结果通过输出端口输出给所述中心节点。
中间转发器模块将向量数据在数据缓存中叠加和传输,包括:首先通过如加法器,对所有的接收到的下一层节点传递来的向量数据进行叠加,然后才将向量数据结果输入给上一层节点。
本发明还提出一种包含所述数据发布装置的控制装置。
本发明还提出一种包含所述控制装置的智能芯片。
以下为本发明两个实施例,结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
一个实施例是H树网络结构中向量数据的回传处理单元的具体设置。
附图1表示了一个由H树网络结构连接的16+1个处理单元的片上处理并回传向量数据元素的通讯设备示意图。H树的根节点为central tile,其为向量数据传输的终点;H树的叶子节点为leaf tile,其为向量数据的起点;其余的中间节点为hub,用于处理并传输向量数据。此设备实现了用于H树的将向量结果回传的处理数据元素的通讯方法。
附图2表示了H树网络结构中hub结构示意图,hub由hub_two_add_to_one模块构成,其中含有一个加法器,hub_two_add_to_one将两组全带宽的输入向量数据20和21,处理成一组全带宽的向量数据22输出,用于从leaf tile到central tile的传输。
如图1,当标记为10的central tile收集到来自于各叶子tile传来的有效带宽为预设带宽的向量数据,向量数据在hub上的传输方式如下:首先每组叶子tile:标记为150的leaf tile0与标记为151的leaf tile1,152和153,154和155,156和157,158和159,15a和15b,15c和15d,15e和15f,分别与各自的上一层的与叶子直接相连的叶子hub:标记为140的hub3_0,141,142,143,144,145,146,147进行握手协议,握手成功后,把其向量数据输入叶子hub的数据缓存中,并进行位拼接;当叶子hub:标记为140的hub3_0,141,142,143,144,145,146,147分别与其上一层的中间hub:标记为130的hub2_0,131,132,133握手成功后,将其向量数据输入中间hub的数据缓存中,并进行位拼接;同样的,在中间hub:标记为130的hub2_0,131,132,133与其上一层的hub:标记为120的hub1_0,121握手成功以后,将其向量数据输入120与121的数据缓存中,并进行位拼接;最后通过握手协议后,120与121将向量数据输入直接连接至中心tile的中心hub0_0的数据缓存中进行位拼接,最终的位拼接结果通过输出端口输出给所述中心tile。通过这种方法,可以实现在此网络结构上的位拼接向量数据回传。
如图3所示,当标记为330的hub_two_add_to_one模块已经将数据准备接收信号发至总线上,且标记为310的数据发送方0与标记为320的数据发送方1已经将数据及数据有效信号发至总线时,此时握手协议才算成功:此拍310和320,认为数据接收方330已经接收数据,而下一拍330将此拍总线上的数据存入自己的缓冲区。此数据传输协议保证了在点对点的数据传输中的数据可靠性,从而保证了数据在片上网络传输的可靠性。
其中,在上述执行位拼接向量数据回传过程中,叶子tile传输的有效数据位是预设带宽的向量数据,则要求叶子tile在向量数据发送前,将设置位选择成将其拥有的分量数据进行移位。当选择对向量数据进行移位时,叶子tile将根据独有的id序号与预设带宽的位数计算所移位数,将其所拥有的预设带宽位的分量数据移至全带宽的向量数据上的相应位置。如图5,是图1中H树上实现的一特定实例,假设全带宽为251位,可由16个叶子tile所拥有的16位的分量数据拼接而成。图5所示描述了对leaf tile1的分量数据D0位移的过程。首先,在分量数据前补零,使得向量数据D1到达全带宽的位数,即256位。其次按照其id序号,即1号;与其预设带宽位,即其分量数据的位数,16位,通过算式(id*预设带宽)计算向量数据应当左移的位数。在此例中,此向量数据恰好需要左移16位。可见移位使得原分量D0位于全带宽数据data[31:16],即D2的位置,形成了最后将要传输的向量数据D3。
其中,如图4,是图1所示的H树的完全二叉树展开。每个叶子tile的id标识,是对应其在将H树展开为完全二叉树的拓扑中从一侧按序依次增加的队列序号,即leaf tile0所对应的即0序号。可见,每个叶子tile的id标识都是唯一的,且所有叶子tile的id为自然数连续的,在此例中,即自然数0到15。由此可推,每个叶子tile在全带宽的向量数据上所对应的预设带宽的分量数据都是唯一且不冲突的,且在全带宽的向量数据上所有分量数据连续。如图7,此向量数据表示,为上述实例中,将所有由叶子tile的有效数据为预设带宽的分量位拼接而成的结果。在此实例中,分量D0在向量数据中表示的是叶子tile15所拥有的分量,位于全带宽数据data[255:240];分量D1在向量数据中表示的是叶子tile14所拥有的分量,位于全带宽数据data[239:224],每两个不同叶子tile所在全带宽向量数据上的位置均不冲突,且连续,且按序排列。可知,此移位方式为在此H树结构上的无冲突、有序的向量结果回传提供了技术支持。
其中,在上述执行位拼接向量数据回传过程中,在上述一些实例中,hub将向量数据在数据缓存中进行位拼接和传输。如图6,以图1中hub3_0为例。首先,hub将向量数据存储在局部缓存中。Hub中加法器的个数为叶子节点的数目,即在此例中,共有16个叶子节点,故共有16个加法器,每个加法器都是可以进行预设带宽的,本例中设置为16位,并且每个加法器具有溢出检查功能。对接收到的下一层一组叶子节点,leaf tile0和leaf tile1传递来的两个向量数据D3和D1进行叠加位拼接。可以看见,leaf tile0的分量D4在位拼接后位于全带宽向量数据D2的data[31:16],即D0的位置;而leaf tile1的分量D5在位拼接后位于全带宽向量数据D2的data[15:0],即D1的位置。由此,他们的分量数据在此向量结果数据上均是有序、唯一且不冲突的。如图7所示的向量数据为在此方法在如图1的结构上执行下的hub0_0最后处理得到的向量数据结果。可见,此方法为无冲突的、有序的向量结果回传提供了技术支持。
如图1,当标记为10的central tile接收到来自与各叶子tile传来的有效带宽为全带宽的向量数据,向量数据在hub上的传输方式如下:首先每组叶子tile:标记为150的leaf tile0与标记为151的leaf tile1,152和153,154和155,151和157,158和159,15a和15b,15c和15d,15e和15f,分别于各自的上一层的与叶子直接相连的叶子hub:标记为140的hub3_0,141,142,143,144,145,141,147进行握手协议,把其向量数据输入叶子hub的数据缓存中,并进行叠加;当叶子hub:标记为140的hub3_0,141,142,143,144,145,141,147分别与其上一层的中间hub:标记为130的hub2_0,131,132,133握手成功后,将其向量数据输入中间hub的数据缓存中,并进行叠加;同样的,在中间hub:标记为130的hub2_0,131,132,133与其上一层的hub:标记为120的hub1_0,121握手成功以后,将其向量数据输入120与121的数据缓存中,并进行叠加;最后通过握手120与121将向量数据输入直接连接至中心tile的中心hub0_0的数据缓存中进行叠加,最终的叠加结果通过输出端口输出给所述中心tile。通过这种方法,可以看见,叶子tile中的向量数据在向中心tile回传的路径上完成了加法树的操作,实现在此网络结构上的进行加法树操作的向量数据回传。
其中,在上述执行加法树的向量数据回传过程中,在一些实例中,hub将向量数据在数据缓存中进行叠加并传输。如图8,以图1中hub3_0为例。首先,hub将向量数据存储在局部缓存中。Hub中加法器的个数为叶子节点的数目,即在此例中,共有16个叶子节点,故共有16个加法器,每个加法器都是可以进行预设带宽的,本例中设置为16位,并且每个加法器具有溢出检查功能。。加法器对接收到的下一层一组叶子节点,leaf tile0和leaf tile1,传递来的两个向量数据D3和D5中的16个分量分开进行叠加。可以看见,D3的低位分量D4位于全带宽的data[15:0],D5的低位分量D6位于全带宽的data[15:0],在经过加法器叠加后的结果中,两者的和在溢出检查和判断后写入结果D2的D0分量位置,即data[15:0]。如果D4与D6叠加的结果溢出,那么加法器会根据溢出结果判断并估计赋值。通过这种方法,上述装置上的加法树向量数据回传得以实现。
另一个实施例是X树网络结构中向量数据的回传处理单元的具体设置。
附图9表示了一个由X树网络结构连接的64+1个处理单元的片上处理并回传向量数据元素的通讯设备示意图。X树的根节点为central tile,其为向量数据传输的终点;X树的叶子节点为leaf tile,其为向量数据的起点;其余的中间节点为hub,用于处理并传输向量数据。每个叶子tile具有唯一的id标识,是对应其在将X树展开为完全四叉树的拓扑中从一侧按序依次增加的队列序号,即leaf tile0所对应的即0序号。因而能够保证每个叶子tile的id标识都是唯一的,且所有叶子tile的id为自然数连续的,在此例中,即自然数0到63。每个叶子tile在全带宽的向量数据上所对应的预设带宽的分量数据都是唯一且不冲突的,且在全带宽的向量数据上所有分量数据连续。此设备实现了用于X树的将向量结果回传的处理数据元素的通讯方法。
附图10表示了X树网络结构中hub的结构示意图,hub由hub_four_add_to_one模块构成,其中含有一个加法器,hub_four_add_to_one将四组全带宽的输入向量数据a1、a2、a3和a4,处理成一组全带宽的向量数据a5输出,用于从leaf tile到central tile的传输。
如图9,当标记为90的central tile收集到来自于各叶子tile传来的有效带宽为预设带宽的向量数据,向量数据在hub上的传输方式如下:首先每组叶子tile:标记为940的leaf tile0、标记为941的leaf tile1、标记为942的leaf tile2和标记为943的leaftile3,944、945、946和947,……,9a0、9a1、9a2和9a3,分别与各自的上一层的与叶子直接相连的叶子hub:标记为930的hub2_0,931,932,933,934,935,936,937,938,939,93a,93b,93c,93d,93e,93f进行握手协议,握手成功后,把其向量数据输入叶子hub的数据缓存中,并进行位拼接;当叶子hub:标记为930的hub2_0,931,932,933,934,935,936,937,938,939,93a,93b,93c,93d,93e,93f分别与其上一层的中间hub:标记为920的hub1_0,921,922,923握手成功后,将其向量数据输入中间hub的数据缓存中,并进行位拼接;最后通过握手协议后,标记为920的hub1_0,921,922,923将向量数据输入直接连接至标记为910的中心tile的中心hub0_0的数据缓存中进行位拼接,最终的位拼接结果通过输出端口输出给所述标记为90的中心tile。通过这种方法,可以实现在此网络结构上的位拼接向量数据回传。
如图11所示,当标记为b5的hub_four_add_to_one模块已经将数据准备接收信号发至总线上,且标记为b1的数据发送方0、标记为b2的数据发送方1、标记为b3的数据发送方2和标记为b4的数据发送方3已经将数据及数据有效信号发至总线时,此时握手协议才算成功:此拍b1、b2、b3和b4认为数据接收方b5已经接收数据,而下一拍b5将此拍总线上的数据存入自己的缓冲区。此数据传输协议保证了在点对点的数据传输中的数据可靠性,从而保证了数据在片上网络传输的可靠性。
其中,在上述执行位拼接向量数据回传过程中,叶子tile传输的有效数据位是预设带宽的向量数据,则要求叶子tile在向量数据发送前,将设置位选择成将其拥有的分量数据进行移位。当选择对向量数据进行移位时,叶子tile将根据独有的id序号与预设带宽的位数计算所移位数,将其所拥有的预设带宽位的分量数据移至全带宽的向量数据上的相应位置。如图12,是图9中X树上实现的一特定实例,假设全带宽为1024位,可由64个叶子tile所拥有的16位的分量数据拼接而成。图12所示描述了对leaf tile1的分量数据c1位移的过程。首先,在分量数据前补零,使得向量数据c2到达全带宽的位数,即1024位。其次按照其id序号,即1号;与其预设带宽位,即其分量数据的位数16位,通过算式(id*预设带宽)计算向量数据应当左移的位数。在此例中,此向量数据恰好需要左移16位。可见移位使得原分量c1位于全带宽数据data[31:16],即c3的位置,形成了最后将要传输的向量数据c4。
如图14,此向量数据表示,为上述实例中,将所有由叶子tile的有效数据为预设带宽的分量位拼接而成的结果。在此实例中,分量f3在向量数据中表示的是leaf tile 63所拥有的分量,位于全带宽数据data[1024:1008];分量f2在向量数据中表示的是leaf tile62所拥有的分量,位于全带宽数据data[1007:992],以此类推,图中所示的分量f1在向量数据中表示的是leaf tile 1所拥有的分量,位于全带宽数据data[31:16];分量f0在向量数据中表示的是leaf tile 0所拥有的分量,位于全带宽数据data[15:0]。每两个不同leaftile所在全带宽向量数据上的位置均不冲突,且连续,且按序排列。可知,此移位方式为在此X树结构上的无冲突、有序的向量结果回传提供了技术支持。
其中,在上述执行位拼接向量数据回传过程中,在上述一些实例中,hub将向量数据在数据缓存中进行位拼接和传输。如图13,以图9中hub2_0为例。首先,hub将向量数据存储在局部缓存中。Hub中加法器的个数为叶子节点的数目,即在此例中,共有64个叶子节点,故共有64个加法器,每个加法器都是可以进行预设带宽的,本例中设置为16位,并且每个加法器具有溢出检查功能。对接收到的下一层一组叶子节点,leaf tile0、leaf tile1、leaftile2和leaf tile3传递来的四个向量数据e7、e9、e11和e13进行叠加位拼接。可以看见,leaf tile0的分量e6在位拼接后位于全带宽向量数据e5的data[15:0],即e1的位置;leaftile1的分量e8在位拼接后位于全带宽向量数据e5的data[31:16],即e2的位置;leaftile2的分量e10在位拼接后位于全带宽向量数据e5的data[47:32],即e3的位置;leaftile3的分量e8在位拼接后位于全带宽向量数据e5的data[63:48],即e4的位置。由此,他们的分量数据在此向量结果数据上均是有序、唯一且不冲突的。如图14所示的向量数据为在此方法在如图9的结构上执行下的hub0_0最后处理得到的向量数据结果。可见,此方法为无冲突的、有序的向量结果回传提供了技术支持。
如图9,当标记为90的central tile接收到来自与各leaf tile传来的有效带宽为全带宽的向量数据,向量数据在hub上的传输方式如下:首先每组叶子tile:标记为940的leaf tile0、标记为941的leaf tile1、标记为942的leaf tile2和标记为943的leaftile3,944、945、946和947,……,9a0、9a1、9a2和9a3,分别于各自的上一层的与叶子直接相连的叶子hub:标记为930的hub2_0,931,932,933,934,935,936,937,938,939,93a,93b,93c,93d,93e,93f进行握手协议,把其向量数据输入叶子hub的数据缓存中,并进行叠加;当叶子hub:标记为930的hub2_0,931,932,933,934,935,936,937,938,939,93a,93b,93c,93d,93e,93f分别与其上一层的中间hub:标记为920的hub1_0,921,922,923握手成功后,将其向量数据输入中间hub的数据缓存中,并进行叠加;最后通过握手标记为920的hub1_0,921,922,923将向量数据输入直接连接至标记为910的中心tile的中心hub0_0的数据缓存中进行叠加,最终的叠加结果通过输出端口输出给所述标记为90的中心tile。通过这种方法,可以看见,叶子tile中的向量数据在向中心tile回传的路径上完成了加法树的操作,实现在此网络结构上的进行加法树操作的向量数据回传。
其中,在上述执行加法树的向量数据回传过程中,在一些实例中,hub将向量数据在数据缓存中进行叠加并传输。如图15,以图9中hub2_0为例。首先,hub将向量数据存储在局部缓存中。Hub中加法器的个数为叶子节点的数目,即在此例中,共有64个叶子节点,故共有64个加法器,每个加法器都是可以进行预设带宽的,本例中设置为16位,并且每个加法器具有溢出检查功能。加法器对接收到的下一层一组叶子节点,leaf tile0、leaf tile1、leaf tile2和leaf tile3传递来的四个向量数据g5、g7、g9和g11中的16个分量分开进行叠加。可以看见,g5的低位分量g6位于全带宽的data[15:0],g7的低位分量g8位于全带宽的data[15:0],g9的低位分量g10位于全带宽的data[15:0],g11的低位分量g12位于全带宽的data[15:0],在经过加法器叠加后的结果中,四者的和在溢出检查和判断后写入结果g4的g13分量位置,即data[15:0]。如果g6、g8、g10与g12叠加的结果溢出,那么加法器会根据溢出结果判断并估计赋值。通过这种方法,上述装置上的加法树向量数据回传得以实现。
这里说明的装置和处理规模是用来简化本发明的说明的。对本发明的用于分形树(以H树和X树为例)的将向量结果回传的处理数据元素的通讯装置和方法的应用、修改和变化对本领域的技术人员来说是显而易见的。
如上所述,根据本发明,由于提供用于分形树的将向量结果回传的处理数据元素的通讯装置和方法,其在,为片上网络实现对向量数据结果位拼接、叠加等操作,无冲突地、可靠地、有序地完成向量结果的回传,从而使通信更为便捷和有效,效果更好。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
Claims (9)
1.一种分形树中向量数据回传处理单元的装置,其特征在于,包括:
一中心节点,其为片上网络的通信数据中心,用于接收多个叶子节点回传的向量数据;
多个叶子节点,用于对向量数据进行计算与移位;
转发器模块,包括局部缓存结构与数据处理部件,用于与上层、下层节点的数据通信与对向量数据的处理,其中每个所述转发器模块包括预设带宽的加法器,所述加法器的个数为所有叶子节点的总数量,且所述加法器具有溢出检查功能,其中,如果向量数据进行过移位,则所述转发器模块将接收到的向量数据进行位拼接,将拼接结果传输给上一层节点,否则,所述转发器模块将接收到的向量数据进行检查溢出并进行加法操作后,传输给上一层节点;
将所述多个叶子节点分为N组,每组中叶子节点的个数相同,所述中心节点通过所述转发器模块单独与每一组叶子节点进行通信连接,每组叶子节点构成的通信结构具有自相似性,所述多个叶子节点与所述中心节点通过多层所述转发器模块以完全M叉树方式进行通信连接,每个叶子节点包括设置位,如果所述设置位要求叶子节点中的向量数据进行移位,则叶子节点将预设带宽位的向量数据移至相应位置,否则叶子节点将向量数据回传给中心节点。
2.如权利要求1所述的分形树中向量数据回传处理单元的装置,其特征在于,包括:每个叶子节点均有id标识,且所述id标识从完全M叉树的拓扑一侧按序依次增加序号;所述数据发布装置共享一个时钟信号。
3.一种利用如权利要求1-2任意一项装置的方法,其特征在于,包括:
通过所述叶子节点对向量数据进行计算与移位,并回传到所述中心节点,其中,每个叶子节点包括设置位,如果所述设置位要求叶子节点中的向量数据进行移位,则叶子节点将预设带宽位的向量数据移至相应位置,否则叶子节点将向量数据回传给中心节点。
4.如权利要求3所述的方法,其特征在于,每个叶子节点均有id标识,且所述id标识从完全M叉树的拓扑一侧按序依次增加序号;所述数据发布装置共享一个时钟信号
5.如权利要求4所述的方法,其特征在于,若叶子节点传输的数据为有效的预设带宽的向量数据,则设置位要求叶子节点进行移位,叶子节点根据id标识与预设带宽的位数进行计算,将叶子节点中的向量数据移至全带宽上的相应位置。
6.如权利要求3所述的方法,其特征在于,如果向量数据进行过移位,则所述转发器模块将接收到的向量数据进行位拼接,将拼接结果传输给上一层节点,否则,所述转发器模块将接收到的向量数据进行检查溢出并进行加法操作后,传输给上一层节点。
7.如权利要求3所述的方法,其特征在于,叶子节点与中心节点之间遵守握手协议。
8.一种包含如权利要求1所述装置的控制装置。
9.一种包含如权利要求8所述控制装置的智能芯片。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510983391.8A CN105630733B (zh) | 2015-12-24 | 2015-12-24 | 分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片 |
US15/781,039 US10866924B2 (en) | 2015-12-24 | 2016-06-17 | Device for vector data returning processing unit in fractal tree, method, control device, and intelligent chip |
PCT/CN2016/086094 WO2017107411A1 (zh) | 2015-12-24 | 2016-06-17 | 分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510983391.8A CN105630733B (zh) | 2015-12-24 | 2015-12-24 | 分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105630733A CN105630733A (zh) | 2016-06-01 |
CN105630733B true CN105630733B (zh) | 2017-05-03 |
Family
ID=56045696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510983391.8A Active CN105630733B (zh) | 2015-12-24 | 2015-12-24 | 分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10866924B2 (zh) |
CN (1) | CN105630733B (zh) |
WO (1) | WO2017107411A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630733B (zh) * | 2015-12-24 | 2017-05-03 | 中国科学院计算技术研究所 | 分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片 |
CN105550157B (zh) | 2015-12-24 | 2017-06-27 | 中国科学院计算技术研究所 | 一种分形树结构通信结构、方法、控制装置及智能芯片 |
CN105634960B (zh) | 2015-12-24 | 2017-04-05 | 中国科学院计算技术研究所 | 基于分形树结构的数据发布装置、方法、控制装置及智能芯片 |
CN108830436B (zh) * | 2018-04-08 | 2020-08-11 | 浙江广播电视大学 | 基于分形树自平衡划分的共享自行车调度方法 |
US11841822B2 (en) | 2019-04-27 | 2023-12-12 | Cambricon Technologies Corporation Limited | Fractal calculating device and method, integrated circuit and board card |
CN111860797B (zh) * | 2019-04-27 | 2023-05-02 | 中科寒武纪科技股份有限公司 | 运算装置 |
WO2020220935A1 (zh) * | 2019-04-27 | 2020-11-05 | 中科寒武纪科技股份有限公司 | 运算装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222426A (zh) * | 2007-01-08 | 2008-07-16 | 财团法人工业技术研究院 | 用于网络数据传输的方法以及系统 |
CN103281707A (zh) * | 2013-06-07 | 2013-09-04 | 北京交通大学 | 面向轨道交通基础设施服役状态检测的接入网构建方法 |
CN103974268A (zh) * | 2013-01-29 | 2014-08-06 | 上海携昌电子科技有限公司 | 精细粒度可调的低延时传感器网络数据传输方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6334125B1 (en) | 1998-11-17 | 2001-12-25 | At&T Corp. | Method and apparatus for loading data into a cube forest data structure |
CN1332563C (zh) * | 2003-12-31 | 2007-08-15 | 中国科学院计算技术研究所 | 一种视频图像跳过宏块的编码方法 |
US8886677B1 (en) | 2004-07-23 | 2014-11-11 | Netlogic Microsystems, Inc. | Integrated search engine devices that support LPM search operations using span prefix masks that encode key prefix length |
US20070253642A1 (en) * | 2006-04-27 | 2007-11-01 | Mapinfo Corporation | Method and apparatus for indexing, storing and retrieving raster (GRID) data in a combined raster vector system |
TWI398127B (zh) * | 2008-04-08 | 2013-06-01 | Ind Tech Res Inst | 無線感測網路及其取樣頻率設定方法 |
US20190377580A1 (en) * | 2008-10-15 | 2019-12-12 | Hyperion Core Inc. | Execution of instructions based on processor and data availability |
GB201210702D0 (en) * | 2012-06-15 | 2012-08-01 | Qatar Foundation | A system and method to store video fingerprints on distributed nodes in cloud systems |
UA117679C2 (uk) * | 2013-07-22 | 2018-09-10 | Аселсан Електронік Санаї Ве Тиджарет Анонім Ширкеті | Інкрементно навчаний класифікатор на основі адаптивної комбінації слабких навчаних класифікаторів, розподілених по нежорсткому бінарному дереву |
CN105512724B (zh) * | 2015-12-01 | 2017-05-10 | 中国科学院计算技术研究所 | 加法器装置、数据累加方法及数据处理装置 |
CN105630733B (zh) | 2015-12-24 | 2017-05-03 | 中国科学院计算技术研究所 | 分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片 |
US10042875B2 (en) * | 2016-09-26 | 2018-08-07 | International Business Machines Corporation | Bloom filter index for device discovery |
US10817490B2 (en) * | 2017-04-28 | 2020-10-27 | Microsoft Technology Licensing, Llc | Parser for schema-free data exchange format |
-
2015
- 2015-12-24 CN CN201510983391.8A patent/CN105630733B/zh active Active
-
2016
- 2016-06-17 WO PCT/CN2016/086094 patent/WO2017107411A1/zh active Application Filing
- 2016-06-17 US US15/781,039 patent/US10866924B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222426A (zh) * | 2007-01-08 | 2008-07-16 | 财团法人工业技术研究院 | 用于网络数据传输的方法以及系统 |
CN103974268A (zh) * | 2013-01-29 | 2014-08-06 | 上海携昌电子科技有限公司 | 精细粒度可调的低延时传感器网络数据传输方法 |
CN103281707A (zh) * | 2013-06-07 | 2013-09-04 | 北京交通大学 | 面向轨道交通基础设施服役状态检测的接入网构建方法 |
Non-Patent Citations (2)
Title |
---|
数据在云重安全存储与传输技术的研究;林彬 等;《硅谷》;20131031(第19期);第59-60页 * |
面向流数据处理的数据中心网络拓扑研究;李婧;《计算机应用与软件》;20140930;第31卷(第9期);第142-146页 * |
Also Published As
Publication number | Publication date |
---|---|
US20200272595A1 (en) | 2020-08-27 |
CN105630733A (zh) | 2016-06-01 |
WO2017107411A1 (zh) | 2017-06-29 |
US10866924B2 (en) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105630733B (zh) | 分形树中向量数据回传处理单元的装置、方法、控制装置及智能芯片 | |
CN110138596A (zh) | 一种基于切换网络拓扑方式的区块链共识方法 | |
CN105049353B (zh) | 一种为业务配置路由路径的方法及控制器 | |
CN108476208A (zh) | 多路径传输设计 | |
CN105227496B (zh) | 捆绑式交换机、网络及在该网络上传输数据的方法 | |
CN105721354B (zh) | 片上网络互联方法及装置 | |
CN102546406B (zh) | 片上网络路由集中控制系统和装置及自适应路由控制方法 | |
CN103812949B (zh) | 一种面向实时云平台的任务调度与资源分配方法及系统 | |
CN110222005A (zh) | 用于异构架构的数据处理系统及其方法 | |
CN103036792B (zh) | 一种最大化最小公平多数据流传输调度方法 | |
CN107040326A (zh) | 百亿亿次级结构时间同步 | |
CN105022717A (zh) | 附加请求数优先级的片上网络资源仲裁方法及仲裁单元 | |
CN109240832A (zh) | 一种硬件重构系统及方法 | |
CN109388490A (zh) | 一种内存分配方法和服务器 | |
CN102158403A (zh) | 一种适用于片上网络的高效数据流传输通信结构及其工作方法 | |
CN109933430A (zh) | 分配图形处理器的方法和装置 | |
CN106101262A (zh) | 一种基于以太网的直连架构计算集群系统及构建方法 | |
CN102025615B (zh) | 一种光通讯网络中小粒度业务路径规划的方法及装置 | |
CN100435159C (zh) | 基于网格的光网格仿真平台的实现方法 | |
CN105634960B (zh) | 基于分形树结构的数据发布装置、方法、控制装置及智能芯片 | |
CN113438171B (zh) | 一种低功耗存算一体系统的多芯片连接方法 | |
CN105550157B (zh) | 一种分形树结构通信结构、方法、控制装置及智能芯片 | |
CN103678001A (zh) | 一种基于反射内存网的多节点内存自动分配方法 | |
CN105681215B (zh) | 一种转发表项的生成方法及控制器 | |
CN209132758U (zh) | 多核芯片数据总线布线结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Han Dong Inventor after: Luo Tao Inventor after: Liu Shaoli Inventor after: Zhang Shijin Inventor after: Chen Yunji Inventor before: Luo Tao Inventor before: Liu Shaoli Inventor before: Zhang Shijin Inventor before: Chen Yunji |