本发明专利技术揭示用于在处理系统中的执行模式之间进行跟踪和切换的系统和方法。处理系统经配置以在包含选自经典/对准模式和压缩/未对准模式的第一和第二执行模式的至少两个指令执行模式中执行指令。例如调用和返回等选定指令的目标地址在所述压缩模式中被迫未对准,例如所述压缩模式中的所述目标地址的最低有效位(对准位)等此一个或一个以上位不同于所述经典模式中的对应对准位。当在所述第一模式中的执行期间遇到所述选定指令时,将操作切换到所述第二模式的决策是基于分析所述选定指令的所述目标地址的所述对准位。
【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】本专利技术揭示用于在处理系统中的执行模式之间进行跟踪和切换的系统和方法。处理系统经配置以在包含选自经典/对准模式和压缩/未对准模式的第一和第二执行模式的至少两个指令执行模式中执行指令。例如调用和返回等选定指令的目标地址在所述压缩模式中被迫未对准,例如所述压缩模式中的所述目标地址的最低有效位(对准位)等此一个或一个以上位不同于所述经典模式中的对应对准位。当在所述第一模式中的执行期间遇到所述选定指令时,将操作切换到所述第二模式的决策是基于分析所述选定指令的所述目标地址的所述对准位。【专利说明】使用经调用函数的地址的最低有效位来切换处理器模式 根据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)位 确定与地址相关联的模式的特定程序代码。 因此,此项技术中对应地需要克服用于在执行模式之间跟踪和切换的上文提及的 方法的缺点。
技术实现思路
本专利技术的示范性实施例针对用于在处理系统中的执行模式之间切换的系统和方 法。更特定来说,示范性实施例针对包括至少两个指令模式(经典/对准模式和压缩/未 对准模式)的处理系统,以及使用经调用函数的地址的一个或一个以上最低有效位在所述 至少两个指令模式之间切换。 举例来说,一示范性实施例针对一种在处理器中的执行模式之间切换的方法,所 述方法包括:当处理器正在第一执行模式中操作时检测第一指令;分析第一指令的目标地 址的一个或一个以上位;以及基于所述一个或一个以上位确定是否将处理器的操作从第一 执行模式切换到第二执行模式。 另一示范性实施例针对一种设备,其包括:处理器,所述处理器经配置以在包含第 一执行模式和第二执行模式的至少两个执行模式中执行指令;经配置以在第一执行模式中 执行期间检测第一指令的逻辑;经配置以分析第一指令的目标地址的一个或一个以上位的 逻辑;以及经配置以基于所述一个或一个以上位确定是否将处理器的操作从第一执行模式 切换到第二执行模式的逻辑。 又一不范性实施例针对一种处理系统,其包括:用于在包含第一执行模式和第二 执行模式的至少两个执行模式中执行指令的装置;用于在第一执行模式中执行期间检测第 一指令的装置;用于分析第一指令的目标地址的一个或一个以上位的装置;以及用于基于 所述一个或一个以上位确定是否将处理器的操作从第一执行模式切换到第二执行模式的 装直。 另一示范性实施例针对一种非暂时性计算机可读存储媒体,其包括代码,所述代 码当由处理器执行时致使所述处理器执行用于在处理器的执行模式之间切换的操作,所述 非暂时性计算机可读存储媒体包括:用于当处理器正在第一执行模式中操作时检测第一指 令的代码;用于分析第一指令的本文档来自技高网...
【技术保护点】
一种在处理器中的执行模式之间切换的方法,所述方法包括:当所述处理器正在第一执行模式中操作时检测第一指令;分析所述第一指令的目标地址的一个或一个以上位;以及基于所述一个或一个以上位确定是否将所述处理器的操作从所述第一执行模式切换到第二执行模式。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:查尔斯·约瑟夫·塔伯尼,埃里克·詹姆斯·普隆迪克,卢西恩·科德雷斯库,苏雷什·K·文库马汉提,埃万德罗·卡洛斯·梅内塞斯,
申请(专利权)人:高通股份有限公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。