模拟芯片运行的方法、计算机可读存储介质及电子设备技术

技术编号:37346521 阅读:13 留言:0更新日期:2023-04-22 21:41
本发明专利技术提供一种模拟芯片运行的方法,执行于模拟芯片运行的软件模拟器中,所述方法包括:获取目标指令,并将所述目标指令分解为操作码和操作数;依据所述操作码,从预定的具有操作码与指令功能函数映射关系的第一映射表中获取对应的指令功能函数和预定的具有操作数与指令功能函数参数映射关系的第二映射表;依据所述操作数,从所述第二映射表中获取对应的指令功能函数的参数;依据所述指令功能函数和所述指令功能函数的参数,完成所述目标指令的执行。本发明专利技术提供的模拟芯片运行的方法,能够采用预先设定的第一映射表和第二映射表完成指令执行,减少了指令解析的时间,提高了软件模拟器的效率。件模拟器的效率。件模拟器的效率。

【技术实现步骤摘要】
模拟芯片运行的方法、计算机可读存储介质及电子设备


[0001]本专利技术涉及芯片验证
,尤其涉及一种模拟芯片运行的方法。

技术介绍

[0002]在芯片的设计、验证过程中通常采用软件模拟器来模拟芯片的行为,软件模拟器可以提供简单有效的验证方法,来提升芯片的设计质量。软件模拟器相对于芯片硬件能够更好更快的迭代升级,辅助芯片的设计,可以很大程度上节约开发成本,提高开发效率。软件模拟器还可以提供更好更多的调试手段,方便使用者开发调试芯片应用程序,所以软件模拟器在芯片设计完成之后可以作为芯片应用程序的开发工具或者产品来使用。
[0003]芯片软件模拟器通过运行软件的方式来模拟真实硬件(例如,芯片)的行为,比如指令的执行、按键的响应、图像的显示、声音的播放等等。然而,软件模拟器的行为要做到和真实的硬件完全一致往往是非常困难的,尤其软件模拟器要兼顾到指令的解析执行、按键或者中断的相应、时钟频率的一致性、图像的显示以及声音的播放更是不容易实现,这些对软件模拟器的效能都有很高的要求。在指令执行的过程中,占用时间最多的部分为指令解析的过程,因此,亟需一种对提高指令解析效率的技术方案。

技术实现思路

