指令执行控制方法、装置、处理器和电子设备制造方法及图纸

技术编号:32975124 阅读:54 留言:0更新日期:2022-04-09 11:50
本申请实施例提供一种指令执行控制方法、装置、处理器和电子设备,其中,指令执行控制方法包括:发射访存等待指令,包括目标读写指令总量,目标读写指令总量为当前有效执行的读写访存指令不得大于的目标数量,发射访存等待指令适于阻塞后续指令的发射直至当前有效执行的读写访存指令不大于目标读写指令总量;获取目标读写指令总量和当前有效执行的各个访存指令的指令类型发射顺序;根据目标读写指令总量和指令类型发射顺序,获取目标读指令总量和目标写指令总量,目标读指令总量和目标写指令总量之和等于目标读写指令总量。本申请实施例所提供的指令执行控制方法,可以实现通过乱序执行的方式执行程序中按照顺序执行编译的读写访存指令。写访存指令。写访存指令。

【技术实现步骤摘要】
指令执行控制方法、装置、处理器和电子设备


[0001]本申请实施例涉及计算机处理器领域,具体涉及一种指令执行控制方法、装置、处理器和电子设备。

技术介绍

[0002]通常处理器对读写访存指令都是顺序发射的,而完成顺序则分为顺序完成和乱序完成,顺序完成是指读写访存之间按照指令发射顺序完成指令,乱序完成是指读写访存之间不按照指令发射顺序完成指令,但读访存和写访存各自内部仍是按照指令顺序完成的。
[0003]为了防止在访存指令和运算指令所使用的寄存器相同时出现错误,现有技术通常使用访存等待指令控制指令的运行,只有当前有效正在执行的访存指令数量小于或等于该访存等待指令所指定的目标数量,才发射访存等待指令后面的指令。
[0004]顺序执行的访存等待指令不区分目标数量是读指令的目标数量还是写指令的目标数量,因此使用顺序执行的访存等待指令的可执行程序,在提供乱序执行的处理器上就无法执行,如果没有源代码进行重新编译,只能人工配置处理器改为顺序执行,这对于用户是很不友好的。由于乱序执行的处理器日益流行,而历史程序多为顺序执行的程序,不兼容问题日益突出。
[0005]因此,如何实现通过乱序执行的方式执行程序中按照顺序执行编译的读写访存指令,就成为本领域技术人员需要解决的技术问题。

技术实现思路

