【技术实现步骤摘要】
处理器及循环程序分支预测方法
本专利技术涉及计算机领域,特别涉及一种处理器及一种循环程序分支预测方法。
技术介绍
中央处理单元(CPU)包括指令取得单元(InstructionFetchUnit,IFU)、分支执行单元(BranchExecutionUnit,BEU)等。当CPU执行循环程序时,IFU取得一个分支中的所有指令之后,需要经过长度不确定的延时才能从BEU获得下一个分支对应的程序计数器(ProgramCounter,PC)值,然后IFU根据此PC值取得下一个分支中的指令。其中,循环程序包括,例如,for循环、while循环等。为了可以确定并减少延时的长度,在CPU中配置了分支预测单元(BranchPredictionUnit,BPU)用于,BEU获取循环程序下一个分支对应的PC值之前,对下一个分支进行预测。具体地,在一个分支完成后的一个时钟周期(clockcycle)里,IFU从BPU获得其预测的下一个分支对应的PC值,并根据此PC值取得下一分支中的指令。这样,循环程序中一个分支的最后一条指令与下一个分支的第一条指令之间依然会有几个空闲时钟周期(即,气泡)的延时,对于每个分支只包括少数指令的循环程序而言,这样的延时也是不可忽略的,会对整个循环程序的执行效率造成明显的影响。
技术实现思路
本专利技术实施例提供一种处理器及一种循环程序分支预测方法,以减少循环程序中一个分支与下一分支之间的延时长度,从而提高循环程序的执行效率。本专利技术实施例提供一种处理器包括分支预测单元和循环预测单元,其中,所述循环预测单元被配置用于:识别所述处理器当前运行的程序是否是循 ...
【技术保护点】
1.一种处理器,其特征在于,包括分支预测单元和循环预测单元,所述循环预测单元被配置用于:识别所述处理器当前运行的程序是否是循环程序,以及若所述当前运行的程序是循环程序,在所述分支预测单元对第一分支的下一分支做出预测之前,获取第二分支对应的第二程序计数器值,其中,所述当前运行的程序包括所述第一分支,所述循环预测单元预测所述第二分支是所述第一分支的下一分支。
【技术特征摘要】
1.一种处理器,其特征在于,包括分支预测单元和循环预测单元,所述循环预测单元被配置用于:识别所述处理器当前运行的程序是否是循环程序,以及若所述当前运行的程序是循环程序,在所述分支预测单元对第一分支的下一分支做出预测之前,获取第二分支对应的第二程序计数器值,其中,所述当前运行的程序包括所述第一分支,所述循环预测单元预测所述第二分支是所述第一分支的下一分支。2.如权利要求1所述的处理器,其特征在于,所述循环预测单元还被配置用于:在识别所述当前运行的程序是否是循环程序之前,识别第三分支包括的指令数量是否超过临界值,其中,所述当前运行的程序还包括所述第三分支,所述第三分支为所述第一分支的前一分支;若超过,所述循环预测单元进行初始化。3.如权利要求2所述的处理器,其特征在于,所述临界值为8或小于8的值。4.如权利要求2所述的处理器,其特征在于,所述循环预测单元还被配置用于:若所述第三分支包括的指令数量没有超过所述临界值,基于所述第三分支,获取偏移值和所述第一分支对应的第一程序计数器值,其中,所述偏移值表示所述第一程序计数器值与所述第三分支对应的第三程序计数器值之间的偏移。5.如权利要求4所述的处理器,其特征在于,所述循环预测单元被配置用于识别所述当前运行的程序是否是循环程序包括:识别所述第一分支中的指令操作是否与所述第三分支中的指令操作相同;若所述第一分支中的指令操作与所述第三分支中的指令操作相同,基于所述第一程序计数器值及所述偏移值,获取所述第二程序计数器值;若所述第一分支中的指令操作与所述第三分支中的指令操作不同,进行初始化。6.如权利要求5所述的处理器,其特征在于,还包括指令取得单元,被配置用于:在获取所述第二程序计数器值后,根据所述第二程序计数器值取得所述第二分支中的指令,所述当前运行的程序还包括所述第二分支。7.如权利要求6所述的处理器,其特征在于,所述分支预测单元被配置用于:对所述第一分支的下一分支做预测,并把预测的程序计数器值发送至所述指令取得单元及所述循环预测单元。8.如权利要求7所述的处理器,其特征在于,所述循环预测单元还被配置用于:判断所述预测的程序计数器值和所述第二程序计数器值是否一致;若所述预测的程序计数器值和所述第二程序计数器值不一致,指示所述指令取得单元停止取得所述第二分支中的指令,并根据所述预测的程序计数器值,取得所述预测的程序计数器值对应的分支中的指令。9.如权利要求7所述的处理器,其特征在于,所述循环预测单元还被配置用于:若所述预测的程序计数器值和所述第二程序计数器值一致,在分支预测单元对所述第二分支的下一分支做出预测之前,基于所述第二程序计数器值和所述偏移值,指示所述指令取得单元取得第四分支中的指令,其中,所述第四分支是所述循环预测单元预测的所述第二分支的下一分支,所述第二程序计数器值和所述偏移值的和...
【专利技术属性】
技术研发人员:埃德温·苏坦托,
申请(专利权)人:展讯通信上海有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。