[0004]本专利技术提供的模拟芯片运行的方法,能够采用预先设定的第一映射表和第二映射表完成指令执行,减少了指令解析的时间,提高了软件模拟器的效率。
[0005]本专利技术提供一种模拟芯片运行的方法,执行于模拟芯片运行的软件模拟器中,所述方法包括:
[0006]获取目标指令,并将所述目标指令分解为操作码和操作数;
[0007]依据所述操作码,从预定的具有操作码与指令功能函数映射关系的第一映射表中获取对应的指令功能函数和预定的具有操作数与指令功能函数参数映射关系的第二映射表;
[0008]依据所述操作数,从所述第二映射表中获取对应的指令功能函数的参数;
[0009]依据所述指令功能函数和所述指令功能函数的参数,完成所述目标指令的执行。
[0010]可选地,依据所述操作码,从预定的具有操作码与指令功能函数映射关系的第一映射表中获取对应的指令功能函数包括:
[0011]以所述操作码作为索引,从所述第一映射表中查询到指令功能函数指针;
[0012]依据所述指令功能函数指针,索引到对应的指令功能函数。
[0013]可选地,依据所述操作码,从预定的具有操作码与指令功能函数映射关系的第一映射表中获取对应的预定的具有操作数与指令功能函数参数映射关系的第二映射表包括:
[0014]以所述操作码为索引,从所述第一映射表中查询到预定的具有操作数与指令功能函数参数映射关系的第二映射表的地址;
[0015]从所述第二映射表的地址获取所述第二映射表。
[0016]可选地,依据所述操作数,从所述第二映射表中获取对应的指令功能函数的参数包括:
[0017]以所述操作数为索引,在所述第二映射表中查询到预定的指令功能函数参数。
[0018]可选地,所述第一映射表和所述第二映射表是在软件模拟器初始化过程中形成的,所述软件模拟器初始化过程包括:
[0019]获取所述软件模拟器上运行的目标程序的所有指令;
[0020]对所述所有指令进行解析,提取所有指令对应的操作码和操作数;
[0021]依据所述第一映射表对应的第一预定数据结构,填充所述操作码、指令功能函数指针和对应的第二映射表地址,形成第一映射表;
[0022]依据所述第二映射表对应的第二预定数据结构,填充所述操作数对应的指令功能函数参数形成第二映射表。
[0023]可选地,所述第一预定数据结构和第二预定数据结构是在指令集分析过程形成的,所述指令集分析过程包括:
[0024]获取所述软件模拟器模拟的目标芯片的指令集中的所有指令;
[0025]对指令集中的每一条指令构建一个指令功能函数;
[0026]依据每一条指令与所述每一个指令功能函数的对应关系,构建所述第一预定数据结构;
[0027]依据所述指令功能函数参数,构建第二预定数据结构。
[0028]可选地,所述第一预定数据结构包括多行数据,每行数据至少包括指令的操作码索引、指令功能函数指针以及第二映射表地址。
[0029]可选地,所述第二预定数据结构包括多行数据,每行数据至少包括一个指令功能函数单次执行对应的指令功能函数参数。
[0030]可选地,所述指令功能函数参数具有下标,所述下标为所述操作数。
[0031]第二方面,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如上述任一项所述的方法。
[0032]第三方面,本专利技术还一种电子设备,包括:
[0033]处理器;
[0034]与所述处理器通信连接的存储器,其中,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行上述任一项所述的方法。
[0035]在本专利技术提供的技术方案中,通过预先设定的第一映射表和第二映射表,在程序运行时,待处理器取出指令之后,只需要以操作码和操作数作为索引,简单查表即可完成指令的解析,直接对指令进行执行,大大提高了软件模拟器的效率。
附图说明
[0036]图1为本专利技术一实施例模拟芯片运行的方法流程图;
[0037]图2为本专利技术一实施例模拟芯片运行的方法中的指令格式示意图;
[0038]图3为本专利技术一实施例模拟芯片运行的方法获取指令功能函数的流程图;
[0039]图4为本专利技术一实施例模拟芯片运行的方法获取第二映射表流程图;
[0040]图5为本专利技术一实施例模拟芯片运行的方法形成第一映射表和第二映射表的流程
图;
[0041]图6为本专利技术一实施例模拟芯片运行的方法构建第一预定数据结构和第二预定数据结构的流程图。
具体实施方式
[0042]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0043]本专利技术实施例提供一种模拟芯片运行的方法,执行于模拟芯片运行的软件模拟器中,如图1所示,所述方法包括:
[0044]步骤100,获取目标指令,并将所述目标指令分解为操作码和操作数;
[0045]在一些实施例中,目标指令格式通常规定了多个区域,其中一个区域为操作码所在的区域,另外一个以上的区域为操作数所在的区域。在获取目标指令之后,从操作码所在的区域提取数据,即可获得操作码,从操作数所在的区域提取数据,即可获得操作码对应的操作数。例如,目标指令格式可以如图2所示,在图2中,操作码与指令功能函数具有映射关系,操作数与指令功能函数参数具有映射关本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模拟芯片运行的方法,其特征在于,执行于模拟芯片运行的软件模拟器中,所述方法包括:获取目标指令,并将所述目标指令分解为操作码和操作数;依据所述操作码,从预定的具有操作码与指令功能函数映射关系的第一映射表中获取对应的指令功能函数和预定的具有操作数与指令功能函数参数映射关系的第二映射表;依据所述操作数,从所述第二映射表中获取对应的指令功能函数的参数;依据所述指令功能函数和所述指令功能函数的参数,完成所述目标指令的执行。2.根据权利要求1所述的方法,其特征在于,依据所述操作码,从预定的具有操作码与指令功能函数映射关系的第一映射表中获取对应的指令功能函数包括:以所述操作码作为索引,从所述第一映射表中查询到指令功能函数指针;依据所述指令功能函数指针,索引到对应的指令功能函数。3.根据权利要求1所述的方法,其特征在于,依据所述操作码,从预定的具有操作码与指令功能函数映射关系的第一映射表中获取对应的预定的具有操作数与指令功能函数参数映射关系的第二映射表包括:以所述操作码为索引,从所述第一映射表中查询到预定的具有操作数与指令功能函数参数映射关系的第二映射表的地址;从所述第二映射表的地址获取所述第二映射表。4.根据权利要求1所述的方法,其特征在于,依据所述操作数,从所述第二映射表中获取对应的指令功能函数的参数包括:以所述操作数为索引,在所述第二映射表中查询到预定的指令功能函数参数。5.根据权利要求1所述的方法,其特征在于,所述第一映射表和所述第二映射表是在软件模拟器初始化过程中形成的,所述软件模拟器初始化过程包括:获取所述软件模拟器上运行的目标程序的所有指令;对所述...

【专利技术属性】
技术研发人员:顾泽伟
申请(专利权)人:成都海光集成电路设计有限公司
类型:发明
国别省市:

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

1