[发明专利]使用经调用函数的地址的最低有效位来切换处理器模式有效
申请号: | 201380008133.7 | 申请日: | 2013-02-07 |
公开(公告)号: | CN104106044B | 公开(公告)日: | 2017-10-31 |
发明(设计)人: | 查尔斯·约瑟夫·塔伯尼;埃里克·詹姆斯·普隆迪克;卢西恩·科德雷斯库;苏雷什·K·文库马汉提;埃万德罗·卡洛斯·梅内塞斯 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/32 |
代理公司: | 北京律盟知识产权代理有限责任公司11287 | 代理人: | 宋献涛 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 调用 函数 地址 最低 有效 切换 处理器 模式 | ||
根据35U.S.C.§119主张优先权
本专利申请案主张2012年2月7日申请的标题为“使用经调用函数的地址的最低有效位来切换处理器模式(USING THE LEAST SIGNIFICANT BITS OF A CALLED FUNCTION′S ADDRESS TO SWITCH PROCESSOR MODES)”的第61/595,773号临时申请案的优先权,所述临时申请案指派给本受让人且在此以引用的方式明确地并入本文中。
技术领域
所揭示的实施例涉及在处理系统中的执行模式之间切换。更特定来说,示范性实施例针对包括至少两个指令模式的处理系统,以及用于使用经调用函数的一个或一个以上最低有效位在所述至少两个指令模式之间切换的技术。
背景技术
处理器通常经配置以支持多个执行模式。举例来说,第一执行模式可包括固定宽度的指令,而第二执行模式可支持可变宽度指令。共同地址空间可在每一模式中的指令之间共享,使得相同地址或程序计数器(PC)值可在处理器处于第一执行模式的情况下指向第一指令,且在处理器处于第二执行模式的情况下指向第二指令。因为处理器可能够在两个模式之间切换,所以有必要跟踪执行模式以确认两个指令中的哪一者由当前PC值寻址,且因此确保指令正被正确执行。
参考已知ARM处理器,ARM模式支持固定宽度(32位)指令,而THUMB模式支持可变宽度(16位和32位)指令。字节可寻址存储器中的共同地址空间可包括ARM和THUMB模式两者中的指令。然而,两个模式中的指令的对准可不同。举例来说,ARM模式指令可在32位边界对准,使得ARM模式指令的两个最低有效地址位将始终为“00”。另一方面,THUMB模式指令可在16位或32位边界对准,使得THUMB模式指令的两个最低有效地址位可为“10”或“00”。因此,单单知道地址不足以最终确定两个模式ARM或THUMB中的哪一者当前正被执行。
为跟踪哪一模式正被执行,ARM处理器采用一种方法,其包含将模式位存储在PC的最低有效位(LSB)中。THUMB模式中PC的LSB可为保留位,因为如上所述所述两个最低有效地址位为“10”或“00”且因此LSB(其在两个情况下均为“0”)可用于存储模式位。执行可在函数调用(例如,跳跃指令)时在ARM模式与THUMB模式之间切换。因此,如果跳跃指令将执行转移到包括THUMB模式中的指令的函数,那么ARM处理器通过跳跃到函数+1的地址而实施到THUMB模式的此模式改变。以此方式,THUMB模式中两个最低有效位的值为“11”或“01”,借此将其与ARM模式中两个最低有效位的“00”值区分。
虽然ARM处理器采用的以上方法实现跟踪执行模式的目标,但其具有对应局限性。举例来说,如上所述,对于到THUMB模式的每次跳跃需要加“1”。这使软件变复杂且尤其是连接器。连接器必须确定每一函数的模式且接着对于到每一函数的所有调用在常规调用与模式切换调用之间选择。另外,调试器也受到影响,因为调试器将需要跟踪正从调试器内调用的函数以确定这些函数是ARM还是THUMB函数,以便分别确定跳跃到函数的PC值还是跳跃到函数+1的PC值。
与以上方法相关联的又一缺点源自使用PC的LSB来存储模式位。因为LSB用于表示所述模式,所以LSB不再是实际地址的一部分。因此,如果ARM处理器将向THUMB模式包含8位和24位指令,那么THUMB模式中每个函数的开始点将仍需要16位对准以便促进模式跟踪。这将必须在函数开始之前需要所有函数的约一半来引入8位空操作指令(nop)以便将函数中的第一指令与16位边界对准。
例如MIPS和PowerPC等其它已知处理器架构面临与在执行模式之间切换相关的类似挑战,且采用类似有缺点的方法来处置这些挑战。相应地,现有架构展现其在执行模式之间跟踪和切换的方法中的缺点。举例来说,一些方法涉及使用存储在相关联存储器管理单元(MMU)中的指令的PC值来确定指令的执行模式,因为MMU中的任何页可属于任一模式。使用页属性来确定模式的增加的硬件成本方面的缺点是,模式位占据MMU的页表条目中的额外空间,且常规页表条目的大小存在限制。使用页属性来确定模式的软件成本方面的缺点包含使加载器变复杂,将必须确定页被推测处于哪一模式且接着填充所述页的页表条目中的适当位。此外,调试器将必须查找特定页的页表中的条目(在其可分解所述页中的指令之前)。其它已知方法同样存在缺陷,其包含用于使用所保留操作代码(OpCode)位确定与地址相关联的模式的特定程序代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380008133.7/2.html,转载请声明来源钻瓜专利网。