[发明专利]用于基于推测度量将资源分配给线程的方法和装置有效
申请号: | 201410028442.7 | 申请日: | 2014-01-21 |
公开(公告)号: | CN103942033B | 公开(公告)日: | 2018-02-13 |
发明(设计)人: | H·杰克逊;P·罗兰 | 申请(专利权)人: | 想象力科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
代理公司: | 永新专利商标代理有限公司72002 | 代理人: | 张晰,王英 |
地址: | 英国赫*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 推测 度量 资源 配给 线程 | ||
1.一种在处理器的多个线程之间分配资源的方法,每个线程与多条指令相关联,所述方法包括:
在保留站接收多个线程中每个线程的推测度量,每个推测度量代表与该线程相关联的指令的推测程度;
基于所述推测度量,在所述保留站将功能单元资源分配给所述多个线程,包括:
比较所述推测度量以识别具有较少推测性指令的线程;
确定具有较少推测性指令的线程的推测度量和另一线程的推测度量之间的差;以及
响应于确定所述差超过阈值,将额外的功能单元资源分配给具有较少推测性指令的线程(406);
基于功能单元资源的分配,在所述保留站选择与多个线程相关联的指令(502);以及
在所述保留站将所选择的指令发出到功能单元资源(508)。
2.根据权利要求1所述的方法,进一步包括:
在推测度量计算器处接收所述多条指令的信任值(302),每个信任值代表特定指令已被正确预测的可能性;
基于所述信任值,在所述推测度量计算器处生成推测度量(304、306、310);以及
从所述推测度量计算器将推测度量提供给所述保留站(308)。
3.根据权利要求2所述的方法,其中生成特定线程的推测度量包括:对在预定数量的周期上与所述特定线程相关联的指令的信任值求和(304、306、308、310)。
4.根据权利要求2所述的方法,其中生成特定线程的推测度量包括:将与关联所述特定线程的特定指令相关联的生成的信任值加到所述特定线程的推测度量,并且一旦相关联的指令已被执行,就从所述特定线程的推测度量减去信任值。
5.根据前述任一权利要求所述的方法,其中功能单元资源的分配是在每时钟周期执行一次。
6.根据权利要求1至4中任何一项所述的方法,其中功能单元资源的分配是周期性地执行的。
7.根据权利要求1至4中任何一项所述的方法,其中功能单元资源包括多个管线,并且将功能单元资源分配给线程包括:不分配、分配一个或者多个管线给每个线程。
8.根据权利要求7所述的方法,其中基于分配选择与多个线程相关联的指令包括:从特定线程选择若干就绪指令,其中就绪指令的数量等于分配给所述特定线程的管线的数量。
9.根据权利要求8所述的方法,其中如果基于分配选择的指令的数量少于管线的数量(504),则从任何线程选择就绪指令以使得选择的指令的数量等于管线的数量(506)。
10.一种包括被安排用来在多个线程(102、104)之间分配资源的保留站(128)的装置(100),所述保留站(128)包括:
多个指令队列(202、204),每个指令队列被配置用来存储多个线程中的一个的指令;以及
与所述多个指令队列通信的指令调度器(206),所述指令调度器被配置用来:
接收每个线程的推测度量,每个推测度量代表与该线程(102、104)相关联的指令的推测程度;
基于所述推测度量,将功能单元(130)资源(208、210、212、214)分配给所述多个线程(102、104),包括:
比较所述推测度量以识别具有较少推测性指令的线程(102、104);
确定具有较少推测性指令的线程(102、104)的推测度量和另一线程(102、104)的推测度量之间的差;以及
响应于确定所述差超过预定阈值,将额外的功能单元(130)资源(208、210、212、214)分配给具有较少推测性指令的线程(102、104);
基于功能单元(130)资源(208、210、212、214)的分配,从所述多个指令队列(202、204)选择指令;以及
将所选择的指令发出到功能单元(130)资源(208、210、212、214)以供执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于想象力科技有限公司,未经想象力科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410028442.7/1.html,转载请声明来源钻瓜专利网。