一种指令执行方法、计算设备及存储介质技术

技术编号:31579128 阅读:19 留言:0更新日期:2021-12-25 11:21
本发明专利技术公开了一种指令执行方法,计算设备及存储介质,指令执行方法适于在计算设备中执行,并包括步骤:将应用访问内部存储器中的数据的第一操作指令,提交到处理器;当处理器由于第一操作指令所访问数据的存储地址,产生数据访问异常时,根据第一操作指令确定应用的状态属性;若应用的状态属性为启动状态,则根据第一操作指令生成第二操作指令,第二操作指令适于访问第一操作指令要访问的数据,且处理器在执行第二操作指令时不会产生数据访问异常;将第二操作指令提交到处理器以访问述内部存储器中的数据。本发明专利技术能够提高对应用的异常访问指令的处理速度,从而提高操作系统和应用的运行速度。运行速度。运行速度。

【技术实现步骤摘要】
一种指令执行方法、计算设备及存储介质


[0001]本专利技术涉及计算机指令执行领域,特别涉及一种指令执行方法、计算设备及存储介质。

技术介绍

[0002]随着计算机技术的不断发展,开发出越来越多的应用。相应的,应用的数据也越来越多,数据结构也越来越复杂。因此,系统对内存中复杂数据结构的访问性能也越来越重要,直接影响着关键应用程序的运行速度。在数据存储时,经常会出现特殊的存储情况,应用在访问这些存储的数据时,处理器不支持对数据的特殊的访问指令,会出现报错的情况,处理器无法直接处理这类访问指令读取数据。
[0003]为此,在现有技术中,为了访问这些存储数据,采用改变数据存储方式方法,这样应用访问这些数据的指令就变成正常指令,处理器能够执行进行数据的读取,但是由于应用程序的数量众多,需要修改的数据存储结构也十分庞大,有些数据存储结构还可能不便于进行修改,工作量不仅十分巨大而且不能解决所有数据存储的问题。
[0004]为此,需要一种新的指令执行方法。

技术实现思路

