[发明专利]用于经频繁调用函数的表调用指令有效
| 申请号: | 201280040631.5 | 申请日: | 2012-07-19 |
| 公开(公告)号: | CN103748549A | 公开(公告)日: | 2014-04-23 |
| 发明(设计)人: | 埃里克·詹姆斯·普隆迪克;卢奇安·科德雷斯库;查尔斯·约瑟夫·塔伯尼;阿贾伊·阿南特·英格尔;苏雷什·K·文库马汉提;埃万德罗·卡洛斯·梅内塞斯 | 申请(专利权)人: | 高通股份有限公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30 |
| 代理公司: | 北京律盟知识产权代理有限责任公司 11287 | 代理人: | 宋献涛 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 频繁 调用 函数 指令 | ||
技术领域
本发明大体上涉及用于经频繁调用函数的表调用指令。
背景技术
技术的进步已经带来更小且更强大的计算装置。举例来说,当前存在多种便携式个人计算装置,包含无线计算装置,例如较小、轻重量且易于由用户携带的便携式无线电话、个人数字助理(PDA)和寻呼装置。更具体来说,便携式无线电话(例如,蜂窝式电话和因特网协议(IP)电话)可经由无线网络传递语音和数据包。此外,许多此类无线电话包含并入其中的其它类型装置。举例来说,无线电话还可包含数字静态相机、数字摄像机、数字记录器和音频文件播放器。而且,此类无线电话可处理可执行指令,其包含可用以接入因特网的软件应用程序,例如,网页浏览器应用程序。因而,这些无线电话可包含显著的计算能力。
随着例如无线电话等电子装置的计算能力的提高,用于实施各种应用程序的函数的数目可显著地增大。当应用程序是经编译且链接的时,输出代码的大部分可为函数调用且可导致较大的总体代码大小。
发明内容
揭示了包含操作码和操作数的基于表的函数调用指令。所述操作数可指定立即值,其中所述立即值识别特定函数的函数调用地址的位置。或者,所述操作数可指定寄存器的寄存器指示符,且所述函数调用地址的位置可存储在所述寄存器中而不是被直接编码到指令中。所述函数调用地址可从存储在表中的多个函数调用地址中选择。可产生函数调用地址的表且所述表可基于对应于包含在所述表中的函数调用地址的函数被调用的频繁程度来分类。所述表可在链接时间期间或者在编译时间产生和分类。当表调用指令的长度小于通用函数调用指令的长度时,可实现代码大小的减小。
作为实例,32位通用函数调用指令可包含8位操作码和24位地址或地址偏移。在应用程序的编译(或链接)期间,编译器(或链接器)可识别应用程序的16个最经频繁调用函数。可产生包含那16个函数的函数调用地址的表,且所述表可使用4位表索引来标引。函数的函数调用地址可为函数的第一指令的地址(即,当函数被调用时“跳转到”的地址)。用于调用16个最经频繁调用函数的通用函数调用指令可用本文揭示的表调用指令来替换,且处理所述表调用指令可加载且跳转到从所述表检索的适当的函数调用地址。举例来说,表调用指令可为包含4位操作码和4位操作数的8位指令。当4位操作数是立即值时,所述4位操作数可表示到函数调用地址的16条目表的索引。当4位操作数是寄存器指示符时,所述4位操作数可指定16个寄存器中的在所述表中存储偏移的一个寄存器。因此,每次通用32位函数调用指令由8位表调用指令替换时可实现24位的节省。应注意存储在所述表中的函数调用地址的数目可小于或大于16。在一些实施方案中,所述表可存储在基于高速缓冲存储器的存储器中,且特殊寄存器(例如,存储全局指针的寄存器)可用于存取所述表。
在特定实施例中,一种设备包含存储指令的存储器。所述指令包含操作码和操作数。所述操作数指定立即值或存储所述立即值的寄存器的寄存器指示符。所述立即值可用于识别从多个函数调用地址中选择的函数调用地址。
在另一特定实施例中,一种方法包含在处理元件处处理指令以产生操作码和操作数。所述操作码识别表函数调用指令,且所述操作数识别立即值或存储所述立即值的寄存器的寄存器指示符。所述立即值可用于识别可从多个函数调用地址中选择的函数调用地址。所述方法包含使用所述立即值作为到表中的索引以识别所述函数调用地址。
在另一特定实施例中,非暂时性计算机可读媒体包含程序代码,所述程序代码在由处理器执行时致使处理器从指令代码产生操作码和操作数。所述操作码识别表函数调用指令。所述操作数指定立即值或存储所述立即值的寄存器的寄存器指示符。所述立即值可用以识别可从多个函数调用地址中选择的函数调用地址。所述非暂时性计算机可读媒体进一步包含程序代码,所述程序代码在由处理器执行时致使处理器使用所述立即值作为到表中的索引以识别函数调用地址且跳转到所述识别的函数调用地址。
在另一特定实施例中,一种设备包含用于存储指令的装置以及用于处理所述指令以产生操作码和操作数的装置。所述操作数指定立即值或存储所述立即值的寄存器的寄存器指示符。所述立即值可用以识别可从多个函数调用地址中选择的函数调用地址,且所述用于处理的装置跳转到所述识别的函数调用地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280040631.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:跟踪数据块操作
- 下一篇:用于多屏幕观看的内容分发的方法和装置





