本公开内容总体涉及一种封包(package)上的路由网络,所述路由网络用于使用不同协议连接来自不同生态系统的小芯片(chiplet)。更特定言之,本公开内容描述具有可编程互连桥及用于在2d、2.5d与3d拓扑中的小芯片之间路由通信量(traffic)的路由网络的可扩展封包上网络(network-on-package;nopk)。
背景技术:
1、小芯片是模块化集成电路,专门设计用于与其他类似的模块化小芯片一起工作,以形成更大、更复杂的处理系统。这允许在设计中将功能块分为不同的小芯片,以在设计过程期间提供更大的灵活性及模块性。与常规的单片(monolithic)集成电路(integratedcircuit;ic)设计相比,基于小芯片的设计使用连接在一起的更小的独立裸片。每个小芯片可被专门设计为执行单独的功能,诸如处理核心、图形处理单元、数学协处理器、硬件加速器等。基于小芯片的设计还降低制造成本,因为较大的裸片(die)可被分为较小的小芯片以改善良率及分箱(binning)。随着成本的增加及摩尔定律的放缓,常规的单片芯片开发也变得越来越没有吸引力,因为小芯片更便宜且展现出更快上市时间的生产。相对新的基于小芯片的生态系统的出现,开始经由将预测试的小芯片整合到更大的封包中来实现设计复杂系统的一种替代方式。
技术实现思路
1、在一些实施方式中,路由器可包括:多个输入缓冲器,配置为接收从源传输至目的地的包;状态生成器,配置为从多个状态确定包的状态;及存储器,表示与多个状态对应的多个动作的权重。存储器可被配置为返回对应于包状态的动作。所述动作可指示在源与目的地之间的路由中的下一跃点。路由器还可包括奖励逻辑,所述奖励逻辑被配置为在存储器中生成多个动作的权重。奖励逻辑可被配置为接收与在源与目的地之间的路由对应的全局奖励,计算与路由器可用的下一跃点对应的局部奖励,并且组合全局奖励与局部奖励以在存储器中生成多个动作的权重。
2、在一些实施方式中,确定由路由器接收的包的下一跃点的方法可包括:在路由器处接收从源传输到目的地的包,从多个状态中确定包的状态,接收与在源与目的地之间的路由对应的全局奖励,计算与路由器可用的下一跃点对应的局部奖励,组合全局奖励与局部奖励以生成与多个状态对应的多个动作的权重,基于包状态的权重确定与包状态对应的动作,其中所述动作可指示在源与目的地之间的路由中的下一跃点,及将包路由到下一跃点。
3、在一些实施方式中,路由器可包括多个输入缓冲器,这些输入缓冲器配置为接收从源传输至目的地的包,及实施强化学习算法的电路系统,所述算法确定包的状态,并且选择指示包下一跃点的对应动作。强化学习算法可将与在源与目的地之间的路由对应的全局奖励和与路由器可用的下一跃点对应的局部奖励组合。所述路由器还可包括多个输出缓冲器,这些输出缓冲器被配置成接收包,并且基于包的状态将包路由到由强化学习算法选择的下一跃点。
4、在任何实施方式中,任何及所有以下特征均可在任何组合中实施,且不受限制。路由器也可包括将多个输入缓冲器连接到多个输出缓冲器的间接总线。间接总线可不包括交叉开关(crossbar)阵列。路由器可以是封包上网络(network-on-package;nopk)的一部分,且源及目的地可包括小芯片。路由器可以是片上网络的部分,而源及目的地包括soc上的子系统。存储器可包括储存用于q学习算法的q矩阵的静态随机存取存储器(static randomaccess memory;sram)。组合全局奖励与局部奖励以生成多个动作的权重可包括对每个动作使用全局奖励及局部奖励的加权组合。全局奖励可包括基于源与目的地之间的最佳路径惩罚或奖励路由器的下一跃点的值。局部奖励可包括被更新以反映路由器观察到的局部瓶颈的值。组合全局奖励与局部奖励可引起包的下一跃点改变以避免局部瓶颈。强化学习算法可包括q学习算法。强化学习算法可基于折扣因子来更新指派给动作的权重,所述折扣因子相对即时奖励将长期奖励进行加权。强化学习算法可基于学习速率因子更新指派给动作的权重,所述学习速率因子相对先前权重将新权重进行加权。
1.一种路由器,包括:
2.如权利要求1所述的路由器,进一步包括间接总线,所述间接总线将所述多个输入缓冲器连接到多个输出缓冲器。
3.如权利要求2所述的路由器,其中所述间接总线不包括交叉开关阵列。
4.如权利要求1所述的路由器,其中所述路由器是封包上网络(nopk)的部分,并且所述源及所述目的地包括小芯片。
5.如权利要求1所述的路由器,其中所述路由器是片上网络的部分,并且所述源及所述目的地包括soc上的子系统。
6.如权利要求1所述的路由器,其中所述存储器包括静态随机存取存储器(sram),所述sram储存用于q学习算法的q矩阵。
7.如权利要求1所述的路由器,其中组合所述全局奖励与所述局部奖励以生成所述多个动作的这些权重包括使用每个动作的所述全局奖励与所述局部奖励的加权组合。
8.如权利要求1所述的路由器,其中所述全局奖励包括值,所述值基于在所述源与所述目的地之间的优化路径来惩罚或奖励路由器的下一跃点。
9.如权利要求1所述的路由器,其中所述局部奖励包括被更新以反映由所述路由器观察到的局部瓶颈的值。
10.如权利要求1所述的路由器,其中将所述全局奖励与所述局部奖励组合引起所述包的下一跃点改变,以避免局部瓶颈。
11.一种为由路由器接收的包确定下一跃点的方法,所述方法包括以下步骤:
12.如权利要求11所述的方法,其中将所述包路由到所述下一跃点的步骤包括以下步骤:经由内部网络路由所述包,所述内部网络包括间接总线,所述间接总线不包括交叉开关阵列。
13.如权利要求11所述的方法,其中所述全局奖励包括值,所述值基于在所述源与所述目的地之间的优化路径惩罚或奖励路由器的下一跃点。
14.如权利要求11所述的方法,其中所述局部奖励包括被更新以反映由所述路由器观察到的局部瓶颈的值。
15.如权利要求11所述的方法,其中组合所述全局奖励与所述局部奖励的步骤引起所述包的下一跃点改变,以避免局部瓶颈。
16.一种路由器,包括:
17.如权利要求16所述的路由器,其中所述强化学习算法包括q学习算法。
18.如权利要求16所述的路由器,其中所述强化学习算法基于折扣因子更新指派给所述动作的权重,所述折扣因子相对即时奖励将长期奖励进行加权。
19.如权利要求16所述的路由器,其中所述强化学习算法基于学习速率因子更新指派给所述动作的权重,所述学习速率因子相对先前权重将新权重进行加权。
20.如权利要求16所述的路由器,进一步包括间接总线,所述间接总线在所述多个输入缓冲器与多个输出缓冲器之间不使用交叉开关阵列。