片上网络仿真模型及动态路径规划方法、装置、多核芯片制造方法及图纸

技术编号:35585196 阅读:17 留言:0更新日期:2022-11-16 14:59
本公开属于程序编译技术领域,提供一种片上网络仿真模型及动态路径规划方法、装置、多核芯片,片上网络包括多个端口,方法包括:建立存在物理直连路径的各端口的有向路径表,其中,每条有向路径包括起点端口、终点端口、路径属性信息和路径状态信息;根据有向路径表,确定从数据传输起始端口到数据传输终止端口的处于空闲状态的所有可选路径;从所有可选路径中按预设规则选取目标路径,作为数据传输起始端口到数据传输终止端口的传输路径。本公开能简单灵活地动态规划路径,提升路由效率;避免数据传输中出现死锁等问题,提升路径可靠性;芯片设计中,能快速评估芯片性能,指导芯片设计和性能优化,提升编译效率,降低硬件要求,节省成本。省成本。省成本。

【技术实现步骤摘要】
片上网络仿真模型及动态路径规划方法、装置、多核芯片


[0001]本公开属于程序编译
,具体涉及一种片上网络仿真模型及动态路径规划方法、装置、多核芯片。

技术介绍

[0002]随着科学技术的发展,人类社会正在快速进入智能时代。智能时代的重要特点就是,人们获得的数据种类越来越多,获得的数据数量越来越大,而对处理数据的速度要求越来越高。芯片是数据处理的基石,它从根本上决定了人们处理数据的能力。由于智能时代的数据种类繁多且数量巨大,所以要求芯片既具有极高的灵活性,能处理不同领域且日新月异的神经网络算法,又具有极强的处理能力,能快速处理极大的且急剧增长的数据量。从应用领域来看,芯片主要有两条路线:一条是通用芯片路线,例如中央处理器(Central Processing Unit,CPU)等,该路线能提供极大的灵活性,但是在处理特定领域神经网络算法时有效算力比较低;另一条是专用芯片路线,例如张量处理器(Tensor Processing Unit,TPU)等,该路线在某些特定领域,能发挥较高的有效算力,但是面对灵活多变的通用的领域,该路线处理能力比较差甚至无法处理。
[0003]在神经网络计算领域的多(众)核芯片设计之前,通常会建立芯片各组成模块的仿真模型,以进行芯片的功能验证、性能评估等工作。芯片实物生产出来,进入应用阶段后,每次编译器编译神经网络计算程序过程中,需要实时评估程序的效率,进而优化生成的神经网络计算程序。这就要求建立一个准确而高效的神经网络芯片的仿真器。
[0004]一般而言,在多(众)核芯片中,核间通信以及核与其他模块之间的通信,都是通过片上网络(Network on Chip,NoC)进行。这样,会建立一个NoC仿真模型,然后根据仿真模型,进行数据传输的路径选择和优化,即路由方法。对于不同的NoC仿真模型,会有不同的路由方法,同时效果也差异巨大。
[0005]通常的NoC仿真模型及对应的路由方法如下:
[0006]一、精确的软件模拟电路的NoC模型:
[0007]该模型侧重精确,会将NoC的电路,用软件模拟的方式表达出来,从而能够比较准确的评估NoC的性能,包括数据的精确延时等。在进行路径选择时,根据实际电路的运行情况,按照电路的工作状态,建立对应的静态路由表,完成路径选择。但是,此方法使得软件设计复杂,仿真运行时间长,对运行仿真程序的机器要求高。
[0008]二、粗糙的功能模块表达的NoC模型:
[0009]该模型侧重高效,会将NoC看成一具有某些行为特性的功能模块,仿真结果只表达NoC的各接口的行为,从而使仿真速度快,对运行仿真程序的机器要求低。此方法由于仿真模型过于粗糙,无法表达NoC的实际特性,无法得到精确的时序信息,无法仿真NoC的拥塞状况等情况,所以几乎不能进行路径的选择和优化。
[0010]综上,对于精确的软件模拟电路的NoC模型,在进行路由规划仿真时,只能建立对应的静态路由表,无法根据路径当前占用状态对规划路径进行实时更新,并且,其仿真程序
复杂,运行速度慢,耗费资源多,成本高;对于粗糙的功能模块表达的NoC模型,几乎无法进行动态路径选择和优化,从而无法准确评估芯片的性能,无法实现程序的优化。

技术实现思路

