面向异构多核项目中指令集的自动双向转换方法及装置制造方法及图纸

技术编号:34100993 阅读:56 留言:0更新日期:2022-07-11 23:26
本申请涉及一种面向异构多核项目中指令集的自动双向转换方法、装置、计算机设备和存储介质。所述方法包括:获取待转换的操作指令;待转换的操作指令为异构多核项目中的任意一个内核所支持的操作指令;利用编译器对待转换的操作指令进行编译,得到操作指令对应的机器码;利用解码器对所述机器码进行解析,得到指令类型和操作数;将指令类型和操作数调度到不同于操作指令所在的内核的指令集执行库中进行匹配,得到指令转换后的机器码;对指令交换后的机器码进行反汇编,得到转换后的指令。采用本方法能够提高验证激励效率。用本方法能够提高验证激励效率。用本方法能够提高验证激励效率。

【技术实现步骤摘要】
面向异构多核项目中指令集的自动双向转换方法及装置


[0001]本申请涉及集成电路
,特别是涉及一种面向异构多核项目中指令集的自动双向转换方法、装置、计算机设备和存储介质。

技术介绍

[0002]随着集成电路中异构多核项目的不断推广,在应用开发的过程中,研发和验证人员常用的不同类型的指令指令集包括DSP、ARM等。更多的是,每一种类型的指令在不同版本上也存在不同的指令格式。这些问题都会给异构多核项目研发过程中,验证人员的测试激励的编写带来障碍。
[0003]在异构多核项目研发过程中,编写不同内核验证激励时,对于不同指令集的使用要求研发验证人员能够熟练使用多种指令集,或者每次使用其他指令时均需去搜集并查阅各种指令集文档进行学习从而实现相关功能。但是,由于不同内核支持的指令格式差异较大,同时学习两种指令时会由于习惯的问题,导致很难快速理解。例如,在DSP的66x指令集中向固定地址读数据的指令格式为LDW*A3,A4,它的含义是从A3地址中读取数据放入A4中。然而,ARM v5指令集执行这个任务的指令格式为LDR R4,[R3]。从两种指令格式上来看,其最直观的感受是地址和数据的书写位置是明显相反的。然而这对于一个长期熟练使用DSP指令的工程师而言,突然学习ARM指令时在习惯的改变上是很难接受的。因此,这大大加大了研发验证人员的开发难度、增加了验证过程中的时间和人力成本,验证激励效率低。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够提高验证激励效率的面向异构多核项目中指令集的自动双向转换方法、装置、计算机设备和存储介质。
[0005]一种面向异构多核项目中指令集的自动双向转换方法,所述方法包括:
[0006]获取待转换的操作指令;待转换的操作指令为异构多核项目中的任意一个内核所支持的操作指令;
[0007]利用编译器对待转换的操作指令进行编译,得到操作指令对应的机器码;
[0008]利用解码器对所述机器码进行解析,得到指令类型和操作数;
[0009]将指令类型和操作数调度到不同于操作指令所在的内核的指令集执行库中进行匹配,得到指令转换后的机器码;
[0010]对指令交换后的机器码进行反汇编,得到转换后的指令。
[0011]在其中一个实施例中,还包括:根据指令集转换的需求预先构建指令执行库;指令执行库包括指令类型库和条件码库。
[0012]在其中一个实施例中,操作数包括源寄存器和目的寄存器;
[0013]将指令类型和操作数调度到不同于操作指令所在的内核的指令集执行库中进行匹配,得到指令转换后的机器码,包括:
[0014]将所述指令类型、源寄存器和目的寄存器调度到不同于所述操作指令所在的内核
的指令集执行库中,根据指令类型、源寄存器和目的寄存器的含义在指令集执行库中找到与含义相对应的机器码为指令转换后的机器码。
[0015]在其中一个实施例中,指令转换后的机器码中还包括条件码。
[0016]在其中一个实施例中,异构多核项目表示在集成电路芯片研发过程的IC验证阶段中使用不同指令集的多核异构项目。
[0017]一种面向异构多核项目中指令集的自动双向转换装置,所述装置包括:
[0018]接收操作指令模块,用于获取待转换的操作指令;待转换的操作指令为异构多核项目中的任意一个内核所支持的操作指令;
[0019]编译解析模块,用于利用编译器对待转换的操作指令进行编译,得到操作指令对应的机器码;利用解码器对机器码进行解析,得到指令类型和操作数;
[0020]双向转换模块,用于将指令类型和操作数调度到不同于操作指令所在的内核的指令集执行库中进行匹配,得到指令转换后的机器码;对指令交换后的机器码进行反汇编,得到转换后的指令。
[0021]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0022]获取待转换的操作指令;待转换的操作指令为异构多核项目中的任意一个内核所支持的操作指令;
[0023]利用编译器对待转换的操作指令进行编译,得到操作指令对应的机器码;
[0024]利用解码器对所述机器码进行解析,得到指令类型和操作数;
[0025]将指令类型和操作数调度到不同于操作指令所在的内核的指令集执行库中进行匹配,得到指令转换后的机器码;
[0026]对指令交换后的机器码进行反汇编,得到转换后的指令。
[0027]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0028]获取待转换的操作指令;待转换的操作指令为异构多核项目中的任意一个内核所支持的操作指令;
[0029]利用编译器对待转换的操作指令进行编译,得到操作指令对应的机器码;
[0030]利用解码器对所述机器码进行解析,得到指令类型和操作数;
[0031]将指令类型和操作数调度到不同于操作指令所在的内核的指令集执行库中进行匹配,得到指令转换后的机器码;
[0032]对指令交换后的机器码进行反汇编,得到转换后的指令。
[0033]上述面向异构多核项目中指令集的自动双向转换方法、装置、计算机设备和存储介质,本专利技术通过将待转换的操作指令编译成机器码,然后对机器码进行解析,分析出它的指令类型和操作数,将指令类型和操作数调度到不同于操作指令所在的内核的指令集执行库中进行匹配,得到指令转换后的机器码,然后进行反汇编得到转换后的指令,采用提取指令类型和操作数的方式实现多种不同指令集的精确匹配,通过指令参数的快速调度实现不同指令集间的动态切换,自动翻译,即可实现验证激励在不同指令集中的复用,进而提高验证激励的效率。
附图说明
[0034]图1为一个实施例中一种面向异构多核项目中指令集的自动双向转换方法的应用场景图;
[0035]图2为一个实施例中一种面向异构多核项目中指令集的自动双向转换装置的结构框图;
[0036]图3为一个实施例中计算机设备的内部结构图。
具体实施方式
[0037]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0038]在一个实施例中,如图1所示,提供了一种面向异构多核项目中指令集的自动双向转换方法,包括以下步骤:
[0039]步骤102,获取待转换的操作指令;待转换的操作指令为异构多核项目中的任意一个内核所支持的操作指令。
[0040]在异构多核项目中,由于内核结构存在差异,不同内核所支持的指令集的指令格式也会存在诸多差异。
[0041]步骤104,利用编译器对待转换的操作指令进行编译,得到操作指令对应的机器码;利用解码器对机器码进行解析,得到指令类型和操作数。
[0042]步骤106,将指令类型和操作数调度到不同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向异构多核项目中指令集的自动双向转换方法,其特征在于,所述方法包括:获取待转换的操作指令;所述待转换的操作指令为异构多核项目中的任意一个内核所支持的操作指令;利用编译器对所述待转换的操作指令进行编译,得到所述操作指令对应的机器码;利用解码器对所述机器码进行解析,得到指令类型和操作数;将所述指令类型和操作数调度到不同于所述操作指令所在的内核的指令集执行库中进行匹配,得到指令转换后的机器码;对所述指令交换后的机器码进行反汇编,得到转换后的指令。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据指令集转换的需求预先构建指令执行库;所述指令执行库包括指令类型库和条件码库。3.根据权利要求1所述的方法,其特征在于,所述操作数包括源寄存器和目的寄存器;将所述指令类型和操作数调度到不同于所述操作指令所在的内核的指令集执行库中进行匹配,得到指令转换后的机器码,包括:将所述指令类型、源寄存器和目的寄存器调度到不同于所述操作指令所在的内核的指令集执行库中,根据所述指令类型、源寄存器和目的寄存器的含义在所述指令集执行库中找到与所述含义相对应的机器码为指令转换后的机器码。4.根据权利要求3...

【专利技术属性】
技术研发人员:龚国辉卢方圆伍玉良刘亚
申请(专利权)人:湖南长城银河科技有限公司
类型:发明
国别省市:

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

1