一种确定数据传输路径的方法、芯片和存储介质
文献发布时间:2023-06-19 11:49:09
技术领域
本发明涉及芯片领域,尤其是涉及一种确定数据传输路径的方法、芯片和存储介质。
背景技术
在神经网络计算领域的多(众)核芯片设计之前,通常会建立芯片各组成模块的仿真模型,以进行芯片的功能验证,性能评估等工作;芯片实物生产出来,进入应用阶段后,每次编译器编译神经网络计算程序过程中,需要实时评估程序的效率,进而优化生成的神经网络计算程序。这就要求建立一个准确而高效的神经网络芯片的仿真器。
一般多(众)核芯片,其中的核间通信,以及核与其他模块之间的通信,都是通过片上网络(Network on Chip,NoC)进行。这样,会建立一个NoC的仿真模型,然后根据仿真模型,进行数据传输的路径选择和优化,即路由方法。
对于不同的NoC仿真模型,会有不同的路由方法,不同的路由方法的效果也差异巨大。
现有技术中,通常的NoC仿真模型及对应的路由方法有如下两种:
(1)有些仿真模型会将NoC的电路,用软件模拟的方式表达出来,从而能够比较准确的评估NoC的性能,包括数据的精确延时等性能。在进行路径选择时,根据实际电路的运行情况,按电路的工作状态,建立对应的静态路由表,完成路径选择。但是该方法导致软件设计复杂,仿真运行时间长,对运行仿真程序的机器要求高。
(2)有些仿真模型会将NoC看成一具有某些行为特性的功能模块,仿真结果只表达NoC的各接口的行为,从而仿真速度快,对运行仿真程序的机器要求低。该方法由于仿真模型过于粗糙,无法表达NoC的实际特性,无法得到精确的时序信息,无法仿真NoC的拥塞状况等状况,所以几乎不能做进行路径的选择和优化。
发明内容
(一)发明目的
本发明的目的是提供一种确定数据传输路径的方法,通过设置连接特性表,并通过连接特性表可以准确的确定芯片内数据传输的路径,提高数据传输的效率。
(二)技术方案
为解决上述问题,本发明的第一方面提供了一种确定数据传输路径的方法,应用于含有多个传输接口的互联结构中,包括:获取发送接口和接收接口;根据连接特性表确定从所述发送接口到所述接收接口的数据传输路径及所述数据传输路径中执行数据中转的各个传输接口,其中,所述连接特性表包括:所述互联结构中的所有所述传输接口在第一方向上按照第一预设顺序排列所形成的发送组、所述互联结构中的所有传输接口在第二方向上按照所述第二预设顺序排列所形成的接收组;所述连接特性表中的每个元素表示所述元素对应的发送组中的传输接口与对应的接收组中的传输接口之间是否存在直接传输路径的路径标记。
可选的,所述路径标记为第一标记,与所述第一标记对应的发送组中的传输接口至与所述第一标记对应的接收组中的传输接口存在直接传输路径;所述路径标记为第二标记,与所述第二标记对应的发送组中的传输接口与所述第二标记对应的接收组中的传输接口不存在直接传输路径。
可选的,所述根据所述连接特性表确定数据传输的路径,包括:根据所述连接特性表,按数据传输顺序依次确定所述数据传输路径中执行数据中转的各个传输接口。
可选的,所述根据连接特性表确定从所述发送接口到所述接收接口的数据传输路径及所述数据传输路径中执行数据中转的各个传输接口,包括:在所述发送接口对应的第一元素组中,确定所述接收接口对应的第一元素;从所述第一元素开始,沿着朝向所述发送接口对应的元素的方向确定第一个具有所述第一标记的第二元素,将所述第二元素对应的接收接口确定为所述数据传输路径中的第一个传输接口。
可选的,还包括:根据所述第一个传输接口确定所述数据传输路径中的第二个传输接口。
可选的,所述根据所述第一传输接口确定所述数据传输路径中的第二传输接口,包括:将所述第一个传输接口作为新的发送接口以确定所述传输路径中的第二个传输接口。
可选的,每次将最新确定的传输路径中的传输接口作为新的发送接口,根据新的发送接口以确定所述传输路径中的下一个传输接口,直到最新确定的传输路径中的传输接口的序号与本次接收数据的接口的序号相同。
可选的,所述第一标记为从对应的发送组中的传输接口至对应的接收组中的传输接口的数据传输的时钟数。
根据本发明的第二方面,提供了一种芯片,包括片上互联结构和处理器,所述处理器采用第一方面的任一种方法确定数据传输路径。
根据本发明的第三方面,提供了一种卡板,包括一个或多个第二方面提供的芯片。
根据本发明的第四方面,提供了一种电子设备,包括第三方面的芯片。
根据本发明的第五方面,提供了一种存储介质,存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的任一个确定数据传输路径的方法。
根据本发明的第六方面,提供一种计算机程序产品,其中,包括计算机指令,当计算机指令被计算设备执行时,计算设备可以执行第一方面的任一个确定数据传输路径的方法。
(三)有益效果
本发明的上述技术方案具有如下有益的技术效果:
本发明实施方式提供的确定数据传输路径的方法,可以简单灵活的实现路径的规划,仿真计算量小,节省了路由规划和仿真资源。
附图说明
图1是本发明实施方式提供的互联结构示意图;
图2是本发明实施方式提供的确定数据传输路径的方法流程示意图;
图3是本发明实施方式提供的互联结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
图1是本发明实施方式提供的互联结构示意图。
核间互联结构,通过多个传输接口分别与各个处理核相连,用于将数据包传输到与之相连的处理核上。其中,互联结构例如为片上网络(Network On Chip,NoC)、总线bus或开关switch。
在图1所示的例子中,该互联结构为NoC,该NoC设置有N个传输接口P
图2是本发明实施方式提供的确定数据传输路径的方法流程示意图。
如图2所示,该确定数据传输路径的方法应用于含有多个传输接口的互联结构中,该方法包括:
步骤S101,获取发送接口和接收接口。
可选的,可以预先对互联结构的各个传输接口设置序号,获取发送接口和接收接口,例如是指获取发送接口和接收接口的序号。
步骤S102,根据连接特性表确定从所述发送接口到所述接收接口的数据传输路径及所述数据传输路径中执行数据中转的各个传输接口。其中,所述连接特性表包括:所述互联结构中的所有所述传输接口在第一方向上按照第一预设顺序排列所形成的发送组、所述互联结构中的所有传输接口在第二方向上按照所述第二预设顺序排列所形成的接收组;所述连接特性表中的每个元素表示所述元素对应的发送组中的传输接口与对应的接收组中的传输接口之间是否存在直接传输路径的路径标记。
在一些实施例中,第一方向和第二方向相互垂直,例如第一方向为竖直方向,第二方向为水平方向。
在一些实施例中,第一预设顺序和第二预设顺序相同。
本发明实施方式提供的确定数据传输路径的方法,通过连接特性表确定传输路径中数据传输路径和各个传输接口,简单灵活的实现路径规划,仿真计算量小,节省了路由规划和仿真资源。
下表1为本发明一实施方式提供的连接特性表。
表1
如表1所示,该连接特性表包括所有的传输接口P
其中,在连接特性表中每个元素表示该元素对应的发送组中的传输接口与对应的接收组中的传输接口之间是否存在直接传输路径的路径标记,例如,元素L
在一些实施例中,路径标记为第一标记,与所述第一标记对应的发送组中的传输接口至与所述第一标记对应的接收组中的传输接口存在直接传输路径,路径标记为第二标记,与所述第二标记对应的发送组中的传输接口与所述第二标记对应的接收组中的传输接口不存在直接传输路径。
在一些实施例中,第一标记和第二标记均为数字,第一标记和第二标记对应的数字不相同。
在一些实施例中,第一标记为非零的数字,例如为1、2、3等数字。第二标记为0。
在一些实施例中,第一标记为非零的数字时,各个第一标记对应的数字可以相同或者不同。
在一些实施例中,所述第一标记为从对应的发送组中的传输接口至对应的接收组中的传输接口的数据传输的时钟数,即时延Latency,表示发送接口传输到接收接口所需要花费的时钟数L
在一些实施例中,根据所述连接特性表确定数据传输的路径,包括:根据所述连接特性表,按数据传输顺序依次确定所述数据传输路径中执行数据中转的各个传输接口。
在一些实施例中,所述根据连接特性表确定从所述发送接口到所述接收接口的数据传输路径及所述数据传输路径中执行数据中转的各个传输接口,包括:在所述发送接口对应的第一元素组中,确定所述接收接口对应的第一元素;从所述第一元素开始,沿着朝向所述发送接口对应的元素的方向确定第一个具有所述第一标记的第二元素,将所述第二元素对应的接收接口确定为所述数据传输路径中的第一个传输接口。
可以理解的是,找到的第一个传输接口是最靠近当前发送接口的传输接口,也是第一个执行数据中转的接口。
在一个实施例中,上述确定数据传输路径的方法,还包括:根据所述第一个传输接口确定所述数据传输路径中的第二个传输接口。
具体的,所述根据所述第一个传输接口确定所述数据传输路径中的第二个传输接口,包括:将所述第一个传输接口作为新的发送接口以确定所述传输路径中的第二个传输接口。
具体的,将所述第一个传输接口作为新的发送接口以确定所述传输路径中的第二个传输接口,包括:将第一个传输接口作为新的发送接口,在新的发送接口对应的第二组元素组中,确定接收接口对应的第三元素,从第三元素开始,沿着朝向发送接口对应的元素的方向确定第一个具有第一标记的第四元素,将第四元素对应的接收接口确定为数据传输路径中的第二传输接口。可以理解的是,第二传输接口是本数据传输路径中,是最靠近第一个传输接口的接口,也是第二个执行数据中转的接口。
在一些实施例中,每次将最新确定的传输路径中的传输接口作为新的发送接口,根据新的发送接口以确定所述传输路径中的下一个传输接口,直到最新确定的传输路径中的传输接口的序号与本次接收数据的接口的序号相同。
具体的,每次将最新确定的传输路径中的传输接口作为新的发送接口,在新的发送接口对应的一组元素组中,确定接收接口对应的元素。从该接收接口对应的元素开始,沿着朝向发送接口对应的元素的方向,确定第一个具有第一标记的元素,将该第一个具有第一标记的元素对应的接收接口确定为本次数据传输路径中的该新的发送接口的下一个传输接口,直到最新确定的传输路径中的传输接口的序号与本次接收数据的接口的序号相同,从而得到所有的执行数据中转的所有的传输接口。
在一些实施例中,将每次确定的数据传输路径中的传输接口存储至静态路由表,静态路由表用于记载各数据传输接口之间的路由信息。
图3是本发明实施方式提供的互联结构示意图。
如图3所示,该互联结构包括P
如P
从图3所示的实施例中,可以看出,在某一个方向上,两个数据传输接口之间的可能没有直接连接的物理路径,或者只有一条直接连接的物理路径。但是两个传输接口间接的物理连接可能有多条,即途径其他传输接口的数据路由路径可能存在多条。例如P
假设在本实施例中,数据是需要从P
步骤S101,获取发送接口和接收接口。即发送接口的序号是P
步骤S102,根据连接特性表确定从所述发送接口到所述接收接口的数据传输路径及所述数据传输路径中执行数据中转的各个传输接口。
在本实施例中,连接特性表如下表3所示:
表3连接特性表
如表3所示,该连接特性表包括,在水平方向所有的传输接口按照序号从小到大的顺序排列形成的接收组,在竖直方向上,所有的传输接口按照序号从小到大的顺序排列形成的发送组,表格中的每个元素都表示所述元素对应的发送组中的传输接口与对应的接收组中的传输接口之间是否存在直接传输路径的路径标记。
在本实施例中,“0”为第二标记,表示对应的接收组的传输接口与对应的发送组的传输接口之间不存在直接传输的物理路径。非零的数字为第一标记,即“2”、“3”、“4”都表示对应的发送接口和接收接口存在直接传输的物理路径。其中,“2”、“3”、“4”分别表示对应的发送接口到对应的接收接口所需要花费的时钟数。
具体的,根据连接特性表确定从所述发送接口到所述接收接口的数据传输路径及所述数据传输路径中执行数据中转的各个传输接口,包括:
首先,在所述发送接口P
然后,将接收接口P
接着,将接收接口P
然后,将接收接口P
最后,将接收接口P
本实施例提供的确定数据传输路径的方法,可以每次找到一个执行数据中转的传输接口,该执行数据中转的传输接口在该发送接口和接收接口之间,且该执行数据中转的接口与每次确定的发送接口之间存在直接传输路径,且与每次确定的发送接口的距离最远,从而使得本实施例确定的数据传输路径执行数据中转的次数最少,数据传输效率比较高。
为清楚的说明本实施方式提供的确定数据传输路径的方法,本实施方式以数据是需要从P
具体的,在图3所示的实施例中,确定数据传输路径的方法包括:
步骤S101,获取发送接口和接收接口。即发送接口是P
步骤S102,根据连接特性表确定从所述发送接口到所述接收接口的数据传输路径及所述数据传输路径中执行数据中转的各个传输接口。
本实施例中,连接特性表如上表3所示。那么:
根据连接特性表确定从所述发送接口到所述接收接口的数据传输路径及所述数据传输路径中执行数据中转的各个传输接口,包括:
首先,在所述发送接口(P
接着,将P
然后,将P
最后,将P
本实施例提供的确定数据传输路径的方法,方法简单,仿真计算量小,大大节省了路由规划和仿真的资源,而且在芯片设计中,可以根据技术人员对片上网络的调整,快速估计芯片的性能,及时作出反馈,指导芯片的设计和性能的优化;提升芯片运行程序编译的效率,节省神经网络编译器自动编译程序的效率;降低了运行仿真程序的硬件要求,节省了成本。
本发明的一个实施方式提供了一种芯片,包括片上互联结构和处理器,所述处理器采用上述实施方式提供的方法确定数据传输路径。
本发明的一个实施方式提供了一种卡板,包括一个或多个上述实施方式提供的芯片。
本发明的一个实施方式提供了一种电子设备,包括上述实施方式的芯片。
本发明的一个实施方式提供了一种存储介质,存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式的确定数据传输路径的方法。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
- 一种确定数据传输路径的方法、芯片和存储介质
- 一种传输路径的确定方法、装置、服务器及存储介质