同时执行跳跃与转换状态变更的方法技术

技术编号:2915443 阅读:268 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种同时执行跳跃与转换状态变更的方法。该方法包含有:于一第一转换状态中执行一第一函数式中的一连串指令;以及执行一跳跃指令以跳跃至一第二函数式中一目标地址并在同一时间启动且完成一转换状态改变以切换至一第二转换状态;其中该跳跃指令之后一下一指令的一地址被存储于一第一寄存器中以作为一返回地址。

【技术实现步骤摘要】

本专利技术有关于具有转换状态变更的数据处理机构,尤其指一种跳跃指令与转换状态变更操作能同时被执行的数据处理机构。
技术介绍
于公知电脑系统中,数据与程序指令被存储于可由一执行中程序(亦即一处理程序(process))使用一虚拟地址或一实体地址来加以定址的一存储器存储装置中。于使用者模式(User mode)中的处理程序使用虚拟地址来存取存储器,而于核心模式(Kernel mode)中的处理程序则可使用虚拟地址或实体地址,当使用虚拟地址时,其必须被转换为相对应的实体地址以存取该电脑系统中的实体存储器,此外,虚拟地址与实体地址之间的映射(mapping)完全地由核心模式处理程序(Kernel mode process)所控制,如此一来,除非核心模式处理程序允许,否则的话,使用者模式处理程序(User mode process)便不能存取存储器。此存储器地址转换(memory address translation)由称为存储器管理单元(Memory Management Unit,MMU)的硬件装置所执行,其允许实体存储器空间被动态地配置。原则上,使用者模式处理程序总是将转换状态开启(亦即使用虚拟地址),然而,核心模式处理程序则可选择性地将转换状态开启(亦即使用虚拟地址)或者将转换状态关闭(亦即使用实体地址)。经常执行的存储器空间的存取包含有提取程序指令以及读取与写入程序数据的操作。当一电脑系统正执行一使用者模式处理程序中而欲处理一外部事件时,则该使用者模式处理程序将会被该外部事件所中断且该电脑系统将切换至依据不同的使用情况而处于转换开启状态或转换关闭状态下的核心模式处理程序(亦即一外部事件处理常式)。由于在转换开启状态下必须进行地址映射(address mapping)以对实体存储器进行存取,所以在此一状态下执行的好处为数据可被保护以避免损毁;且数据空间能被动态地管理,如此一来,可用实体存储器的短缺将不致于造成系统死机。然而,当于转换关闭状态下存取-->存储器时,则具有不消耗存储器管理单元的转换资源、在系统错误或开机时不需准备和依赖任何转换信息,以及通过略过所有必须的转换步骤以增加存储器存取效能等等的优点。既然转换开启状态与转换关闭状态有其各自优点,操作系统与主要的核心模式程序便有需要于不同的使用状况下选择于转换开启状态或转换关闭状态中执行。于公知系统中,当一中断发生时,转换状态为首先更新至一预定转换状态值,该系统接着便等待此一转换状态变更(translation state change)已完成的确认信息,之后则跳跃(jump)至使用新转换状态下的核心模式中断处理程序(Kernel mode interrupt handling program)。上述操作的过程系内含于图1中指示从转换开启状态(101)切换到转换关闭状态(103)的”中断”指示线(102)中。如图1所示,预定的新的转换状态为转换关闭状态。图1为电脑系统的核心模式程序中一正常中断处理程序的流程图,其依据公知技术而将电脑系统基于存储器管理单元的转换开启状态与转换关闭状态的不同所执行的不同步骤分置于左右两栏中。该正常中断处理程序包含以下步骤:步骤101:执行使用者模式下的程序数据处理,以及接收到一中断;步骤102:由硬件接受该中断,从使用者模式转换至核心模式,与从转换开启状态切换至转换关闭状态,并于转换关闭状态下开始提取核心模式程序;步骤103:于转换关闭状态之下,进行核心模式的程序指令提取与数据处理;步骤105:由一核心模式程序指令将转换状态变更至转换开启状态;步骤107:执行一指令以等待转换状态变更的操作执行完成;步骤109:跳跃至需要于转换开启状态下执行(提取指令,读取/写入数据)的核心模式程序;步骤113:于转换开启状态之下,执行更多核心模式的程序数据处理;步骤115:由一核心模式程序指令来将转换状态变更至转换关闭状态;步骤117:执行一指令以等待转换状态变更的操作执行完成;步骤119:跳跃(返回)至需要于转换关闭状态下执行(提取指令,读取/写入数据)的核心模式程序;步骤123:于转换关闭状态之下,执行更多核心模式的程序数据处理;-->步骤125:从核心模式下的程序中断处理返回至被中断的使用者模式的程序;步骤127:于该转换开启模式之下,自中断点之后继续进行使用者模式的数据处理。当系统因为一中断事件而移至核心模式下进行程序数据处理时(步骤103),转换状态先被变更至一转换关闭状态以便能顺利的进行一使用者模式至一核心模式的切换。在该转换关闭状态下,当于某些数据处理完成之后,便有需要执行(呼叫)一些需于转换开启状态的下执行的函数式(function),所以,此时一连串的公知个别操作呼叫便由程序指令所执行以完成此函数式。首先,一指令被用于变更该转换状态从转换关闭状态至转换开启状态(步骤105),然后,于执行函数式呼叫步骤(步骤109中的跳跃指令)之前,一特定指令先被执行以使硬件系统等待转换状态已完成变更的确认讯息(步骤107)。实际上,步骤109中的跳跃指令不需要于转换开启状态下执行,然而,因为步骤109中的跳跃指令无法保证步骤113中的指令处于转换开启状态之下,为了确保步骤113的程序指令提取真的于转换开启状态下来开始执行,步骤107中的指令必需先于步骤109中的跳跃指令的前来执行。于公知方法下,步骤107与步骤109中的指令需要其指令地址的恒等映射(存储器管理单元的地址转换单元使虚拟地址等于实体地址),理由是当提取这些指令时,它们所处的转换状态可依据系统时序的不同情况而为开启或关闭,所以不能明确地被判定。图1中的步骤107(与步骤117)被置于对应转换开启状态与转换关闭状态的左右两栏之间,用以表示此时转换状态的不确定性。理论上,使这些指令恒等映射于其指令地址上是可行的,但实际上却是窒碍难实行,首先,如此作将使得利用转换关闭状态以节省存储器管理单元的转换资源的功能失效;此外,因为这些指令的转换步骤必须被予以执行,程序的执行效率将会降低;另外,相较于一般的非恒等映射存储器管理机构,如此作则很难管理存储器的配置。当从需要于转换开启状态下执行的函数式返回至需要于转换关闭状态中执行的呼叫函数式时,同样地,一连串的公知指令需要被予以执行(步骤115、步骤117及步骤119),对于步骤117与步骤119中的指令而言,同样具有指令地址恒等映射的需求。-->
技术实现思路
有鉴于此,本专利技术的目的之一在于提供一种关于跳跃与转换状态变更的方法,以解决公知技术的问题。因此,本专利技术一实施例公开一种方法,其包含:于一第一转换状态中执行一第一函数式中的一连串指令;以及执行一跳跃指令以跳跃至一第二函数式中一目标地址并在同一时间启动且完成一转换状态变更以切换至一第二转换状态;其中,于一第一寄存器中存储该跳跃指令之后一下一指令的一地址以作为一返回地址。本专利技术的另一实施例包含:于一第一转换状态中执行一第一函数式中一连串指令;执行一跳跃指令以跳跃至一第二函数式中一目标地址并在同一时间启动且完成一转换状态变更以切换至一第二转换状态;于一第一寄存器中存储该跳跃指令之后的一下一指令的一地址以作为一返回地址;于一第二寄存器中存储该第一转换状态作为一返回转换状态;以及于执本文档来自技高网
...

