[发明专利]基于控制流图推导地址的方法、装置及可读存储介质在审
| 申请号: | 202010550699.4 | 申请日: | 2020-06-16 |
| 公开(公告)号: | CN113805938A | 公开(公告)日: | 2021-12-17 |
| 发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F8/41 |
| 代理公司: | 北京维昊知识产权代理事务所(普通合伙) 11804 | 代理人: | 李波;孙新国 |
| 地址: | 100191 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 控制 推导 地址 方法 装置 可读 存储 介质 | ||
1.一种基于控制流图推导地址的方法,所述控制流图包括多个基本块,所述多个基本块包括至少一条指令,所述指令包含的指针载有地址,所述方法包括:
遍历所述多个基本块,获得所述指针的所有可能的地址空间;
判断所述所有可能的地址空间是否推演至单一地址空间;以及
如是,设定所述指针访问所述地址空间。
2.根据权利要求1中所述的方法,所述方法还包括:
如否,设定指针为通用地址访问。
3.根据权利要求2所述的方法,还包括:
判断所述指针是否涉及函数调用;以及
如涉及函数调用,设定指针为通用地址访问。
4.根据权利要求2或3所述的方法,所述多个基本块访问第一内存及第二内存,所述第一内存的存储空间是由第一地址至第二地址所定义,所述第二内存的存储空间是由第三地址至第四地址所定义,所述方法还包括:
判断所述通用地址是否落在所述第一地址与所述第二地址间;
如落在所述第一地址与所述第二地址间,则设定第一变量为真;
如未落在所述第一地址与所述第二地址间,则设定所述第一变量为假;
判断所述第一变量是否为真;以及
如所述第一变量为真,则设定所述指针访问所述第一内存。
5.根据权利要求4所述的方法,其中所述第三地址为所述第二地址加一。
6.根据权利要求5所述的方法,其中如所述第一变量为假,则设定所述指针访问所述第二内存。
7.根据权利要求5所述的方法,其中所述判断所述通用地址的步骤包括:
判断所述通用地址是否小于所述第三地址。
8.根据权利要求4所述的方法,其中所述多个基本块还访问第三内存,所述第三内存的存储空间是由第五地址至第六地址所定义,所述方法还包括:
判断所述通用地址是否落在所述第五地址与所述第六地址间;
如所述通用地址落在所述第五地址与所述第六地址间,则设定第二变量为真;
判断所述第二变量是否为真;以及
如所述第二变量为真,则设定所述指针访问所述第三内存。
9.根据权利要求8所述的方法,其中所述第三地址为所述第二地址加一,所述第五地址为所述第四地址加一。
10.根据权利要求9所述的方法,其中所述判断所述通用地址是否落在所述第五地址与所述第六地址间的步骤包括:
判断所述通用地址是否大于所述第四地址。
11.根据权利要求8所述的方法,还包括:
如所述通用地址未落在所述第五地址与所述第六地址间,则设定所述第二变量为假;
其中,如所述第一变量及所述第二变量皆为假,则设定所述指针访问所述第二内存。
12.根据权利要求8所述的方法,还包括:
设定第三变量为真;
如判断所述第一变量为真,则设定第三变量为假;
如判断所述第二变量为真,则设定第三变量为假;
判断所述第三变量是否为真;以及
如所述第三变量为真,则设定所述指针访问所述第二内存。
13.根据权利要求1所述的方法,其中所述判断步骤包括:
获得所述指针在所有基本块中的指针变量;
判断所述指针变量是否均对应至所述地址空间。
14.根据权利要求1所述的方法,其中所述设定步骤在所述多个基本块汇合后执行。
15.根据权利要求1所述的方法,其中重复执行所述遍历步骤、所述判断步骤及所述设定步骤,直至所述指针的地址不变。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010550699.4/1.html,转载请声明来源钻瓜专利网。





