[发明专利]用于在没有指令解码的情况下调度指令的方法和装置无效
申请号: | 201210567104.1 | 申请日: | 2012-12-24 |
公开(公告)号: | CN103279379A | 公开(公告)日: | 2013-09-04 |
发明(设计)人: | 杰克·希莱尔·肖凯特;罗伯特·J·斯托尔;奥利维尔·吉普;迈克尔·费特曼;瑟利斯·加德雷;罗伯特·史蒂文;亚历山大·乔利 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/38 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 徐丁峰;魏宁 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 没有 指令 解码 情况 调度 方法 装置 | ||
1.一种用于在没有指令解码的情况下调度指令的方法,所述方法包括:
从指令高速缓存单元中获取与两个或两个以上线程组相对应的多个指令,其中每个线程组均包括一个或多个线程;
在不解码所述多个指令的情况下将所述多个指令存储在缓冲区中;
接收与所述多个指令中的所述指令的每一个相关联的预解码数据;
至少部分地基于所述预解码数据从所述多个指令中选择指令用于由处理单元执行;
解码所述指令;以及
将所述指令分派到所述处理单元用于执行。
2.根据权利要求1所述的方法,其中选择所述指令包括:
基于所述预解码数据实施所述两个或两个以上线程组的优先级排序以确定所述两个或两个以上线程组的顺序;以及
按照所述顺序从最高线程组中选择所述指令作为下一个未决指令。
3.根据权利要求1所述的方法,进一步包括:
从所述多个指令中选择第二指令用于与所述指令并行地由所述处理单元执行;
解码所述第二指令;以及
将所述第二指令分派到所述处理单元用于与所述指令并行地执行。
4.一种用于在没有指令解码的情况下调度指令的系统,所述系统包括:
中央处理单元(CPU);以及
包括调度单元的并行处理单元,所述调度单元配置为:
从指令高速缓存单元中获取与两个或两个以上线程组相对应的多个指令,其中每个线程组均包括一个或多个线程;
在不解码所述多个指令的情况下将所述多个指令存储在缓冲区中;
接收与所述多个指令中的所述指令的每一个相关联的预解码数据;
至少部分地基于所述预解码数据从所述多个指令中选择指令用于由所述并行处理单元执行;
解码所述指令;以及
将所述指令分派到所述并行处理单元用于执行。
5.根据权利要求4所述的系统,其中所述调度单元包括宏调度单元,其配置为基于所述预解码数据实施所述两个或两个以上线程组的优先级排序以确定所述两个或两个以上线程组的顺序。
6.根据权利要求5所述的系统,其中所述调度单元进一步包括配置为基于所述处理单元的状态模型调整所述顺序的微调度单元。
7.根据权利要求6所述的系统,其中所述微调度单元进一步配置为响应于分派所述指令而更新所述状态模型。
8.根据权利要求4所述的系统,其中所述预解码数据通过部分解码关联指令而生成。
9.根据权利要求4所述的系统,其中所述预解码数据包括在与所述关联指令在相同的高速缓存线中的单独指令中。
10.根据权利要求4所述的系统,其中所述调度单元包括配置为解码所述指令的第一解码单元和配置为解码来自所述多个指令的第二指令用于与所述指令并行地由所述处理单元执行的第二解码单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210567104.1/1.html,转载请声明来源钻瓜专利网。