一种数据恢复方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:36439837 阅读:13 留言:0更新日期:2023-01-20 22:55
本发明专利技术实施例提供一种数据恢复方法、装置、电子设备及可读存储介质,该方法包括:接收第一恢复指令,所述第一恢复指令中携带第一快照点;响应于所述第一恢复指令,从预设的快照空间中读取所述第一快照点对应的寄存器状态信息和访存操作记录,所述访存操作记录用于记录模拟器从所述第一快照点至当前时刻执行的各条访存指令以及每条访存指令对应的时间戳;根据所述寄存器状态信息将所述模拟器的寄存器状态恢复为所述第一快照点对应的状态;根据所述访存操作记录反向执行所述第一快照点与当前时刻之间的各条访存指令,以将所述模拟器的内存状态恢复为所述第一快照点对应的状态。本发明专利技术实施例可以节省因操作系统的系统调用带来的运行开销。带来的运行开销。带来的运行开销。

【技术实现步骤摘要】
一种数据恢复方法、装置、电子设备及可读存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种数据恢复方法、装置、电子设备及可读存储介质。

技术介绍

[0002]在芯片设计领域,硅前性能评估对项目推进、设计决策都是不可或缺的。在对处理器进行性能评估时,往往会借助模拟器先执行程序,并根据模拟器的执行结果生成相应的测试信号提供给处理器,这就要求模拟器先于处理器执行。然而,处理器上的中断往往随机发生,在处理器执行过程中发生中断时,模拟器往往已经执行至中断点之后,这就导致模拟器的执行结果与处理器的执行结果不匹配。此时,需要将模拟器的状态恢复至中断点或中断点之前,以同步模拟器和处理器的状态。
[0003]现有技术中实现模拟器的状态恢复主要有两种方式:1)基于全检查点的状态恢复。在这种方式中,会保存每个检查点对应的寄存器状态信息和当前时刻完整的内存信息,恢复时间较长,且需要占用大规模的存储空间;2)基于fork机制的状态恢复。相比于全检查点的状态恢复方式,fork机制降低了保存完整内存信息的时间开销和空间开销,但操作系统的系统调用会造成较大的运行开销,仍然无法满足模拟器先于处理器执行时的状态恢复需求。

技术实现思路