[0011]本公开旨在至少解决现有技术中存在的问题之一,提供一种片上网络仿真模型及动态路径规划方法、装置、多核芯片。
[0012]本公开的一个方面,提供一种片上网络仿真模型的动态路径规划方法,所述片上网络包括多个端口,所述方法包括:
[0013]建立存在物理直连路径的各所述端口的有向路径表,其中,每条有向路径包括起点端口、终点端口、路径属性信息和路径状态信息;
[0014]根据所述有向路径表,确定从数据传输起始端口到数据传输终止端口的处于空闲状态的所有可选路径;
[0015]从所述所有可选路径中按照预设规则选取目标路径,作为所述数据传输起始端口到所述数据传输终止端口的传输路径。
[0016]在一些实施方式中,所述根据所述有向路径表,确定从数据传输起始端口到数据传输终止端口的处于空闲状态的所有可选路径,包括:
[0017]根据所述有向路径表,确定从所述数据传输起始端口到所述数据传输终止端口的所有可能路径,每条可能路径包括多条子路径;以及,
[0018]根据所述有向路径表,从所述多条子路径中确定出处于空闲状态的所有空闲子路径,得到所述可选路径。
[0019]在一些实施方式中,所述根据所述有向路径表,确定从所述数据传输起始端口到所述数据传输终止端口的所有可能路径,包括:
[0020]根据所述有向路径表,确定出所述数据传输起始端口到所述数据传输终止端口之间的各级接力端口,相邻两级接力端口之间形成所述子路径。
[0021]在一些实施方式中,所述方法还包括:
[0022]每隔预定的时钟周期,根据各所述有向路径的实际占用状态,动态更新所述有向路径表中的路径状态信息。
[0023]在一些实施方式中,所述方法还包括:
[0024]根据所述目标路径所包括的各所述子路径,更新所述有向路径表中的路径状态信息。
[0025]在一些实施方式中,所述有向路径表包括第一子有向路径表和第二子有向路径表;
[0026]所述第一子有向路径表按照正向传输顺序建立形成,所述第二子有向路径表按照负向传输顺序建立形成。
[0027]在一些实施方式中,所述预设规则包括最短路径规则、随机选取路径规则或顺序选取路径规则。
[0028]本公开的另一个方面,提供一种片上网络仿真模型的路径规划装置,所述片上网络包括多个端口,所述装置包括:
[0029]建立模块,用于建立存在物理直连路径的各所述端口的有向路径表,其中,每条有
向路径包括起点端口、终点端口、路径属性信息和路径状态信息;
[0030]确定模块,用于根据所述有向路径表,确定从数据传输起始端口到数据传输终止端口的处于空闲状态的所有可选路径;
[0031]选取模块,用于从所述所有可选路径中按照预设规则选取目标路径,作为所述数据传输起始端口到所述数据传输终止端口的传输路径。
[0032]在一些实施方式中,所述确定模块,用于根据所述有向路径表,确定从数据传输起始端口到数据传输终止端口的处于空闲状态的所有可选路径,包括:所述确定模块用于:
[0033]根据所述有向路径表,确定从所述数据传输起始端口到所述数据传输终止端口的所有可能路径,每条可能路径包括多条子路径;以及,
[0034]根据所述有向路径表,从所述多条子路径中确定出处于空闲状态的所有空闲子路径,得到所述可选路径。
[0035]在一些实施方式中,所述确定模块用于,根据所述有向路径表,确定从所述数据传输起始端口到所述数据传输终止端口的所有可能路径,包括:所述确定模块用于:
[0036]根据所述有向路径表,确定出所述数据传输起始端口到所述数据传输终止端口之间的各级接力端口,相邻两本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种片上网络仿真模型的动态路径规划方法,所述片上网络包括多个端口,其特征在于,所述方法包括:建立存在物理直连路径的各所述端口的有向路径表,其中,每条有向路径包括起点端口、终点端口、路径属性信息和路径状态信息;根据所述有向路径表,确定从数据传输起始端口到数据传输终止端口的处于空闲状态的所有可选路径;从所述所有可选路径中按照预设规则选取目标路径,作为所述数据传输起始端口到所述数据传输终止端口的传输路径。2.根据权利要求1所述的方法,其特征在于,所述根据所述有向路径表,确定从数据传输起始端口到数据传输终止端口的处于空闲状态的所有可选路径,包括:根据所述有向路径表,确定从所述数据传输起始端口到所述数据传输终止端口的所有可能路径,每条可能路径包括多条子路径;以及,根据所述有向路径表,从所述多条子路径中确定出处于空闲状态的所有空闲子路径,得到所述可选路径。3.根据权利要求2所述的方法,其特征在于,所述根据所述有向路径表,确定从数据传输起始端口到数据传输终止端口的所有可能路径,包括:根据所述有向路径表,确定出所述数据传输起始端口到所述数据传输终止端口之间的各级接力端口,相邻两级接力端口之间形成所述子路径。4.根据权利要求1

3中任一项所述的方法,其特征在于,所述方法还包括:每隔预定的时钟周期,根据各所述有向路径的实际占用状态,动态更新所述有向路径表中的路径状态信息。5.根据权利要求1

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:北京希姆计算科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1