【技术实现步骤摘要】
指令执行控制方法、装置、处理器和电子设备
[0001]本申请实施例涉及计算机处理器领域,具体涉及一种指令执行控制方法、装置、处理器和电子设备。
技术介绍
[0002]通常处理器对读写访存指令都是顺序发射的,而完成顺序则分为顺序完成和乱序完成,顺序完成是指读写访存之间按照指令发射顺序完成指令,乱序完成是指读写访存之间不按照指令发射顺序完成指令,但读访存和写访存各自内部仍是按照指令顺序完成的。
[0003]为了防止在访存指令和运算指令所使用的寄存器相同时出现错误,现有技术通常使用访存等待指令控制指令的运行,只有当前有效正在执行的访存指令数量小于或等于该访存等待指令所指定的目标数量,才发射访存等待指令后面的指令。
[0004]顺序执行的访存等待指令不区分目标数量是读指令的目标数量还是写指令的目标数量,因此使用顺序执行的访存等待指令的可执行程序,在提供乱序执行的处理器上就无法执行,如果没有源代码进行重新编译,只能人工配置处理器改为顺序执行,这对于用户是很不友好的。由于乱序执行的处理器日益流行,而历史程序多为顺序执行的程序,不兼容问题日益突出。
[0005]因此,如何实现通过乱序执行的方式执行程序中按照顺序执行编译的读写访存指令,就成为本领域技术人员需要解决的技术问题。
技术实现思路
[0006]有鉴于此,本申请实施例提供一种指令执行控制方法、装置、处理器和电子设备,以实现对程序中按照顺序执行编译的读写访存指令的乱序执行。
[0007]为实现上述目的,本申请实施例提供如下技术方案 ...
【技术保护点】
【技术特征摘要】
1.一种指令执行控制方法,其特征在于,适于处理器,包括:发射访存等待指令,包括目标读写指令总量,所述目标读写指令总量为当前有效执行的读写访存指令不得大于的目标数量,所述发射访存等待指令适于阻塞后续指令的发射直至所述当前有效执行的读写访存指令不大于所述目标读写指令总量;获取所述目标读写指令总量和当前有效执行的各个所述访存指令的指令类型发射顺序;根据所述目标读写指令总量和所述指令类型发射顺序,获取目标读指令总量和目标写指令总量,所述目标读指令总量和所述目标写指令总量之和等于所述目标读写指令总量。2.如权利要求1所述的指令执行控制方法,其特征在于,所述获取当前有效执行的各个所述访存指令的指令类型发射顺序的步骤包括:获取按照指令发射顺序依次排列的各个所述访存指令的类型信息和有效访存信息,所述有效访存信息标识当前有效执行的各个所述访存指令的有效性;结合所述类型信息和所述有效访存信息,得到所述指令类型发射顺序。3.如权利要求2所述的指令执行控制方法,其特征在于,所述获取按照指令发射顺序依次排列的各个所述访存指令的类型信息的步骤包括:通过访存类型寄存器,获取按照指令发射顺序依次排列的各个所述访存指令的所述类型信息,所述访存类型寄存器的各个比特位分别记录有对应所述访存指令的类型。4.如权利要求3所述的指令执行控制方法,其特征在于,所述获取有效访存信息的步骤包括:通过所述访存类型寄存器,以及与所述访存类型寄存器的各个比特位相对应的有效标识寄存器,获取所述有效访存信息,所述有效标识寄存器的各个比特位分别记录各个对应所述访存指令的有效性。5.如权利要求1
‑
4所述的指令执行控制方法,其特征在于,所述根据所述目标读写指令总量和所述指令类型发射顺序,获取目标读指令总量和目标写指令总量的步骤包括:根据所述目标读写指令总量和所述指令类型发射顺序,获取数量等于所述目标读写指令总量的、最晚发射的、各个所述访存指令的指令类型的数量,得到所述目标读指令总量和所述目标写指令总量。6.如权利要求5所述的指令执行控制方法,其特征在于,所述根据所述目标读写指令总量和所述指令类型发射顺序,获取数量等于所述目标读写指令总量的、最晚发射的、各个所述访存指令的指令类型的数量,得到所述目标读指令总量和所述目标写指令总量的步骤包括:获取当前有效执行的读写访存指令的当前读写指令总量,根据所述当前读写指令总量和所述目标读写指令总量,获取指令量差值;根据所述指令类型发射顺序获取读指令发射顺序和写指令发射顺序二者中的至少一者,得到指令发射顺序;通过逻辑运算和逻辑位移,对所述指令发射顺序从最早发射访存指令侧移动目标位数,所述目标位数等于所述指令量差值;获取未移动的所述访存指令的指令类型的数量,得到所述目标读指令总量和所述目标写指令总量。
7.如权利要求1
‑
3所述的指令执行控制方法,其特征在于,所述根据所述目标读写指令总量和所述指令类型发射顺序,获取目标读指令总量和目标写指令总量的步骤包括:获取当前有效执行的读写访存指令的当前读写指令总量和当前指令总量,根据所述当前读写指令总量和所述目标读写指令总量,获取指令量差值,其中所述当前指令总量包括当前读指令总量和当前写指令总量中的至少一者;根据所述指令量差值和所述指令类型发射顺序,获取数量等于所述指令量差值的、最早发射的、各个所述访存指令的对应指令类型的数量,得到当前需完成指令总量,所述当前需完成指令总量包括当前需完成读指令总量和当前需完成写指令总量二者中的至少一者;获取相互对应的所述当前指令总量与所述当前需完成指令总量的差值,得到所述目标读指令总量和所述目标写指令总量。8.如权利要求7所述的指令执行控制方法,其特征在于,所述根据所述指令量差值和所述指令类型发射顺序,获取数量等于所述指令量差值的、最早发射的、各个所述访存指令的指令类型的数量,得到当前需完成指令总量的步骤包括:根据所述指令类型发射顺序获取读指令发射顺序和写指令发射顺序二者中的至少一者,得到指令发射顺序;通过逻辑运算和逻辑位移,对所述指令发射顺序从最早发射访存指令侧移动目标位数,所述目标位数等于所述指令量差值;获取已移动的所述访存指令的对应指令类型的数量,得到当前需完成指令总量。9.如权利要求7所述的指令执行控制方法,其特征在于,所述获取当前有效执行的读写访存指令的当前指令总量的步骤包括:通过对应的指令计数器读取所述当前指令总量,所述指令计数器包括读指令计数器和写指令计数器。10.如权利要求1
‑
3任一项所述的指令执行控制方法,其特征在于,还包括:当获取的当前读指令总量小于或等于所述目标读指令总量,且获取的当前写指令总量小于或等于所述目标写指令总量时,发射所述访存等待指令的下一条指令。11.一种指令执行控制装置,其特征在于,适于处理器,包括:指令发射模块,适于发射访存等待指令,包括目标读写指令总量,所述目标读写指令总量为当前有效执行的读写访存指令不得大于的目标数量,所述发射访存等待指令适于阻塞后续指令的发射直至所述当前有效执行的读写访存指令不大于所述目标读写指令总量;目标读写指令总量和访存指令类型获取模块,适于获取所述目标读写指令总量和当前有效执行的各个所述访存指令的指令类型发射顺序;目标读指令总量和...
【专利技术属性】
技术研发人员:喻琛,左航,潘于,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。