具有较少不必要寄存器数据存取的模式切换处理方法及相关非临时机器可读介质技术

技术编号:15342876 阅读:45 留言:0更新日期:2017-05-17 00:17
一种模式切换处理方法包括:当操作系统模式从第一模式切换至第二模式时,将存储在多个寄存器中的寄存器数据的仅一部分保存至存储装置中;其中,在该第一模式中使用M位寄存器长度,在该第二模式中使用N位寄存器长度,且M和N为不同整数。

【技术实现步骤摘要】
【国外来华专利技术】具有较少不必要寄存器数据存取的模式切换处理方法及相关非临时机器可读介质相关申请的交叉引用本申请的权利要求范围要求如下申请的优先权:2014年9月3日递交的申请号为62/045,082的美国临时案。在此合并参考上述美国临时申请案的全部内容。
本专利技术有关于模式切换处理方法,更具体地,有关于模式切换处理方法及相应的处理器。
技术介绍
处理器是各种电子装置所需的关键元件。例如,操作系统(operatingsystem,OS)可由电子装置的处理器执行以控制应用软件的执行用于执行用户所需数据处理。操作系统可在不同操作系统模式间切换,例如用户模式和内核模式(kernelmode)。从第一操作系统模式到第二操作系统模式的切换需要是可逆的,当退出第二操作系统模式时,将返回第一操作系统模式,这样在没有被中断的情况下,第一操作系统模式将继续。为了实现这种可逆性,需要在刚离开第一操作系统模式时将各个寄存器(例如处理器内的寄存器)的内容存储,以使在第二操作系统模式结束使用寄存器(例如,处理器内部的寄存器)且控制返回至第一操作系统模式之后可恢复这些内容。这通常是通过在离开第一操作系统模式时将第一操作系统模式中处理器寄存器的寄存器数据保存至外部动态随机存取存储器(dynamicrandomaccessmemory,DRAM)中分配的堆栈存储器的一个区域,且在返回第一操作系统模式时将来自堆栈存储器的该区域的保存的存储器数据返回至该处理器寄存器而实现的。传统模式切换处理方法可保存和恢复处理器使用的所有寄存器的内容。然而,此传统方法所具有的问题是写入堆栈存储器和随后从堆栈存储器读取的操作相对较慢,这将不可避免地降低处理器的性能。因此,需要一种创新的模式切换处理方法能避免/减少不必要的存储器数据存取从而加速模式切换操作。
技术实现思路
根据本专利技术的实施例,提出一种具有较少不必要寄存器数据存取的模式切换处理方法及相关非临时机器可读介质。根据本专利技术的第一个方面,揭露一种模式切换处理方法。该模式切换处理方法包括:当操作系统模式从第一模式切换至第二模式时,将存储在多个寄存器中的寄存器数据的仅一部分保存至存储装置中;其中,在该第一模式中使用M位寄存器长度,在该第二模式中使用N位寄存器长度,且M和N为不同整数。根据本专利技术的第二个方面,揭露一种模式切换处理方法。该模式切换处理方法包括:包括:当操作系统模式从第二模式切换至第一模式时,将存储装置中的保存的寄存器数据集合恢复至多个寄存器的存储空间的仅一部分;其中,M位寄存器长度用于第一模式,N位寄存器长度用于第二模式,且M和N为不同整数。根据本专利技术的第三个方面,揭露一种包括存储于其中的程序代码的非临时机器可读介质。当处理器执行该程序代码时,该程序代码使该处理器执行下列步骤:当操作系统模式从第一模式切换至第二模式时,将存储在多个寄存器中的寄存器数据的仅一部分保存至存储装置中;其中,在该第一模式中使用M位寄存器长度,在该第二模式中使用N位寄存器长度,且M和N为不同整数。根据本专利技术的第三个方面,揭露一种非临时机器可读介质,包括存储于其中的程序代码,其中当处理器执行该程序代码时,该程序代码使该处理器执行下列步骤:当操作系统模式从第二模式切换至第一模式时,将存储装置中的保存的寄存器数据集合恢复至多个寄存器的存储空间的仅一部分;其中,在该第一模式中使用M位寄存器长度,在该第二模式中使用N位寄存器长度,且M和N为不同整数。附图说明图1是根据本专利技术一个实施例的处理系统的模块示意图。图2为根据本专利技术一个实施例32位处理器结构使用的寄存器的示意图。图3为根据本专利技术一个实施例64位处理器结构使用的寄存器的示意图。图4为64位通用目的寄存器的示意图。图5为第一寄存器数据保存机制的示例示意图。图6为第二寄存器数据保存机制的示例示意图。图7为第三寄存器数据保存机制的示例示意图。图8为第一寄存器数据恢复机制的示例示意图。图9为第一寄存器数据恢复机制的示例示意图。图10为第三寄存器数据恢复机制的示例示意图。图11为将本专利技术提出的模式切换处理方法运用至基于ARM计算机系统的示例示意图。图12为将本专利技术提出的模式切换处理方法运用至基于ARM计算机系统的示例示意图。图13为根据本专利技术一个实施例的模式切换处理方法的流程图。具体实施方式在说明书及后续的权利要求当中使用了某些词汇来指称特定的元件。所属领域技术人员应可理解,制造商可能会用不同的名词来称呼同样的元件。本说明书及后续的权利要求并不以名称的差异来作为区别元件的方式,而是以元件在功能上的差异来作为区别的基准。在通篇说明书及后续的权利要求当中所提及的「包括」为开放式的用语,故应解释成「包括但不限定于」。此外,「耦接」一词在此包括任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表该第一装置可直接连接于该第二装置,或透过其他装置或连接手段间接地连接至该第二装置。图1是根据本专利技术一个实施例的处理系统100的模块示意图。处理系统100为电子装置的一部分,该电子装置可例如,电视、移动电话、平板电脑或可穿戴式设备。处理系统100可包括处理器102、非临时机器可读介质(non-transitorymachinereadablemedium)104以及存储装置106。应注意的是图1仅显示了本专利技术有关的元件。实际上,处理系统100可配置为包括用于实现其他功能的额外元件。在此实施例中,非临时机器可读介质104和存储器106可用分离的存储装置实现。例如,非临时机器可读介质104可为非易失性机器可读介质(例如闪存),且存储器106可为易失性机器可读介质(例如动态随机存取存储器)。或者,非临时机器可读介质104和存储器106可用同一存储装置中分配的分离存储空间实现。简而言之,本专利技术对非临时机器可读介质104和存储器106的具体实现没有限制。处理器102可具有包括REG0-REGn在内的多个寄存器。当处理器102为N位处理器时,寄存器REG0-REGn的大部分或全部可为N位寄存器。例如,处理器102可为64位基于ARM(ARM-based)的处理器,且寄存器REG0-REGn的大部分可为64位寄存器。应注意,同一处理器102中实现的寄存器REG0-REGn的数目可根据处理器102的实际处理器结构。在此实施例中,提出的具有更少不必要寄存器数据存取的模式切换方法可应用至处理器102内部的寄存器REG0-REGn。然而,此仅用于说明目的,并不意在限制本专利技术。此外,提出的具有更少不必要寄存器数据存取的模式切换方法可应用至任意处理电路使用的寄存器及/或处理器102外部的寄存器。非临时机器可读介质104可设置为存储程序代码PROG。程序代码PROG可为操作系统(OS)的一部分,例如基于Linux的OS,且程序代码PROG可被处理器102加载并执行以处理操作系统模式的模式切换操作。存储装置106可设置为具有分配在其中的堆栈存储器(stackmemory)。因此,当操作系统模式从第一模式切换至第二模式时,第一模式中的指令执行可被中断,且处理器102上运行的程序代码PROG可将处理器102的寄存器数据存储至堆栈存储器,这样保存的寄存器数据集合DATAREG在存储装置106中为可用的。当操作系统模式从第二模本文档来自技高网
...
具有较少不必要寄存器数据存取的模式切换处理方法及相关非临时机器可读介质

