[发明专利]一种可重构阵列处理器的指令调度系统及方法有效
申请号: | 202011053339.X | 申请日: | 2020-09-29 |
公开(公告)号: | CN111897580B | 公开(公告)日: | 2021-01-12 |
发明(设计)人: | 朱科嘉;张振;欧阳鹏 | 申请(专利权)人: | 北京清微智能科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京索睿邦知识产权代理有限公司 11679 | 代理人: | 李根 |
地址: | 100192 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可重构 阵列 处理器 指令 调度 系统 方法 | ||
1.一种可重构阵列处理器的指令调度方法,其特征在于,包括:
步骤S101,判断数据流图中节点的扇出数是否小于可重构阵列中处理单元实际的互联数,若是,则继续步骤S102,若否,则返回本步骤,直到数据流图中节点的扇出数小于可重构阵列中处理单元实际的互联数为止;所述数据流图中的节点为指令节点;
步骤S102,建立所述数据流图中的节点和所述可重构阵列中处理单元的相关算子对应关系,形成重定时不等式组;
根据所述不等式组的解在所述数据流图中的有向边上引入标记算子所需寄存器,在引入标记算子所需寄存器后,获取所述数据流图中的各节点的重定时值,以使数据流图中的各节点转换为处理单元的抽象模型;
步骤S103,根据所述各指令节点的重定时值,将当前的多个指令节点所对应的指令按照对应的重定时值从小到大的顺序进行排列,获取指令的发射时间与调度顺序;
步骤S104,根据所述数据流图的初始迭代周期对所述数据流图折叠;若一个第一时刻上并行发射的所述数据流图的指令节点大于所述可重构阵列中处理单元所连接单元的数量,则会将依赖数前序指令最小的指令放置于所述第一时刻之后的时刻对应的指令节点;
若所有时刻都满足约束后,若一个或多个指令节点与其前序依赖指令节点之间发射时间间隔大于设定时间间隔,则在所述一个或多个指令节点与其前序依赖指令节点之前插入寄存器,以打断其依赖关系获取当前数据流图;所述寄存器的数量与迭代周期与时间间隔相对应;
步骤S105,根据所述当前数据流图通过最大团算法获取所述当前数据流图与可重构阵列的公共最大子集;若最大子集数量等于数据流图的节点数,则分发所述指令节点对应的指令。
2.根据权利要求1所述的指令调度方法,其特征在于,所述步骤S101前还包括:
步骤S100,输入数据流图;所述数据流图是一个包含运算指令以及指令之间依赖关系的图数据结构;所述运算指令构成图的节点;所述依赖关系形成图的有向边。
3.根据权利要求1或2所述的指令调度方法,其特征在于,所述步骤S102中还包括:
步骤S201,根据所述数据流图获取所述数据流图的节点;
步骤S202,根据和所述可重构阵列中处理单元信息获取所述处理单元的相关算子。
4.根据权利要求3所述的指令调度方法,其特征在于,所述设定时间间隔为1s~2s。
5.根据权利要求1所述的指令调度方法,其特征在于,所述步骤S105中还包括:
步骤S301,根据所述当前数据流图输出当前指令队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京清微智能科技有限公司,未经北京清微智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011053339.X/1.html,转载请声明来源钻瓜专利网。