System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及处理器,具体涉及一种清空流水线的方法、处理器、芯片及电子设备。
技术介绍
1、处理器可以利用流水线(pipeline)技术提高处理器处理指令的性能,例如,流水线技术允许处理器将指令的处理过程划分为多个阶段,并允许处理器同时处理多条指令,以提高处理器的指令吞吐量。
2、处理器在利用流水线处理指令的过程中可能会发生异常情况,因此需要通过清空流水线操作,来清除流水线中尚未处理完的指令,并使得处理器恢复到正确的状态,以重新开始处理指令。可见,清空流水线是处理器处理异常情况的一种机制,能够保障处理器的指令处理正确性。在此背景下,如何提高处理器清空流水线的效率,成为了本领域技术人员亟需解决的技术问题。
技术实现思路
1、有鉴于此,本申请实施例提供一种清空流水线的方法、处理器、芯片及电子设备,以提高处理器清空流水线的效率。
2、为实现上述目的,本申请实施例提供如下技术方案。
3、第一方面,本申请实施例提供一种清空流水线的方法,包括:
4、在处理器需要清空流水线时,初始确定清空流水线操作的类型;所述清空流水线操作的类型分为:用于在第一异常情况清空流水线的第一清空流水线操作,以及用于在第二异常情况清空流水线的第二清空流水线操作;
5、如果初始确定的清空流水线操作的类型为第一清空流水线操作,根据第一清空流水线操作的完成时间和第二清空流水线操作的完成时间,判断是否进行清空流水线操作的类型转换;
6、若判断进行清空流水
7、第二方面,本申请实施例提供一种处理器,包括:初始判定电路、最终判定电路、第一清空流水线操作控制电路、和第二清空流水线操作控制电路;
8、初始判定电路,用于在处理器需要清空流水线时,初始确定清空流水线操作的类型;所述清空流水线操作的类型分为:用于在第一异常情况清空流水线的第一清空流水线操作,以及用于在第二异常情况清空流水线的第二清空流水线操作;
9、最终判定电路,用于如果初始判定电路初始确定的清空流水线操作的类型为第一清空流水线操作,则根据第一清空流水线操作的完成时间和第二清空流水线操作的完成时间,判断是否进行清空流水线操作的类型转换;若判断进行清空流水线操作的类型转换,则将第二清空流水线操作,作为最终确定的清空流水线操作;
10、其中,最终判定电路在最终确定的清空流水线操作为第二清空流水线操作时,使能第二清空流水线操作控制电路执行第二清空流水线操作,以清空流水线;最终判定电路在最终确定的清空流水线操作为第一清空流水线操作时,使能第一清空流水线操作控制电路执行第一清空流水线操作,以清空流水线;
11、第一清空流水线操作控制电路为执行第一清空流水线操作的电路,第二清空流水线操作控制电路为执行第二清空流水线操作的电路。
12、第三方面,本申请实施例提供一种芯片,包括:如上述第二方面所述的处理器。
13、第四方面,本申请实施例提供一种电子设备,包括:如上述第三方面所述的芯片,或者,如上述第二方面所述的处理器。
14、本申请实施例提供的处理器清空流水线的方案可以在处理器需要清空流水线时,初始确定清空流水线操作的类型;其中,清空流水线操作的类型分为:用于在第一异常情况清空流水线的第一清空流水线操作,以及用于在第二异常情况清空流水线的第二清空流水线操作。如果初始确定的清空流水线操作的类型为第一清空流水线操作,则说明此时发生第一异常情况,但是区别于在发生第一异常情况时直接使用适应的第一清空流水线操作的方式,本申请实施例可以进一步根据第一清空流水线操作的完成时间和第二清空流水线操作的完成时间,判断是否进行清空流水线操作的类型转换;从而在判断进行清空流水线操作的类型转换时,将初始确定的第一清空流水线操作变更为第二清空流水线操作,将第二清空流水线操作,作为最终确定的清空流水线操作,从而使用第二清空流水线操作清空流水线。
15、也就是说,在发生第一异常情况,初始确定第一清空流水线操作时,本申请实施例可以进一步考虑第一清空流水线操作的完成时间和第二清空流水线操作的完成时间,以选择是否将第一清空流水线操作变更为第二清空流水线操作;从而在考虑第一清空流水线操作和第二清空流水操作的完成时间的情况下,如果进行清空流水线操作的类型转换,则意味着转换后的第二清空流水线操作相比于转换前的第一清空流水线操作,能够提升清空流水线的效率。可见,本申请实施例提供的清空流水线的方案,可以在考虑第一清空流水线操作和第二清空流水操作的完成时间的情况下,将在第一异常情况适用的第一清空流水线操作,变更为在第二异常情况适用的第二清空流水线操作,从而在第一异常情况下使用第二清空流水线操作来加速清空流水线,提升清空流水线的效率。
本文档来自技高网...【技术保护点】
1.一种清空流水线的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据第一清空流水线操作的完成时间和第二清空流水线操作的完成时间,判断是否进行清空流水线操作的类型转换包括:
3.根据权利要求2所述的方法,其特征在于,所述第一异常情况包括指令执行异常,所述第二异常情况包括分支预测失败;
4.根据权利要求3所述的方法,其特征在于,所述第一清空流水线操作的完成时间为:将提交寄存器映射表的逻辑寄存器复制到猜测寄存器映射表的复制时间,以及读取提交队列中需要清除的指令的读取时间中的最长时间;
5.根据权利要求4所述的方法,其特征在于,所述判断读取时间是否小于复制时间包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述多个参数信息,判断读取时间是否小于复制时间包括:
7.根据权利要求5所述的方法,其特征在于,所述提交队列中需要清除的提交队列记录项包括:提交队列中当前发射指针和清空流水线操作指针之间的提交队列记录项、以及当前发射指针和清空流水线操作指针分别指向的提交队列记录项。
9.根据权利要求1-8任一项所述的方法,其特征在于,还包括:
10.一种处理器,其特征在于,包括:初始判定电路、最终判定电路、第一清空流水线操作控制电路、和第二清空流水线操作控制电路;
11.根据权利要求10所述的处理器,其特征在于,所述最终判定电路,用于根据第一清空流水线操作的完成时间和第二清空流水线操作的完成时间,判断是否进行清空流水线操作的类型转换,包括:
12.根据权利要求11所述的处理器,其特征在于,所述第一异常情况包括指令执行异常,所述第二异常情况包括分支预测失败;
13.根据权利要求12所述的处理器,其特征在于,所述第一清空流水线操作的完成时间为:将提交寄存器映射表的逻辑寄存器复制到猜测寄存器映射表的复制时间,以及读取提交队列中需要清除的指令的读取时间中的最长时间;
14.根据权利要求13所述的处理器,其特征在于,所述最终判定电路,用于判断读取时间是否小于复制时间,包括:
15.根据权利要求14所述的处理器,其特征在于,所述处理器还包括:
16.根据权利要求12所述的处理器,其特征在于,所述初始判定电路,用于初始确定清空流水线操作的类型,包括:
17.根据权利要求10-16任一项所述的处理器,其特征在于,所述最终判定电路,还用于:
18.一种芯片,其特征在于,包括:如权利要求10-17任一项所述的处理器。
19.一种电子设备,其特征在于,包括:如权利要求18所述的芯片,或者,如权利要求10-17任一项所述的处理器。
...【技术特征摘要】
1.一种清空流水线的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据第一清空流水线操作的完成时间和第二清空流水线操作的完成时间,判断是否进行清空流水线操作的类型转换包括:
3.根据权利要求2所述的方法,其特征在于,所述第一异常情况包括指令执行异常,所述第二异常情况包括分支预测失败;
4.根据权利要求3所述的方法,其特征在于,所述第一清空流水线操作的完成时间为:将提交寄存器映射表的逻辑寄存器复制到猜测寄存器映射表的复制时间,以及读取提交队列中需要清除的指令的读取时间中的最长时间;
5.根据权利要求4所述的方法,其特征在于,所述判断读取时间是否小于复制时间包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述多个参数信息,判断读取时间是否小于复制时间包括:
7.根据权利要求5所述的方法,其特征在于,所述提交队列中需要清除的提交队列记录项包括:提交队列中当前发射指针和清空流水线操作指针之间的提交队列记录项、以及当前发射指针和清空流水线操作指针分别指向的提交队列记录项。
8.根据权利要求3所述的方法,其特征在于,所述初始确定清空流水线操作的类型包括:
9.根据权利要求1-8任一项所述的方法,其特征在于,还包括:
10.一种处理器,其特征在于,包括:初始判定电路、最终判定电路、第...
【专利技术属性】
技术研发人员:于亚轩,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。