一种指令执行方法、装置、设备及存储介质制造方法及图纸

技术编号:24089692 阅读:31 留言:0更新日期:2020-05-09 07:31
本申请公开了一种指令执行方法、装置、设备及存储介质。该方法在确保批处理过程中无执行依赖关系的指令正常执行的同时,确保了存在执行依赖关系的指令之间的有序执行,进而保证了指令执行结果的正确性。此外,本申请还提供一种指令执行装置、设备及存储介质,有益效果同上所述。

An instruction execution method, device, equipment and storage medium

【技术实现步骤摘要】
一种指令执行方法、装置、设备及存储介质
本申请涉及深度学习领域,特别是涉及一种指令执行方法、装置、设备及存储介质。
技术介绍
卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(FeedforwardNeuralNetworks),是深度学习(deeplearning)的代表算法之一。在当前基于卷积神经网络的批处理过程中,需要用户软件向运算设备提供待处理的批数据以及对批数据进行批处理的指令,而对于批数据中各条数据的批处理往往进一步包含顺序执行多个操作过程,每一个操作过程的执行均需要运算设备执行相应的指令,并且批数据中的数据在进行批处理过程中,也可能会存在进一步对某一操作过程的执行结果进行多分支操作,以及对多个执行结果进行聚合操作的情况,因此对批数据进行批处理的各指令之间在执行时往往存在依赖性,而当前难以确保指令之间的有序执行,进而难以保证指令执行结果的正确性。由此可见,提供一种指令执行方法,以相对确保批处理过程中指令之间的有序执行,进而保证指令执行结果的正确性,是本领技术人员需要解决的问题。
技术实现思路
本申请的目的是提供一种指令执行方法、装置、设备及存储介质,以相对确保批处理过程中指令之间的有序执行,进而保证指令执行结果的正确性。为解决上述技术问题,本申请提供一种指令执行方法,包括:获取指令流,并获取指令间执行关系,指令流中包含第一标志位以及第二标志位的内容均为空的指令;根据指令间执行关系获取指令流中存在执行依赖关系的特殊指令以及未存在执行依赖关系的普通指令;将特殊指令中第一特殊指令的第二标志位与第二特殊指令的第一标志位均与相同的存储地址建立数据访问关系,第一特殊指令与第二特殊指令相邻执行且先于第二特殊指令执行;对执行优先级最高的特殊指令的第一标志位设置满足可执行标准的状态信息;执行普通指令;判断指令流中是否存在未执行的特殊指令;如果指令流中存在未执行的特殊指令,则在未执行的特殊指令中获取第一标志位对应的状态信息满足可执行标准的目标特殊指令,并执行目标特殊指令;在目标特殊指令执行完成后,对目标特殊指令的第二标志位设置满足可执行标准的状态信息,并执行判断指令流中是否存在未执行的特殊指令的步骤;如果指令流中未存在未执行的特殊指令,则停止对指令流的执行。优选的,在将特殊指令中第一特殊指令的第二标志位与第二特殊指令的第一标志位均与相同的存储地址建立数据访问关系之前,方法包括:获取控制寄存器分配表,并根据控制寄存器分配表获取处于未分配状态的目标控制寄存器;将特殊指令中第一特殊指令的第二标志位与第二特殊指令的第一标志位均与相同的存储地址建立数据访问关系,包括:将特殊指令中第一特殊指令的第二标志位与第二特殊指令的第一标志位均与相同目标控制寄存器的寄存器存储地址建立数据访问关系。优选的,在获取指令流之后,方法还包括:获取常规寄存器分配表,并根据常规寄存器分配表获取处于未分配状态的目标常规寄存器;利用目标常规寄存器存储指令中除第一标志位以及第二标志位以外的指令参数。优选的,在执行普通指令之后,方法还包括:释放与普通指令对应的常规寄存器,并将常规寄存器分配表中与普通指令对应的常规寄存器的分配状态设置为未分配状态;在执行目标特殊指令之后,方法还包括:释放与目标特殊指令对应的常规寄存器,并将常规寄存器分配表中与目标特殊指令对应的常规寄存器的分配状态设置为未分配状态;释放与目标特殊指令对应的控制寄存器,并将控制寄存器分配表中与目标特殊指令对应的控制寄存器的分配状态设置为未分配状态。优选的,常规寄存器分配表以及控制寄存器分配表均为字典类型的数据结构。优选的,对执行优先级最高的特殊指令的第一标志位设置满足可执行标准的状态信息,包括:对执行优先级最高的特殊指令中第一标志位对应的控制寄存器设置标准数值;在未执行的特殊指令中获取第一标志位对应的状态信息满足可执行标准的目标特殊指令,包括:读取未执行的特殊指令,并根据未执行的特殊指令的第一标志位获取相应控制寄存器中存储的状态数值;判断状态数值是否等于标准数值;如果状态数值等于标准数值,则将未执行的特殊指令设置为目标特殊指令;在目标特殊指令执行完成后,对目标特殊指令的第二标志位设置满足可执行标准的状态信息,包括:在目标特殊指令执行完成后,对与目标特殊指令的第二标志位对应的控制寄存器设置标准数值。优选的,标准数值的取值包括0或1。此外,本申请还提供一种指令执行装置,包括:获取模块,用于获取指令流,并获取指令间执行关系,指令流中包含第一标志位以及第二标志位的内容均为空的指令;指令分类模块,用于根据指令间执行关系获取指令流中存在执行依赖关系的特殊指令以及未存在执行依赖关系的普通指令;关系建立模块,用于将特殊指令中第一特殊指令的第二标志位与第二特殊指令的第一标志位均与相同的存储地址建立数据访问关系,第一特殊指令与第二特殊指令相邻执行且先于第二特殊指令执行;第一标志位设置模块,用于对执行优先级最高的特殊指令的第一标志位设置满足可执行标准的状态信息;普通指令执行模块,用于执行普通指令;判断模块,用于判断指令流中是否存在未执行的特殊指令,如果是,则依次调用特殊指令执行模块以及第二标志位设置模块,否则,调用停止模块;特殊指令执行模块,用于在未执行的特殊指令中获取第一标志位对应的状态信息满足可执行标准的目标特殊指令,并执行目标特殊指令;第二标志位设置模块,用于在目标特殊指令执行完成后,对目标特殊指令的第二标志位设置满足可执行标准的状态信息,并调用判断模块;停止模块,用于停止对指令流的执行。此外,本申请还提供一种指令执行设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如上述的指令执行方法的步骤。此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的指令执行方法的步骤。本申请所提供的指令执行方法,首先获取指令流,指令流的指令中包含第一标志位以及第二标志位且内容均为空,进而根据指令间执行关系获取指令流中存在执行依赖关系的特殊指令以及不存在执行依赖关系的普通指令,进而将相邻执行的特殊指令中,将先执行的第一特殊指令的第二标志位与后执行的第二特殊指令的第一标志位均与相同的存储地址建立数据访问关系,并对执行优先级最高的特殊指令的第一标志位设置满足可执行标准的状态信息,进而执行普通指令,并当指令流中存在未执行的特殊指令时,执行第一标志位对应的状态信息满足可执行标准的目标特殊指令,并对目标特殊指令的第二标志位设置满足可执行标准的状态信息,直至全部特殊指令执行完成。由于在指令流的指令中包含第一标志位以及第二标志本文档来自技高网...

