[发明专利]一种指令优化方法有效
申请号: | 201810328972.1 | 申请日: | 2018-04-13 |
公开(公告)号: | CN108733410B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 熊蕙;陈宏君;张磊;文继锋;谭良良;周磊;徐睿;曾凯;刘坤;顾熹;谭林丰 | 申请(专利权)人: | 南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 葛潇敏 |
地址: | 211102 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 优化 方法 | ||
本发明公开一种指令优化方法,包括如下步骤:步骤1,获取结构化文本程序编译后的指令文件,获取数据区、指令区内容;步骤2,分析数据区,提取变量信息;步骤3,分三次遍历指令区,依次采用赋值优化、代数简化、引用点处理的优化方法,对指令进行合并、删除、调整操作;步骤4,将优化后的数据、指令信息存储为文件。此种优化方法可在ST程序编译后,通过分析既定格式的指令文件,进行指令的可靠快速优化,提高程序运行效率。
技术领域
本发明属于工业控制编程领域,具体涉及结构化文本编译后指令优化处理方法。
背景技术
IEC61131是国际电工委员会(IEC)颁布的可编程控制器(PLC)国际标准,规范可编程控制器编程工具和应用控制程序的开发。IEC61131-3定义了结构化文本(ST)语言,ST是一种是类似于Pascal的高级编程语言,特别适合复杂的算法技术,程序结构清晰,便于编程人员和操作维护人员进行算法沟通。结构化文本需要转换为装置可运行的指令文件才能运行。在嵌入式装置解释执行二进制指令时,对实时性要求很高。常用的编译器通常是在编译阶段进行优化,但由于局限于局部函数的优化,欠缺整体的考虑,而且采用的优化方法是个黑盒子,存在漏洞且无法验证对比分析。因此,需要一种快速、安全、可靠、高效、独立的指令优化方法,本案由此产生。
发明内容
本发明的目的,在于提供一种指令优化方法,其可在ST程序编译后,通过分析既定格式的指令文件,进行指令的可靠快速优化,提高程序运行效率。
为了达成上述目的,本发明的解决方案是:
一种指令优化方法,包括如下步骤:
步骤1,获取结构化文本程序编译后的指令文件,获取数据区、指令区内容;
步骤2,分析数据区,提取变量信息;
步骤3,分三次遍历指令区,依次采用赋值优化、代数简化、引用点处理的优化方法,对指令进行合并、删除、调整操作;
步骤4,将优化后的数据、指令信息存储为文件。
上述步骤1中,编译后的指令文件包括文件头、数据区和指令区,数据区中包括引用的外部变量、ST程序定义的变量、编译产生的临时变量,指令区采用三地址码表达式。
上述指令区三地址码表达式的格式是:指令类型、左操作数在数据区地址、右操作数在数据区地址。
上述步骤3中,赋值优化的具体内容是:对于右值变量都为常量类型的指令,直接计算常量表达式,并将运算指令修改为赋值指令;对于赋值指令,若赋值的右值变量为临时变量,并且该临时变量为前一条指令的左值变量,则删除该条赋值语句,将前一条指令的左值变量修改为被删除的赋值指令的左值变量。
上述步骤3中,代数简化的具体内容是:若加法指令的加数为0,则修改为赋值指令;若减法指令的减数为0,则修改为赋值指令;若乘法指令的乘数为0,则修改为赋值为0的指令;若乘法指令的乘数为1,则删除该指令;若除法指令的除数为1,则删除该指令;若或运算的1个右值形参为FALSE,则修改为赋值指令;若或运算的1个右值形参为TRUE,则修改为赋值为TRUE的指令;若与运算的1个右值形参为FALSE,则修改为赋值为FALSE的指令;若与运算的1个右值形参为TRUE,则修改为赋值指令。
上述步骤3中,引用点处理的具体内容是:统计各条指令的左值变量在后续指令中被作为右值变量的计数,若引用计数为0,则删除该条指令。
上述步骤4后,还包括:反汇编优化前后的指令文件,进行伪指令的文本对比,实现优化前后的白盒验证。
采用上述方案后,本发明具有如下有益效果:通过对编译后的指令进行快速扫描和优化,通过多个实测样本数据统计,可提升20%的运行速度,提高了嵌入式装置程序运行时的效率,满足了工控实时性要求。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司,未经南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810328972.1/2.html,转载请声明来源钻瓜专利网。