用于图形处理单元功率管理的系统和方法

文档序号:9872484阅读:412来源:国知局
用于图形处理单元功率管理的系统和方法
【专利说明】
[0001] 相关申请的交叉引用
[0002] 本公开内容要求于2013年10月14日提交的美国临时专利申请No. 61/890,583的优 先权和权益,将其整体通过引用并入本文中。
技术领域
[0003] 在本专利文档中描述的技术大体涉及图形处理,并且更具体地涉及对图形处理单 元的功率管理。
【背景技术】
[0004] 图形处理单元(GPU)常常包括并行结构,该并行结构通过快速地执行一系列基元 操作并将得到的图像显示在图形显示器上来高效地操纵图形对象。GHJ已经被使用在诸如 移动电话、个人计算机、工作站、以及游戏控制台的许多电子设备中。

【发明内容】

[0005] 根据本文中描述的教导,提供了用于图形处理单元(GPU)的频率调整的系统和方 法。一种系统包括:命令解析器,被配置为解析与一个或多个未来GPU操作相关联的一个或 多个命令以获得命令信息;处理部件,被配置为至少部分地基于命令信息来确定用于未来 GPU操作的操作时间;以及频率控制部件,被配置为至少部分地基于用于未来GPU操作的操 作时间来调整GHJ频率。
[0006] 在一个实施例中,提供了一种用于图形处理单元(GPU)的频率调整的方法。解析与 未来GPU操作相关联的一个或多个命令以获得命令信息。至少部分地基于命令信息来确定 用于未来GPU操作的操作时间。至少部分地基于用于未来GPU操作的操作时间来调整GPU频 率。
[0007] 在另一实施例中,提供了一种用于图形处理单元(GPU)的频率调整的计算机实施 的系统。该系统包括一个或多个数据处理器和计算机可读存储介质。该存储介质被编码有 用于命令一个或多个数据处理器来执行某些操作的指令。解析与未来GPU操作相关联的一 个或多个命令以获得命令信息。至少部分地基于命令信息来确定用于未来GPU操作的操作 时间。至少部分地基于用于未来GPU操作的操作时间来调整GPU频率。
【附图说明】
[0008] 图1 -图4描绘了示出用于GPU频率调整的系统的示例图。
[0009] 图5描绘了示出用于GPU频率调整的系统的示例框图。
[001 0]图6描绘了用于GPU频率调整的示例流程图。
【具体实施方式】
[0011]可以采用许多不同的方法来改善图形处理单元(GPU)的性能,例如增加更多着色 器(shader)、更多内核以及更多处理单元,执行更多纹理压缩,以及增大GPU的运行频率。然 而,伴随着这样的性能改善,GPU的功率消耗常常明显增大。为了在减少功率消耗的同时实 现高效图形处理,可以在采样窗口(例如,IOOms)期间监视GPU的工作负载,并且根据所采样 的工作负载来调整GHJ的运行频率。例如,如果所采样的工作负载高,则可以增大GPU的运行 频率。相反地,如果所采样的工作负载低,则可以减小GPU的运行频率。这样的基于采样的功 率管理使得GHJ的运行频率要基于GPU的过去工作负载来被调整,这可能导致例如在对波动 的工作负载的处理期间对工作负载改变的延迟响应。
[0012 ]图1描绘了示出用于GPU频率调整的系统的示例图。如图1所示,与未来GPU操作相 关联的一个或多个命令102被分析以用于预测用于未来GPU操作的操作时间104,并且根据 所预测的操作时间104来调整GPU运行频率。具体地,操作时间预测部件106(例如,在预测时 间段期间)至少部分地基于命令102来确定操作时间104。频率控制部件108根据所预测的操 作时间104来确定频率调整110,使得GPU运行频率针对由操作时间104指示的预测的未来工 作负载而被调整。
[0013] 如图2所示,操作时间预测部件106包括命令解析器202和处理部件204。具体地,命 令解析器204分析命令102以获得命令信息206,并且处理部件204至少部分地基于命令信息 206来确定操作时间104。对操作时间104的预测还可以将根据先前GPU操作的历史信息考虑 在内。如图3所示,历史信息部件208生成历史信息210,并且处理部件204使用命令信息206 和历史信息210两者来确定所预测的操作时间104。处理部件204可以通过估计GHJ带宽和 GHJ周期来确定操作时间104。
[0014] 在一些实施例中,命令102包括与三维GPU操作相关的一个或多个三维命令。针对 三维命令,命令信息206包括:清晰范围(C. w,C. h)、顶点计数(VC)、顶点着色器指令(VSI)、 像素着色器指令(PSI)、以及纹理的每像素平均字节数(tbpp)等等。历史信息210包括:顶点 切割率(VCR)、三角形剔除率(TCR)、每三角形像素(PPT)、采样的纹理像素(TPS)、以及深度 测试通过率(DTPR)等等。
[0015]处理部件204使用命令信息206和历史信息210两者来确定操作时间104:
[0017] 其中,Tbusy表示操作时间104,TSI表示总GPU着色器指令,fshader表示着色器频率, SC表示着色器计数,TMB表示总GPU存储器带宽,并且TB表示与三维命令相关联的GPU总带 宽。
[0018]具体地,处理部件204如下来确定三角形计数(TC):
[0020]其中,VC表示顶点数,VCR表示顶点切割率,TCR表示三角形剔除率,并且a表示第一 恒定参数。例如,对于三角形,a等于3,并且对于三角形条带和三角形扇,a等于1。
[0021] 此外,处理部件204如下来确定像素计数(PC):
[0022] Pc = TCXPPT (3)
[0023] 其中,PPT表示每三角形像素。处理部件204如下来确定总GPU着色器指令(TSI):
[0024] TSI = sum(VC X VSI)+sum(PC X DTPR X PSI) (4)
[0025] 其中,VSI表示顶点着色器指令,DTPR表示深度测试通过率,PSI表示像素着色器指 令,并且sum表示求和运算。
[0026]另外,处理部件204如下来确定总GPU存储器带宽(TMB):
[0027] TMB=((C.wXC.h) Xb+PCXDTPR) Xbpp+PCXTPSXtbpp (5)
[0028]其中,(C.w,C.h)表示清晰范围,bpp表示每像素字节数,tbpp表示纹理的每像素平 均字节数,TPS表示采样的纹理像素,并且b表示第二恒定参数。
[0029]在某些实施例中,命令102包括与二维GPU操作相关的一个或多个二维命令(例如, 复制、缩放、旋转、缩放并旋转、滤波等等)。针对二维命令,命令信息206包括:源宽度、源高 度、源格式、源图像的每像素字节数(SBPP)、目的宽度、目的高度、目的格式、目的图像的每 像素字节数(DBPP)、源图像的像素计数(PSB)、目的图像的像素计数(PDB)、滤波器质量、旋 转角度、缩放参数等等。处理部件204如下来确定操作时间104:
[0031 ]其中,Tbusy表示操作时间104,CC表示与二维命令相关联的时钟周期数,f2D表示与 二维命令相关联的频率,TTB表示与二维命令相关联的总带宽,并且TB表示与二维命令相关 联的GPU总带宽。
[0032]具体地,处理部件204如下来确定与二维命令相关联的总带宽(TTB):
[0033] TTB = OBX (1+CP) (7)
[0034] 其中,OB表示原始带宽,并且CP表示缓存代价。表1示出了与二维命令相关联的缓 存代价的示例。
[0035] 表 1
[0037]~另外,处理部件204如下_来确定与二维命令相关联的时钟周期计数(CC): '
[0039]其中,PDB表示目的图像的像素计数,并且PPC表示每时钟周期像素数。表2示出了 与二维命令相关联的PPC的示例。
[0040]表 2
[0042] 例如,当命令102包括拉伸位块传输命令时,处理部件204如下来确定OB:
[0043] OB = 2 X PDB X DBPP (9)
[0044]其中,DBPP表示目的图像的每像素字节数。当命令102包括滤波器位块传输命令 时,处理部件204如下来确定OB:
[0045] OB = PSB X SBPP+PDB X DBPP (10)
[0046]其中,SBPP表示源图像的每像素字节数,PSB表示源图像的像素计数,并且DBPP表 示目的图像的每像素字节数。当命令102包括高质量滤波器位块传输命令时,处理部件204 如下来确定0B:
[0047] OB = 2 X (PSB X SBPP+PDB X DBPP) (11)
[0048]其中,SBPP表示源图像的每像素字节数,PSB表示源图像的像素计数,并且DBPP表 示目的图像的每像素字节数。
[0049] 图4描绘了示出用于GPU频率调整的系统的另一示例图。如图4所示,系统100还包 括GPU命令部件402和某些GPU硬件部件404XPU命令部件402向命令解析器202提供命令102 以用于命令信息206的提取。另外,GPU命令部件402向GPU流水线406提供命令102以用于命 令运行。频率控制部件108将频率调整110输出到频率模块408以调整GPU运行频率。另外,性 能计数器部件410基于GPU性能来生成对历史信息208的反馈参数412。例如,反馈参数412包 括GPU性能参数和/或关键性能参数。
[0050] 图5描绘了示出用于GPU频率调整的系统的示例框图。如图5所示,命令解析器202 提取与二维命令和/或三维命令相关联的命令信息206。命令信息206与历史信息210-起被 用于预测未来GPU工作负载(例如,操作时间104)。例如,频率控制部件108基于操作时间104 来确定GPU在下一采样窗口期间有多忙。如果在下一采样窗口的持续时间上所预测的操作 时间104的百分比高于阈值,则(例如,立即)增大GPU运行频率。另一方面,如果在下一采样 窗口的持续时间上所预测的操作时间104的百
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1