【技术保护点】
1.一种指令执行方法,其特征在于,包括:/n获取指令流,并获取指令间执行关系,所述指令流中包含所述第一标志位以及所述第二标志位的内容均为空的指令;/n根据所述指令间执行关系获取所述指令流中存在执行依赖关系的特殊指令以及未存在所述执行依赖关系的普通指令;/n将所述特殊指令中第一特殊指令的所述第二标志位与第二特殊指令的所述第一标志位均与相同的存储地址建立数据访问关系,所述第一特殊指令与所述第二特殊指令相邻执行且先于所述第二特殊指令执行;/n对执行优先级最高的所述特殊指令的第一标志位设置满足可执行标准的状态信息;/n执行所述普通指令;/n判断所述指令流中是否存在未执行的所述特殊指令;/n如果所述指令流中存在未执行的所述特殊指令,则在所述未执行的所述特殊指令中获取所述第一标志位对应的状态信息满足所述可执行标准的目标特殊指令,并执行所述目标特殊指令;/n在所述目标特殊指令执行完成后,对所述目标特殊指令的第二标志位设置满足所述可执行标准的状态信息,并执行所述判断所述指令流中是否存在未执行的所述特殊指令的步骤;/n如果所述指令流中未存在未执行的所述特殊指令,则停止对所述指令流的执行。/n

