一种分支预测方法以及相关设备技术

技术编号:39732215 阅读:24 留言:0更新日期:2023-12-17 23:35
本申请公开了一种分支预测方法,该方法应用于计算机设备,计算机设备包括第一处理器和第二处理器,其中,第一处理器在运行程序的指令为目标分支指令的情况下,向第二处理器发送目标分支指令的上下文信息;第二处理器接收上下文信息;第二处理器根据上下文信息获得目标分支指令的分支预测信息;第二处理器向第一处理器发送目标分支指令的分支预测信息;第一处理器基于分支预测信息运行程序

【技术实现步骤摘要】
一种分支预测方法以及相关设备


[0001]本申请涉及分支预测
,具体涉及一种分支预测方法以及相关设备


技术介绍

[0002]目前,处理器常常采用多级流水线的方式来执行指令

当通过流水线技术来执行分支指令时,根据分支指令的判定条件的真或假,可能会发生指令跳转

因此,处理器需等到分支指令执行完毕,才能确定该分支指令的下一条指令

而若处理器等到分支指令执行完毕才开始对分支的后续指令进行取指等处理,会导致流水线停顿,使得处理器的资源闲置,执行效率较低

[0003]为了减少处理分支指令时的资源闲置的情况,处理器中通过分支预测器
(branch predictor

BP)
来对分支判断结果进行预测,从而根据预测的结果选择分支来提前执行

[0004]而目前,
BP
的芯片面积和功耗通常都较大,需要占用处理器中的大量资源,在处理器资源有限的情况下,处理器中部署的
BP
的执行效本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种分支预测方法,其特征在于,应用于计算机设备,所述计算机设备包括第一处理器和第二处理器,所述分支预测方法包括:所述第一处理器在运行程序的指令为目标分支指令的情况下,向第二处理器发送所述目标分支指令的上下文信息,所述上下文信息指示第一历史时间范围内与所述目标分支指令相关的指令信息;所述第二处理器接收所述上下文信息;所述第二处理器根据所述上下文信息获得所述目标分支指令的分支预测信息,所述分支预测信息用于得到所述目标分支指令的分支预测结果;所述第二处理器向所述第一处理器发送所述目标分支指令的分支预测信息;所述第一处理器基于所述分支预测信息运行所述程序
。2.
根据权利要求1所述的分支预测方法,其特征在于,所述向第二处理器发送所述目标分支指令的上下文信息,包括:所述第一处理器周期性判断第二历史时间范围内是否存在所述目标分支指令的上下文信息,在存在所述目标分支指令的上下文信息的情况下,向所述第二处理器发送所述上下文信息
。3.
根据权利要求2所述的分支预测方法,其特征在于,所述周期性判断指分别以至少两个不同的周期进行周期性判断;所述至少两个不同的周期以至少两个不同时间间隔为周期,或者所述至少两个不同的周期在不同的时间节点分别以至少两个相同的时间间隔为周期
。4.
根据权利要求3所述的分支预测方法,其特征在于,所述向第二处理器发送所述目标分支指令的上下文信息,包括:所述第一处理器向所述第二处理器发送至少两个不同的目标分支指令的上下文信息,所述至少两个不同的目标分支指令为所述至少两个不同的周期内的目标分支指令;所述分支预测信息根据所述至少两个不同的目标分支指令的上下文信息得到
。5.
根据权利要求1‑4任一所述的分支预测方法,其特征在于,所述第二处理器根据所述上下文信息获得所述目标分支指令对应的分支预测信息,包括:所述第二处理器根据所述上下文信息获得中间预测结果;所述第二处理器根据所述中间预测结果得到所述目标分支指令的分支预测信息
。6.
根据权利要求1‑5任一项所述的分支预测方法,其特征在于,所述上下文信息包括压缩与所述目标分支指令相关的指令信息后得到的信息
。7.
根据权利要求6所述的分支预测方法,其特征在于,所述第一处理器包括训练后的编码器,所述上下文信息基于所述训练后的编码器对所述指令信息进行降维而得到
。8.
根据权利要求7所述的分支预测方法,其特征在于,所述训练后的编码器是训练后的变分自编码器
VAE
中的编码器,所述
VAE
还包括解码器,所述
VAE
的训练样本包括预设分支指令相关的指令信息,所述
VAE
基于所述解码器的输出与对应的训练样本之间的差异而进行训练
。9.
根据权利要求8所述的分支预测方法,其特征在于,对所述
VAE
的训练过程包括多次迭代过程;
在至少一次所述迭代过程中:通过所述编码器对
N
个训练样本进行处理,获得
N
个所述训练样本分别对应的训练表示张量,
N
为正整数,且
N
不大于
P
;获取每个所述训练表示张量的第一权重;在采样空间中进行采样,获得
M
个采样张量,所述采样空间对应的空间分布为预设分布,
M
不小于
N

M
为正整数;根据每个所述训练表示张量对应的胞腔中的采样张量,确定每个所述胞腔的第二权重,每个所述胞腔中包含的采样张量与所述胞腔对应的训练表示张量之间的距离不大于与其他训练表示张量之间的距离;根据所述第一权重和所述第二权重进行最优传输计算;根据最优传输计算的结果,获得更新后的每个所述胞腔的重心;根据更新后的每个所述胞腔的重心,获得所述解码器的输入数据;基于输出结果与所述
N
个训练样本之间的差异,对所述
VAE
进行训练,所述输出结果为所述解码器对所述解码器的输入数据进行处理而得到的
。10.
一种分支预测方法,其特征在于,应用于第一处理器,所述分支预测方法包括:在运行程序的指令为目标分支指令的情况下,向第二处理器发送所述目标分支指令的上下文信息,所述上下文信息指示第一历史时间范围内与所述目标分支指令相关的指令信息;接收所述第二处理器发送的所述目标分支指令的分支预测信息,所述分支预测信息用于得到所述目标分支指令的分支预测结果;基于所述分支预测信息运行所述程序
。11.
根据权利要求
10
所述的分支预测方法,其特征在于,所述向第二处理器发送所述目标分支指令的上下文信息,包括:周期性判断第二历史时间范围内是否存在所述目标分支指令的上下文信息,在存在所述目标分支指令的上下文信息的情况下,向所述第二处理器发送所述上下文信息
。12.
根据权利要求
11
所述的分支预测方法,其特征在于,所述周期性判断指分别以至少两个不同的周期进行周期性判断;所述至少两个不同的周期以至少两个不同时间间隔为周期,或者所述至少两个不同的周期在不同的时间节点分别以至少两个相同的时间间隔为周期
。13.
根据权利要求
12
所述的分支预测方法,其特征在于,所述向第二处理器发送所述目标分支指令的上下文信息,包括:向所述第二处理器发送至少两个不同的目标分支指令的上下文信息,所述至少两个不同的目标分支指令为所述至少两个不同的周期内的目标分支指令;所述分支预测信息根据所述至少两个不同的目标分支指令的上下文信息得到
。14.
根据权利要求
10

13
任一项所述的分支预测方法,其特征在于,所述上下文信息包括压缩与所述目标分支指令相关的指令信息后得到的信息
。15.
根据权利要求
14
所述的分支预测方法,其特征在于,所述第一处理器包括训练后的编码器,所述上下文信息基于所述训练后的编码器对所述指令信息进行降维而得到

16.
根据权利要求
15
所述的分支预测方法,其特征在于,所述训练后的编码器是训练后的变分自编码器
VAE
中的编码器,所述
VAE
还包...

【专利技术属性】
技术研发人员:许若圣吴瑾艾超
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1