多核处理装置及其功耗控制方法制造方法及图纸

技术编号:39191672 阅读:11 留言:0更新日期:2023-10-27 08:38
本申请实施例公开了一种多核处理装置及其功耗控制方法。该装置通过功耗控制单元获取一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载,判断一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载是否小于功耗调节阈值,当一个或多个单指令多线程处理单元中任一单指令多线程处理单元在一个功耗调节周期的工作负载小于功耗调节阈值,则指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令,以增加所述任一单指令多线程处理单元的工作负载。本申请实施例可以保证多核处理装置在有效工作期间保持比较稳定的电流和电压,减小多核处理装置中的电压速降问题,从而降低芯片整体功耗,提高处理频率与性能。提高处理频率与性能。提高处理频率与性能。

【技术实现步骤摘要】
多核处理装置及其功耗控制方法
[0001]本申请是申请日为2021年1月19日、申请号为202110070601.X、专利技术名称为“多核处理装置及其功耗控制方法”的中国专利技术专利申请的分案申请。


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

技术介绍

[0003]目前,CPU、GPU等多核处理芯片中会产生严重的电压速降(voltagedroop)问题。多核处理芯片中,常常会出现多个甚至全部处理核心都在等待同一个数据或者指令,当所有处理核心都进入休眠状态,会造成芯片工作负载急剧下降,电压急剧升高;一旦等待一定的时钟周期之后,数据或指令在预定时钟周期内同时返回给所有处理核心,则全部处理核心会在预定时钟周期内进入最高工作负荷,电流在短时间内急剧上升,电压则在短时间内急剧下降,这种现象就被称为电压速降(voltagedroop)问题。多核处理芯片的电压速降会导致芯片工作电压低于需要的安全电压,产生可能的系统挂起,对芯片的稳定与安全构成了严重挑战。为了克服电压速降问题,多核处理芯片通常需要更高的电压才能安全运行,严重降低了芯片性能,造成了系统功耗的浪费。
[0004]目前已知有一些方法可以用于多核处理芯片的电压速降问题改善,例如事后反馈控制法、大量使用电容或采用多核不同频率的异步电路设计。然而,事后反馈控制法后知后觉,很容易错过需要反馈的时间点,不能有效降低超大芯片的电压速降问题;大量使用电容则会导致电容封装问题;而多核不同频率的异步电路设计复杂,每个处理核心的连线数量巨大,占用面积大,工程实现要求极高。

技术实现思路