【技术特征摘要】
1.一种指令执行方法,其特征在于,包括:
获取指令流,并获取指令间执行关系,所述指令流中包含所述第一标志位以及所述第二标志位的内容均为空的指令;
根据所述指令间执行关系获取所述指令流中存在执行依赖关系的特殊指令以及未存在所述执行依赖关系的普通指令;
将所述特殊指令中第一特殊指令的所述第二标志位与第二特殊指令的所述第一标志位均与相同的存储地址建立数据访问关系,所述第一特殊指令与所述第二特殊指令相邻执行且先于所述第二特殊指令执行;
对执行优先级最高的所述特殊指令的第一标志位设置满足可执行标准的状态信息;
执行所述普通指令;
判断所述指令流中是否存在未执行的所述特殊指令;
如果所述指令流中存在未执行的所述特殊指令,则在所述未执行的所述特殊指令中获取所述第一标志位对应的状态信息满足所述可执行标准的目标特殊指令,并执行所述目标特殊指令;
在所述目标特殊指令执行完成后,对所述目标特殊指令的第二标志位设置满足所述可执行标准的状态信息,并执行所述判断所述指令流中是否存在未执行的所述特殊指令的步骤;
如果所述指令流中未存在未执行的所述特殊指令,则停止对所述指令流的执行。


2.根据权利要求1所述的指令执行方法,其特征在于,在所述将所述特殊指令中第一特殊指令的所述第二标志位与第二特殊指令的所述第一标志位均与相同的存储地址建立数据访问关系之前,所述方法包括:
获取控制寄存器分配表,并根据所述控制寄存器分配表获取处于未分配状态的目标控制寄存器;
所述将所述特殊指令中第一特殊指令的所述第二标志位与第二特殊指令的所述第一标志位均与相同的所述存储地址建立数据访问关系,包括:
将所述特殊指令中所述第一特殊指令的所述第二标志位与所述第二特殊指令的所述第一标志位均与相同所述目标控制寄存器的寄存器存储地址建立所述数据访问关系。


3.根据权利要求2所述的指令执行方法,其特征在于,在所述获取指令流之后,所述方法还包括:
获取常规寄存器分配表,并根据所述常规寄存器分配表获取处于未分配状态的目标常规寄存器;
利用所述目标常规寄存器存储所述指令中除所述第一标志位以及所述第二标志位以外的指令参数。


4.根据权利要求3所述的指令执行方法,其特征在于,在所述执行所述普通指令之后,所述方法还包括:
释放与所述普通指令对应的常规寄存器,并将所述常规寄存器分配表中与所述普通指令对应的常规寄存器的分配状态设置为未分配状态;
在所述执行所述目标特殊指令之后,所述方法还包括:
释放与所述目标特殊指令对应的常规寄存器,并将所述常规寄存器分配表中与所述目标特殊指令对应的常规寄存器的分配状态设置为未分配状态;
释放与所述目标特殊指令对应的控制寄存器,并将所述控制寄存器分配表中与所述目标特殊指令对应的控制寄存器的分配状态设置为未分配状态。


5.根据权利要求3所述的指令执行方法,其特征在于,所述...

【专利技术属性】
技术研发人员:范宝余杨宏斌董刚
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1