本发明专利技术的实施例提供一种即时功能级仿真器的实现方法和装置及仿真处理器。即时功能级仿真器的实现方法包括:读入目标机的机器指令;将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。本发明专利技术实施例解决了现有即时仿真技术中异常处理时速度大幅降低的问题,实现了即时仿真技术的执行性能的提升。
【技术实现步骤摘要】
即时功能级仿真器的实现方法和装置及仿真处理器
本专利技术实施例涉及仿真处理技术,尤其涉及一种即时功能级仿真器的实现方法和装置及仿真处理器。
技术介绍
目前,为进行各种硬件器件的调试、试验,往往需要将待调试器件作为目标机,在宿主机上配置仿真器,通过宿主机执行仿真器中的指令来模拟目标机动作。基于此需求,现有技术提供了多种仿真器来完成此仿真过程,例如常用的是功能级仿真器。功能级仿真器用于将特定类型的机器指令翻译为能在宿主机上执行的仿真指令。因此功能级仿真器能读入用特定类型的机器指令写成的程序,并将其在宿主机上成功执行。常规的功能级仿真器实现技术,通过逐条读入机器指令加以翻译再执行从而完成仿真功能。而目前较为流行的即时(just-in-time,以下简称JIT)功能级仿真器,其特点是一次读入多条机器指令构成的指令块,一起进行翻译和执行。因此相较于逐条翻译执行的功能级仿真器而言,能大幅提高仿真器的执行速度。JIT功能级仿真器的执行阶段是一个动态执行的过程。JIT功能级仿真器只能在指令块中可能触发异常的地方,跳出执行阶段进行相应的异常识别和异常处理,从而导致JIT功能级仿真器执行速度大幅下降。由于JIT功能级仿真器本身会引入许多调度操作,因此在存在异常的场景下,相较于常规的功能级仿真器实现技术,JIT功能级仿真器的执行速度反而更慢。
技术实现思路
本专利技术实施例提供一种即时功能级仿真器的实现方法和装置及仿真处理器,以解决现有JIT仿真技术中异常处理时速度大幅降低的问题,以实现JIT仿真技术的执行性能提升。第一方面,本专利技术实施例提供一种即时功能级仿真器的实现方法,包括:读入目标机的机器指令;将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。在第一方面的第一种可能的实现方式中,将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令包括:将所述机器指令翻译成为宿主机的执行仿真指令;按照预设规则获取所述机器指令的异常识别指令和异常处理指令;将所述异常识别指令和异常处理指令翻译为宿主机的异常识别仿真指令和异常处理仿真指令。。根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,将所述异常识别指令翻译为宿主机的异常识别仿真指令包括:将设定异常机器指令对应的异常识别指令进行翻译,成为宿主机的异常识别仿真指令,并加入到所述设定异常机器指令对应的执行仿真指令位置前。在第一方面的第三种可能的实现方式中,将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令包括:将所述机器指令以及所述机器指令的异常识别指令和异常处理指令翻译为宿主机的中间指令;采用编译器将所述中间指令编译为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令。在第一方面的第四种可能的实现方式中,将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中之后,还包括:将所述异常处理仿真指令在内存中的存储地址索引,添加至对应的异常识别仿真指令中,以便在识别到异常时调用所述异常处理仿真指令。根据第一方面的第四种可能的实现方式,在第五种可能的实现方式中,从所述内存中读取所述执行仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常包括:从所述内存中读取所述执行仿真指令,并通过所述宿主机执行;在执行所述异常识别仿真指令而识别到异常时,设置与所述异常对应的标志位;根据所述标志位从对应的异常识别仿真指令中查询获取所述索引;根据索引调用执行异常处理仿真指令。第二方面,本专利技术实施例提供一种即时功能级仿真器的实现装置,包括:读取模块,用于读入目标机的机器指令;翻译模块,用于将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;存储模块,用于将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;执行模块,用于从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。在第二方面的第一种可能的实现方式中,翻译模块包括:机器指令翻译单元,用于将所述机器指令翻译成为宿主机的执行仿真指令;异常识别指令获取单元,用于按照预设规则获取所述机器指令的异常识别指令;异常处理指令获取单元,用于按照预设规则获取所述机器指令的异常处理指令;异常识别指令翻译单元,用于将所述异常识别指令翻译为宿主机的异常识别仿真指令;异常处理指令翻译单元,用于将所述异常处理指令翻译为宿主机的异常处理仿真指令。根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中,异常识别指令翻译单元具体用于将设定异常机器指令对应的异常识别指令进行翻译,成为宿主机的异常识别仿真指令,并加入到所述设定异常机器指令对应的执行仿真指令位置前。在第二方面的第三种可能的实现方式中,翻译模块包括:中间指令单元,用于将所述机器指令以及所述机器指令的异常识别指令和异常处理指令翻译为宿主机的中间指令;编译中间指令单元,用于采用编译器将所述中间指令编译为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令。在第二方面的第四种可能的实现方式中,还包括:添加索引模块,用于在在将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中之后,将所述异常处理仿真指令在内存中的存储地址索引,添加至对应的异常识别仿真指令中,以便在识别到异常时调用所述异常处理仿真指令。根据第二方面的第四种可能的实现方式,在第五种可能的实现方式中,执行模块包括:执行仿真指令单元,用于从所述内存中读取所述执行仿真指令,并通过所述宿主机执行;设置标志位单元,用于在执行所述异常识别仿真指令而识别到异常时,设置与所述异常对应的标志位;获取索引单元,用于根据所述标志位从对应的异常识别仿真指令中查询获取所述索引;异常处理单元,用于根据索引调用执行异常处理仿真指令。第三方面,本专利技术实施例提供一种仿真处理器,包括内存,还包括:本专利技术任意实施例所提供的即时功能级仿真器的实现装置。本专利技术实施例即时功能级仿真器的实现方法和装置及仿真处理器,通过将目标机的异常识别指令和异常处理指令一并进行翻译,加入待执行的指令块中,使宿主机在执行阶段能正确识别和处理异常,无需频繁跳出执行阶段,实现JIT功能级仿真器的性能提升,解决现有JIT功能级仿真器异常处理时速度大幅降低的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可本文档来自技高网...
【技术保护点】
一种即时功能级仿真器的实现方法,其特征在于,包括:读入目标机的机器指令;将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;从所述内存中读取所述仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。
【技术特征摘要】
1.一种即时功能级仿真器的实现方法,其特征在于,包括:读入目标机的机器指令;将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令;将所述执行仿真指令、异常识别仿真指令和异常处理仿真指令存储至宿主机的内存中;将所述异常处理仿真指令在内存中的存储地址索引,添加至对应的异常识别仿真指令中,以便在识别到异常时调用所述异常处理仿真指令;从所述内存中读取所述执行仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常。2.根据权利要求1所述的方法,其特征在于,将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令包括:将所述机器指令翻译成为宿主机的执行仿真指令;按照预设规则获取所述机器指令的异常识别指令和异常处理指令;将所述异常识别指令和异常处理指令翻译为宿主机的异常识别仿真指令和异常处理仿真指令。3.根据权利要求2所述的方法,其特征在于,将所述异常识别指令翻译为宿主机的异常识别仿真指令包括:将设定异常机器指令对应的异常识别指令进行翻译,成为宿主机的异常识别仿真指令,并加入到所述设定异常机器指令对应的执行仿真指令位置前。4.根据权利要求1所述的方法,其特征在于:将所述机器指令以及所述机器指令的异常识别指令和异常处理指令进行翻译,成为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令包括:将所述机器指令以及所述机器指令的异常识别指令和异常处理指令翻译为宿主机的中间指令;采用编译器将所述中间指令编译为宿主机的执行仿真指令、异常识别仿真指令和异常处理仿真指令。5.根据权利要求1所述的方法,其特征在于,从所述内存中读取所述执行仿真指令,并通过所述宿主机执行,且在执行所述异常识别仿真指令而识别到异常时,调用执行所述异常处理仿真指令以处理所述异常包括:从所述内存中读取所述执行仿真指令,并通过所述宿主机执行;在执行所述异常识别仿真指令而识别到异常时,设置与所述异常对应的标志位;根据所述标志位从对应的异常识别仿真指令中查询获取所述索引;根据索引调用执行异常处理仿真指令。6.一种即时功能级仿真器的实现装置,其特征在于,包括:读取模块,用于读入目标...
【专利技术属性】
技术研发人员:程彬,鲍翀,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。