[发明专利]线程调度方法、配置方法、微处理器、装置及存储介质有效
申请号: | 202011492666.5 | 申请日: | 2020-12-16 |
公开(公告)号: | CN112612585B | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 胡世文;薛大庆 | 申请(专利权)人: | 海光信息技术股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/38 |
代理公司: | 上海知锦知识产权代理事务所(特殊普通合伙) 31327 | 代理人: | 高彦 |
地址: | 300384 天津市滨海新区天津华苑*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 调度 方法 配置 微处理器 装置 存储 介质 | ||
1.一种线程调度方法,其特征在于,应用于支持流水线技术及并发多线程的微处理器,以用于流水线中每个线程调度节点处的线程调度,所述流水线包括多个流水阶段,所述线程调度节点为一流水阶段前的时间点;微处理器配置有用于流水阶段之间数据传递的缓存组,每个所述缓存组包括分别供每个线程独享的缓存;所述线程调度方法包括:
在线程调度节点到来时,基于调度节点所预先配置的线程调度算法得到目标线程;其中,所述线程调度算法与所述线程调度节点的类型关联;
对所述目标线程进行调度;
其中,所述线程调度节点的类型包括第一类型和第二类型,第一类型线程调度节点定义为:后一流水阶段的输出目标不包含多线程共享的硬件资源的线程调度节点;第二类型线程调度节点定义为:后一流水阶段的输出目标包含多线程共享的硬件资源的线程调度节点;
在第二类型线程调度节点之前的第一类型线程调度节点的线程调度算法包括:获取流水线中被所述第一类型线程调度节点后一流水阶段用于输出的缓存组中最空的缓存所对应的线程,作为目标线程;在第二类型线程调度节点之后的第一类型线程调度节点的线程调度算法包括:获取流水线中被所述第一类型线程调度节点前一流水阶段用于输出的缓存组中最满的缓存所对应的线程,作为目标线程。
2.根据权利要求1所述的线程调度方法,其特征在于,各所述流水阶段中包括指令分发阶段;所述第二类型线程调度节点存在于进入指令分发阶段前。
3.根据权利要求1或2所述的线程调度方法,其特征在于,所述多线程共享的硬件资源包括:指令队列,用于供多个线程共享以存或取指令。
4.根据权利要求3所述的线程调度方法,其特征在于,所述指令队列用于存放指令分发阶段后各线程的指令以供在指令执行阶段执行。
5.根据权利要求1所述的线程调度方法,其特征在于,被所述第一类型线程调度节点后一流水阶段用于输出的缓存组中最空的缓存所对应的线程的获取方式,包括:
遍历每个线程,判断是否满足第一预设条件;所述第一预设条件包括:线程在被所述第一类型线程调度节点前一流水阶段用于输出的缓存组中对应的缓存不为全空,且线程在被所述第一类型线程调度节点后一流水阶段用于输出的缓存组中对应的缓存是已遍历的各线程所对应缓存中最空的;
获得遍历完每个线程后所得到的满足所述第一预设条件的目标线程。
6.根据权利要求1所述的线程调度方法,其特征在于,被所述第一类型线程调度节点后一流水阶段用于输出的缓存组中最满的缓存所对应的线程的获取方式,包括:
遍历每个线程,判断是否满足第二预设条件;所述第二预设条件包括:线程在被所述第一类型线程调度节点前一流水阶段用于输出的缓存组中对应的缓存是已遍历的各线程所对应缓存中最满的;
获得遍历完每个线程后所得到的符合所述第二预设条件的目标线程。
7.根据权利要求6所述的线程调度方法,其特征在于,所述第二预设条件还包括:线程在被所述第一类型线程调度节点后一流水阶段用于输出的缓存组中对应的缓存不为全满。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海光信息技术股份有限公司,未经海光信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011492666.5/1.html,转载请声明来源钻瓜专利网。