一种软件定义硬件的控制方法和控制器技术

技术编号:33123360 阅读:20 留言:0更新日期:2022-04-17 00:29
本发明专利技术提供一种软件定义硬件的控制方法和控制器,应用于TSP架构芯片,其中该控制方法包括如下步骤:S1针对待处理任务选取TSP芯片上空闲的IP核进行任务映射,并将剩余资源划分出最大剩余资源块作为下次任务映射的区域;S2当TSP片上网络中任务映射区域更新时,基于自适应路由算法更新网络中节点间的传输链路。通过本发明专利技术提出的任务映射和自适应路由的控制方案设计,有助于提高TSP芯片的资源利用率。有助于提高TSP芯片的资源利用率。有助于提高TSP芯片的资源利用率。

【技术实现步骤摘要】
一种软件定义硬件的控制方法和控制器


[0001]本专利技术涉及软件定义硬件控制
,特别是一种软件定义硬件的控制方法和控制器。

技术介绍

[0002]软件定义硬件(SDH)的本质就是在硬件资源数字化、标准化的基础上,通过软件编程去实现虚拟化、灵活、多样和定制化的功能,对外提供客户化的专用智能化、定制化的服务,实现应用软件与硬件的深度融合。其核心是API(Application Programming Interface)。API解除了软硬件之间的耦合关系,推动应用软件向个性化方向发展,硬件资源向标准化方向发展,系统功能向智能化方向发展。软件定义硬件程序将创建一个可扩展的硬件/软件架构,与ASIC(Application Specific Integrated Circuit,专用集成电路)不同,允许应用程序在运行时修改硬件配置。
[0003]Groq公司研发的张量流处理器(TSP)架构,也给出了“软件定义硬件”的基本思路,即芯片中所有操作的控制和调度均由软件完成,从而减少相应的硬件开销,把节省的部分用于运算和片上存储。
[0004]现有技术中,针对TSP架构基础上提出的软件定义硬件控制器设计较少,因此提出一种基于TSP架构的软件定义硬件控制方法和控制器亟具需要。

技术实现思路

