本申请涉及计算机,尤其涉及一种指令依赖关系的构建方法、装置、电子设备及计算机可读存储介质。
背景技术:
1、指令间的依赖关系是维持指令流正常运行的重要信息,两个指令具有依赖关系,表征其中的一个指令需要依赖另一个指令的执行,例如计算操作数指令必须先由数据加载指令从内存中加载了数据,然后才能使用。
2、目前,指令的依赖关系可以按照固定的文本代码的形式进行编写,并将依赖关系写入源码后编译执行。
3、但是,上述过程中,记录后的依赖关系形式固定,且在存在较多依赖关系的情况下,会使得编写操作繁琐复杂,且编写后的依赖关系混乱无序。
技术实现思路
1、本申请实施例提供一种指令依赖关系的构建方法、装置、电子设备及计算机可读存储介质,以解决相关技术中的问题。
2、第一方面,本申请实施例提供了一种指令依赖关系的构建方法,所述方法包括:
3、获取每个指令的指令格式,以及所有所述指令形成的指令顺序;
4、根据每个所述指令的指令格式,确定每个所述指令包括的逻辑寄存器;
5、根据所述指令顺序和所有所述指令各自包括的逻辑寄存器,构建矩阵;所述矩阵中的元素用于表征所述逻辑寄存器,所述逻辑寄存器与所述矩阵中的元素一一对应;
6、根据所述指令的逻辑寄存器之间的依赖关系,设定所述矩阵中元素之间的关联关系,从而完成对所述指令的依赖关系构建。
7、第二方面,本申请实施例提供了一种指令依赖关系的构建装置,所述装置包括:
8、获取模块,用于获取每个指令的指令格式,以及所有所述指令形成的指令顺序;
9、确定模块,用于根据每个所述指令的指令格式,确定每个所述指令包括的逻辑寄存器;
10、构建模块,用于根据所述指令顺序和所有所述指令各自包括的逻辑寄存器,构建矩阵;所述矩阵中的元素用于表征所述逻辑寄存器,所述逻辑寄存器与所述矩阵中的元素一一对应;
11、依赖模块,用于根据所述指令的逻辑寄存器之间的依赖关系,设定所述矩阵中元素之间的关联关系,从而完成对所述指令的依赖关系构建。
12、第三方面,本申请实施例还提供了一种电子设备,包括处理器;
13、用于存储所述处理器可执行指令的存储器;
14、其中,所述处理器被配置为执行所述指令,以实现所述第一方面的方法。
15、第四方面,本申请实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行所述第一方面的方法。
16、本申请实施例中,可以按照指令顺序,将每个指令包括的逻辑寄存器转换为矩阵中的元素,形成一个由元素构成的矩阵,并由元素表征逻辑寄存器,从而后续可以基于矩阵中的元素进行依赖关系的设定。在本申请中,矩阵的数据形式紧凑且体量较小,对矩阵中元素的改动也非常灵活,另外,矩阵通过元素的行、列排布,很准确且直观的表达了指令的流转顺序,通过矩阵中元素之间的关联关系来表达指令的逻辑寄存器之间的依赖关系,也是非常准确且直观的。
17、上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
1.一种指令依赖关系的构建方法,其特征在于,所述方法包括:
2.根据权利要求1所述的指令依赖关系的构建方法,其特征在于,所述根据所述指令顺序和所有所述指令各自包括的逻辑寄存器,构建矩阵,包括:
3.根据权利要求1或2所述的指令依赖关系的构建方法,其特征在于,所述根据所述指令的逻辑寄存器之间的依赖关系,设定所述矩阵中元素之间的关联关系,包括:
4.根据权利要求1所述的指令依赖关系的构建方法,其特征在于,所述根据所述指令顺序和所有所述指令各自包括的逻辑寄存器,构建矩阵,包括:
5.根据权利要求1或4所述的指令依赖关系的构建方法,其特征在于,所述根据所述指令的逻辑寄存器之间的依赖关系,设定所述矩阵中元素之间的关联关系,包括:
6.根据权利要求1所述的指令依赖关系的构建方法,其特征在于,所述元素的值为与所述元素对应的逻辑寄存器的寄存器标识。
7.根据权利要求1所述的指令依赖关系的构建方法,其特征在于,在根据所述指令的逻辑寄存器之间的依赖关系,设定所述矩阵中元素之间的关联关系,从而完成对所述指令的依赖关系构建之后,所述方法还包括:
8.根据权利要求1所述的指令依赖关系的构建方法,其特征在于,所述依赖关系包括:第一类型的逻辑寄存器与第二类型的逻辑寄存器之间的依赖;所述依赖关系具有对应的依赖概率;
9.一种指令依赖关系的构建装置,其特征在于,所述装置包括:
10.一种电子设备,其特征在于,包括:处理器;
11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至8中任一项所述的方法。