一种多线程处理器的指令预测方法及相关装置制造方法及图纸

技术编号:32241413 阅读:30 留言:0更新日期:2022-02-09 17:45
本申请公开了一种多线程处理器的指令预测方法及相关装置,通过从待预测分支指令所属第一线程的全局历史寄存器GHR中获取该线程的历史跳转记录,并从第一线程的分支目标地址缓存BTB中获取该待预测分支指令的历史跳转地址之后,根据该历史跳转地址和历史跳转记录确定待预测分支指令的查询索引。并基于该索引对分支预测器BHT进行查询,以获取待预测分支指令的预测结果。本申请实施例的多线程处理器中每一线程均对应的唯一的GHR和BTB。因而在确定查询索引时能够避免查询到其他线程指令的预测结果,提高预测结果的准确率。提高预测结果的准确率。提高预测结果的准确率。

【技术实现步骤摘要】
一种多线程处理器的指令预测方法及相关装置


[0001]本专利技术涉及多线程分支预测
,特别涉及一种多线程处理器的指令预测方法及相关装置。

技术介绍

[0002]处理器为追求更高的性能通常采用指令级并行和线程级并行的方式,以追求在更少的时钟周期(cycle)内运行完成更多的指令。处理器所处理的指令存在跳转可能,跳转指令会打断流水线指令的处理。由于处理器需在当前指令执行完毕后才能获知该指令的跳转方向和跳转地址,若在获取该指令的跳转方向和跳转地址之前被跳转指令打断则会处于等待状态,由此流水线越长处理器被动等待的时间便越长。
[0003]相关技术中多采用动态分支技术,通过获取当前处理的分支指令的程序计数(Program Counter,PC)后,基于该PC地址查询分支预测器对该分支指令的预测结果,并根据预测结果提前做出处理以避免流水线等待。分支预测器具备动态的学习能力,理论上预测结果会愈加趋近去该指令的真实结果。但由于不同线程中分支指令的PC地址可能相同,因而多个线程共享一个分支预测器会导致对分支指令预测结果的错误查询,进而影响分支预测器本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种多线程处理器的指令预测方法,其特征在于,所述方法包括:接收来自所述多线程处理器中的第一线程的待预测分支指令;从所述第一线程的全局历史寄存器GHR中获取所述第一线程的历史跳转记录,从所述第一线程的分支目标地址缓存BTB中获取所述待预测分支指令的历史跳转地址;基于所述历史跳转地址和所述历史跳转记录从所述多线程处理器的分支历史记录BHT获取所述待预测分支指令的预测结果。2.根据权利要求1所述的方法,其特征在于,所述从所述第一线程的BTB中获取所述待预测分支指令的历史跳转地址,包括:获取所述第一线程的第一线程标识;根据所述第一线程标识确定所述待预测分支指令的程序计数PC地址;从所述第一线程的BTB中查找所述PC地址对应的目标地址信息BTA得到所述待预测分支指令的历史跳转地址。3.根据权利要求1或2所述的方法,其特征在于,所述基于所述历史跳转地址和所述历史跳转记录从所述多线程处理器的BHT获取所述待预测分支指令的预测结果,包括:获取所述历史跳转地址中第一预设位记录的第一数据,并获取所述历史跳转记录中第二预设位记录的第二数据;拼接所述第一数据与所述第二数据得到所述待预测分支指令在所述BHT中的索引;从所述BHT中查询所述索引对应的结果得到所述待预测分支指令的预测结果。4.根据权利要求3所述的方法,其特征在于,所述从所述BHT中查询所述索引对应的结果得到所述待预测分支指令的预测结果,包括:确定所述BHT中与所述索引对应的饱和计数器;获取所述饱和计数器的计数值;确定所述计数值对应的预测结果得到所述待预测分支指令的预测结果。5.根据权利要求3所述的方法,其特征在于,所述基于所述历史跳转地址和所述历史跳转记录从所述多线程处理器的分支历史记录BHT获取所述待预测分支指令的预测结果之后,所述方法还包括:获取所述待预测分支指令的实际跳转信息;基于所述实际跳转信息更新所述BHT、所述GHR和所述BTB。6.根据权利要求5所述的方法,其特征在于,若所述实际跳转信息包括跳转结果和跳转地址,则所述基于所述实际跳转信息更新所述BHT、所述GHR和所述BTB,包括:获取所述历史跳转地址中所述第一预设位记录...

【专利技术属性】
技术研发人员:徐刚
申请(专利权)人:锐捷网络股份有限公司
类型:发明
国别省市:

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

1