[0006]有鉴于此,本申请实施例提供一种指令执行控制方法、装置、处理器和电子设备,以实现对程序中按照顺序执行编译的读写访存指令的乱序执行。
[0007]为实现上述目的,本申请实施例提供如下技术方案
[0008]第一方面,本申请实施例提供一种指令执行控制方法,包括:
[0009]发射访存等待指令,包括目标读写指令总量,所述目标读写指令总量为当前有效执行的读写访存指令不得大于的目标数量,所述发射访存等待指令适于阻塞后续指令的发射直至所述当前有效执行的读写访存指令不大于所述目标读写指令总量;
[0010]获取所述目标读写指令总量和当前有效执行的各个所述访存指令的指令类型发射顺序;
[0011]根据所述目标读写指令总量和所述指令类型发射顺序,获取目标读指令总量和目标写指令总量,所述目标读指令总量和所述目标写指令总量之和等于所述目标读写指令总量。
[0012]第二方面,本申请实施例提供一种指令执行控制装置,包括:
[0013]指令发射模块,适于发射访存等待指令,包括目标读写指令总量,所述目标读写指令总量为当前有效执行的读写访存指令不得大于的目标数量,所述发射访存等待指令适于阻塞后续指令的发射直至所述当前有效执行的读写访存指令不大于所述目标读写指令总
量;
[0014]目标读写指令总量和访存指令类型获取模块,适于获取所述目标读写指令总量和当前有效执行的各个所述访存指令的指令类型发射顺序;
[0015]目标指令总量获取模块,适于根据所述目标读写指令总量和所述指令类型发射顺序,获取目标读指令总量和目标写指令总量,所述目标读指令总量和所述目标写指令总量之和等于所述目标读写指令总量。
[0016]第三方面,本申请实施例提供一种处理器,包括:
[0017]访存类型寄存器,各个比特位记录访存指令的类型;
[0018]有效标识寄存器,各个比特位分别记录各个对应所述访存指令的有效性。
[0019]第四方面,本申请实施例提供一种电子设备,包括如上述第二方面所述的集成电路。
[0020]本申请实施例所提供的指令执行控制方法,在发射访存等待指令后,获取程序中按照顺序执行编译的正在有效执行的访存指令的指令类型和发射顺序、以及该访存等待指令所包括的目标读写指令总量,并据此将目标读写指令总量转化为目标读指令总量和目标写指令总量,当目标读指令总量和目标写指令总量都被满足时方执行该访存等待指令的下一指令。可见,本申请实施例所提供的指令执行控制方法,仅将编译完成的可执行程序中访存等待指令的目标读写指令总量转化为目标读指令总量和目标写指令总量,不需要改变程序本身,因此不需要获取源程序并重新编译,就可以实现对程序中按照顺序执行编译完成的读写访存指令进行乱序执行。因此,使用本申请实施例所提供的指令执行控制方法,可以很方便地实现通过乱序执行的方式执行按照顺序执行编译读写访存指令的程序,从而良好兼容历史指令及程序,同时,因为乱序执行的效率比顺序执行高,因此改变程序中按照顺序执行编译的读写访存指令的执行方式为乱序执行后也可以提高程序的整体执行速率。
附图说明
[0021]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0022]图1示出了访存等待指令执行的流程示意图;
[0023]图2示出了访存等待指令执行的另一流程示意图;
[0024]图3示出了本申请实施例所提供的指令执行控制方法一流程图;
[0025]图4示出了本申请实施例所提供的指令执行控制方法的指令类型发射顺序获取的一流程图;
[0026]图5示出了本申请实施例所提供的的处理器的框架图;
[0027]图6示出了本申请实施例所提供的指令执行控制方法的指令类型发射顺序获取另一流程图;
[0028]图7示出了本申请实施例所提供的指令执行控制方法的指令类型发射顺序一示意图;
[0029]图8示出了本申请实施例所提供的指令执行控制方法的目标读指令总量和目标写
指令总量获取一流程图;
[0030]图9示出了本申请实施例所提供的指令执行控制方法的目标读指令总量和目标写指令总量获取的一示意图;
[0031]图10示出了本申请实施例所提供的指令执行控制方法的目标读指令总量和目标写指令总量获取另一示意图;
[0032]图11示出了本申请实施例所提供的指令执行控制方法的目标读指令总量和目标写指令总量获取另一流程图;
[0033]图12示出了本申请实施例所提供的指令执行控制方法的当前需完成指令总量获取一流程图;
[0034]图13a示出了本申请实施例所提供的指令执行控制装置的一框架图;
[0035]图13b示出了本申请实施例所提供的指令执行控制装置目标读写指令总量和访存指令类型获取模块的一框架图。
具体实施方式
[0036]根据前述的论述可知,由于乱序执行的处理器日益流行,而历史程序中的读写访存指令多编译为顺序执行,不兼容问题日益突出。
[0037]下面对指令执行控制方法进行介绍。请参考图1,图1示出了访存等待指令执行的流程示意图。
[0038]如图1所示,对访存等待指令取指后,执行WAITCNT(M)指令,会获取到该访存等待指令所指定的目标读写指令总量M,同时实时获取当前有效执行的读写指令数CNT,并将当前有效执行的读写指令数CNT与所述目标读写指令总量M相比较,判本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令执行控制方法,其特征在于,适于处理器,包括:发射访存等待指令,包括目标读写指令总量,所述目标读写指令总量为当前有效执行的读写访存指令不得大于的目标数量,所述发射访存等待指令适于阻塞后续指令的发射直至所述当前有效执行的读写访存指令不大于所述目标读写指令总量;获取所述目标读写指令总量和当前有效执行的各个所述访存指令的指令类型发射顺序;根据所述目标读写指令总量和所述指令类型发射顺序,获取目标读指令总量和目标写指令总量,所述目标读指令总量和所述目标写指令总量之和等于所述目标读写指令总量。2.如权利要求1所述的指令执行控制方法,其特征在于,所述获取当前有效执行的各个所述访存指令的指令类型发射顺序的步骤包括:获取按照指令发射顺序依次排列的各个所述访存指令的类型信息和有效访存信息,所述有效访存信息标识当前有效执行的各个所述访存指令的有效性;结合所述类型信息和所述有效访存信息,得到所述指令类型发射顺序。3.如权利要求2所述的指令执行控制方法,其特征在于,所述获取按照指令发射顺序依次排列的各个所述访存指令的类型信息的步骤包括:通过访存类型寄存器,获取按照指令发射顺序依次排列的各个所述访存指令的所述类型信息,所述访存类型寄存器的各个比特位分别记录有对应所述访存指令的类型。4.如权利要求3所述的指令执行控制方法,其特征在于,所述获取有效访存信息的步骤包括:通过所述访存类型寄存器,以及与所述访存类型寄存器的各个比特位相对应的有效标识寄存器,获取所述有效访存信息,所述有效标识寄存器的各个比特位分别记录各个对应所述访存指令的有效性。5.如权利要求1

