[发明专利]一种避免寄存器冲突的方法及装置在审
| 申请号: | 201310719460.5 | 申请日: | 2013-12-23 |
| 公开(公告)号: | CN104731555A | 公开(公告)日: | 2015-06-24 |
| 发明(设计)人: | 姜海明;王治春 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F11/00 |
| 代理公司: | 深圳鼎合诚知识产权代理有限公司 44281 | 代理人: | 薛祥辉 |
| 地址: | 518057 广东省深圳市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 避免 寄存器 冲突 方法 装置 | ||
技术领域
本发明涉及计算机领域,特别涉及一种避免寄存器冲突的方法及装置。
背景技术
现今计算机、手机、平板电脑等电子设备的使用已经非常的普遍,这些电子设备中的软件都是由编程人员编写的程序组成的。在程序中会使用到变量,变量通常存储于寄存器中,以微码为例,微码是程序的一种,它是存储于网络处理器中的指令集,驻留于网络处理器的微引擎中,是整个数据转发层面的核心。寄存器是网络处理器微引擎中的重要资源,微码编程利用寄存器存储一些临时变量,根据转发逻辑实现各种业务。在程序中,每个变量在寄存器中都有各自的生命周期,即从开始使用该变量到该变量不再使用之间的指令周期间隔。因程序中的变量会有多个,寄存器的数量又有限,所以经常会将多个变量放置于同一个寄存器中,如果同一寄存器的两个变量的生命周期出现重叠,就会出现寄存器冲突的情况。
由于编程人员在编写程序的过程中,并不知道寄存器的使用情况,所以在定义变量的时候,经常是凭感觉确定寄存器的使用情况,这样导致的后果就是经常会出现寄存器冲突的情况。
发明内容
本发明要解决的主要技术问题是,提供了一种避免寄存器冲突的方法及装置,能够避免在程序运行的过程中寄存器发生冲突。
为解决上述技术问题,本发明提供一种避免寄存器冲突的方法,包括:获取程序在寄存器中各变量的生命周期;检测所述寄存器中各变量的生命周期是否重叠,如是,则进行告警。
在本发明的一种实施例中,获取程序在寄存器中各变量的生命周期的步骤包括:利用正则表达式对程序进行解析获取寄存器中各变量的生命周期。
在本发明的一种实施例中,利用正则表达式对程序进行解析获取寄存器中各变量的生命周期的步骤包括:利用正则表达式对程序变量定义部分进行解析,获取程序的各变量及其寄存器定义;利用正则表达式对程序指令行进行解析,获取各个变量的生命周期;根据程序的各变量及其寄存器定义、各个变量的生命周期统计各个寄存器中各变量的生命周期。
在本发明的一种实施例中,所述进行告警的步骤包括:通过脚本向用户提示错误来实现告警。
在本发明的一种实施例中,所述方法还包括:当所述寄存器中各变量的生命周期没有重叠时,输出所述程序在寄存器中各变量的生命周期到文本文件中。
本发明还提供了一种避免寄存器冲突的装置,包括:获取模块、检测模块及告警模块;获取模块用于获取程序在寄存器中各变量的生命周期;检测模块用于检测所述寄存器中各变量的生命周期是否重叠,如是,则发送通知给告警模块;告警模块用于在收到检测模块发送的通知后进行告警。
在本发明的一种实施例中,获取模块还包括解析模块,解析模块利用正则表达式对程序进行解析获取寄存器中各变量的生命周期。
在本发明的一种实施例中,解析模块包括第一获取模块、第二获取模块及统计模块;第一获取模块利用正则表达式对程序变量定义部分进行解析,获取程序的各变量及其寄存器定义;第二获取模块利用正则表达式对程序指令行进行解析,获取各个变量的生命周期;统计模块用于根据程序的各变量及其寄存器定义、各个变量的生命周期统计各个寄存器中各变量的生命周期。
在本发明的一种实施例中,告警模块通过脚本向用户提示错误来实现告警。
在本发明的一种实施例中,该装置还包括文本输出模块;当寄存器中各变量的生命周期没有重叠时,检测模块将告知文本输出模块,文本输出模块用于输出程序在寄存器中各变量的生命周期到文本文件中。
本发明的有益效果是:
本发明提供的一种避免寄存器冲突的方法及装置,能够避免在程序运行的过程中寄存器发生冲突。本发明的方法具体包括:获取程序在寄存器中各变量的生命周期;检测所述寄存器中各变量的生命周期是否重叠,如是,则进行告警;本发明的方法可以在编程过程中或编写好程序的初稿后,获取寄存器中程序各变量具体的生命周期,当发现寄存器中有变量重叠时,便对编程人员进行告警,使编程人员获知寄存器存在冲突,从而才能及时地对程序进行修改,使程序在各寄存器中的变量不再重叠,与现有技术相比,本发明的方法能够有效地避免在程序运行的过程中寄存器发生冲突的情况,提高编程的效率。
附图说明
图1为本发明实施例一提供的方法的流程示意图;
图2为本发明实施例三提供的方法的流程示意图;
图3为本发明实施例三提供的微码文件的部分内容;
图4为本发明实施例三提供的输出的变量生命周期的文本文件;
图5为本发明实施例四提供的装置的结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司;,未经中兴通讯股份有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310719460.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于操作系统的数据处理系统和方法
- 下一篇:一种屏幕刷新率的显示方法和装置