[0004]本专利技术实施例提供一种数据恢复方法、装置、电子设备及可读存储介质,可以节省模拟器的内存状态恢复过程中,由操作系统的系统调用造成的运行开销。
[0005]为了解决上述问题,本专利技术实施例公开了一种数据恢复方法,应用于模拟器,所述方法包括:接收第一恢复指令,所述第一恢复指令中携带第一快照点;响应于所述第一恢复指令,从预设的快照空间中读取所述第一快照点对应的寄存器状态信息和访存操作记录,所述访存操作记录用于记录所述模拟器从所述第一快照点至当前时刻执行的各条访存指令以及每条访存指令对应的时间戳;根据所述寄存器状态信息将所述模拟器的寄存器状态恢复为所述第一快照点对应的状态;根据所述访存操作记录反向执行所述第一快照点与当前时刻之间的各条访存指令,以将所述模拟器的内存状态恢复为所述第一快照点对应的状态。
[0006]可选地,所述第一恢复指令中还携带有第一指示,所述第一指示用于指示所述模拟器将内存状态恢复至第一时刻,所述第一快照点在所述第一时刻之前;所述方法还包括:以所述第一快照点为起点,按照所述时间戳顺序执行所述第一快照点至当前时刻之间的各条访存指令,直至下一条指令对应的时间戳小于所述第一时刻,则停止执行,得到所述模拟器在所述第一时刻的内存状态。
[0007]可选地,所述访存操作记录包括所述模拟器从起始快照点至当前时刻执行的各条访存指令以及每条访存指令对应的时间戳;所述根据所述访存操作记录反向执行所述第一快照点与当前时刻之间的各条访存指令,以将所述模拟器的内存状态恢复为所述第一快照点对应的状态,包括:以当前时刻为起点,按照时间戳依次反向执行所述访存操作记录中的各条指令,直至下一条指令的时间戳小于所述第一快照点时停止执行,得到所述模拟器在所述第一快照点处的内存状态。
[0008]可选地,所述方法还包括:接收第二恢复指令,所述第二恢复指令中携带有第二指示,所述第二指示用于指示所述模拟器将内存状态恢复至第二时刻,所述第二时刻为第二快照点与所述第一快照点之间的任一时刻,所述第二快照点在所述第一快照点之前;以所述第一快照点为起点,按照时间戳依次反向执行所述访存操作记录中所述第一快照点与所述第二快照点之间的指令,直至下一条指令的时间戳小于所述第二时刻,则停止执行,得到所述模拟器在所述第二时刻的内存状态。
[0009]可选地,所述模拟器用于对待测处理器的运行过程进行模拟,所述第一快照点用于同步所述模拟器的状态与所述待测处理器的中断点的状态。
[0010]另一方面,本专利技术实施例公开了一种数据恢复装置,应用于模拟器,所述装置包括:第一接收模块,用于接收第一恢复指令,所述第一恢复指令中携带第一快照点;数据获取模块,用于响应于所述第一恢复指令,从预设的快照空间中读取所述第一快照点对应的寄存器状态信息和访存操作记录,所述访存操作记录用于记录所述模拟器从所述第一快照点至当前时刻执行的各条访存指令以及每条访存指令对应的时间戳;第一恢复模块,用于根据所述寄存器状态信息将所述模拟器的寄存器状态恢复为所述第一快照点对应的状态;第二恢复模块,用于根据所述访存操作记录反向执行所述第一快照点与当前时刻之间的各条访存指令,以将所述模拟器的内存状态恢复为所述第一快照点对应的状态。
[0011]可选地,所述第一恢复指令中还携带有第一指示,所述第一指示用于指示所述模拟器将内存状态恢复至第一时刻,所述第一快照点在所述第一时刻之前;所述装置还包括:第三恢复模块,用于以所述第一快照点为起点,按照所述时间戳顺序执行所述第一快照点至当前时刻之间的各条访存指令,直至下一条指令对应的时间戳小于所述第一时刻,则停止执行,得到所述模拟器在所述第一时刻的内存状态。
[0012]可选地,所述访存操作记录包括所述模拟器从起始快照点至当前时刻执行的各条访存指令以及每条访存指令对应的时间戳;所述第二恢复模块,包括:指令执行子模块,用于以当前时刻为起点,按照时间戳依次反向执行所述访存操作记录中的各条指令,直至下一条指令的时间戳小于所述第一快照点时停止执行,得到所述模拟器在所述第一快照点处的内存状态。
[0013]可选地,所述装置还包括:第二接收模块,用于接收第二恢复指令,所述第二恢复指令中携带有第二指示,所述第二指示用于指示所述模拟器将内存状态恢复至第二时刻,所述第二时刻为第二快照点
与所述第一快照点之间的任一时刻,所述第二快照点在所述第一快照点之前;第四恢复模块,用于以所述第一快照点为起点,按照时间戳依次反向执行所述访存操作记录中所述第一快照点与所述第二快照点之间的指令,直至下一条指令的时间戳小于所述第二时刻,则停止执行,得到所述模拟器在所述第二时刻的内存状态。
[0014]可选地,所述模拟器用于对待测处理器的运行过程进行模拟,所述第一快照点用于同步所述模拟器的状态与所述待测处理器的中断点的状态。
[0015]再一方面,本专利技术实施例还公开了一种电子设备,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述的数据恢复方法。
[0016]本专利技术实施例还公开了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的数据恢复方法。
[0017]本专利技术实施例包括以下优点:本专利技术实施例提供了一种数据恢复方法,在接收到针对第一快照点的第一恢复指令的情况下,通过从预设的快照空间中读取第一快照点对应的寄存器状态信息和访存操作记录,根据寄存器状态信息将模拟器的寄存器状态恢复为第一快照点的状态,并根据访存操作记录反向执行第一快照点与当前时刻之间的各条访存指令,将模拟器的内存状态恢复为第一快照点对应的状态。相比于现有技术中,本专利技术实施例提供的数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据恢复方法,其特征在于,应用于模拟器,所述方法包括:接收第一恢复指令,所述第一恢复指令中携带第一快照点;响应于所述第一恢复指令,从预设的快照空间中读取所述第一快照点对应的寄存器状态信息和访存操作记录,所述访存操作记录用于记录所述模拟器从所述第一快照点至当前时刻执行的各条访存指令以及每条访存指令对应的时间戳;根据所述寄存器状态信息将所述模拟器的寄存器状态恢复为所述第一快照点对应的状态;根据所述访存操作记录反向执行所述第一快照点与当前时刻之间的各条访存指令,以将所述模拟器的内存状态恢复为所述第一快照点对应的状态。2.根据权利要求1所述的方法,其特征在于,所述第一恢复指令中还携带有第一指示,所述第一指示用于指示所述模拟器将内存状态恢复至第一时刻,所述第一快照点在所述第一时刻之前;所述方法还包括:以所述第一快照点为起点,按照所述时间戳顺序执行所述第一快照点至当前时刻之间的各条访存指令,直至下一条指令对应的时间戳小于所述第一时刻,则停止执行,得到所述模拟器在所述第一时刻的内存状态。3.根据权利要求1所述的方法,其特征在于,所述访存操作记录包括所述模拟器从起始快照点至当前时刻执行的各条访存指令以及每条访存指令对应的时间戳;所述根据所述访存操作记录反向执行所述第一快照点与当前时刻之间的各条访存指令,以将所述模拟器的内存状态恢复为所述第一快照点对应的状态,包括:以当前时刻为起点,按照时间戳依次反向执行所述访存操作记录中的各条指令,直至下一条指令的时间戳小于所述第一快照点时停止执行,得到所述模拟器在所述第一快照点处的内存状态。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:接收第二恢复指令,所述第二恢复指令中携带有第二指示,所述第二指示用于指示所述模拟器将内存状态恢复至第二时刻,所述第二时刻为第二快照点与所述第一快照点之间的任一时刻,所述第二快照点在所述第一快照点之前;以所述第一快照点为起点,按照时间戳依次反向执行所述访存操作记录中所述第一快照点与所述第二快照点之间的指令,直至下一条指令的时间戳小于所述第二时刻,则停止执行,得到所述模拟器在所述第二时刻的内存状态。5.根据权利要求1至4任一项所述的方法,其特征在于,所述模拟器用于对待测...

【专利技术属性】
技术研发人员:陈国凯王华强
申请(专利权)人:北京开源芯片研究院
类型:发明
国别省市:

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

1