多核处理装置及其功耗控制方法与流程

文档序号:35862809发布日期:2023-10-26 17:51阅读:36来源:国知局
多核处理装置及其功耗控制方法与流程

本技术涉及处理器功耗管理领域,具体而言,涉及一种多核处理装置及其功耗控制方法。


背景技术:

1、目前,cpu、gpu等多核处理芯片中会产生严重的电压速降(voltagedroop)问题。多核处理芯片中,常常会出现多个甚至全部处理核心都在等待同一个数据或者指令,当所有处理核心都进入休眠状态,会造成芯片工作负载急剧下降,电压急剧升高;一旦等待一定的时钟周期之后,数据或指令在预定时钟周期内同时返回给所有处理核心,则全部处理核心会在预定时钟周期内进入最高工作负荷,电流在短时间内急剧上升,电压则在短时间内急剧下降,这种现象就被称为电压速降(voltagedroop)问题。多核处理芯片的电压速降会导致芯片工作电压低于需要的安全电压,产生可能的系统挂起,对芯片的稳定与安全构成了严重挑战。为了克服电压速降问题,多核处理芯片通常需要更高的电压才能安全运行,严重降低了芯片性能,造成了系统功耗的浪费。

2、目前已知有一些方法可以用于多核处理芯片的电压速降问题改善,例如事后反馈控制法、大量使用电容或采用多核不同频率的异步电路设计。然而,事后反馈控制法后知后觉,很容易错过需要反馈的时间点,不能有效降低超大芯片的电压速降问题;大量使用电容则会导致电容封装问题;而多核不同频率的异步电路设计复杂,每个处理核心的连线数量巨大,占用面积大,工程实现要求极高。


技术实现思路

1、有鉴于此,本技术的目的是提出一种多核处理装置及其功耗控制方法,以减小多核处理芯片的电压速降,从而降低整体功耗和提高芯片的处理性能。

2、第一方面,本技术提出一种多核处理装置,包括:

3、一个或多个单指令多线程处理单元,所述单指令多线程处理单元包括一个或多个用于执行指令的线程束;

4、功耗控制单元,用于获取所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载,判断所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载是否小于功耗调节阈值,当所述一个或多个单指令多线程处理单元中任一单指令多线程处理单元在一个功耗调节周期的工作负载小于功耗调节阈值,则指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令,以增加所述任一单指令多线程处理单元的工作负载。

5、在优选的实施方式中,所述装置还包括:

6、指令调度器,用于调度指令到所述一个或多个单指令多线程处理单元;

7、共享内存,用于实现所述一个或多个单指令多线程处理单元之间的数据交换;

8、一级缓存,用于实现所述一个或多个单指令多线程处理单元的数据读写;

9、其中,所述指令调度器、共享内存和一级缓存向所述功耗控制单元发送所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量;

10、所述功耗控制单元获取所述一个或多个单指令多线程处理单元中每个的工作负载包括:所述功耗控制单元从所述指令调度器、共享内存和一级缓存接收所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量。

11、在优选的实施方式中,所述功耗控制单元包括工作负载寄存器,用于保存所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量。

12、在优选的实施方式中,所述功耗控制单元获取所述一个或多个单指令多线程处理单元中每个的工作负载包括:所述功耗控制单元将所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量分别乘以所述不同类型的指令的权重后求和,得到所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载。

13、在优选的实施方式中,所述功耗控制单元指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令包括:

14、所述功耗控制单元确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程数,根据所述目标线程数确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程掩码,并将所述目标线程掩码发送给所述任一单指令多线程处理单元。

15、在优选的实施方式中,所述功耗控制单元确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程数包括:

16、所述功耗控制单元计算所述任一单指令多线程处理单元在一个功耗调节周期的工作负载与所述功耗调节阈值的差值,将所述差值除以每个单指令多线程处理单元在一个功耗调节周期内需要执行的功耗调节指令数量与功耗调节指令的权重的乘积,得到所述任一单指令多线程处理单元执行功耗调节指令的线程数百分比,根据所述线程数百分比和所述线程束的大小得到所述目标线程数。

17、在优选的实施方式中,所述根据所述线程数百分比和所述线程束的大小得到所述目标线程数包括:将所述线程数百分比乘以所述线程束的大小后取整的结果作为所述目标线程数。

18、在优选的实施方式中,所述单指令多线程处理单元还包括:

19、目标线程掩码队列,用于保存所述功耗控制单元发送的目标线程掩码;

20、译码单元,用于对当前并行线程束中每个执行的指令进行译码;