[0005]有鉴于此,本申请的目的是提出一种多核处理装置及其功耗控制方法,以减小多核处理芯片的电压速降,从而降低整体功耗和提高芯片的处理性能。
[0006]第一方面,本申请提出一种多核处理装置,包括:
[0007]一个或多个单指令多线程处理单元,所述单指令多线程处理单元包括一个或多个用于执行指令的线程束;
[0008]功耗控制单元,用于获取所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载,判断所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载是否小于功耗调节阈值,当所述一个或多个单指令多线程处理单元中任一单指令多线程处理单元在一个功耗调节周期的工作负载小于功耗调节阈值,则指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令,以增加所述任一单指令多线程处理单元的工作负载。
[0009]在优选的实施方式中,所述装置还包括:
[0010]指令调度器,用于调度指令到所述一个或多个单指令多线程处理单元;
[0011]共享内存,用于实现所述一个或多个单指令多线程处理单元之间的数据交换;
[0012]一级缓存,用于实现所述一个或多个单指令多线程处理单元的数据读写;
[0013]其中,所述指令调度器、共享内存和一级缓存向所述功耗控制单元发送所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量;
[0014]所述功耗控制单元获取所述一个或多个单指令多线程处理单元中每个的工作负载包括:所述功耗控制单元从所述指令调度器、共享内存和一级缓存接收所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量。
[0015]在优选的实施方式中,所述功耗控制单元包括工作负载寄存器,用于保存所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量。
[0016]在优选的实施方式中,所述功耗控制单元获取所述一个或多个单指令多线程处理单元中每个的工作负载包括:所述功耗控制单元将所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量分别乘以所述不同类型的指令的权重后求和,得到所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载。
[0017]在优选的实施方式中,所述功耗控制单元指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令包括:
[0018]所述功耗控制单元确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程数,根据所述目标线程数确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程掩码,并将所述目标线程掩码发送给所述任一单指令多线程处理单元。
[0019]在优选的实施方式中,所述功耗控制单元确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程数包括:
[0020]所述功耗控制单元计算所述任一单指令多线程处理单元在一个功耗调节周期的工作负载与所述功耗调节阈值的差值,将所述差值除以每个单指令多线程处理单元在一个功耗调节周期内需要执行的功耗调节指令数量与功耗调节指令的权重的乘积,得到所述任一单指令多线程处理单元执行功耗调节指令的线程数百分比,根据所述线程数百分比和所述线程束的大小得到所述目标线程数。
[0021]在优选的实施方式中,所述根据所述线程数百分比和所述线程束的大小得到所述目标线程数包括:将所述线程数百分比乘以所述线程束的大小后取整的结果作为所述目标线程数。
[0022]在优选的实施方式中,所述单指令多线程处理单元还包括:
[0023]目标线程掩码队列,用于保存所述功耗控制单元发送的目标线程掩码;
[0024]译码单元,用于对当前并行线程束中每个执行的指令进行译码;
[0025]仲裁单元,用于对所述译码单元译码后的指令进行仲裁,判断当前并行线程束中每个是否执行的是高功耗指令,如果当前并行线程束中任一线程束不是执行高功耗指令,则对所述任一线程束中对应所述目标线程掩码的线程执行所述功耗调节指令。
[0026]在优选的实施方式中,所述高功耗指令包括内存指令、整型指令、单精度指令、双
精度指令、矩阵指令中任一种。
[0027]在优选的实施方式中,所述功耗调节指令包括高功耗运算指令。
[0028]在优选的实施方式中,所述高功耗运算指令包括融合乘加指令、浮点乘累加指令、浮点加法指令、整数乘累加指令中任一种。
[0029]在优选的实施方式中,所述任一单指令多线程处理单元被配置为执行所述功耗调节指令的输出结果不写入寄存器。
[0030]在优选的实施方式中,所述功耗控制单元指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令包括:
[0031]所述功耗控制单元仅当确定所述任一单指令多线程处理单元当前并行线程束的数量大于0时,将所述目标线程掩码发送给所述任一单指令多线程处理单元。
[0032]在优选的实施方式中,所述功耗控制单元还包括控制寄存器,用于配置所述功耗调节周期、功耗调节阈值和不同类型的指令的权重。
[0033]在优选的实施方式中,所述控制寄存器还用于配置是否启用所述功耗控制单元的功耗调节功能的第一使能标识和使得所述功耗控制单元的功耗调节功能仅对所述多核处理装本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多核处理装置,其特征在于,包括:一个或多个单指令多线程处理单元,所述单指令多线程处理单元包括一个或多个用于执行指令的线程束;功耗控制单元,用于获取所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载,判断所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载是否小于功耗调节阈值,当所述一个或多个单指令多线程处理单元中任一单指令多线程处理单元在一个功耗调节周期的工作负载小于功耗调节阈值,则指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令,以增加所述任一单指令多线程处理单元的工作负载。2.根据权利要求1所述的多核处理装置,其特征在于,所述装置还包括:指令调度器,用于调度指令到所述一个或多个单指令多线程处理单元;共享内存,用于实现所述一个或多个单指令多线程处理单元之间的数据交换;一级缓存,用于实现所述一个或多个单指令多线程处理单元的数据读写;其中,所述指令调度器、共享内存和一级缓存向所述功耗控制单元发送所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量;所述功耗控制单元获取所述一个或多个单指令多线程处理单元中每个的工作负载包括:所述功耗控制单元从所述指令调度器、共享内存和一级缓存接收所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量。3.根据权利要求2所述的多核处理装置,其特征在于,所述功耗控制单元包括工作负载寄存器,用于保存所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量。4.根据权利要求3所述的多核处理装置,其特征在于,所述功耗控制单元获取所述一个或多个单指令多线程处理单元中每个的工作负载包括:所述功耗控制单元将所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期中执行的不同类型的指令的数量分别乘以所述不同类型的指令的权重后求和,得到所述一个或多个单指令多线程处理单元中每个在一个功耗调节周期的工作负载。5.根据权利要求4所述的多核处理装置,其特征在于,所述功耗控制单元指示所述任一单指令多线程处理单元中至少部分线程束执行功耗调节指令包括:所述功耗控制单元确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程数,根据所述目标线程数确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程掩码,并将所述目标线程掩码发送给所述任一单指令多线程处理单元。6.根据权利要求5所述的多核处理装置,其特征在于,所述功耗控制单元确定所述任一单指令多线程处理单元执行功耗调节指令的目标线程数包括:所述功耗控制单元计算所述任一单指令多线程处理单元在一个功耗调节周期的工作负载与所述功耗调节阈值的差值,将所述差值除以每个单指令多线程处理单元在一个功耗调节周期内需要执行的功耗调节指令数量与功耗调节指令的权重的乘积,得到所述任一单指令多线程处理单元执行功耗调节指令的线程数百分比,根据所述线程数百分比和所述线程束的大小得到所述目标线程数。7.根据权利要求6所述的多核处理装置,其特征在于,所述根据所述线程数百分比和所
述线程束的大小得到所述目标线程数包括:将所述线程数百分比乘以所述线程束的大小后取整的结果作为所述目标线程数。8.根据权利要求5所述的多核处理装置,其特征在于,所述单指令多线程处理单元还包括:目标线程掩码队列,用于保存所述功耗控制单元发送的目标线程掩码;译码单元,用于对当前并行线程束中每个执行的指令进行译码;仲裁单元,用于对所述译码单元译码后的指令进行仲裁,判断当前并行线程束中每个是否执行的是高功耗指令,如果当前并行线程束中任一线程束不是执行高功耗指令,则对所述任一线程束中对应所述目标线程掩码的线程执行所述功耗调节指令。9.根据权利要求8所述的多核处理装置,其特征在于,所述高功耗指令包括内存指令、整型指令、单精度指令、双精度指令、矩阵指令中任一种。10.根据权利要求8所述的多核处理装置,其特征在于,所述功耗调节指令包括高功耗运算指令。11.根据权利要求10所述的多核处理装置,其特征在于,所述高功耗运算指令包括融合乘加指令、浮点乘累加指令、浮点加法指令、整数乘累加指令中任一种。12.根据权利要求8所述的多核处理装置,其特征在于,所述任一单指令多线程处理单元被配置为执行所述功耗调节指令的输出结果不写入寄存器。13.根据权利要求5所述的多核处理装置,其特征在于,所述功耗控制单元指示所述任一单指令多线程处理单元中至少部分线程...

【专利技术属性】
技术研发人员:李颖
申请(专利权)人:沐曦集成电路上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1