[发明专利]多线程处理器中分支预测资源的调度方法、设备和系统在审
申请号: | 201310386082.3 | 申请日: | 2013-08-29 |
公开(公告)号: | CN104424032A | 公开(公告)日: | 2015-03-18 |
发明(设计)人: | 侯锐;冯煜晶;郭旭斌;苏东锋 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 张华辰;胡丽萍 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多线程 处理器 分支 预测 资源 调度 方法 设备 系统 | ||
技术领域
本发明涉及计算机技术领域,具体涉及一种多线程处理器中分支预测资源的调度方法、设备和系统。
背景技术
目前,多数处理器都使用流水线方式使指令的执行可以重叠以提高效率,当包含流水线技术的处理器处理分支指令时就会遇到一个问题,根据判定条件的真/假的不同,有可能会产生转跳,而这会打断流水线中指令的处理,因为处理器无法确定该指令的下一条指令,直到分支执行完毕。流水线越长,处理器等待的时间便越长,因为它必须等待分支指令处理完毕,才能确定下一条进入流水线的指令程序中。分支预测技术便是为解决这一问题而出现的,分支预测可包括对条件分支指令的目标跳转方向的预测以及对子程序返回地址的预测。
现有技术中存在一种多线程处理器的分支预测方法,在该方法中每个线程独自占有一个子程序RAS(Return Address Stack,返回地址栈)用于子程序返回地址的预测。RAS采用LIFO(Last In First Out,后进先出)结构,Control Logic(控制逻辑)控制返回地址的入栈与出栈逻辑。在指令对call/ret(请求/返回)中,call指令在fetch(取指令)流水级时将返回地址push(入栈)到RAS中,子程序结束时ret指令在fetch流水级时将返回地址从RAS中pop(出栈)。以32个线程的多线程处理器为例,则需要32个RAS,若每个RAS中有4个entry(条目),则共有128个entry,同时每个RAS还需要一个控制逻辑,这样导致硬件开销太大。但如果将每个RAS中的entry减少为2个,开销虽然降低,但每个线程独自享有的资源变少了,可能经常发生溢出而影响性能。
现有技术中还存在一种多线程处理器的分支预测方法,在该方法中,每个线程有自己独立的GHR(Global History Register,全局历史寄存器),多个线程共享PHT(pattern history table,模式历史表)进行分支跳转方向的预测。该方法中,虽然每个线程之间共享PHT,减少了一定的硬件开销,但也会导致线程间的相互干扰,降低分支预测的准确性。
发明内容
本发明实施例提供一种多线程处理器中分支预测资源的调度方法、设备和系统,用于减少分支预测资源的硬件开销,提高分支预测的准确性。
本发明实施例提供一种多线程处理器中分支预测资源的调度方法,所述多线程处理器能够同时执行至少二个线程,所述多线程处理器包括至少一个分支预测部件,所述方法包括:
设置所述至少二个线程与所述至少一个分支预测部件的对应关系;
将第一分支预测部件分配给第一线程独享使用;所述至少一个分支预测部件的数量小于所述至少二个线程的数量,所述至少一个分支预测部件包括所述第一分支预测部件,所述至少二个线程包括所述第一线程。
相应的,本发明实施例还提供一种多线程处理器中分支预测资源的调度系统,所述多线程处理器能够同时执行至少二个线程,所述多线程处理器包括至少一个分支预测部件,所述系统包括:
设置单元,用于设置所述至少二个线程与所述至少一个分支预测部件的对应关系;所述至少一个分支预测部件的数量小于所述至少二个线程的数量;
分配单元,用于将第一分支预测部件分配给第一线程独享使用;所述至少一个分支预测部件包括所述第一分支预测部件,所述至少二个线程包括所述第一线程。
相应的,本发明实施例还提供一种多线程处理器,所述多线程处理器包括:
至少一个分支预测部件以及如前所述的分支预测资源的调度系统。
本发明实施例中提供的多线程处理器中分支预测资源的调度方法、系统和多线程处理器,该多线程处理器中分支预测部件的数量小于多线程处理器的线程的数量,可节约硬件开销,另外,将一个分支预测部件分配给多线程处理器可执行的多个线程中的其中一个线程独享使用,也克服了现有技术中共享分支预测资源所带来的线程间的相互干扰的问题,提高了分支预测的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的多线程处理器中分支预测资源的调度方法的流程示意图;
图2是本发明实施例二提供的多线程处理器中分支预测资源的调度方法的流程示意图;
图3是本发明实施例三提供的多线程处理器中分支预测资源的调度方法的流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310386082.3/2.html,转载请声明来源钻瓜专利网。