21、仲裁单元,用于对所述译码单元译码后的指令进行仲裁,判断当前并行线程束中每个是否执行的是高功耗指令,如果当前并行线程束中任一线程束不是执行高功耗指令,则对所述任一线程束中对应所述目标线程掩码的线程执行所述功耗调节指令。

22、在优选的实施方式中,所述高功耗指令包括内存指令、整型指令、单精度指令、双精度指令、矩阵指令中任一种。

23、在优选的实施方式中,所述功耗调节指令包括高功耗运算指令。

24、在优选的实施方式中,所述高功耗运算指令包括融合乘加指令、浮点乘累加指令、浮点加法指令、整数乘累加指令中任一种。

25、在优选的实施方式中,所述任一单指令多线程处理单元被配置为执行所述功耗调节指令的输出结果不写入寄存器。

26、在优选的实施方式中,所述功耗控制单元指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令包括:

27、所述功耗控制单元仅当确定所述任一单指令多线程处理单元当前并行线程束的数量大于0时,将所述目标线程掩码发送给所述任一单指令多线程处理单元。

28、在优选的实施方式中,所述功耗控制单元还包括控制寄存器,用于配置所述功耗调节周期、功耗调节阈值和不同类型的指令的权重。

29、在优选的实施方式中,所述控制寄存器还用于配置是否启用所述功耗控制单元的功耗调节功能的第一使能标识和使得所述功耗控制单元的功耗调节功能仅对所述多核处理装置的首次电压速降起作用的第二使能标识。

30、第二方面,本技术还提出一种多核处理装置的功耗控制方法,所述多核处理装置包括一个或多个单指令多线程处理单元,所述单指令多线程处理单元包括一个或多个用于执行指令的线程束,所述方法包括:

31、获取所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载;

32、判断所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载是否小于功耗调节阈值;

33、当所述一个或多个单指令多线程处理单元中任一单指令多线程处理单元在一个功耗调节周期的工作负载小于功耗调节阈值,则指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令,以增加所述任一单指令多线程处理单元的工作负载。

34、在优选的实施方式中,所述多核处理装置还包括指令调度器、共享内存和一级缓存;所述获取所述一个或多个单指令多线程处理单元中每个的工作负载包括:从所述多核处理装置的指令调度器、共享内存和一级缓存接收所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量。

35、在优选的实施方式中,所述获取所述一个或多个单指令多线程处理单元中每个的工作负载还包括:将所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量分别乘以所述不同类型的指令的权重后求和,得到所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载。

36、在优选的实施方式中,所述指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令包括:

37、确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程数;

38、根据所述目标线程数确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程掩码;

39、将所述目标线程掩码发送给所述任一单指令多线程处理单元。

40、在优选的实施方式中,所述确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程数包括:

41、计算所述任一单指令多线程处理单元在一个功耗调节周期的工作负载与所述功耗调节阈值的差值;

42、将所述差值除以每个单指令多线程处理单元在一个功耗调节周期内需要执行的功耗调节指令数量与功耗调节指令的权重的乘积,得到所述任一单指令多线程处理单元执行功耗调节指令的线程数百分比;

43、根据所述线程数百分比和所述线程束的大小得到所述目标线程数。

44、在优选的实施方式中,所述方法还包括:

45、所述任一单指令多线程处理单元对当前并行线程束中每个执行的指令进行译码和仲裁;

46、判断当前并行线程束中每个是否执行的是高功耗指令;

47、如果当前并行线程束中任一线程束不是执行高功耗指令,则对所述任一线程束中对应所述目标线程掩码的线程执行所述功耗调节指令。

48、在优选的实施方式中,所述高功耗指令包括内存指令、整型指令、单精度指令、双精度指令、矩阵指令中任一种。

49、在优选的实施方式中,所述功耗调节指令包括高功耗运算指令。

50、在优选的实施方式中,所述高功耗运算指令包括融合乘加指令、浮点乘累加指令、浮点加法指令、整数乘累加指令中任一种。

51、在优选的实施方式中,所述方法还包括:所述任一单指令多线程处理单元执行所述功耗调节指令的输出结果不写入寄存器。

52、在优选的实施方式中,所述指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令包括:

53、仅当确定所述任一单指令多线程处理单元当前并行线程束的数量大于0时,将所述目标线程掩码发送给所述任一单指令多线程处理单元。

54、相对于现有技术,本技术至少具有如下有益效果:本技术可以精确控制多核处理装置中各处理核心的最低功耗,能够保证多核处理装置在有效工作期间保持比较稳定的电流和电压,减小多核处理装置中的电压速降问题,从而降低芯片整体功耗,提高处理频率与性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1