4所述的指令执行控制方法,其特征在于,所述根据所述目标读写指令总量和所述指令类型发射顺序,获取目标读指令总量和目标写指令总量的步骤包括:根据所述目标读写指令总量和所述指令类型发射顺序,获取数量等于所述目标读写指令总量的、最晚发射的、各个所述访存指令的指令类型的数量,得到所述目标读指令总量和所述目标写指令总量。6.如权利要求5所述的指令执行控制方法,其特征在于,所述根据所述目标读写指令总量和所述指令类型发射顺序,获取数量等于所述目标读写指令总量的、最晚发射的、各个所述访存指令的指令类型的数量,得到所述目标读指令总量和所述目标写指令总量的步骤包括:获取当前有效执行的读写访存指令的当前读写指令总量,根据所述当前读写指令总量和所述目标读写指令总量,获取指令量差值;根据所述指令类型发射顺序获取读指令发射顺序和写指令发射顺序二者中的至少一者,得到指令发射顺序;通过逻辑运算和逻辑位移,对所述指令发射顺序从最早发射访存指令侧移动目标位数,所述目标位数等于所述指令量差值;获取未移动的所述访存指令的指令类型的数量,得到所述目标读指令总量和所述目标写指令总量。
7.如权利要求1

3所述的指令执行控制方法,其特征在于,所述根据所述目标读写指令总量和所述指令类型发射顺序,获取目标读指令总量和目标写指令总量的步骤包括:获取当前有效执行的读写访存指令的当前读写指令总量和当前指令总量,根据所述当前读写指令总量和所述目标读写指令总量,获取指令量差值,其中所述当前指令总量包括当前读指令总量和当前写指令总量中的至少一者;根据所述指令量差值和所述指令类型发射顺序,获取数量等于所述指令量差值的、最早发射的、各个所述访存指令的对应指令类型的数量,得到当前需完成指令总量,所述当前需完成指令总量包括当前需完成读指令总量和当前需完成写指令总量二者中的至少一者;获取相互对应的所述当前指令总量与所述当前需完成指令总量的差值,得到所述目标读指令总量和所述目标写指令总量。8.如权利要求7所述的指令执行控制方法,其特征在于,所述根据所述指令量差值和所述指令类型发射顺序,获取数量等于所述指令量差值的、最早发射的、各个所述访存指令的指令类型的数量,得到当前需完成指令总量的步骤包括:根据所述指令类型发射顺序获取读指令发射顺序和写指令发射顺序二者中的至少一者,得到指令发射顺序;通过逻辑运算和逻辑位移,对所述指令发射顺序从最早发射访存指令侧移动目标位数,所述目标位数等于所述指令量差值;获取已移动的所述访存指令的对应指令类型的数量,得到当前需完成指令总量。9.如权利要求7所述的指令执行控制方法,其特征在于,所述获取当前有效执行的读写访存指令的当前指令总量的步骤包括:通过对应的指令计数器读取所述当前指令总量,所述指令计数器包括读指令计数器和写指令计数器。10.如权利要求1

3任一项所述的指令执行控制方法,其特征在于,还包括:当获取的当前读指令总量小于或等于所述目标读指令总量,且获取的当前写指令总量小于或等于所述目标写指令总量时,发射所述访存等待指令的下一条指令。11.一种指令执行控制装置,其特征在于,适于处理器,包括:指令发射模块,适于发射访存等待指令,包括目标读写指令总量,所述目标读写指令总量为当前有效执行的读写访存指令不得大于的目标数量,所述发射访存等待指令适于阻塞后续指令的发射直至所述当前有效执行的读写访存指令不大于所述目标读写指令总量;目标读写指令总量和访存指令类型获取模块,适于获取所述目标读写指令总量和当前有效执行的各个所述访存指令的指令类型发射顺序;目标读指令总量和...

【专利技术属性】
技术研发人员:喻琛左航潘于
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1