本发明涉及计算机,尤其涉及一种路由数据包校验方法、装置、芯片及存储介质。
背景技术:
1、片上系统(system on chip,soc)中包含片上网络(network on chip,noc),noc网络可以通过多个路由器实现信息交互。
2、其中,每个路由器上可以部署多个输入端口以及输出端口。路由器通过输入端口接收到数据包后,会根据数据包对应的路由信息,将该数据包通过对应的输出端口进行输出。但是,由于noc网络结构较为复杂,路由器在对数据包进行输出时,有可能出现数据包没有到达预期的输出端口,或者输出端口输出错误数据包的情形。因此,有必要校验路由器输出的数据包是否与输出端口匹配。
3、现有技术中缺乏一种对路由器数据包进行高效率校验,并且节省资源开销的方法。
技术实现思路
1、本发明提供了一种路由数据包校验方法、装置、芯片及存储介质,可以提高路由数据包的校验效率,节省路由数据包校验过程中的资源开销。
2、根据本发明的一方面,提供了一种路由数据包校验方法,应用于芯片中,所述芯片中各路由器之间通过片上网络进行连接,所述方法包括:
3、通过目标路由器的各输入端口,将接收的数据包传输至对应的输出端口;
4、根据各所述数据包中包括的路由信息,将各所述数据包添加至对应输出端口匹配的数据包队列中;
5、获取各输出端口对应的输出结果,将各所述输出结果与对应的数据包队列进行对比,并根据对比结果确定目标路由器对应的数据包校验结果。
6、可选的,在通过目标路由器的各输入端口,将接收的数据包传输至对应的输出端口之前,还包括:
7、获取目标路由器对应的全部输出端口,建立与每个输出端口一一对应的数据包队列。
8、可选的,获取各输出端口对应的输出结果,包括:
9、判断所述输出端口是否同时接收到多个输入端口分别传输的数据包;
10、若是,则通过预设的仲裁器对各所述数据包进行仲裁,得到各所述数据包对应的输出顺序;
11、根据所述输出顺序,依次获取所述输出端口对应的输出结果。
12、可选的,所述路由信息中包括对应输出端口的端口标识;
13、根据各所述数据包中包括的路由信息,将各所述数据包添加至对应输出端口匹配的数据包队列中,包括:
14、根据各所述数据包中包括的端口标识,确定与各所述数据包匹配的目标输出端口;
15、获取与各所述目标输出端口分别对应的数据包队列,将各所述数据包对应的标识信息,添加至对应的数据包队列中。
16、可选的,将各所述输出结果与对应的数据包队列进行对比,并根据对比结果确定目标路由器对应的数据包校验结果,包括:
17、判断所述数据包队列中是否存在与所述输出结果一致的目标数据包;
18、若是,则确定所述输出结果正确,并标记所述目标数据包校验成功;
19、若否,则确定所述输出结果错误,并标记所述输出结果校验失败。
20、可选的,在确定所述输出结果正确,并标记所述目标数据包校验成功之后,还包括:在所述数据包队列中,将所述目标数据包进行删除,以对所述目标数据包占用的存储资源进行释放。
21、根据本发明的另一方面,提供了一种路由数据包校验装置,应用于芯片中,所述芯片中各路由器之间通过片上网络进行连接,所述装置包括:
22、数据包传输模块,用于通过目标路由器的各输入端口,将接收的数据包传输至对应的输出端口;
23、数据包添加模块,用于根据各所述数据包中包括的路由信息,将各所述数据包添加至对应输出端口匹配的数据包队列中;
24、数据包对比模块,用于获取各输出端口对应的输出结果,将各所述输出结果与对应的数据包队列进行对比,并根据对比结果确定目标路由器对应的数据包校验结果。
25、根据本发明的另一方面,提供了一种芯片,所述芯片包括:
26、至少一个处理器;以及
27、与所述至少一个处理器通信连接的存储器;其中,
28、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的路由数据包校验方法。
29、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的路由数据包校验方法。
30、根据本发明的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本发明任一实施例所述的路由数据包校验方法。
31、本发明实施例提供的技术方案,通过目标路由器的各输入端口,将接收的数据包传输至对应的输出端口;根据各所述数据包中包括的路由信息,将各所述数据包添加至对应输出端口匹配的数据包队列中;获取各输出端口对应的输出结果,将各所述输出结果与对应的数据包队列进行对比,并根据对比结果确定目标路由器对应的数据包校验结果的技术手段,可以提高路由数据包的校验效率,节省路由数据包校验过程中的资源开销。
32、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种路由数据包校验方法,其特征在于,应用于芯片中,所述芯片中各路由器之间通过片上网络进行连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在通过目标路由器的各输入端口,将接收的数据包传输至对应的输出端口之前,还包括:
3.根据权利要求2所述的方法,其特征在于,获取各输出端口对应的输出结果,包括:
4.根据权利要求1所述的方法,其特征在于,所述路由信息中包括对应输出端口的端口标识;
5.根据权利要求1所述的方法,其特征在于,将各所述输出结果与对应的数据包队列进行对比,并根据对比结果确定目标路由器对应的数据包校验结果,包括:
6.根据权利要求5所述的方法,其特征在于,在确定所述输出结果正确,并标记所述目标数据包校验成功之后,还包括:
7.一种路由数据包校验装置,其特征在于,应用于芯片中,所述芯片中各路由器之间通过片上网络进行连接,所述装置包括:
8.一种芯片,其特征在于,所述芯片包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的路由数据包校验方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的路由数据包校验方法。