[0005]针对上述问题,本专利技术旨在提供一种软件定义硬件的控制方法和控制器。
[0006]本专利技术的目的采用以下技术方案来实现:
[0007]第一方面,本专利技术示出一种软件定义硬件的控制方法,应用于TSP架构芯片,该方法包括如下步骤:
[0008]S1针对待处理任务选取TSP芯片上空闲的IP核进行任务映射,并将剩余资源划分出最大剩余资源块作为下次任务映射的区域;
[0009]S2当TSP片上网络中任务映射区域更新时,基于自适应路由算法更新网络中节点间的传输链路。
[0010]一种实施方式中,步骤S1具体包括:
[0011]S11获取当前TSP片上网络中空闲IP核的拓扑结构信息;
[0012]S12采用边沿映射的方式,沿内部网络边缘选择映射位置进行任务映射;
[0013]S13采用最大剩余资源分割法,确定最优的分割方案划分出最大剩余资源块作为下次任务映射的区域。
[0014]一种实施方式中,步骤S12中,具体包括:
[0015]在一片空闲矩形IP核资源上,首先从左上角开始选取空闲的IP核进行任务映射,其顺序依次为:左上、右上、右下、左下;
[0016]其中在任务映射的过程中优先分配两个新任务在TSP片上网络中映射的位置不相
邻。
[0017]一种实施方式中,步骤S13中,具体包括:
[0018]当任务映射后,从剩余的IP核所组成的图形中,分割出一个包含IP核数最多的矩形,来作为下次任务映射的区域。
[0019]一种实施方式中,步骤S2具体包括:
[0020]S21节点动态更新自身周围链路的实时状态,并维护成实时状态表。
[0021]S22利用改进的A*算法,结合odd_even算法来寻找最短路径,并避免芯片死锁。
[0022]一种实施方式中,步骤S21具体包括:
[0023]当TSP片上网络中出现故障或任务映射区域更新时,TSP片上网络中每个节点更新自身周围链路的实时状态并维护成节点周围链路的实时状态表;其中该实时状态表不断更新;
[0024]当节点的某一方向发生堵塞或故障时,对节点间的传输进行重新评估,通过节点的实时状态表获取问题信息,提前进行跳步并使用预设的逃离虚信道避开问题区域,以此来保证芯片上传输的最小成本开销。
[0025]一种实施方式中,步骤S22具体包括:
[0026]基于获取的TSP片上网络拓扑结构和节点间的链路消耗信息,采用改进的A*算法计算各任务对应源节点与目的节点之间的最短路径,并依照计算的最短路径进行路由转发;其中在TSP片上网络拓扑结构中,将已经被占用的节点及其对应的链路视为阻塞区域。
[0027]一种实施方式中,步骤S22具体包括:利用改进后的A*算法,实现动态双向搜索。由起始点与目标点同时进行搜索,并将上一时刻对方到达的节点作为终止节点,引导搜索方向。在搜索过程中,引入动态步长,进行搜索。
[0028]一种实施方式中,步骤S22具体包括:在利用改进的A*算法计算任务对应源节点与目的节点之间的最短路径时,结合odd_even算法来避免死锁:
[0029]其中如果节点所在的Y坐标为奇数,记该列称为奇数列;如果该列的Y坐标为偶数,记该列称为偶数列;用E/S/W/N分别代表片上网络的东南西北四个方向,NW表示从北到西的转弯,SW表示从南到西的转弯,EN表示从东到北的转弯,ES表示从东到南的转弯;
[0030]通过如下约束来避免死锁发生:
[0031]禁止奇数列节点发生NW和SW的转向,即奇数列转弯目的禁止向西;
[0032]禁止偶数列节点发生EN和ES的转向,即偶数列起始方向禁止向东;
[0033]禁止180度转向。
[0034]第二方面,本专利技术示出一种软件定义硬件的控制器,应用于TSP架构芯片,该控制器用于实现上述第一方面中任一种实施方式所示的软件定义硬件的控制方法。
[0035]本专利技术的有益效果为:
[0036]本专利技术通过合理安排任务与芯片内资源的映射,分块使用资源,使其得到更好的利用。且并不需要在芯片上保留多道程序,节省了芯片上的存储资源。同时采用对任务进行分块映射的方法,大大缩短了传输链路,提高了运行时间的同时,也提高了芯片的性能。
[0037]本专利技术采用自适应的路由算法,将确定性路由改为自适应路由,改进A*算法,并结合XY路由,避免死锁情况的发生,同时,选择一条通信距离最短的路径,以减少传输时间,保证资源的充分利用。
附图说明
[0038]利用附图对本专利技术作进一步说明,但附图中的实施例不构成对本专利技术的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
[0039]图1为本专利技术实施例所示一种软件定义硬件的控制方法的示意图;
[0040]图2为本专利技术图1实时例中的TSP芯片架构示意图;
[0041]图3为本专利技术图1实施例中的边沿映射示意图;
[0042]图4为本专利技术图1实施例中的最大剩余资源分割示意图;
[0043]图5为本专利技术图1实施例中的最大剩余资源分割示意图;
[0044]图6为本专利技术图1实施例中的最大剩余资源分割示意图;
[0045]图7为本专利技术图1实施例中的改进后的A*算法流程图。
具体实施方式
[0046]结合以下应用场景对本专利技术作进一步描述。
[0047]参见图1实施例所示一种软件定义硬件的控制方法,应用于基于张量流处理器(TSP)架构的TSP芯片,该方法包括如下步骤:
[0048]S1针对待处理任务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件定义硬件的控制方法,应用于TSP架构芯片,其特征在于,该方法包括如下步骤:S1针对待处理任务选取TSP芯片上空闲的IP核进行任务映射,并将剩余资源划分出最大剩余资源块作为下次任务映射的区域;S2当TSP片上网络中任务映射区域更新时,基于自适应路由算法更新网络中节点间的传输链路。2.根据权利要求1所述的一种软件定义硬件的控制方法,其特征在于,步骤S1具体包括:S11获取当前TSP片上网络中空闲IP核的拓扑结构信息;S12采用边沿映射的方式,沿内部网络边缘选择映射位置进行任务映射。S13采用最大剩余资源分割法,确定最优的分割方案划分出最大剩余资源块作为下次任务映射的区域。3.根据权利要求1所述的一种软件定义硬件的控制方法,其特征在于,步骤S12中,具体包括:在一片空闲矩形IP核资源上,首先从左上角开始选取空闲的IP核进行任务映射,其顺序依次为:左上、右上、右下、左下;其中在任务映射的过程中优先分配两个新任务在TSP片上网络中映射的位置不相邻。4.根据权利要求1所述的一种软件定义硬件的控制方法,其特征在于,步骤S13中,具体包括:当任务映射后,从剩余的IP核所组成的图形中,分割出一个包含IP核数最多的矩形,来作为下次任务映射的区域。5.根据权利要求1所述的一种软件定义硬件的控制方法,其特征在于,步骤S2具体包括:S21节点动态更新自身周围链路的实时状态,并维护成实时状态表;S22利用改进的A*算法,结合odd_even算法来寻找最短路径,并避免芯片死锁。6.根据权利要求5所述的一种软件定义硬件的控制方法,其特征在于,步骤S21具体包括:当TSP片上网络中出现故障或任务映射区域更新时,TSP片上网络中每个节点更新自身周围链路的实时状态并维护成节点周围链路的实时状态表;其中该实时状态表不断更新;当节点的某一...

【专利技术属性】
技术研发人员:张媛杨清海徐丽娟景泽伟
申请(专利权)人:西安电子科技大学广州研究院
类型:发明
国别省市:

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

1