[发明专利]非易失处理器备份容量设定、内存备份方法及系统有效
申请号: | 201710038269.2 | 申请日: | 2017-01-16 |
公开(公告)号: | CN106844103B | 公开(公告)日: | 2019-05-21 |
发明(设计)人: | 赵梦莹;李静;贾智平;蔡晓军;鞠雷;刘勇攀;薛春 | 申请(专利权)人: | 山东大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F3/06 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 黄海丽 |
地址: | 250061 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 非易失 处理器 备份 容量 设定 内存 方法 系统 | ||
1.非易失处理器内存备份方法,其特征是,包括如下步骤:
步骤(1):将原二进制程序反汇编成反汇编程序,依据反汇编程序中指令的先后关系建立程序控制流程图CFG;CFG是control flow graph的缩写;
步骤(2):依据控制流程图CFG建立整个程序的拓扑序列表Seq,依据拓扑序列表Seq的拓扑顺序对每一条指令进行栈版本分析;输出存储整个程序的栈版本表SL和每条指令的栈的版本集合SVS;
步骤(3):建立剩余能量分配模型;依据剩余能量分配模型进行可行备份点选择;
步骤(4):设计栈备份所需的非易失存储器NVM空间;
步骤(5):利用启发式算法来确定备份标签的位置:备份标签的作用是为了接收到能量警告信号后,先让程序继续执行,直到遇到标签再触发备份操作。
2.如权利要求1所述的非易失处理器内存备份方法,其特征是,
所述步骤(1)中:
将反汇编程序分为四大类:无条件跳转指令、条件跳转指令、函数调用指令和顺序执行指令;
依据每条指令的实现功能,建立每条指令的入边集合和出边集合,所述入边集合包括当前指令的所有前一条指令的集合;当前指令的前一条指令有一种或多种;所述出边集合包括当前指令的所有后一条指令的集合;当前指令的后一条指令有一种或多种;
控制流程图CFG是个有向图,控制流程图中每一个点就是一条指令,依据每条指令的前继和后继关系,用箭头表示指令之间的先后依赖关系,然后构建出整个程序的CFG。
3.如权利要求2所述的非易失处理器内存备份方法,其特征是,
所述步骤(2)中:
步骤(21):假设SVS表示每条指令的栈的版本集合,SL表示存储整个程序的栈版本表,lp表示循环次数,先进行变量初始化;
步骤(22):根据指令是否对栈的存储空间大小产生影响,将指令分为stack-affected指令和stack-unaffected指令;stack-affected指令指的是指令执行将影响栈大小的指令;
stack-unaffected指令指的是指令执行但不会影响栈大小的指令;
步骤(23):依据控制流程图CFG建立整个程序的拓扑序列表Seq;
拓扑序列表就是依据CFG中指令的先后依赖关系建立的一张序列表;在建立拓扑序列表的过程中,不考虑循环回跳边;
步骤(24):依据拓扑序列表Seq的拓扑顺序对每一条指令进行分析;
若当前指令是stack-unaffected指令,则当前指令直接继承前一条指令的栈的版本集合SVS;
若当前指令是stack-affected指令,进一步分析当前指令的执行对栈的影响且是否会产生新版本的栈,若产生则对存储整个程序的栈版本表SL和当前指令的栈的版本集合SVS做相应的修改;若未产生则进入步骤(25);
步骤(25):重复步骤(24),执行lp次,结束;
步骤(26):最后输出存储整个程序的栈版本表SL和每条指令的栈的版本集合SVS。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710038269.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:网架升降自动控制装置
- 下一篇:拦阻网升降装置