1.一种可编程交换架构芯片资源排布方法,其特征在于,包括:
构建待执行程序对应的所有执行节点之间的控制依赖关系和读写依赖关系,基于所述待执行程序对应的所有执行节点之间的控制依赖关系和读写依赖关系,确定所述待执行程序对应的所有执行节点的依赖关系哈希表;
基于所述依赖关系哈希表、第一目标函数、第二目标函数以及可编程交换架构芯片的每一级流水线的资源约束条件,确定初始资源排布方案;
将所述可编程交换架构芯片的每一级流水线作为基本金属粒子,将所述初始资源排布方案下所述可编程交换架构芯片的所有流水线的资源平均占用率作为零度,将所述初始资源排布方案下所述可编程交换架构芯片的每一级流水线的资源平均占用率与零度的差值作为所述基本金属粒子的初始温度,基于模拟退火算法更新所述初始资源排布方案,得到最终的资源排布方案;
其中,所述第一目标函数以所述可编程交换架构芯片的流水线总级数最小为目标,所述第二目标函数以所述可编程交换架构芯片的每一级流水线的资源平均占用率的方差最小为目标;所述基于模拟退火算法更新所述初始资源排布方案,包括:
基于以下公式计算所述基本金属粒子的温度:
其中,表示所述可编程交换架构芯片的第i级流水线对应的基本金属粒子的温度,表示温度系数, 表示所述可编程交换架构芯片的第i级流水线的资源平均占用率,表示所述可编程交换架构芯片的所有流水线的资源平均占用率,n表示所述可编程交换架构芯片的流水线总级数,b表示升温常量。
2.根据权利要求1所述的可编程交换架构芯片资源排布方法,其特征在于,所述基于模拟退火算法更新所述初始资源排布方案,包括:在所述可编程交换架构芯片的每一级流水线的资源满足所述可编程交换架构芯片的每一级流水线的资源约束条件的情况下,减少所述初始资源排布方案中的流水线总级数。
3.根据权利要求2所述的可编程交换架构芯片资源排布方法,其特征在于,所述在所述可编程交换架构芯片的每一级流水线的资源满足所述可编程交换架构芯片的每一级流水线的资源约束条件的情况下,减少所述初始资源排布方案中的流水线总级数,包括:将所述可编程交换架构芯片的任意一级流水线中的执行节点移动至另一级流水线中,并删除不包含执行节点的流水线。
4.根据权利要求3所述的可编程交换架构芯片资源排布方法,其特征在于,在删除的流水线的级数i小于32的情况下,同时删除第i+16级流水线。
5.根据权利要求1所述的可编程交换架构芯片资源排布方法,其特征在于,所述可编程交换架构芯片的每一级流水线的资源平均占用率基于以下公式确定:其中, 表示所述可编程交换架构芯片的第i级流水线的资源平均占用率,表示所述可编程交换架构芯片的第i级流水线的TCAM资源占用率,表示所述可编程交换架构芯片的第i级流水线的HASH资源占用率,
表示所述可编程交换架构芯片的第i级流水线的ALU资源占用率,
表示所述可编程交换架构芯片的第i级流水线的QUALIFY资源占用率。
6.根据权利要求1至5任一项所述的可编程交换架构芯片资源排布方法,其特征在于,所述可编程交换架构芯片的每一级流水线的资源约束条件,包括:TCAM资源约束条件、HASH资源约束条件、ALU资源约束条件和QUALIFY资源约束条件。
7.一种可编程交换架构芯片资源排布装置,其特征在于,包括:
构建模块,用于构建待执行程序对应的所有执行节点之间的控制依赖关系和读写依赖关系,基于所述待执行程序对应的所有执行节点之间的控制依赖关系和读写依赖关系,确定所述待执行程序对应的所有执行节点的依赖关系哈希表;
确定模块,用于基于所述依赖关系哈希表、第一目标函数、第二目标函数以及可编程交换架构芯片的每一级流水线的资源约束条件,确定初始资源排布方案;
资源排布模块,用于将所述可编程交换架构芯片的每一级流水线作为基本金属粒子,将所述初始资源排布方案下所述可编程交换架构芯片的所有流水线的资源平均占用率作为零度,将所述初始资源排布方案下所述可编程交换架构芯片的每一级流水线的资源平均占用率与零度的差值作为所述基本金属粒子的初始温度,基于模拟退火算法更新所述初始资源排布方案,得到最终的资源排布方案;
其中,所述第一目标函数以所述可编程交换架构芯片的流水线总级数最小为目标,所述第二目标函数以所述可编程交换架构芯片的每一级流水线的资源平均占用率的方差最小为目标;
所述基于模拟退火算法更新所述初始资源排布方案,包括:
基于以下公式计算所述基本金属粒子的温度:
其中,表示所述可编程交换架构芯片的第i级流水线对应的基本金属粒子的温度,表示温度系数, 表示所述可编程交换架构芯片的第i级流水线的资源平均占用率,表示所述可编程交换架构芯片的所有流水线的资源平均占用率,n表示所述可编程交换架构芯片的流水线总级数,b表示升温常量。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时,实现根据权利要求1至6任一项所述的可编程交换架构芯片资源排布方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的可编程交换架构芯片资源排布方法。