利用性能计数器的图形流水线调度架构的制作方法

文档序号:6596687阅读:236来源:国知局
专利名称:利用性能计数器的图形流水线调度架构的制作方法
技术领域
本发明涉及在性能计数器的帮助下以图形流水线的方式调度命令。
背景技术
当前的离散图形卡通常包括用于计算顶点、几何图形和像素数据的若干处理核心。通常,若干个核心被群组成多核心(m-核心),而且每个m-核心通常与纹理单元配对。纹理单元耦合到向卡上的视频存储器提供接口的一个或多个存储控制器。离散图形卡的这些部件中的许多部件也可以存在于集成图形解决方案中。集成图形解决方案可以与芯片组集成或与中央处理单元集成。图形卡可以将包括像素、顶点和几何图形数据的图像数据划分成固定大小的块。图像数据的这些块之后在若干个图形处理m-核心和纹理单元中进行分布。另外,许多处理m-核心、纹理单元和存储控制器包括用于允许执行性能计算以确定这些器件的效率的若干个性能计数器。


通过示例的方式示出本发明,并且本发明不受附图限制,其中类似的标号指代类似的元件,而且其中图I示出用于实施瓶颈灵敏型图形流水线调度架构的通用计算机系统的实施例。图2示出用于实施瓶颈灵敏型图形流水线调度架构的通用计算机系统的另一实施例。图3示出用于实施瓶颈灵敏型图形流水线调度架构的通用计算机系统的再一实施例。图4示出用于实施瓶颈灵敏型图形流水线调度架构的计算机系统中的图形子系统的详细视图的实施例。图5A-5C示出被划分成具有不同大小的块的屏幕图像的实施例。图6是用于分析图形流水线瓶颈并调度适用于这种瓶颈的模式的过程的实施例的流程图。图7是用于分析图形流水线瓶颈并动态地切换调度模式的过程的实施例的流程图。
具体实施例描述了用于实施瓶颈灵敏型图形流水线调度架构的方法、设备和系统的实施例。用于帮助调度图形流水线的逻辑位于计算机系统中。该逻辑收集从硬件性能计数器接收到的数据,并计算图形存储器或图形m-核心计算是否可能正在导致计算机系统的图形子系统的性能瓶颈。一旦执行了该计算并且已经确定了瓶颈,则该逻辑就能够改变正在从图形驱动器接收到的当前和未来绘制命令(draw command)的调度过程。调度绘制命令包括向要被显示的整个图像中的某些图像数据块(包括纹理数据、顶点数据和几何图形数据)分配图形m-核心和纹理单元。该图像数据被划分成具有特定像素大小(例如,8X8个像素、32 X 32个像素等)的块。改变块大小能够改变m-核心和视频存储器的效率。因此,一旦已经识别了瓶颈,图形m-核心和纹理单元就被调度以相应地操作更大或更小的数据块。在下面的说明书和权利要求中对所公开技术的“一个实施例”或“实施例”的提及意味着结合该实施例描述的特定特征、结构或特性包括在所公开技术的至少ー个实施例中。因此,说明书中各处出现的短语“在一个实施例中”不是必须都指代同一实施例。在下面的说明书和权利要求中,术语“包含”和“包括”及其衍生词可以被使用并意欲作为彼此的同义词图I示出用于实施瓶颈灵敏型图形流水线调度架构的通用计算机系统的实施例。示出了计算机系统100。该计算机系统可以是台式计算机、服务器、工作站、膝上型计算机、手持设备、机顶盒、媒体中心、游戏操作台、集成系统(诸如车辆中的)或其他类型的计算机系统。在若干实施例中,计算机系统100包括中央处理单元(CPU) 102。CPU 102可以是Intel 公司的CPU或具有另ー商标的CPU。CPU可以包括不止ー个核心。实际上,CPU102可以包含N个核心,其中示出了核心O (104)、核心I (106)、核心2 (108)和核心3(110)。潜在地,N可以是任意正数。在许多实施例中,每个核心(诸如核心O (104))包括内部功能块,诸如一个或多个执行単元、引退単元、ー组通用和专用寄存器等。如果诸如核心O (104)、核心I (106)等的核心是多线程或超线程的,则每个硬件线程被认为是用于本发明用途的核心。CPU 102还可以包括用于存储由ー个或多个核心使用的数据的高速缓存112。在不同的实施例中,可以以不同的方式来分配高速缓存。在不同的实施例中,高速缓存112可以是许多不同大小中的ー种。例如,高速缓存112可以是8兆字节(MB)高速缓存、16MB高速缓存等。另外,在不同的实施例中,高速缓存可以是直接映射高速缓存、全关联高速缓存或多路组关联高速缓存。高速缓存可以包括在所有核心之间被共享的ー个大部分,或者可以被划分成若干个单独的功能片(例如,每个核心ー个片)。高速缓存还可以包括在所有核心之间被共享的ー个大部分以及被划分成若干个单独的功能片的ー个部分。CPU 102还可以包括系统存储控制器114,以提供接ロ来通过处理器-存储器互连118与系统存储器116进行通信。在未被示出的其他实施例中,存储控制器114可以是离散器件或者被集成到计算机系统100中的另ー器件中。系统存储器116可以包括动态随机存取存储器(DRAM)(诸如双数据速率(DDR)类型的DRAM)、非易失性存储器(诸如闪存)、相变存储器(PCM)或其他类型的存储器技术。系统存储器116可以是用于存储要被CPU 102、计算机系统100中的其他CPU以及计算机系统100中的可能其他器件(例如,能够实现直接存储器访问(DMA)的I/O器件)操作的数据和指令的通用存储器。处理器-存储器互连118可以包括能够传输数据、地址、控制和时钟信息的ー个或多个光学导线、金属线或其他导线(即线路)。虽然未被示出,但是CPU 102还可以包括给CPU 102供电并向位于CPU 102上的电路提供參考时钟信号的功率和时钟功能単元。另外,CPU 102还可以包括I/O接ロ单元120。I/O接ロ单元114能够实现CPU 102与任何其他CPU之间的通信。另外,I/O接ロ単元114或未被示出的另一通信块还可以允许CPU 102与未被示出的I/O集线器复合体(complex)之间的通信。I/O集线器复合体可以包括ー个或多个I/O主控制器,以提供用于ー个或多个I/O器件与计算机系统100的剩余器件之间的通信的接ロ。另外,I/O接ロ単元114可以通过处理器-图形互连124来提供CPU 102与图形子系统122之间的通信接ロ。处理器-图形互连可以是外围部件接ロ(PCI)快速互连,其包括ー个或多个高速、双向串行接ロ通道。在其他实施例中,处理器-图形互连124利用用于CPU 102与图形子系统122之间的通信的另ー协议。图形子系统122可以被合并到离散插卡中,该离散插卡能够在计算机系统100中的母板中插入通信性槽接ロ。在其他实施例中,图形子系统可以在没有槽接ロ的情况下直接连线到计算机系统100中的母板中,以允许互換不同的离散图形卡。图形子系统122可以包括用于执行绘制命令的若干个GPU m_核心,所述绘制命令用于向显示屏幕进行ニ維和三维图像渲染。每个m-核心可以在群组中包括若干(例如,8、 16、40等)个单独的核心。可以存在M个GPUm-核心,其中M是正数。例如,在图I所示的实施例中,图形子系统122包括四个m-核心,即GPU m_核心A (126),GPU m_核心B (128)、GPU m-核心 C (130)和 GPU m_ 核心 D (132)。在许多实施例中,ー个或多个纹理单元(TU)以I比I的比率与GPUm-核心匹配。在具有四个分离的图形m-核心的图I中,存在着4个纹理单元TU A (134), TU B (136)、TU C (138)和TU D (140)。在其他实施例中,GPU m-核心和TU没有I比I地进行匹配,因此会存在GPU m-核心比TU多或者TU比GPU m-核心多的实施例。图形子系统122还可以包括一个或多个图形存储控制器,诸如图形存储控制器A(142)和图形存储控制器B (144)。图形存储控制器提供m-核心/TU与视频存储器146之间的接ロ。视频存储器可以是DRAM或其他存储器技术的形式。通常,由于视频和图形密集程序以极快的速率要求大的吞吐量,所以视频存储器在访问时间上至少与通用系统存储器一祥快或者比通用系统存储器更快。在许多实施例中,图形子系统122包括数据分布逻辑148。数据分布逻辑148能够提供计算机系统100中的图形流水线的瓶颈分析。图形流水线瓶颈分析将在图4至图7中详细讨论。图2示出用于实施瓶颈灵敏型图形流水线调度架构的通用计算机系统的另ー实施例。示出了计算机系统200。在若干实施例中,计算机系统200包括组合的中央处理单元/图形处理单元(CPU/GPU) 202。CPU/GPU 202可以包括不止ー个CPU核心,诸如被示出的CPU核心O (204)、CPU核心I (206)、核心2 (208)和核心3 (210)。可以存在比图2所示的4个CPU核心更多或更少的CPU核心。在许多实施例中,每个CPU核心(诸如CPU核心O (104))包括内部功能块,诸如一个或多个执行単元、引退単元、ー组通用和专用寄存器等。如果诸如核心O (104)、核心I (106)等的核心是多线程或超线程的,则每个硬件线程被认为是用于本发明用途的核心。CPU/GPU 202还可以包括用于存储数据的高速缓存212。CPU/GPU 202还可以包括用于提供与系统存储器216进行通信的接ロ的系统存储控制器214。系统存储器216可以包括DRAM、非易失性存储器、PCM或其他类型的存储器技术形式。系统存储器216可以是用于存储要被CPU/GPU 202、计算机系统200中的其他CPU以及计算机系统200中的可能其他器件(例如,能够实现DMA的I/O器件)操作的数据和指令的通用存储器。CPU/GPU 202还可以 包括集成的图形子系统218。图形子系统218可以包括用于执行绘制命令的ー个或多个GPU m-核心,所述绘制命令用于向显示屏幕进行ニ維和三维图像渲染。例如,在图2所示的实施例中,图形子系统218包括四个m-核心,即GPU m-核心A (220)、GPU m-核心 B (222)、GPU m_ 核心 C (224)和 GPU m_ 核心 D (226)。在许多实施例中,ー个或多个TU以I比I的比率与GPU m-核心匹配。在具有四个分离的GPU m-核心的图2中,存在着4个纹理单元TU A (228),TU B (230),TU C (232)和TU D (234)。在其他实施例中,GPU m-核心和TU没有I比I地进行匹配,因此会存在GPU m-核心比TU多或者TU比GPU m-核心多的实施例。图形子系统218还可以包括一个或多个图形存储控制器,诸如图形存储控制器A(236)和图形存储控制器B (238)。图形存储控制器提供m_核心/TU与视频存储器240之间的接ロ。视频存储器可以是DRAM或其他存储器技术的形式。通常,由于视频和图形密集程序以极快的速率要求大的吞吐量,所以视频存储器在访问时间上至少与通用系统存储器一祥快或者比通用系统存储器更快。在许多实施例中,图形子系统122包括数据分布逻辑148。数据分布逻辑148能够提供计算机系统100中的图形流水线的瓶颈分析。图形流水线瓶颈分析将在图4至图7中详细讨论。图3示出用于实施瓶颈灵敏型图形流水线调度架构的通用计算机系统的再ー实施例。示出了计算机系统300。在若干实施例中,计算机系统300包括组合的中央处理单元/图形处理单元(CPU/GPU)302。CPU/GPU 302可以包括ー个或多个通用核心。在图3中,每个通用核心可以执行通用CPU任务和/或专用图形任务。这些核心(在图3中各自被称为CPU/GPU m-核心)可以在给定时刻被分配通用任务或图形专用任务。在图3中,示出了 4 个分离的 CPU/GPU m-核心CPU/GPU m_ 核心 304、CPU/GPU m_ 核心 306、CPU/GPU m_ 核心308和CPU/GPU m-核心310。核心的每个CPU部分包括内部功能块,诸如ー个或多个执行単元、引退単元、ー组通用和专用寄存器等。CPU/GPU 302还可以包括用于存储数据的高速缓存312。在许多实施例中,ー个或多个TU与CPU/GPU m_核心匹配。在具有四个分离的CPU/GPU m-核心的图3中,存在着4个纹理单元TU 314、TU 316、TU 318和TU 320。CPU/GPU 302还可以包括用于提供与通用存储器324进行通信的接ロ的通用存储控制器322。通用存储器324可以是用于存储要被CPU/GPU302、计算机系统300中的其他CPU以及计算机系统300中的可能其他器件(例如,能够实现DMA的I/O器件)操作的数据和指令的通用存储器。在图3所示的实施例中,通用存储器被用作系统存储器和视频存储器两者。在许多实施例中,图形子系统122包括数据分布逻辑148。数据分布逻辑148能够提供计算机系统100中的图形流水线的瓶颈分析。图形流水线瓶颈分析将在图4至图7中详细讨论。图4示出用于实施瓶颈灵敏型图形流水线调度架构的计算机系统中的图形子系统的详细视图的实施例。图形驱动器400向图形硬件子系统发送绘制调用(即命令)。该绘制调用处理对数据(例如,像素、顶点、几何图形等)的组合的渲染,以创建用于存储在存储器的帧缓冲器中的图像。帧缓冲器保持在显示设备(诸如视频监控器)上显示的信息。可以根据数据在要被渲染的图像中的坐标来将数据划分成块。例如,要被渲染的3D图像可以是640像素宽乘以480像素高。该图像可以被划分成栅格块,每个块是8像素乘以8像素、16像素乘以16像素、32像素乘以32像素等。在许多实施例中,每个块可以由诸如分离的处理器、纹理单元等単独处理。图5A-5C示出被划分成具有不同大小的块的屏幕图像的实施例。图5A示出640X480的图像。如图所示,图像被划分成许多个块。例如,整个图像大小的左上角中的4个块在图5B和5C中被放大,以示出不同的可能块大小。在图5B中,4个块中左上方的块跨越从坐标0,0 (该块的左上角)到坐标15,15 (该块的右下角)的像素。 其他三个块对该群组进行充实,并且如图所示,每个块包括16X 16栅格的像素。可替换地,在图5C中,图5A所示的左上方的2X2栅格的块被进一步划分成大小为8像素乘以8像素的更小的块。如上面讨论的,每个块可以由不同的硬件単独处理。例如,如图5B和5C中所示,这些块在4个m-核心(m-核心O、m-核心I、m_核心2和m_核心3)中进行划分。返回图4,栅格器(raSteriZer)401接收绘制调用井随后生成与该绘制调用相关的像素数据,并将所述该像素数据发送给数据分布逻辑402。数据分布逻辑402可以利用若干算法来确定该绘制调用的极限性能因数。在许多实施例中,数据分布逻辑402包括瓶颈分析模块404。瓶颈分析模块404从图形子系统中获取用于计算该子系统的哪部分正在被耗费得最多的信息。该信息通常是在操作于图形子系统中的许多器件中实施的性能计数器的形式。例如,在所示的实施例中,存在着4个m-核心(M-核心A406、M-核心B 408、M-核心C 410和M-核心D 412),它们执行与绘制调用相关的工作(例如,执行几何图形计算),而且在每个m-核心中,存在着若干性能计数器,诸如m-核心A计数器414、m-核心B计数器416、m_核心C计数器418和m_核心D计数器420。除了 m-核心之外,在图4所示的实施例中还存在着4个纹理単元(TU A422,TU B 424,TU C 426和TUD 428)。每个纹理单元也可以包括ー组性能计数器,诸如TUA计数器430、TU B计数器432、TU C计数器434和TU D计数器436。一旦m_核心和纹理単元对绘制调用进行操作,则结果就通过与视频存储器442接ロ的一个或多个存储控制器(诸如存储控制器A 438和存储控制器B 440)发送给视频存储器442。所存在的每个存储控制器还可以包括ー组性能计数器(例如,存储控制器A计数器444和存储控制器B计数器446)。视频存储器442可以存储一个或多个纹理高速缓存(即针对纹理数据的存储区域)、一个或多个帧缓冲器以及许多其他类型的图像相关的数据。在许多实施例中,所有的性能计数器发送数据给历史数据缓冲器448。历史数据缓冲器可以是在任何充分存储位置中建立的缓冲器。在一些实施例中,历史数据缓冲器448可以是视频存储器442的预留部分。在其他实施例中,历史数据缓冲器448可以是系统存储器的预留部分。在再一实施例中,历史数据缓冲器448可以是专用于历史数据缓冲器448的分离的存储器存储器件。在又一其他实施例中,历史数据缓冲器448可以作为整体被集成到位于图形子系统或计算机系统中的其他位置的电路中。
历史数据缓冲器448可以用于若干用途。例如,来自图4所示的一个或多个器件的性能计数器可以持续地向历史数据缓冲器448馈送更新后的值。在另ー示例中,在计算机系统中可以存在间隔计时器,而且每次该计时器在所述间隔的末端期满时,整个系统中的每个计数器将它们的当前值写入历史数据缓冲器中。在其他实施例中,从计数器中获取到的信息被馈送给瓶颈分析模块,该瓶颈分析模块随后将利用一片或多片计数器数据来执行一个或多个计算,而且随后瓶颈分析模块404可以将所计算的结果存储在历史数据缓冲器448中。在许多实施例中,在给定时刻,瓶颈分析模块404将从m-核心、纹理单元和/或存储控制器中的性能计数器获取所有相关数据。瓶颈分析模块404之后将计算m-核心和/或视频存储器442的利用,并确定在图形子系统中运行的当前工作负荷正在如何影响m-核心以及视频存储器的利用水平。 例如,ー个绘制调用可能促使ー个m-核心(例如,m-核心A 406)相比于其他三个m-核心被繁重得多地利用。这导致不均衡的工作负荷,因为并非所有4个m-核心都正在均等地进行工作,因此图形子系统因m-核心工作量的不均衡而没有被有效地使用。在另ー示例中,瓶颈分析模块可能发现所有4个m-核心正在被均等地利用,但是利用的是它们总计算功率的一小部分,因为有大量的纹理数据正在进进出出针对顶点或像素的视频存储器442。因此,少量的几何图形正在被计算,但是数据吞吐量达到了可用存储器带宽的最大值。再次地,这将导致图形子系统的整体低效,因为m-核心未被要求以快的速率执行工作而且它们正因存储器的低效而缺乏数据。ー些绘制调用是计算密集型的,这意味着执行所有计算性计算的m-核心将需要更大量的工作来完成每个调用。其他绘制调用是存储器密集型的,这意味着会存在大量数据被传输给存储器和传输自存储器。另外,再一绘制调用在该调用的整个长度期间在这两个类别之间切換。对于计算密集型绘制调用,所有m-核心之间的均衡工作负荷对于总图形子系统性能而言是重要的。相反地,对于存储器密集型绘制调用而言,纹理高速缓存效率是最大的因素。在计算密集型绘制调用中,不均衡的m-核心工作负荷会导致性能恶化。在存储器密集型绘制调用中,使m-核心缺乏工作的工作负荷也将导致性能恶化。単独m-核心/TU所工作的块的大小对计算密集型绘制调用的性能影响与对存储器密集型绘制调用的性能影响不同。例如,转到图5B和5C,相对更大的块(例如,图5B)将因数据局部性和纹理高速缓存效率而有益于存储器密集型工作负荷。相对更小的块(例如,图5C)将有益于计算密集型工作负荷,因为对于图像的正在被执行操作的任何给定区域而言,有更多的m-核心正在对那个给定区域内的数据进行操作。返回图4,一旦已经由瓶颈分析模块404计算了工作负荷的类型,就向调度模块450发送关于如何调度当前绘制调用的剰余部分或利用类似图像參数(即导致当前工作负荷状况的图像数据)的下一(或其他未来)绘制调用的确定、关于将所述工作划分成多大或多小的块的判定。调度模块之后对绘制调用的数据进行处理,并告诉每个m-核心和纹理单元它们将对哪些坐标处的哪些块进行操作。換言之,基于被发送给调度模块450的由瓶颈分析模块404做出的关于块大小的确定,调度模块450之后向m-核心A406发送命令,诸如对位于从0,0开始并在7,7处结束的块、从16,16开始并在23,23处结束的块等中的数据执行计算。命令也被发送给其他m-核心和纹理单元。在另ー实施例中,块调度命令被特别发送给m-核心,而且每个m-核心之后将调度命令传递给与它配对的纹理单元。可以被用于报告瓶颈分析数据的ー些标准性能计数器是“引退纹理指令”和“引退计算指令”,它们能够分别揭露已经完成了多少纹理指令和计算指令。如果在特定时间段内对其进行了收集,则可以确定针对每ー者的每个采样间隔的速率,这能够导致指令呑吐量计算,当将指令呑吐量计算与基线值进行比较时可以允许针对每个m-核心和纹理单元采取效率估计。另外,存储控制器可以包括诸如“存储器忙周期”、“存储器空闲周期”、“存储器读速率”和“存储器写速率”之类的计数器。从这些计数器接收的数据还能够允许通用存储器的效率计算。例如,通过采用上述的都在给定时间量内被收集的计数器,可以通过下面的等式来计算在给定时间帧内的存储器利用百分比
权利要求
1.ー种方法,包括 确定当前的计算-存储器比率; 将所述当前的计算-存储器比率与下限比率阈值进行比较;以及响应于所述当前的计算-存储器比率低于所述下限比率阈值,通过使用图形存储器效率操作模式来配置要被执行的下ー绘制命令。
2.根据权利要求I所述的方法,还包括 将所述当前的计算-存储器比率与上限比率阈值进行比较;以及响应于所述当前的计算-存储器比率高于所述上限比率阈值,通过使用处理器均衡操作模式来配置所述要被执行的下ー绘制命令。
3.根据权利要求2所述的方法,还包括 从图形处理器、纹理单元和存储控制器中的一者或多者中收集ー个或多个性能计数器值;以及 根据ー个或多个所收集的性能计数器值来计算所述当前的计算-存储器比率。
4.根据权利要求3所述的方法,还包括 以ー个或多个后续绘制命令之间的预定间隔动态地执行收集动作和计算动作。
5.根据权利要求3所述的方法,还包括 在历史数据缓冲器中保存所述性能计数器值;以及 将所保存的性能计数器值与所述绘制命令相关联。
6.根据权利要求5所述的方法,还包括 接收后续绘制命令,其中所述后续绘制命令包括ー个或多个參数; 获取与呈现和所述后续绘制命令包括的所述ー个或多个參数相类似參数的绘制命令相关联的所有历史数据缓冲器信息;以及 在与针对呈现所述类似參数的之前绘制命令而配置的操作模式相一致的操作模式中配置要被执行的所述后续绘制命令。
7.根据权利要求2所述的方法,其中,所述计算-存储器比率包括图形m-核心计算利用值除以图形存储器利用值的比率。
8.根据权利要求2所述的方法,其中,所述图形存储器效率操作模式利用大小比所述图形处理器效率操作模式所利用的数据块的大小相对更大的图形数据块。
9.根据权利要求8所述的方法,其中,图形数据包括像素数据、顶点数据和几何图形数据中的一者或多者。
10.ー种包括用于控制图形流水线的逻辑的设备,所述逻辑用于 确定当前的计算-存储器比率; 将所述当前的计算-存储器比率与下限比率阈值进行比较;以及响应于所述当前的计算-存储器比率低于所述下限比率阈值,通过使用图形存储器效率操作模式来配置要被执行的下ー绘制命令。
11.根据权利要求10所述的设备,其中,所述逻辑还用于 将所述当前的计算-存储器比率与上限比率阈值进行比较;以及 响应于所述当前的计算-存储器比率高于所述上限比率阈值,通过使用处理器均衡操作模式来配置所述要被执行的下ー绘制命令。
12.根据权利要求11所述的设备,其中,所述逻辑还用于 从图形处理器、纹理单元和存储控制器中的一者或多者中收集ー个或多个性能计数器值;以及 根据ー个或多个所收集的性能计数器值来计算所述当前的计算-存储器比率。
13.根据权利要求12所述的设备,其中,所述逻辑还用于 以ー个或多个后续绘制命令之间的预定间隔动态地执行收集动作和计算动作。
14.根据权利要求12所述的设备,其中,所述逻辑还用于 在历史数据缓冲器中保存所述性能计数器值;以及 将所保存的性能计数器值与所述绘制命令相关联。
15.根据权利要求14所述的设备,其中,所述逻辑还用于 接收后续绘制命令,其中所述后续绘制命令包括ー个或多个參数; 获取与呈现和所述后续绘制命令包括的所述ー个或多个參数相类似參数的绘制命令相关联的所有历史数据缓冲器信息;以及 在与针对呈现所述类似參数的之前绘制命令而配置的操作模式相一致的操作模式中配置要被执行的所述后续绘制命令。
16.根据权利要求11所述的设备,其中,所述计算-存储器比率包括图形m-核心计算利用值除以图形存储器利用值的比率。
17.根据权利要求11所述的设备,其中,所述图形存储器效率操作模式利用大小比所述图形处理器效率操作模式所利用的数据块的大小相对更大的图形数据块。
18.根据权利要求17所述的设备,其中,图形数据包括像素数据、顶点数据和几何图形数据中的一者或多者。
19.一种系统,包括 图形驱动器,用于提供一个或多个绘制命令; 栅格器,用于响应于所述绘制调用来提供大量像素数据; 一个或多个图形处理m-核心,所述一个或多个图形处理m-核心各自包括一个或多个m-核心性能计数器; 一个或多个纹理単元,所述ー个或多个纹理単元各自包括ー个或多个纹理性能计数器; ー个或多个存储控制器,所述ー个或多个存储控制器各自包括一个或多个存储器性能计数器; 历史数据缓冲器,用于存储来自所述m-核心性能计数器、所述纹理性能计数器和所述存储器性能计数器中的一者或多者的性能计数器数据;以及数据分布逻辑单元,用干 确定当前的计算-存储器比率; 将所述当前的计算-存储器比率与下限比率阈值以及上限比率阈值进行比较; 响应于所述当前的计算-存储器比率低于所述下限比率阈值,通过使用图形存储器效率操作模式来配置要被执行的从所述图形驱动器接收到的下ー绘制命令;以及 响应于所述当前的计算-存储器比率高于所述上限比率阈值,通过使用处理器均衡操作模式来配置所述要被执行的下ー绘制命令。
20.根据权利要求19所述的系统,其中,所述数据分布逻辑单元还用于 根据来自一个或多个m-核心性能计数器、纹理性能计数器和存储器性能计数器中的至少一者的所存储的性能计数器数据来计算所述当前的计算-存储器比率。
21.根据权利要求20所述的系统,其中,所述数据分布逻辑单元还用于 以从所述图形驱动器接收到的一个或多个后续绘制命令之间的预定间隔动态地计算所述当前的计算-存储器比率。
22.根据权利要求20所述的系统,其中,所述数据分布逻辑单元还用于将所存储的性能计数器值与当前绘制命令相关联。
23.根据权利要求22所述的系统,其中,所述逻辑还用于 从所述图形驱动器接收后续绘制命令,其中所述后续绘制命令包括一个或多个参数; 获取与呈现和所述后续绘制命令包括的所述一个或多个参数相类似参数的绘制命令相关联的所有历史数据缓冲器信息;以及 在与针对呈现所述类似参数的之前绘制命令而配置的操作模式相一致的操作模式中配置要被执行的所述后续绘制命令。
24.根据权利要求19所述的系统,其中,所述计算-存储器比率包括图形m-核心计算利用值除以图形存储器利用值的比率。
25.根据权利要求19所述的系统,其中,所述图形存储器效率操作模式利用大小比所述图形处理器效率操作模式所利用的数据块的大小相对更大的图形数据块。
全文摘要
公开了一种方法、设备和系统。在一个实施例中,所述方法包括确定当前的计算-存储器比率。之后所述方法将当前的计算-存储器比率与下限比率阈值进行比较。之后所述方法在当前的计算-存储器比率低于下限比率阈值时,通过使用图形存储器效率操作模式来配置要被执行的下一绘制命令。
文档编号G06F9/50GK102656603SQ200980162905
公开日2012年9月5日 申请日期2009年12月16日 优先权日2009年12月16日
发明者J·叶, J·陈, W·刘 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1