【技术保护点】
一种模式切换处理方法,包括:当操作系统模式从第一模式切换至第二模式时,将存储在多个寄存器中的寄存器数据的仅一部分保存至存储装置中;其中,在该第一模式中使用M位寄存器长度,在该第二模式中使用N位寄存器长度,且M和N为不同整数。

【技术特征摘要】
【国外来华专利技术】2014.09.03 US 62/045,0821.一种模式切换处理方法,包括:当操作系统模式从第一模式切换至第二模式时,将存储在多个寄存器中的寄存器数据的仅一部分保存至存储装置中;其中,在该第一模式中使用M位寄存器长度,在该第二模式中使用N位寄存器长度,且M和N为不同整数。2.如权利要求1所述的模式切换处理方法,其特征在于,M小于N。3.如权利要求1所述的模式切换处理方法,其特征在于,该将存储在该多个寄存器中的该寄存器数据的仅该部分保存至该存储装置中的步骤包括:将存储在该寄存器中的该多个寄存器数据的该部分保存至该存储装置中,其中,存储在该多个寄存器中的该寄存器数据的剩余部分不保存在该存储装置中。4.如权利要求3所述的模式切换处理方法,其特征在于,该寄存器数据的该部分存储在该多个寄存器的下半部分,该寄存器数据的该剩余部分存储在该多个寄存器的上半部分,该多个寄存器的该下半部分允许用于该第一模式和该第二模式的每个之中,且该多个寄存器的该上半部分允许用于该第二模式中,但不允许用于该第一模式中。5.如权利要求1所述的模式切换处理方法,其特征在于,该将存储在该多个寄存器中的该寄存器数据的仅该部分保存至该存储装置中的步骤包括:将存储在该多个寄存器的一部分寄存器中的寄存器数据保存至该存储装置中,其中,存储在该多个寄存器的剩余部分中的多个寄存器数据不保存至该存储装置中。6.如权利要求5所述的模式切换处理方法,其特征在于,该多个寄存器的该部分寄存器允许用于该第一模式和该第二模式的每个中,且该多个寄存器的该剩余部分寄存器允许用于该第二模式中,但不允许用于该第一模式中。7.一种模式切换处理方法,包括:当操作系统模式从第二模式切换至第一模式时,将存储装置中的保存的寄存器数据集合恢复至多个寄存器的存储空间的仅一部分;其中,M位寄存器长度用于第一模式,N位寄存器长度用于第二模式,且M和N为不同整数。8.如权利要求7所述的模式切换处理方法,其特征在于,M小于N。9.如权利要求7所述的模式切换处理方法,其特征在于,该将该存储装置中的该保存的寄存器数据集合恢复至该多个寄存器的该存储空间的仅一部分的步骤包括:将该保存的寄存器数据集合中包括的寄存器数据恢复至寄存器的一部分,其中,不将该保存的寄存器数据集合中包括的该寄存器数据恢复至该寄存器的剩余部分。10.如权利要求9所述的模式切换处理方法,其特征在于,该寄存器的该部分为该寄存器的下半部分,该寄存器的该剩余部分为该寄存器的上半部分,该寄存器的该下半部分允许用于该第一模式和该第二模式的每个之中,且该寄存器的该上半部分允许用于该第二模式中,但不允许用于该第一模式中。11.如权利要求7所述的模式切换处理方法,其特征在于,该将该存储装置中的该保存的寄存器数据集合恢复至该多个寄存器的该存储空间的仅一部分的步骤包括:将该保存的寄存器数据集合中包括的寄存器数据恢复至该多个寄存器的一部分,其中,不将该保存的寄存器数据集合中包括的该寄存器数据恢复至该多个寄存器的剩余部分中。12.如权利要求11所述的模式切换处理方法,其特征在于,该多个寄存器的该部分允许用于该第一模式和该第二模式的每个中,且该多个寄存器的该剩余部分允许用于该第二模式中,但不允许用于该第一模式中。13.一种非临时机器可读介质,包括存储于其中的程序...

【专利技术属性】
技术研发人员:张雅婷陈家明周宏霖林有明陈雨廷尼古拉斯·秦辉·郑许嘉豪
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾,71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1