[发明专利]执行程序的方法、验证程序结果的方法、装置及系统无效
| 申请号: | 200910086337.8 | 申请日: | 2009-05-31 |
| 公开(公告)号: | CN101571810A | 公开(公告)日: | 2009-11-04 |
| 发明(设计)人: | 徐华;温赟;杨甲东;万伟 | 申请(专利权)人: | 清华大学 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F17/50 |
| 代理公司: | 北京三高永信知识产权代理有限责任公司 | 代理人: | 何文彬 |
| 地址: | 10008*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 执行 程序 方法 验证 结果 装置 系统 | ||
1.一种执行程序的方法,其特征在于,所述方法包括:
顺序扫描源程序的文本文件中的指令;
读取所述指令的名称、所述指令的操作数、所述指令所属的定界符以及所属的程序块;
计算所述定界符的执行时间;
获取所述操作数的存储空间和读写属性;
将所述指令的名称、所述指令的操作数、所述指令所属的定界符以及所属的程序块、所述定界符的执行时间、所述操作数的存储空间和读写属性作为指令信息;
建立串行队列;
从所述指令信息的程序块的主程序块为入口,顺序扫描所述指令信息中的定界符包括的指令;
将所述定界符作为节点加入到所述串行队列,其中,将所述定界符的执行时间作为所述节点的权重;
判断所述指令是否为调用CALL指令,如果所述指令为CALL指令,则跳入所述CALL指令调用的程序块,扫描所述程序块中的定界符包括的指令;
将所述串行队列中的节点存入并行时序图中;
在所述串行队列中,设置指针1指向队头节点,设置指针2指向所述指针1指向的节点的下一个节点;
根据操作数的存储空间和读写属性,判断所述指针1指向的节点与所述指针2指向的节点是否存在数据依赖关系,如果存在,在所述并行时序图中,在所述指针1指向的节点与所述指针2指向的节点之间加入有向边,方向为所述指针1指向的节点指向所述指针2指向的节点,在所述串行队列中,重新设置所述指针2指向下一个节点;
如果不存在,在所述串行队列中,重新设置所述指针2指向下一个节点;
根据所述并行时序图,并行执行所述源程序;
其中,所述源程序由一个或多个程序块组成,所述程序块由一个或多个定界符组成,所述定界符由一条或多条指令组成。
2.如权利要求1所述的方法,其特征在于,所述根据所述串行队列,构造并行时序图之后,所述方法还包括:
通过拓扑排序算法对所述并行时序图中的节点进行遍历,将已遍历的节点加入队列中,读取正在遍历的节点的后继节点;
从所述队列中查找是否存在所述后继节点的前趋节点,如果存在,则标注所述前趋节点与所述后继节点之间的有向边为冗余边,将所述正在遍历的节点加入所述队列,通过所述拓扑排序算法遍历下一个节点;
如果不存在,则将所述正在遍历的节点加入所述队列,通过所述拓扑排序算法遍历下一个节点;
从所述并行时序图中去除冗余边。
3.如权利要求1所述的方法,其特征在于,所述根据所述并行时序图,并行执行所述源程序,具体包括:
将所述并行时序图分解成连通分量;
将所述连通分量分配给CPU,由所述CPU执行所述连通分量的节点。
4.如权利要求1所述的方法,其特征在于,所述根据所述并行时序图,并行执行所述源程序,具体包括
将所述并行时序图分解成连通分量;
根据节点的权重,查找所述连通分量的关键路径;
根据所述关键路径,从所述连通分量中划分节点,将所述划分的节点分配给CPU,由所述CPU执行所述划分的节点;
将所述连通分量组成新的并行时序图;
根据节点的权重,从所述新的并行时序图中,寻找关键路径;
根据所述寻找的关键路径,从所述新的并行时序图中分离节点,将所述分离的节点分配给所述CPU,由所述CPU执行所述分离的节点。
5.一种验证程序结果的方法,其特征在于,所述方法包括:
根据并行时序图,创建Petri网模型;
在所述Petri网模型中的第一个库节点中设置初始标志;
设置指针指向程序执行序列中的第一个节点;
将所述指针指向的节点映射到所述Petri网模型中对应的变迁节点;
判断所述变迁节点的前库节点中是否存在所述初始标志,如果否,则返回程序结果出错的信息;
如果是,将所述初始标志移入所述变迁节点的后库节点,判断所述程序执行序列是否还存在其他的节点,如果是,设置所述指针指向下一个节点,如果否,返回程序结果正确的信息。
6.如权利要求5所述的方法,其特征在于,所述根据并行时序图,创建Petri网模型,具体包括:
将所述并行时序图中的节点转换成Petri网模型中变迁节点;
根据所述并行时序图的拓扑结构,连接所述Petri网模型中的变迁节点;
简化所述Petri网模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910086337.8/1.html,转载请声明来源钻瓜专利网。





