CN103077073A - 即时功能级仿真器的实现方法和装置及仿真处理器 - Google Patents

即时功能级仿真器的实现方法和装置及仿真处理器 Download PDF

Info

Publication number
CN103077073A
CN103077073A CN2013100143496A CN201310014349A CN103077073A CN 103077073 A CN103077073 A CN 103077073A CN 2013100143496 A CN2013100143496 A CN 2013100143496A CN 201310014349 A CN201310014349 A CN 201310014349A CN 103077073 A CN103077073 A CN 103077073A
Authority
CN
China
Prior art keywords
unusual
emulator command
instruction
emulator
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100143496A
Other languages
English (en)
Other versions
CN103077073B (zh
Inventor
程彬
鲍翀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310014349.6A priority Critical patent/CN103077073B/zh
Publication of CN103077073A publication Critical patent/CN103077073A/zh
Application granted granted Critical
Publication of CN103077073B publication Critical patent/CN103077073B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明的实施例提供一种即时功能级仿真器的实现方法和装置及仿真处理器。即时功能级仿真器的实现方法包括:读入目标机的机器指令;将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。本发明实施例解决了现有即时仿真技术中异常处理时速度大幅降低的问题,实现了即时仿真技术的执行性能的提升。

Description

即时功能级仿真器的实现方法和装置及仿真处理器
技术领域
本发明实施例涉及仿真处理技术,尤其涉及一种即时功能级仿真器的实现方法和装置及仿真处理器。
背景技术
目前,为进行各种硬件器件的调试、试验,往往需要将待调试器件作为目标机,在宿主机上配置仿真器,通过宿主机执行仿真器中的指令来模拟目标机动作。基于此需求,现有技术提供了多种仿真器来完成此仿真过程,例如常用的是功能级仿真器。
功能级仿真器用于将特定类型的机器指令翻译为能在宿主机上执行的仿真指令。因此功能级仿真器能读入用特定类型的机器指令写成的程序,并将其在宿主机上成功执行。
常规的功能级仿真器实现技术,通过逐条读入机器指令加以翻译再执行从而完成仿真功能。而目前较为流行的即时(just-in-time,以下简称JIT)功能级仿真器,其特点是一次读入多条机器指令构成的指令块,一起进行翻译和执行。因此相较于逐条翻译执行的功能级仿真器而言,能大幅提高仿真器的执行速度。
JIT功能级仿真器的执行阶段是一个动态执行的过程。JIT功能级仿真器只能在指令块中可能触发异常的地方,跳出执行阶段进行相应的异常识别和异常处理,从而导致JIT功能级仿真器执行速度大幅下降。由于JIT功能级仿真器本身会引入许多调度操作,因此在存在异常的场景下,相较于常规的功能级仿真器实现技术,JIT功能级仿真器的执行速度反而更慢。
发明内容
本发明实施例提供一种即时功能级仿真器的实现方法和装置及仿真处理器,以解决现有JIT仿真技术中异常处理时速度大幅降低的问题,以实现JIT仿真技术的执行性能提升。
第一方面,本发明实施例提供一种即时功能级仿真器的实现方法,包括:
读入目标机的机器指令;
将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;
将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;
从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。
在第一方面的第一种可能的实现方式中,将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令包括:
将所述机器指令翻译成为宿主机的执行仿真指令;
按照预设规则获取所述机器指令的异常识别指令和异常处理指令;
将所述异常识别指令和异常处理指令翻译为宿主机的异常识别仿真指令和异常处理仿真指令。。
根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,将所述异常识别指令翻译为宿主机的异常识别仿真指令包括:
将设定异常机器指令对应的异常识别指令进行翻译,成为宿主机的异常识别仿真指令,并加入到所述设定异常机器指令对应的执行仿真指令位置前。
在第一方面的第三种可能的实现方式中,将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令包括:将所述机器指令以及所述机器指令的异常识别指令和异常处理指令翻译为宿主机的中间指令;采用编译器将所述中间指令编译为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令。
在第一方面的第四种可能的实现方式中,将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中之后,还包括:
将所述异常处理仿真指令在内存中的存储地址索引,添加至对应的异常识别仿真指令中,以便在识别到异常时调用所述异常处理仿真指令。
根据第一方面的第四种可能的实现方式,在第五种可能的实现方式中,从所述内存中读取所述执行仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常包括:
从所述内存中读取所述执行仿真指令,并通过所述宿主机执行;
在执行所述异常识别仿真指令而识别到异常时,设置与所述异常对应的标志位;
根据所述标志位从对应的异常识别仿真指令中查询获取所述索引;
根据索引调用执行异常处理仿真指令。
第二方面,本发明实施例提供一种即时功能级仿真器的实现装置,包括:
读取模块,用于读入目标机的机器指令;
翻译模块,用于将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;
存储模块,用于将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;
执行模块,用于从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。
在第二方面的第一种可能的实现方式中,翻译模块包括:
机器指令翻译单元,用于将所述机器指令翻译成为宿主机的执行仿真指令;
异常识别指令获取单元,用于按照预设规则获取所述机器指令的异常识别指令;
异常处理指令获取单元,用于按照预设规则获取所述机器指令的异常处理指令;
异常识别指令翻译单元,用于将所述异常识别指令翻译为宿主机的异常识别仿真指令;
异常处理指令翻译单元,用于将所述异常处理指令翻译为宿主机的异常处理仿真指令。
根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中,异常识别指令翻译单元具体用于将设定异常机器指令对应的异常识别指令进行翻译,成为宿主机的异常识别仿真指令,并加入到所述设定异常机器指令对应的执行仿真指令位置前。
在第二方面的第三种可能的实现方式中,翻译模块包括:
中间指令单元,用于将所述机器指令以及所述机器指令的异常识别指令和异常处理指令翻译为宿主机的中间指令;
编译中间指令单元,用于采用编译器将所述中间指令编译为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令。
在第二方面的第四种可能的实现方式中,还包括:
添加索引模块,用于在在将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中之后,将所述异常处理仿真指令在内存中的存储地址索引,添加至对应的异常识别仿真指令中,以便在识别到异常时调用所述异常处理仿真指令。
根据第二方面的第四种可能的实现方式,在第五种可能的实现方式中,执行模块包括:
执行仿真指令单元,用于从所述内存中读取所述执行仿真指令,并通过所述宿主机执行;
设置标志位单元,用于在执行所述异常识别仿真指令而识别到异常时,设置与所述异常对应的标志位;
获取索引单元,用于根据所述标志位从对应的异常识别仿真指令中查询获取所述索引;
异常处理单元,用于根据索引调用执行异常处理仿真指令。
第三方面,本发明实施例提供一种仿真处理器,包括内存,还包括:本发明任意实施例所提供的即时功能级仿真器的实现装置。
本发明实施例即时功能级仿真器的实现方法和装置及仿真处理器,通过将目标机的异常识别指令和异常处理指令一并进行翻译,加入待执行的指令块中,使宿主机在执行阶段能正确识别和处理异常,无需频繁跳出执行阶段,实现JIT功能级仿真器的性能提升,解决现有JIT功能级仿真器异常处理时速度大幅降低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一所提供的即时功能级仿真器的实现方法的流程图;
图2为本发明实施例二所提供的即时功能级仿真器的实现装置的结构示意图;
图3为本发明实施例三所提供的即时功能级仿真器的实现装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一所提供的即时功能级仿真器的实现方法的流程图。本实施例的方法适用于JIT功能级仿真器在异常处理的场景。该方法由即时功能级仿真器的实现装置执行,该装置通常以硬件和/或软件的方式来实现,集成在仿真处理器中,其中仿真处理器可以为计算机等任意具备指令执行功能的处理器。仿真处理器一般作为宿主机,模拟目标机的工作过程。例如,对于数字信号处理(Digital Signal Processing,以下简称DSP)芯片,其可以作为目标机,在不存在目标机环境的情况下,可以通过使用JIT功能级仿真器,由计算机作为宿主机模拟目标机的执行动作,从而完成目标机机器指令在宿主机上的执行。本实施例的方法包括如下步骤:
步骤110、读入目标机的机器指令。
其中,JIT功能级仿真器从目标机读取需要仿真的机器指令,机器指令是二进制文件格式的,能够被目标机执行的指令,例如C语言程序。
步骤120、将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令。
其中,JIT功能级仿真器将所述机器指令翻译成为宿主机可以执行的执行仿真指令;按照预设规则获取所述机器指令的异常识别指令和异常处理指令,并将所述异常识别指令和异常处理指令翻译为宿主机的异常识别仿真指令和异常处理仿真指令。其中将所述异常识别指令翻译为宿主机的异常识别仿真指令具体是指将设定异常机器指令对应的异常识别指令进行翻译,成为宿主机的异常识别仿真指令,并加入到所述设定异常机器指令对应的执行仿真指令位置前。而所述设定异常机器指令具体是指机器指令中可能触发异常的指令;所述异常识别指令具体是指所述设定异常机器指令中的异常识别操作。JIT功能级仿真器可以分为两个阶段:翻译阶段和执行阶段。可以将本步骤理解为JIT功能级仿真器的翻译阶段。本发明实施例与本发明背景技术部分所描述的JIT功能级仿真器的区别之一在于:在翻译阶段增加对异常识别指令和异常处理指令的翻译,并将所述设定异常机器指令翻译后的异常识别仿真指令加入到所述设定异常机器指令对应的执行仿真指令位置前。
步骤130、将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中。
其中,所述内存通常认为是可供JIT功能级仿真器在所述执行阶段访问的内存单元。将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中之后,还包括:将所述异常处理仿真指令在内存中的存储地址索引,添加至对应的异常识别仿真指令中,以便在识别到异常时调用所述异常处理仿真指令。
步骤140、从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。
其中,JIT功能级仿真器从所述内存中读取所述执行仿真指令,并通过所述宿主机执行;在执行所述异常识别仿真指令而识别到异常时,设置与所述异常对应的标志位,并根据所述标志位从对应的异常识别仿真指令中查询获取所述索引,最后根据索引调用执行异常处理仿真指令。本发明实施例与本发明背景技术部分所描述的JIT功能级仿真器的区别之二在于:在执行阶段直接对异常进行处理,无需频繁跳出。
本发明实施例在JIT功能级仿真器的翻译阶段,额外增加对异常的翻译,即机器指令的异常识别指令和异常处理指令的翻译。之后在JIT功能级仿真器的执行阶段,执行所述异常识别仿真指令而识别到异常时,直接调用执行所述异常处理仿真指令以处理所述异常,从而避免频繁跳出,由此避免JIT功能级仿真器异常情况速度大幅降低的问题。
在上述技术方案的基础上,优选的是:将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令包括:将所述机器指令以及所述机器指令的异常识别指令和异常处理指令翻译为宿主机的中间指令,调用低级虚拟机(Low Level Virtual Machine,以下简称LLVM)编译器将读入中间指令编译成宿主机可执行的执行仿真指令、异常识别仿真指令和异常处理仿真指令。
在本发明实施例中,LLVM编译器可以省略(或用其他形式的编译器替换),将目标主机指令直接翻译为宿主机指令。这样可节省所述LLVM编译器的调用和执行开销,但它降低的指令的兼容性,并且无法获得LLVM编译器指令优化带来的性能增益。
实施例二
图2为本发明实施例二所提供的即时功能级仿真器的实现装置的结构示意图。本实施例的装置,可以用于执行本发明实施例一提供的即时功能级仿真器的实现方法的技术方案,该装置具体包括如下:读取模块210,翻译模块220,存储模块230和执行模块240。
其中,读取模块210,用于读入目标机的机器指令;翻译模块220,用于将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;存储模块230,用于将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;执行模块240,用于从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。
在上述基础上,翻译模块220优选是包括:机器指令翻译单元221,异常识别指令获取单元222,异常处理指令获取单元223,异常识别指令翻译单元224和异常处理指令翻译单元225。其中,机器指令翻译单元221,用于将所述机器指令翻译成为宿主机的执行仿真指令;异常识别指令获取单元222,用于按照预设规则获取所述机器指令的异常识别指令;异常处理指令获取单元223,用于按照预设规则获取所述机器指令的异常处理指令;异常识别指令翻译单元224,用于将所述异常识别指令翻译为宿主机的异常识别仿真指令,具体是指将设定异常机器指令对应的异常识别指令进行翻译,成为宿主机的异常识别仿真指令,并加入到所述设定异常机器指令对应的执行仿真指令位置前;异常处理指令翻译单元225,用于将所述异常处理指令翻译为宿主机的异常处理仿真指令。
在上述基础上,优选是还包括:添加索引模块250,用于在将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中之后,将所述异常处理仿真指令在内存中的存储地址索引,添加至对应的异常识别仿真指令中,以便在识别到异常时调用所述异常处理仿真指令。
在上述基础上,执行模块240优选是包括:执行仿真指令单元241,设置标志位单元242,获取索引单元243和异常处理单元244。其中,执行仿真指令单元241,用于从所述内存中读取所述执行仿真指令,并通过所述宿主机执行;设置标志位单元242,用于在执行所述异常识别仿真指令而识别到异常时,设置与所述异常对应的标志位;获取索引单元243,用于根据所述标志位从对应的异常识别仿真指令中查询获取所述索引;异常处理单元244,用于根据索引调用执行异常处理仿真指令。
本实施例用于执行本发明实施例一所提供的即时功能级仿真器的实现方法的技术方案,具备相应的功能模块,其实现原理和有益效果类似,此处不再赘述。
实施例三
图3为本发明实施例三所提供的即时功能级仿真器的实现装置的结构示意图。参照图3,在图2所示的结构示意图基础上,翻译模块220可以包括:中间指令单元226和编译中间指令单元227。
其中,中间指令单元226,用于将所述机器指令以及所述机器指令的异常识别指令和异常处理指令翻译为宿主机的中间指令;编译中间指令单元227,用于采用编译器将所述中间指令编译为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令。
本实施例用于执行本发明实施例一所提供的即时功能级仿真器的实现方法的技术方案,具备相应的功能模块,其实现原理和有益效果类似,此处不再赘述。
本发明实施例还提供一种仿真处理器,所述仿真处理器包括内存,还包括本发明任意实施例所述的即时功能级仿真器的实现装置。
所述仿真处理器可以完成上述实施例所有功能,其实现原理和有益效果类似,此处不再赘述。该仿真处理器可以为计算机等通常具备内存和指令执行功能的设备。
综上所述的本发明实施例的技术方案,通过在JIT功能级仿真器的翻译阶段预加入对应的异常识别指令和异常处理处理指令,使其能在执行阶段正确识别和处理异常,无需频繁地跳出,从而使JIT功能级仿真器在异常场景下,执行速度较高。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (13)

1.一种即时功能级仿真器的实现方法,其特征在于,包括:
读入目标机的机器指令;
将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;
将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;
从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。
2.根据权利要求1所述的方法,其特征在于,将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令包括:
将所述机器指令翻译成为宿主机的执行仿真指令;
按照预设规则获取所述机器指令的异常识别指令和异常处理指令;
将所述异常识别指令和异常处理指令翻译为宿主机的异常识别仿真指令和异常处理仿真指令。
3.根据权利要求2所述的方法,其特征在于,将所述异常识别指令翻译为宿主机的异常识别仿真指令包括:
将设定异常机器指令对应的异常识别指令进行翻译,成为宿主机的异常识别仿真指令,并加入到所述设定异常机器指令对应的执行仿真指令位置前。
4.根据权利要求1所述的方法,其特征在于:
将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令包括:将所述机器指令以及所述机器指令的异常识别指令和异常处理指令翻译为宿主机的中间指令;采用编译器将所述中间指令编译为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令。
5.根据权利要求1所述的方法,其特征在于,将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中之后,还包括:
将所述异常处理仿真指令在内存中的存储地址索引,添加至对应的异常识别仿真指令中,以便在识别到异常时调用所述异常处理仿真指令。
6.根据权利要求5所述的方法,其特征在于,从所述内存中读取所述执行仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常包括:
从所述内存中读取所述执行仿真指令,并通过所述宿主机执行;
在执行所述异常识别仿真指令而识别到异常时,设置与所述异常对应的标志位;
根据所述标志位从对应的异常识别仿真指令中查询获取所述索引;
根据索引调用执行异常处理仿真指令。
7.一种即时功能级仿真器的实现装置,其特征在于,包括:
读取模块,用于读入目标机的机器指令;
翻译模块,用于将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;
存储模块,用于将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;
执行模块,用于从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。
8.根据权利要求7所述的装置,其特征在于,翻译模块包括:
机器指令翻译单元,用于将所述机器指令翻译成为宿主机的执行仿真指令;
异常识别指令获取单元,用于按照预设规则获取所述机器指令的异常识别指令;
异常处理指令获取单元,用于按照预设规则获取所述机器指令的异常处理指令;
异常识别指令翻译单元,用于将所述异常识别指令翻译为宿主机的异常识别仿真指令;
异常处理指令翻译单元,用于将所述异常处理指令翻译为宿主机的异常处理仿真指令。
9.根据权利要求8所述的装置,其特征在于,异常识别指令翻译单元具体用于将设定异常机器指令对应的异常识别指令进行翻译,成为宿主机的异常识别仿真指令,并加入到所述设定异常机器指令对应的执行仿真指令位置前。
10.根据权利要求7所述的装置,其特征在于,翻译模块包括:
中间指令单元,用于将所述机器指令以及所述机器指令的异常识别指令和异常处理指令翻译为宿主机的中间指令;
编译中间指令单元,用于采用编译器将所述中间指令编译为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令。
11.根据权利要求7所述的装置,其特征在于,还包括:
添加索引模块,用于在将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中之后,将所述异常处理仿真指令在内存中的存储地址索引,添加至对应的异常识别仿真指令中,以便在识别到异常时调用所述异常处理仿真指令。
12.根据权利要求11所述的装置,其特征在于,执行模块包括:
执行仿真指令单元,用于从所述内存中读取所述执行仿真指令,并通过所述宿主机执行;
设置标志位单元,用于在执行所述异常识别仿真指令而识别到异常时,设置与所述异常对应的标志位;
获取索引单元,用于根据所述标志位从对应的异常识别仿真指令中查询获取所述索引;
异常处理单元,用于根据索引调用执行异常处理仿真指令。
13.一种仿真处理器,包括内存,其特征在于,还包括权利要求7-12任一所述的即时功能级仿真器的实现装置。
CN201310014349.6A 2013-01-15 2013-01-15 即时功能级仿真器的实现方法和装置及仿真处理器 Expired - Fee Related CN103077073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310014349.6A CN103077073B (zh) 2013-01-15 2013-01-15 即时功能级仿真器的实现方法和装置及仿真处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310014349.6A CN103077073B (zh) 2013-01-15 2013-01-15 即时功能级仿真器的实现方法和装置及仿真处理器

Publications (2)

Publication Number Publication Date
CN103077073A true CN103077073A (zh) 2013-05-01
CN103077073B CN103077073B (zh) 2016-12-28

Family

ID=48153610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310014349.6A Expired - Fee Related CN103077073B (zh) 2013-01-15 2013-01-15 即时功能级仿真器的实现方法和装置及仿真处理器

Country Status (1)

Country Link
CN (1) CN103077073B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699427A (zh) * 2013-12-13 2014-04-02 华为技术有限公司 一种基于jit仿真器的中断检测方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1813242A (zh) * 2003-07-04 2006-08-02 可递有限公司 执行可调节精度的异常处理的方法和装置
CN101000577A (zh) * 2006-01-13 2007-07-18 上海华虹集成电路有限责任公司 软仿真器的制作方法
US20080005724A1 (en) * 2006-06-20 2008-01-03 Transitive Limited Method and apparatus for handling exceptions during binding to native code
CN101164041A (zh) * 2005-04-20 2008-04-16 可递有限公司 用于在程序代码转换过程中准确地处理异常的方法和设备
CN101663644A (zh) * 2007-04-19 2010-03-03 国际商业机器公司 用于处理计算系统中的异常信号的装置和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1813242A (zh) * 2003-07-04 2006-08-02 可递有限公司 执行可调节精度的异常处理的方法和装置
CN101164041A (zh) * 2005-04-20 2008-04-16 可递有限公司 用于在程序代码转换过程中准确地处理异常的方法和设备
CN101000577A (zh) * 2006-01-13 2007-07-18 上海华虹集成电路有限责任公司 软仿真器的制作方法
US20080005724A1 (en) * 2006-06-20 2008-01-03 Transitive Limited Method and apparatus for handling exceptions during binding to native code
CN101663644A (zh) * 2007-04-19 2010-03-03 国际商业机器公司 用于处理计算系统中的异常信号的装置和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699427A (zh) * 2013-12-13 2014-04-02 华为技术有限公司 一种基于jit仿真器的中断检测方法及系统
CN103699427B (zh) * 2013-12-13 2018-01-16 华为技术有限公司 一种基于jit仿真器的中断检测方法及系统

Also Published As

Publication number Publication date
CN103077073B (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
US8479176B2 (en) Register mapping techniques for efficient dynamic binary translation
US7757221B2 (en) Apparatus and method for dynamic binary translator to support precise exceptions with minimal optimization constraints
US9558096B2 (en) Method and apparatus for supporting performance analysis
US20110154299A1 (en) Apparatus and method for executing instrumentation code
CN1838088A (zh) 探测具有限制性调用约定代码的方法
US20140208301A1 (en) Function calling computer programs
EP2378413A2 (en) Methods and systems to implement non-ABI conforming features across unseen interfaces
US8266416B2 (en) Dynamic reconfiguration supporting method, dynamic reconfiguration supporting apparatus, and dynamic reconfiguration system
CN116830080A (zh) 经合并的机器级中间表示优化
CN103106097B (zh) 一种即时编译系统中的栈运算优化方法
CN112487092B (zh) 一种基于区块链的智能合约调用方法及装置
CN103077073A (zh) 即时功能级仿真器的实现方法和装置及仿真处理器
CN110609705B (zh) 一种提高mcu总线效率的方法、智能终端、存储介质及芯片
US20120185850A1 (en) Code rearranger and method for rearranging code for a virtual machine
CN104765626B (zh) 一种固件程序烧写方法及装置
KR20060035077A (ko) 데이터 처리 장치 및 이를 이용한 레지스터 할당 방법
CN106294143B (zh) 芯片的寄存器的调试方法及装置
KR101083271B1 (ko) 액티브엑스 컨트롤 변환 시스템 및 방법
US20140013312A1 (en) Source level debugging apparatus and method for a reconfigurable processor
CN104572425A (zh) 程序调试方法、装置及系统
US7774767B2 (en) System and method for compiler interprocedural optimization having support for object files in libraries
CN102750167A (zh) 应用程序启动方法、装置和计算机系统
CN107885529B (zh) 终端应用的挂钩方法及装置
CN104281443B (zh) 利用tcm实现代码、数据替换的方法
CN106897051B (zh) 一种进程清理的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161228

Termination date: 20190115

CF01 Termination of patent right due to non-payment of annual fee