【技术保护点】
一种改变一转换状态及于程序函数式间进行跳跃的方法,其包含有: 于一第一转换状态下,执行一第一函数式中一连串的指令;以及 执行一跳跃指令以跳跃至一第二函数式中一目标地址,并在同一时间执行并完成一转换状态变更以切换至一第二转换状态。

【技术特征摘要】
1.一种改变一转换状态及于程序函数式间进行跳跃的方法,其包含有:于一第一转换状态下,执行一第一函数式中一连串的指令;以及执行一跳跃指令以跳跃至一第二函数式中一目标地址,并在同一时间执行并完成一转换状态变更以切换至一第二转换状态。2.如权利要求1所述的方法,其中执行该跳跃指令的步骤另包含有:于一第一寄存器中,存储该跳跃指令之后一下一指令的一地址以作为一返回地址;以及于一第二寄存器中,存储该第一转换状态以作为一返回转换状态。3.如权利要求2所述的方法,另包含:执行一返回指令以从该第一寄存器中提取该返回地址及从该第二寄存器中提取该返回转换状态,以及执行且完成一转换状态变更以切换至该返回转换状态并同一时间跳跃至该返回地址。4.如权利要求2所述的方法,其中该第一寄存器中所存储的该返回地址具有未使用的位,且所实作的该第二寄存器被整合至该第一寄存器的该未...

【专利技术属性】
技术研发人员:张传华苏泓萌
申请(专利权)人:晶心科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1