[发明专利]一种基于依赖网格的指令级并行调度方法有效
申请号: | 201510135304.3 | 申请日: | 2015-03-26 |
公开(公告)号: | CN104699464B | 公开(公告)日: | 2017-12-26 |
发明(设计)人: | 陈书明;胡勇华;孙海燕;王霁;扈啸 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 湖南兆弘专利事务所(普通合伙)43008 | 代理人: | 周长清 |
地址: | 410073 湖南省长沙市砚瓦池正街47号中国*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 依赖 网格 指令 并行 调度 方法 | ||
1.一种基于依赖网格的指令级并行调度方法,其特征在于,步骤包括:
1)在VLIW体系结构下,获取目标基本块中指令之间的数据依赖关系以及各指令所对应的功能单元的信息,根据所述数据依赖关系设置并计算各指令的数据依赖优先级值;
2)按所述数据依赖优先级值以及功能单元划分各指令,将划分得到的结果按网格形式进行存储,建立得到指令与数据依赖优先级、以及指令与功能单元之间依赖关系的依赖网格;
3)按照步骤2)得到的依赖网格中指令的数据依赖优先级、指令与功能单元之间的依赖关系进行指令间的并行性分析;
步骤2)的具体实施步骤为:
2.1)遍历各指令,并将各指令按照数据依赖优先级划分为多个指令组;
2.2)遍历所述步骤2.1)得到的各指令组,将各指令组中所有已确定对应物理功能单元的第一目标指令按照所对应的所述物理功能单元进行划分,得到多个第一指令子组;将各指令组中所有未确定对应物理功能单元的第二目标指令按照所对应的组合功能单元进行划分,得到多个第二指令子组;
2.3)构建一个用于存储所述第一指令子组、第二指令子组的二维表结构,所述二维表中行向量对应指令的各数据依赖优先级,每行的行号对应数据依赖优先级值,列向量分为对应各物理功能单元的第一部分、对应各组合功能单元的第二部分,每个数据依赖优先级值与一个物理功能单元或组合功能单元对应所述二维表的一个网格单元格;将各所述第一指令子组按照数据依赖优先级值、物理功能单元分别保存至所述二维表的第一部分各网格单元格中,将各所述第二指令子组按照数据依赖优先级、组合功能单元分别保存至所述二维表的第二部分各网格单元格中,由所述二维表的第一部分、第二部分构成指令与数据依赖优先级、以及指令与功能单元之间依赖关系的依赖网格。
2.根据权利要求1所述的基于依赖网格的指令级并行调度方法,其特征在于,所述步骤1)中获取各指令所对应的功能单元的信息的具体实施步骤为:查询目标基本块中所有已确定对应物理功能单元的第一目标指令,并获取每条所述第一目标指令对应的物理功能单元的信息;查找基本块中所有未确定对应物理功能单元的第二目标指令,并获取每条所述第二目标指令对应的多种组合功能单元的信息,所述组合功能单元为由所述第二目标指令对应的所有物理功能单元所构成的可能组合。
3.根据权利要求1所述的基于依赖网格的指令级并行调度方法,其特征在于,步骤1)中计算各指令的数据依赖优先级值的具体实施步骤为:
1.1)分别为各指令定义一个数据依赖优先级值并初始化为0;
1.2)从第二条指令开始,依次遍历基本块中各条指令计算对应的数据依赖优先级值,每条指令计算时,按逆序遍历从当前指令的前一条指令开始到首条指令的所有目标指令,判断目标指令中是否存在与当前指令有依赖关系的依赖指令,如果有这样的依赖指令,将查找到的所有所述依赖指令中最大的数据依赖优先级值加1后作为当前指令的数据依赖优先级值。
4.根据权利要求3所述的基于依赖网格的指令级并行调度方法,其特征在于,所述步骤1.2)中查找出所有与当前指令有依赖关系的指令的具体实施步骤为:
1.21)将当前指令中任意一个源变量作为目标源变量,在当前指令之前的所有指令中查找出对目标源变量进行最后一次定值的指令,得到目标源变量的最后一次定值指令,并将所述最后一次定值指令作为一条与当前指令有依赖关系的依赖指令;
1.22)取下一个源变量作为目标源变量,重复执行步骤1.21),直至完成对当前指令中所有源变量的最后一次定值指令的查找,得到所有与当前指令有依赖关系的依赖指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510135304.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种客户端以及该客户端的界面生成方法
- 下一篇:线程偏差计数器