[发明专利]一种微处理器子程序调用的处理方法及其装置有效
申请号: | 201110300283.8 | 申请日: | 2011-09-28 |
公开(公告)号: | CN102360283A | 公开(公告)日: | 2012-02-22 |
发明(设计)人: | 张铁军;王东辉;王琪;洪缨;侯朝焕 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 微处理器 子程序 调用 处理 方法 及其 装置 | ||
1.一种微处理器子程序调用的处理方法,其特征在于包括以下步骤:
获取子程序调用类指令,所述子程序调用类指令携带无符号立即数;
从所述子程序调用类指令中提取所述无符号立即数;
根据所述无符号立即数得到延迟槽内的指令总数;
根据所述延迟槽内的指令总数得到所述子程序调用类指令的返回地址。
2.根据权利要求1所述的方法,其特征在于:所述无符号立即数在程序编译阶段,根据处理器可调用的延迟槽中指令数目计算获得。
3.根据权利要求1所述的方法,其特征在于:所述根据所述无符号立即数得到延迟槽内的指令总数是通过公式Ninst_delay_slot=Ndelay_slot+uimmm计算获得,其中Ninst_delay_slot是延迟槽内的指令总数,Ndelay_slot是指令延迟槽数,uimmm是所述无符号立即数。
4.根据权利要求3所述的方法,其特征在于:所述Ninst_delay_slot大于等于Ndelay_slot,且小于等于Ndelay_slot与Nissue的乘积,其中Nissue是处理器同时发射指令数目。
5.根据权利要求1所述的方法,其特征在于:所述根据所述延迟槽内的指令总数得到子程序调用类指令的返回地址是通过公式retPC=PCcall_package_end+Ninst_delay_slot*(Linst/Step)获得,其中retPC是子程序返回地址,PCcall_package_end是所述子程序调用类指令所在执行包的最后一条指令地址,Linst是所述子程序调用类指令的编码位长,Step代表处理器的最小寻址单元位长。
6.一种微处理器子程序调用的处理装置,其特征在于包括:
获取单元,获取子程序调用类指令,所述子程序调用类指令携带无符号立即数;
提取单元,从所述子程序调用类指令中提取所述无符号立即数;
计算单元,根据所述无符号立即数得到延迟槽内的指令总数,通过所述延迟槽内的指令总数得到子程序调用类指令的返回地址。
7.根据权利要求6所述的装置,其特征在于:所述计算单元根据公式Ninst_delay_slot=Ndelay_slot+uimmm得到延迟槽内的指令总数,其中Ninst_delay_slot是延迟槽内的指令总数,Ndelay_slot是指令延迟槽数,uimmm是所述无符号立即数。
8.根据权利要求6所述的装置,其特征在于:所述计算单元根据公式retPC=PCcall_package_end+Ninst_delay_slot*(Linst/Step)得到子程序调用类指令的返回地址,其中retPC是子程序返回地址,PCcall_package_end是所述子程序调用类指令所在执行包的最后一条指令地址,Linst是所述子程序调用类指令的编码位长,Step代表处理器的最小寻址单元位长。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110300283.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:软件项目进度管理方法及系统
- 下一篇:制冷灯