System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开的实施例涉及一种指令调度方法及装置、处理器、电子装置和存储介质。
技术介绍
1、同时多线程(simultaneous multithreading,smt)技术可以使一个物理cpu核能并行处理多个线程,从而提升资源利用率和整体性能。在单线程运行时,由于缓存未命中等停顿原因,cpu内部的多个执行单元可能闲置。采用smt技术的情形下,即使某一线程暂停时,其他线程也可继续使用这些硬件资源,避免空转,提高了多线程吞吐量及性能功耗比。线程调度策略将影响smt的性能、能耗以及线程间的公平性表现。
技术实现思路
1、本公开至少一个实施例提供一种用于同时多线程处理器的指令调度方法,包括:响应于当前流水阶段中具有属于多个线程的多个指令且启用优先线程调度策略,获取所述多个线程中的优先线程;根据所述优先线程,从所述多个线程的多个指令中选择目标指令进入所述当前流水阶段。
2、例如,本公开一实施例提供的指令调度方法,还包括:响应于优先线程寄存器为第一值,确定启用所述优先线程调度策略以及所述优先线程。
3、例如,本公开一实施例提供的指令调度方法,还包括:响应于所述优先线程寄存器为不同于所述第一值的第二值,确定停止所述优先线程调度策略。
4、例如,在本公开一实施例提供的指令调度方法中,所述根据所述优先线程,从所述多个线程的多个指令中选择目标指令进入所述当前流水阶段,包括:在所述优先线程满足预设条件的情况下,从所述多个线程的多个指令中选择属于所述优先线程的指令为所述目标指
5、例如,本公开一实施例提供的指令调度方法,还包括:响应于所述优先线程在所述当前流水阶段是非活跃的,所述在所述优先线程不满足预设条件的情况下,采用非优先线程调度策略从所述多个线程的多个指令中选择目标指令进入所述当前流水阶段,包括:采用所述非优先线程调度策略从所述多个线程的多个指令中选择不属于所述优先线程的指令作为目标指令进入当前流水阶段。
6、例如,在本公开一实施例提供的指令调度方法中,所述非优先线程调度策略包括轮询调度策略。
7、例如,在本公开一实施例提供的指令调度方法中,所述预设条件包括属于所述优先线程的指令的数量与预设阈值的数量关系,以及所述优先线程在所述当前流水阶段是活跃的。
8、例如,在本公开一实施例提供的指令调度方法中,所述当前流水阶段包括分支预测阶段、指令提取阶段、指令译码阶段、指令分发与重命名阶段、指令执行阶段或指令结束阶段。
9、例如,本公开一实施例提供的指令调度方法,其中,在所述多个线程中存在多个优先线程的情况下,选择所述多个优先线程中的一个优先线程为目标优先线程,其中,所述目标指令属于所述目标优先线程。
10、本公开至少一个实施例提供一种用于同时多线程处理器的指令调度装置,包括:获取模块,被配置为响应于当前流水阶段中具有属于多个线程的多个指令且启用优先线程调度策略,获取所述多个线程中的优先线程;以及处理模块,被配置为根据所述优先线程,从所述多个线程的多个指令中选择目标指令进入所述当前流水阶段。
11、例如,本公开一实施例提供的指令调度装置,还包括优先线程寄存器,其中,所述处理模块还被配置为:响应于所述优先线程寄存器为第一值时,确定启用所述优先线程调度策略以及所述优先线程,或者,响应于所述优先线程寄存器为不同于所述第一值的第二值,确定停止所述优先线程调度策略。
12、例如,在本公开一实施例提供的指令调度装置中,所述处理模块还被配置为:在所述优先线程满足预设条件的情况下,从所述多个线程的多个指令中选择属于所述优先线程的指令为所述目标指令进入所述当前流水阶段,或者,在所述优先线程不满足预设条件的情况下,采用非优先线程调度策略从所述多个线程的多个指令中选择得到所述目标指令进入所述当前流水阶段。
13、例如,在本公开一实施例提供的指令调度装置中,所述处理模块还被配置为:响应于所述优先线程在所述当前流水阶段是非活跃的,在所述优先线程不满足预设条件的情况下,采用所述非优先线程调度策略从所述多个线程的多个指令中选择不属于所述优先线程的指令作为所述目标指令进入当前流水阶段。
14、例如,在本公开一实施例提供的指令调度装置中,所述处理装置还被配置为:在所述多个线程中存在多个优先线程的情况下,选择所述多个优先线程中的一个优先线程为目标优先线程,其中,所述目标指令属于所述目标优先线程。
15、本公开至少一个实施例提供一种指令调度装置,包括:处理单元;以及存储单元,存储有计算机可执行指令;其中,当所述计算机可执行指令由所述处理单元执行时,执行本公开任一实施例提供的指令调度方法。
16、本公开至少一个实施例提供一种同时多线程处理器,包括本公开任一实施例提供的指令调度装置。
17、本公开至少一个实施例提供一种同时多线程处理器,包括流水线,其中,所述流水线包括当前流水阶段,所述当前流水阶段中具有属于多个线程的多个指令,所述流水线配置为启用优先线程调度策略,获取所述多个线程中的优先线程,且配置为根据所述优先线程,从所述多个线程的多个指令中选择目标指令进入所述当前流水阶段。
18、例如,本公开一实施例提供的同时多线程处理器,还包括:优先线程寄存器,被配置为在所述优先线程寄存器为第一值的情况下,标记多个线程中的优先线程。
19、本公开至少一个实施例提供一种电子装置,包括本公开任一实施例提供的同时多线程处理器。
20、本公开至少一个实施例提供一种非暂时性存储介质,非暂时性地存储计算机可执行指令,其中,当所述计算机可执行指令由计算机执行时,执行本公开任一实施例提供的指令调度方法。
本文档来自技高网...【技术保护点】
1.一种用于同时多线程处理器的指令调度方法,包括:
2.根据权利要求1所述的方法,还包括:
3.根据权利要求2所述的方法,还包括:
4.根据权利要求1所述的方法,其中,所述根据所述优先线程,从所述多个线程的多个指令中选择目标指令进入所述当前流水阶段,包括:
5.根据权利要求4所述的方法,还包括:响应于所述优先线程在所述当前流水阶段是非活跃的,
6.根据权利要求5所述的方法,其中,所述非优先线程调度策略包括轮询调度策略。
7.根据权利要求4或5所述的方法,其中,所述预设条件包括:属于所述优先线程的指令的数量与预设阈值的数量关系,以及所述优先线程在所述当前流水阶段是活跃的。
8.根据权利要求1-7中任一所述的方法,其中,所述当前流水阶段包括分支预测阶段、指令提取阶段、指令译码阶段、指令分发与重命名阶段、指令执行阶段或指令结束阶段。
9.根据权利要求1-7中任一所述的方法,其中,
10.一种用于同时多线程处理器的指令调度装置,包括:
11.根据权利要求10所述的装置,
12.根据权利要求10所述的装置,其中,所述处理模块还被配置为:
13.根据权利要求12所述的装置,其中,所述处理模块还被配置为:
14.根据权利要求10-13中任一所述的装置,其中,所述处理装置还被配置为:在所述多个线程中存在多个优先线程的情况下,选择所述多个优先线程中的一个优先线程为目标优先线程,其中,所述目标指令属于所述目标优先线程。
15.一种指令调度装置,包括:
16.一种同时多线程处理器,包括权利要求10-14中任一所述的指令调度装置。
17.一种同时多线程处理器,包括流水线,其中,
18.根据权利要求17所述的同时多线程处理器,还包括:
19.一种电子装置,包括权利要求16-18中任一所述的同时多线程处理器。
20.一种非暂时性存储介质,非暂时性地存储计算机可执行指令,其中,当所述计算机可执行指令由计算机执行时,执行权利要求1-9中任一所述的指令调度方法。
...【技术特征摘要】
1.一种用于同时多线程处理器的指令调度方法,包括:
2.根据权利要求1所述的方法,还包括:
3.根据权利要求2所述的方法,还包括:
4.根据权利要求1所述的方法,其中,所述根据所述优先线程,从所述多个线程的多个指令中选择目标指令进入所述当前流水阶段,包括:
5.根据权利要求4所述的方法,还包括:响应于所述优先线程在所述当前流水阶段是非活跃的,
6.根据权利要求5所述的方法,其中,所述非优先线程调度策略包括轮询调度策略。
7.根据权利要求4或5所述的方法,其中,所述预设条件包括:属于所述优先线程的指令的数量与预设阈值的数量关系,以及所述优先线程在所述当前流水阶段是活跃的。
8.根据权利要求1-7中任一所述的方法,其中,所述当前流水阶段包括分支预测阶段、指令提取阶段、指令译码阶段、指令分发与重命名阶段、指令执行阶段或指令结束阶段。
9.根据权利要求1-7中任一所述的方法,其中,
10.一种用于同时多线程处理器的指令调度装置,包括:
11.根...
【专利技术属性】
技术研发人员:谭旭,金伟松,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。