[0005]为此,本专利技术提供一种指令执行方法,以力图解决或者至少缓解上面存在的问题。
[0006]根据本专利技术的一个方面,提供一种指令执行方法,适于在计算设备中执行,计算设备包括处理器、内部存储器,并运行有一个或多个应用,内部存储器的存储区域映射为存储空间,且应用以存储空间中的存储地址来访问内部存储器中的数据,方法包括步骤:将应用访问内部存储器中的数据的第一操作指令提交到处理器;当处理器由于第一操作指令所访问数据的存储地址而产生数据访问异常时,根据第一操作指令确定应用的状态属性;若应用的状态属性为启动状态,则根据第一操作指令生成第二操作指令,第二操作指令适于访问第一操作指令要访问的数据,且处理器在执行第二操作指令时不会产生数据访问异常;将第二操作指令提交到处理器以访问内部存储器中的数据。
[0007]可选地,在根据本专利技术的方法中,根据第一操作指令确定应用的运行状态包括步骤:确定第一操作指令的指令类型;若第一操作指令为读取指令,则确定应用是否为首次执行第一操作指令;若应用首次执行第一操作指令,则将应用的运行状态确定为启动状态。
[0008]可选地,在根据本专利技术的方法中,计算设备中还创建有访问地址列表,适于存储应用执行过的操作指令所访问的目标地址,确定应用是否为首次执行第一操作指令包括步骤:根据第一操作指令,确定第一操作指令要访问的第一目标地址;在访问地址列表中,查询第一操作指令要访问的第一目标地址;若未查询到,则应用为首次执行第一操作指令。
[0009]可选地,在根据本专利技术的方法中,第一操作指令包括不对界访问指令,数据访问异常包括不对界访问异常,根据第一操作指令生成第二操作指令包括步骤:将第一操作指令所要访问的第一目标地址置换为第二目标地址;根据第二目标地址生成第二操作指令,第
二操作指令包括对界访问指令。
[0010]可选地,在根据本专利技术的方法中,将第一操作指令所要访问的第一目标地址置换为第二目标地址包括步骤:根据第一目标地址计算存储地址和偏移量;根据存储地址和偏移量生成第二目标地址。
[0011]可选地,在根据本专利技术的方法中,方法还包括步骤:若应用的状态属性为运行状态,则根据第一操作指令生成第二操作指令;拉取应用中第一操作指令所在的指令流;将指令流中的第一操作指令替换为第二操作指令;将应用从指令流中提取的第二操作指令提交到处理器,以便访问内部存储器中的数据。
[0012]可选地,在根据本专利技术的方法中,根据第一操作指令确定应用的状态属性还包括步骤:若第一操作指令为写入指令,则确定应用的状态属性为运行状态。
[0013]可选地,在根据本专利技术的方法中,还包括步骤:若应用非首次执行第一操作指令,则确定应用的状态属性为运行状态。
[0014]可选地,在根据本专利技术的方法中,确定应用是否为首次执行第一操作指令还包括步骤:若在访问地址列表中查询到第一操作指令要访问的第一目标地址,则应用为非首次执行第一操作指令。
[0015]可选地,在根据本专利技术的方法中,还包括步骤:将操作指令提交到处理器进行执行时,在访问地址列表中更新操作指令要访问的目标地址的访问次数;根据目标地址的访问次数计算目标地址的访问频率;判断目标地址的访问频率是否达到设定阈值;若目标地址的访问频率达到设置阈值,则判断操作指令是否为不对界访问指令;若操作指令为不对界访问指令,则拉取应用中操作指令所在的指令流,将指令流中的操作指令替换为对界访问指令。
[0016]根据本专利技术的再一方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本专利技术的一种指令执行方法的指令。
[0017]根据本专利技术的还有一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本专利技术的一种指令执行方法中的方法。
[0018]本专利技术中的指令执行方法,适于在计算设备中执行,计算设备包括处理器和内部存储器,并运行有一个或多个应用,将应用访问内部存储器的第一操作指令提交到处理器进行执行,当处理器抛出数据访问异常时,根据第一操作指令判断应用的状态属性。当应用的状态属性为启动状态时,根据第一操作指令生成第二操作指令,不对应用的指令进行修改和替换操作,并且直接将第二操作指令提交到处理器以便处理器执行第二操作指令,从内存中获取数据返回给应用,提高对应用的异常访问指令的处理速度,从而提高操作系统和应用的运行速度。
[0019]并进一步的,设置应用运行的访问地址列表,访问地址列表中存储应用执行过的操作指令所访问的目标地址,并且每次执行操作指令时更新操作指令要访问的目标地址的访问次数。判断目标地址的访问频率是否达到设定阈值,若目标地址的访问频率达到设置阈值,则判断操作指令是否为不对界访问指令,若操作指令为不对界访问指令,则拉取应用中操作指令所在的指令流,将指令流中的操作指令替换为对界访问指令,提高后续操作系
统和应用的运行速度。
附图说明
[0020]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本专利技术公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0021]图1示出了根据本专利技术一个示范性实施例的指令执行装置的结构示意图;
[0022]图2示出了根据本专利技术一个示范性实施例的计算设备200的结构框图;
[0023]图3示出了根据本专利技术一个示范性实施例的指令执行方法300的流程示意图;以及
[0024]图4示出了根据本专利技术一个示范性实施例的判断应用运行状态的流程示意图。
具体实施方式
...

【技术保护点】

【技术特征摘要】
1.一种指令执行方法,适于在计算设备中执行,所述计算设备包括处理器和内部存储器,并运行有一个或多个应用,所述内部存储器的存储区域映射为存储空间,且所述应用以所述存储空间中的存储地址来访问所述内部存储器中的数据,所述方法包括步骤:将所述应用访问所述内部存储器中的数据的第一操作指令,提交到所述处理器;当所述处理器由于所述第一操作指令所访问数据的存储地址,产生数据访问异常时,根据所述第一操作指令确定所述应用的状态属性;若所述应用的状态属性为启动状态,则根据所述第一操作指令生成第二操作指令,所述第二操作指令适于访问所述第一操作指令要访问的数据,且所述处理器在执行所述第二操作指令时不会产生数据访问异常;将所述第二操作指令提交到所述处理器以访问所述内部存储器中的数据。2.如权利要求1所述的方法,其中,所述根据所述第一操作指令确定所述应用的运行状态包括步骤:确定所述第一操作指令的指令类型;若所述第一操作指令为读取指令,则确定所述应用是否为首次执行第一操作指令;若所述应用首次执行第一操作指令,则将所述应用的运行状态确定为启动状态。3.如权利要求2所述的方法,其中,所述计算设备中还创建有访问地址列表,适于存储所述应用执行过的操作指令所访问的目标地址,所述确定所述应用是否为首次执行第一操作指令包括步骤:根据所述第一操作指令,确定所述第一操作指令要访问的第一目标地址;在所述访问地址列表中,查询所述第一操作指令要访问的第一目标地址;若未查询到,则所述应用为首次执行第一操作指令。4.如权利要求1

3中任一项所述的方法,其中,所述第一操作指令包括不对界访问指令,所述数据访问异常包括不对界访问异常,所述...

【专利技术属性】
技术研发人员:钟俊唐蔺柏鑫
申请(专利权)人:武汉深之度科技有限公司
类型:发明
国别省市:

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

1