CN104008524B - 图形处理中的低能量计算技术 - Google Patents

图形处理中的低能量计算技术 Download PDF

Info

Publication number
CN104008524B
CN104008524B CN201410065711.7A CN201410065711A CN104008524B CN 104008524 B CN104008524 B CN 104008524B CN 201410065711 A CN201410065711 A CN 201410065711A CN 104008524 B CN104008524 B CN 104008524B
Authority
CN
China
Prior art keywords
fifo
inputs
valid
delay
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410065711.7A
Other languages
English (en)
Other versions
CN104008524A (zh
Inventor
P.苏蒂
T.A.皮亚札
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104008524A publication Critical patent/CN104008524A/zh
Application granted granted Critical
Publication of CN104008524B publication Critical patent/CN104008524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Power Sources (AREA)
  • Image Processing (AREA)

Abstract

本公开涉及“图形处理中的低能量计算技术”。公开了用于使用延迟先入先出(FIFO)来模态地启用和禁用图形流水线中的计算块的技术和架构。在一些示例实施例中,延迟FIFO收集用于下游计算的有效访问并且整合无效输入(例如,气泡),并且计算处于关闭状态(例如,休眠)。当在延迟FIFO中存储充分数量的有效访问时,打开计算,并且延迟FIFO排出到其的有效输入的突发。在一些实施例中,此突发帮助防止或减少可以其它方式发生的计算的任何利用不足,因此提供图形流水线的功率节省或以其它方式改进给定图形系统的能效。在一些实例中,在对应于计算块的打开和关闭时间的时间窗上维持延迟FIFO的输入处的吞吐量需求。

Description

图形处理中的低能量计算技术
背景技术
图形处理涉及多个重要的挑战,并且图形处理系统已经面对特定复杂情况,例如关于管理能效的复杂情况。
附图说明
图1是根据本发明的一实施例配置的图形处理系统的框图。
图2是图示根据本发明的一实施例的使用延迟先入先出(FIFO)来模态地启用和禁用图形流水线中的数据路径计算块的方法的流程图。
图3是图示根据本发明的一实施例的当延迟FIFO在若干任意的时钟周期上聚集和整合时在各级处的延迟FIFO的多级图。
图4是图示根据本发明的一实施例的延迟FIFO和数据路径计算的转换的状态图。
图5图示根据一些实施例的可实现用于减少如本文所描述的图形处理中的能耗的技术的示例系统。
图6图示可实施图5的系统的小形状因子装置的实施例。
具体实施方式
公开了用于使用延迟先入先出(FIFO)来模态地启用和禁用图形流水线中的计算块的技术和架构。例如,在一些实施例中,延迟FIFO可收集有效访问来用于通过下游计算的计算而整合无效输入(例如,气泡)。当延迟FIFO聚集有效访问时,计算可以处于休眠状态或以其它方式被临时禁用。一旦充分数量的有效访问被存储在延迟FIFO中,则计算可离开休眠模式或以其它方式启用,并且延迟FIFO可排出(drain)到其的有效输入。在一些实例中,有效输入的此突发(burst)可有助于防止或减少计算的任何利用不足(否则它可能发生),因此在一些实施例中提供图形流水线的功率节省或以其它方式改进给定图形处理系统的能效。在一些实例中,在对应于计算块的打开和关闭时间的时间窗上维持延迟FIFO的输入处的吞吐量需求。根据本公开许多配置和变化将是明显的。
整体概述
如以前所指示的,可能出现多个重要问题,这些问题可使图形处理复杂化。例如,图形处理中的大多数功耗通常发生在图形流水线的计算级(在本文也称作计算或计算块)期间。在图形流水线内的任何给定时钟周期期间,给定计算可以不具有有效输入(例如,可接收流水线中的被称为气泡的停止(stall))。通常,当给定计算在给定时钟周期没有有效输入时,那个计算的时钟信号由功率编译器或其它合成工具来选通。这在这样的时钟周期的持续时间禁用(例如,关闭)计算级。典型地,时钟信号以每个级为基础来选通。如根据本公开将意识到的,以每个级为基础的给定计算级的打开和关闭功率的延迟减损能效中的任何改进,否则可利用此方式来实现这些改进。
因此,并且根据本发明的一实施例,公开了用于实现延迟先入先出(FIFO)存储器来帮助选择性地利用图形流水线中的给定计算块的技术和架构。在一些情况下,延迟FIFO可用于整合会成为计算块的低的或以其它方式小于100%的利用率的时期(在下文中通常被称作利用不足的时期),并且因此提供较长的时间窗来在其中模态地启用和禁用图形流水线的计算块。即,可以在从几百个时钟的粒度(而不是只有由以前讨论的每级的时钟信号选通提供的每个时钟的粒度)导出的窗上启用和禁用计算块。
一些实施例可实现给定计算块的功率节省(例如,与计算块关联的时钟功率和/或泄漏功率的减小)而不增加在给定帧中花费的时间量。在一些实例中可实现图形流水线中的给定计算块的能效的改进(例如,每瓦特的增加性能),以及因此实现这样的流水线的图形处理微架构或图形处理系统的能效的改进。一些实施例可提供低功率计算而没有不利地影响平均吞吐量或图形流水线中的给定计算块的计算需求的速率。
所公开的技术和架构可在广阔范围的图形处理架构和能够进行图形处理的电子装置(例如,包含图形处理单元、或GPU)中的任一个中使用。如根据本公开将是明显的,这样的装置的一些示例包含移动电话、便携式媒体播放器(PMP)、平板计算机、笔记本计算机(例如,膝上型设备)、小笔记本计算机(例如,诸如超极本、迷你笔记本、或其它超级便携式装置)、和/或任何其它移动或用电池操作的电子装置。例如,一些实施例可利用在低功率电子装置和相关应用中。然而,如根据本公开将是明显的,应该注意到要求保护的发明不被这样限制,并且所公开的技术可以实现在多种其它上下文和应用的任一个中。
例如,可通过分析功率曲线或通过实现已知工作负载(其典型地导致低利用率时期)的给定装置的热成像来检测所公开的技术和架构的使用。根据本公开,其它合适的检测技术将是明显的。
系统架构
图1是根据本发明的一实施例配置的图形处理系统100的框图。如可以看出的,系统100包含延迟先入先出(FIFO)110,在一些情况下,该延迟先入先出(FIFO)110具有在通信上与之耦合并且配置为提供一个或多个到其的控制信号的控制模块115。数据存储120在通信上耦合于例如延迟FIFO 110的输出,并且图形流水线1000的数据路径计算130在通信上耦合于数据存储120的输出。在一些实施例中,速率监视器140可选地可以在通信上耦合于延迟FIFO 110的输入。应该注意到,在其它实施例中,系统100可包含相对于此处描述的元件或部件的附加的、更少的和/或不同的元件或部件,并且要求保护的发明不旨在限制于所描绘的示例配置。根据本公开许多配置将是明显的。
在系统100中,从存储器请求数据,该存储器可提供在延迟FIFO 110的输入处。对于按次序的处理,这些待进行的数据访问被存储在延迟FIFO 110中。在给定延迟期之后,所请求的数据被返回到数据存储120。如根据本公开将是明显的,此延迟期的长度可以取决于例如层次实现的特定存储器。
对于在图1的示例上下文内的图示的一般目的,例如,如果系统100要有每个时钟周期一个计算元件的输入速率,则完全流水线化的数据路径计算130会被认为是处于峰值利用率(例如,以100%完全利用)。然而,如果输入速率要落到低于峰值速率,则数据路径计算130会处于低于峰值的利用率。如以前讨论的,数据路径计算130的此利用不足减损了为系统100(以及因此实现系统100的任何装置)实现的整个能效。
如以前所指出的,并且根据一实施例,可以利用延迟FIFO 110来整合下游数据路径计算130的输入数据率。为此目的,延迟FIFO 110可配置为整合不存在有效数据访问的时钟周期(例如,事实上,延迟FIFO 110可以消除输入数据率中的气泡)。而这又允许模态地启用和禁用数据路径计算130。在一些实例中,并且根据一实施例,这可帮助防止或以其它方式减少数据路径计算130的利用不足的时期。
在一些示例实例中,如以前所指出的,可以在几百个时钟的粒度上而不是只在每个时钟的粒度上启用和禁用数据路径计算130。在一些这样的情况下,合成时间窗可以是延迟的几百倍,否则它会仅可用于每时钟的粒度。在一个示例实例中,可实现大约1×104-5×104时钟或更大的延迟。然而,应该注意,要求保护的发明不被这样限制,并且可以使用所公开的技术和架构来实现更大或者更小的延迟级别,如给定目标应用或终端使用所希望的那样。
根据一实施例,延迟FIFO 110可以配置为收集在其输入处作出的有效访问并整合无效输入(例如,气泡)。如以下所论述的,此后,可以从延迟FIFO 110排出有效输入来用于下游使用。如根据本公开将意识到的,可希望确保延迟FIFO 110充分深来防止或以其它方式最小化溢出;例如,在一个示例实施例中,延迟FIFO 110可以配置为覆盖几百个时钟周期。在一些实施例中,可以配置延迟FIFO 110以使如果稳定的数据流到达其输入处,则它提供稳定的输出(例如,每几个时钟或以其它方式如所希望的那样频繁)。如果改为充分低的数据流到达延迟FIFO 110的输入处,则它可存储或以其它方式保持数据而不提供输出。延迟FIFO 110的其它合适配置和能力将取决于给定应用并且根据本公开将是明显的。
根据一实施例,控制模块115将一个或多个控制信号传递到延迟FIFO 110,该一个或多个控制信号控制该延迟FIFO 110的收集和排出功能。因此,控制模块115可用于控制延迟FIFO 110的整合能力,并且因此可以帮助采用以前提到的能量节省机会。在一些情况下,控制模块115可用于设置或以其它方式指定延迟FIFO 110的排出阈值,在一些这样的实例中,排出阈值可以是对应于由延迟FIFO 110收集的有效输入的数量的用户可编程的数量。控制模块115的其它合适配置和能力(当包含时)将取决于给定应用并且根据本公开将是明显的。
在给定图形流水线内,可以有计算元件或其它指令,对于它们而言增加延迟是不合需要的。例如,如果存在渲染目标(RT)读取,则增加它的延迟(例如通过延期延迟FIFO110的弹出)可不合需要地阻碍图形处理性能。为解决此问题,例如,在一些实施例中,速率监视器140可选地可实现在延迟FIFO 110的输入处来帮助实现所希望的输入速率的整合。可选的输入监视器140可以配置为将FIFO条目宽度和时钟的数量理解为FIFO条目宽度表示数据路径计算130的利用率。为此目的,在一个示例实施例中,输入监视器140包含第一计数器142(它计数对应于时钟周期的总数量的“TOTAL_CLOCK_COUNTER”值),以及第二计数器144(它追踪对应于具有数据路径计算130的有效输入的时钟周期的数量的“VALID_CLOCK_COUNTER”值)。应该注意到,要求保护的发明不被这样限制,并且可选的速率监视器140的其它合适配置将取决于给定应用并且根据本公开将是明显的。
方法
图2是图示根据本发明的一实施例的使用FIFO 110来模态地启用和禁用图形流水线1000中的数据路径计算块130的方法的流程图。在一些情况下,例如,在图1的系统100中可以利用在图2的上下文中所描述的技术。用于所公开的技术的其它合适上下文根据本公开将是明显的。
如在框210中那样,流程可开始于延迟FIFO 110收集有效输入并且整合无效输入。在此时间期间,计算块130保持在休眠模式(SLEEP mode)中或以其它方式被临时禁用。图3是图示根据本发明的一实施例的当延迟FIFO在若干任意的时钟周期上聚集并且整合时在各级处的延迟FIFO的多级图。如可以看出的,延迟FIFO 110聚集有效输入,这些有效输入被送到下游数据路径计算130。在图中这些有效访问由黑色阴影框来指代。同时,延迟FIFO110整合无效输入,否则这些无效输入可能导致数据路径计算130的利用不足的时期。在图中这些气泡由非阴影椭圆来指代。延迟FIFO 110继续收集有效输入,直到达到或以其它方式超过触发点,该触发点在图中指代为排出阈值。如以前所指出的,在一些实施例中,排出阈值可以是用户可编程的阈值。
在一个示例实施例中,触发延迟FIFO 110的排出的排出阈值对应于以下状况:(i)当具有有效输入的时钟周期的数量(即,VALID_CLOCK_COUNTER)达到用于打开数据路径计算130的指定的阈值数量时;以及(ii)当时钟周期的总数量与具有有效输入的时钟周期的数量之间的差达到用于关闭数据路径计算130的指定的阈值数量时(即,当OFF_TIME =TOTAL_CLOCK_COUNTER – ON_TIME时)。“OFF_TIME”值表示计算块130位于休眠的时钟的数量。“TOTAL_CLOCK_COUNTER”值在每个时钟上递增并且当延迟FIFO 110开始排出时得以复位。“ON_TIME”值可以使用延迟FIFO中的有效条目的数量来计算并且表示计算块130被计时并且被供电(例如,保持活跃)的时钟数量。用于触发延迟FIFO 110的排出的其它合适阈值和考虑将取决于给定应用并且根据本公开将是明显的。
如以前指出的,当延迟FIFO 110正聚集有效输入时,数据路径计算块130位于休眠模式或以其它方式被临时禁用(例如通过选通到其的时钟信号)。它达到或超过排出阈值所花费的时间越长,即,积累阈值数量的有效输入所花费的时间越长(它部分取决于由延迟FIFO 110整合的无效输入的数量),数据路径计算块130保持在其最低功耗状态(例如,休眠或以其它方式禁用)中的时间越长。根据一实施例,这改进了可实现的能量节省。因此,如根据本公开将意识到的,可希望最大化OFF_TIME而极少地或以其它方式忽略不计地影响计算需求的速率和吞吐量。在一些实例中,可在充分大数量的时钟周期上禁用数据路径计算130以便允许:(i)时钟信号的进和出延迟的更大容忍度;和/或(ii)用比以其它方式(例如,使用功率编译器或其它合成工具)可实现的更粗略的级别来进行功率选通。这又可以帮助最小化或以其它方式减少每个时钟周期转换的动态电容(CDyn),它因此减少转换功率成本和泄漏电流,它因此减少泄漏功率成本。
返回图2,一旦由延迟FIFO 110聚集的有效输入的数量达到或以其它方式超过排出阈值,则流程可如在框220中那样前进到排出延迟FIFO 110。例如,一接收到来自控制模块115的适当指令信号,可以执行延迟FIFO 110的排出的触发。在任何情况下,当延迟FIFO110具有可用于计算的充分的有效数据时,它将其所存储的有效输入输出到下游数据路径计算130,然后它可以进行计算过程。在一些示例实施例中,延迟FIFO 110排出等于VALID_CLOCK_COUNTER的值的数量(例如,如在触发排出的时间处所确定的)。在一些实例中,并且根据一实施例,有效访问作为有效输入的突发而被输送到下游数据路径计算130。
当触发延迟FIFO 110的排出时,数据路径计算130打开或以其它方式离开休眠模式或其它禁用状态(例如,通过不选通到其的时钟信号)。在一些实例中,并且根据一实施例,由延迟FIFO 110提供的有效输入的前述突发允许数据路径计算130工作在峰值利用率上(例如,处于100%或大约100%或其它比率,如对于给定目标应用或终端使用所希望的那样)。一旦触发延迟FIFO 110的排出,总时钟计数器142和有效的时钟计数器144两者都被复位并且再次开始追踪它们的相应值(由于延迟FIFO 110再次开始收集有效输入)。当延迟FIFO 110排出时(例如,排出了等于VALID_CLOCK_COUNTER的值的量),它检查“OFF_TIME_THRESHOLD”,其值表示通过使计算130位于休眠中或以其它方式位于禁用状态中而实现益处的时钟的最小数量。
在一些情况下,延迟FIFO 110排出到当以前的ON_TIME = 0时的点。当延迟FIFO110开始排出时ON_TIME被转移到DRAIN_COUNTER以使ON_TIME可以追踪新的“TIME_WINDOW”,其值表示在其上积累无效输入(例如,气泡)而不影响吞吐量的时间窗。在此窗上的吞吐量由ON_TIME/TIME_WINDOW的比率来表示。在一些情况下,无效输入/气泡的整合发生在延迟FIFO 110内,以使在等于ON_TIME + OFF_TIME的时间窗上维持(例如)在延迟FIFO110的输入处的吞吐量需求。在启动数据路径计算130而排出延迟FIFO 110的每个时钟周期上递减“DRAIN_COUNTER”值。
此后,流程如在框230中那样前进到确定到延迟FIFO 110的输入数据率是否充分高。如果到延迟FIFO 110的有效输入的输入速率继续充分高,例如在OFF_TIME追踪充分低以及充分高的ON_TIME的情况下(例如,当计算需求高并且因此数据路径计算130无法进入休眠模式时,这是因为其需要执行计算并且因此必须在较长时间段保持打开),则流程如在框240中那样继续,其中将数据路径计算130维持在打开状态中并且继续排出从延迟FIFO110到其的有效输入。在一些这样的实例中,此允许数据路径计算块130继续工作在峰值利用率上(例如,处于100%或大约100%或其它比率,如对于给定目标应用或终端使用所希望的那样)。因此,例如,在一些这样的情况下,数据路径计算130进入休眠的下一机会可以是当输入速率中有充分急剧的下降以使存储在延迟FIFO 110中的有效访问的数量落到低于排出阈值时(如以前讨论的)。
如果改为到延迟FIFO 110的有效输入的输入速率不是充分高的,则流程可如在框250中那样继续,其中确定延迟FIFO 110的剩余深度是否是充分低的。“REMAINING_FIFO_DEPTH”值对应于延迟FIFO 110的总深度与当前存储在延迟FIFO 110中的有效条目的数量之间的差(例如,如果延迟FIFO 110可以存储40个有效访问,并且在给定时刻有30个有效访问当前被存储,则剩余FIFO深度是在溢出发生之前的10个有效访问深度)。应该注意到,例如,在此情况下“TREND_FIFO_DEPTH”值(以下讨论的)不用于保守的(例如,假定例如延迟FIFO 110中的剩余条目可用所有单个时钟计算需求填充)。REMAINING_FIFO_DEPTH的值(和TREND_FIFO_DEPTH的值,当可用时)可允许预测用于计算130的估计的打开和关闭时间,例如,打开和关闭时间可与可编程阈值一起使用来控制延迟FIFO 110的收集和排出。例如,在一些实施例中,此可编程阈值可以被编程到控制模块115中。
如果剩余FIFO深度充分低(例如,如果有充分高数量的有效条目存储在延迟FIFO110中并且因此在溢出发生之前有用于额外的有效条目的很少的剩余FIFO深度),则过程可如在框240中那样继续,其中将数据路径计算130维持在启用状态并且排出从延迟FIFO 110到其的用于计算的有效条目。如果改为剩余FIFO深度充分高(例如,如果存储在延迟FIFO110中的有效条目的数量充分低并且因此有用于额外的有效条目的充分的剩余FIFO深度而没有溢出的风险),则过程可如在框210中那样继续,其中使计算130位于休眠模式中并且使用延迟FIFO 110来继续收集有效输入并且整合气泡。
对此方法的许多变化根据本公开将是明显的。如将意识到的,并且根据一个或多个实施例,例如,在图2中示出的功能框(例如,210、220、和240)以及决定点(例如,230和250)中的每个可以实现为模块或子模块,当由一个或多个处理器执行或以其它方式操作时,该模块或子模块使得如本文所描述的关联的功能性被实现。例如,模块/子模块可采用软件(例如,在一个或多个计算机可读介质上存储的可执行指令)、固件(例如,微控制器或可具有用于从用户请求输入并且对用户请求提供响应的I/O能力的其它装置的嵌入式例程)、和/或硬件(例如,门级逻辑、现场可编程门阵列、或特制硅)实现。
如根据本公开将意识到的,情况可发生在给定计算条目需要多于单个计算时钟周期来用于完整处理时。因此,并且根据本发明的另一实施例,例如,可使用延迟FIFO 110作为Trend_FIFO(趋势FIFO),其配置为进行无效输入的连续整合来作为能够进行跨帧时间的滑动的滑动窗。在一些实例中,此Trend_FIFO可以具有可调谐的深度(例如,在一些情况下,它可以被调谐为与延迟FIFO 110的深度成比例)并且可以配置为聚集每个有效输入的访问的到达间速率并且一旦Trend_FIFO完全充满就开始排出到数据路径计算130。在一些情况下,计算所需的总时间等效于Trend_FIFO中的所有数量的总和,例如,它可以通过在FIFO的弹出上递增将利用计算130的时钟的数量并且递减在FIFO中存储的那个条目的值来确定。如果延迟FIFO 110中的每个有效条目表示计算利用的时钟的可变数量,则可以如以上描述的那样使用Trend_FIFO。Trend_FIFO保持延迟FIFO 110中的每个有效条目的数量,并且那个数量是那个条目所需要的计算130的时钟的数量。
图4是图示根据本发明的一实施例的延迟FIFO 110和数据路径计算130的转换的状态图。如可以看出的,如果延迟FIFO 110被排出,并且OFF_TIME小于OFF_TIME_THRESHOLD,并且REMAINING_FIFO_DEPTH大于OFF_TIME_THRESHOLD与OFF_TIME之间的差,则延迟FIFO 110从排出模式转换成收集模式,而数据路径计算130从其打开状态转换成休眠状态。如以前讨论的,根据一实施例,计算130保持其休眠状态(例如,其最低功耗的状态)的时间段越长,可实现的能量节省越大。然而,如果OFF_TIME大于或等于OFF_TIME_THRESHOLD或如果REMAINING_FIFO_DEPTH小于OFF_TIME_THRESHOLD与OFF_TIME之间的差,则延迟FIFO110从收集模式转换成排出模式,而数据路径计算130从休眠状态转换成其打开状态。假定处于峰值利用率(例如,处于100%或大约100%或其它比率,如对于给定目标应用或终端使用所希望的那样)的延迟FIFO 110,则在此时间段期间,计算130工作在有效访问的突发上。如将意识到的,如果不满足提出的从一个状态转换成另一状态的状况,则延迟FIFO 110和数据路径计算130将保持在它们的当前状态中而不转换状态,直到满足这样的状况。
如以前指出的,并且根据一个或多个实施例,所公开的技术可用于以给定程度的使用模态来提供图形流水线1000的数据路径计算130,如对于给定应用或终端使用所希望的那样。通过选择性地打开数据路径计算130并且在其峰值速率上利用它并且然后在一时间段上关闭它而由延迟FIFO 110聚集充分数量的有效输入,数据路径计算130可以被允许以最佳或其它所希望的计算速率来操作。在一些实例中,这可防止或以其它方式最小化数据路径计算130的利用不足。如以前讨论的并且根据一个或多个实施例,这可以在给定图形系统中提供改进的能效(例如,减少的转换功率损耗和/或泄漏功率损耗)。
此外,应该注意到,虽然所公开的技术通常是在图形流水线(例如,图形流水线1000)中的数据路径计算块(例如,数据路径计算130)的示例上下文中讨论,但是要求保护的发明不被如此限制。例如,在给定图形系统内,典型地有若干计算块,它们可在给定帧时间(即,用于渲染给定帧的时间)上利用,并且可以用给定图形流水线或图形系统中的任何或所有计算块来实现根据一个或多个实施例的所公开的技术,如对于给定目标应用或终端使用所希望的那样。
示例实现
根据本发明的一实施例,在一个示例情况下,可以用色彩混合硬件来实现所公开的技术和架构。在一些实例中,可将由渲染色彩高速缓存(RCC)所提供的数据馈送到给定色彩混合硬件,并且RCC分配和混合硬件可以是例如由延迟FIFO(例如,很类似于以上讨论的延迟FIFO 110)分开。如根据本公开将意识到的,到这样的延迟FIFO的输入速率可以由多种因素中的任一个来确定,例如原始大小、单个指令多个数据(SIMD)、像素分组、多样本抗混叠(MSAA)、像素着色器(PS)长度、以及来自像素着色器(PS)的输出的数量。在一些实例中,根据一个或多个实施例,如果输入速率不是在其峰值速率上(例如,它以其它方式通常会导致混合硬件的利用不足),则延迟FIFO可使用本文描述的技术来操作以整合输入速率从而提供峰值利用率(例如,处于100%或大约100%或其它利用率,如对于给定目标应用或终端使用所希望的那样)。例如,在一些情况下,可使用所公开的技术来提供混合硬件的最佳关闭。
然而,应该注意,要求保护的发明不被这样限制,这是因为所公开的技术和架构可使用在广阔范围的目标应用或终端使用中的任一个中。例如,一些实施例可使用在其它上下文中,例如深度缓冲器测试或结构采样硬件。根据本公开,可以实现所公开的技术和架构的其它图形处理架构和系统将是明显的。
示例系统
图5图示根据一些实施例的可实现用于减少如本文所描述的图形处理中的能耗的技术的示例系统600。在一些实施例中,系统600可以是媒体系统,但是系统600不限于此上下文。例如,系统600可并入到个人计算机(PC)、膝上计算机、超级膝上计算机、平板计算机、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能装置(例如,智能电话、智能平板计算机或智能电视)、移动因特网装置(MID)、通讯装置、数据通信装置、机顶盒、游戏控制台、或能够执行图形渲染操作的其它这样的计算环境。
在一些实施例中,系统600包括耦合到显示器620的平台602。平台602可以从内容装置(例如,内容服务装置630或内容输送装置640或其它类似内容源)接收内容。例如,包括一个或多个导航特征的导航控制器650可用于与平台602和/或显示器620交互。以下更详细地描述这些示例部件中的每一个。
在一些实施例中,平台602可包括芯片组605、处理器610、存储器612、存储614、图形子系统615、应用616和/或无线电618的任何组合。芯片组605可提供处理器610、存储器612、存储614、图形子系统615、应用616和/或无线电618之间的互通。例如,芯片组605可包含能够提供与存储614的互通的存储适配器(未描绘)。
例如,处理器610可实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、可兼容x86指令集的处理器、多核、或任何其它微处理器或中央处理单元(CPU)。在一些实施例中,处理器610可包括双核处理器、双核移动处理器等等。例如,存储器612可实现为易失性存储器装置,例如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。例如,存储614可实现为非易失性存储装置,例如但不限于,磁盘驱动、光盘驱动、磁带驱动、内部存储装置、附连存储装置、闪速存储器、备有电池的SDRAM(同步DRAM)和/或网络可访问存储装置。在一些实施例中,例如,在包含多个硬驱动时,存储614可包括用于增加宝贵的数字媒体的存储性能增强的保护的技术。
图形子系统615可执行用于显示的图像(例如,静止图像或视频)的处理。图形子系统615例如可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可用于在通信上耦合图形子系统615和显示器620。例如,接口可以是高清晰度多媒体接口(HDMI)、显示端口、无线HDMI和/或符合无线HD的技术中的任一个。图形子系统615可集成到处理器610或芯片组605。图形子系统615可以是在通信上耦合到芯片组605的单独的卡。用于减少本文描述的图形处理中的能耗的技术可实现在各种硬件架构中。例如,如本文提供的用于减少图形处理中的能耗的技术可集成在图形和/或视频芯片组内。备选地,可使用离散安全处理器。在又一实施例中,包含用于减少图形处理中的能耗的技术的图形和/或视频功能可由包含多核处理器的通用处理器来实现。
无线电618可包含能够使用各种合适的无线通信技术来传送和接收信号的一个或多个无线电。这样的技术可涉及跨一个或多个无线网络的通信。示范性无线网络可包含但不限于,无线局域网(WLAN)、无线个人区域网络(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这样的网络的通信中,无线电618可根据任何版本中的一个或多个可应用标准来操作。
在一些实施例中,显示器620可包括任何电视机或计算机类型监视器或显示器。例如,显示器620可包括液晶显示(LCD)屏、电泳显示器(EPD)或液体纸显示器、平板显示器、触摸屏显示器、类似电视机的装置、和/或电视机。显示器620可以是数字和/或模拟的。在一些实施例中,显示器620可以是全息或三维显示器。而且,显示器620可以是可接收视觉投影的透明表面。这样的投影可传达各种形式的信息、图像和/或对象。例如,这样的投影可以是移动增强现实(MAR)应用的视觉叠加。在一个或多个软件应用616的控制下,平台602可以在显示器620上显示用户接口622。
在一些实施例中,内容服务装置630可以由任何国家、国际和/或独立服务机构管理并且例如因此可经由因特网或其它网络而可访问平台602。内容服务装置630可耦合到平台602和/或显示器620。平台602和/或内容服务装置630可耦合到网络660来传递(例如,发送和/或接收)到和来自网络660的媒体信息。内容输送装置640也可耦合到平台602和/或显示器620。在一些实施例中,内容服务装置630可包括有线电视盒、个人计算机(PC)、网络、电话、启用因特网的装置或能够输送数字信息和/或内容的器具、以及能够(经由网络660或直接地)在内容提供商与平台602和/或显示器620之间单向或双向传递内容的任何其它类似装置。将意识到,内容可经由网络660到和从系统600中的任何一个部件和内容提供商单向和/或双向传递。内容的示例可包含任何媒体信息,例如包含视频、音乐、图形、文本、医学和游戏内容等等。
内容服务装置630接收内容,例如包含媒体信息、数字信息和/或其它内容的有线电视节目。内容提供商的示例可包含任何有线或卫星电视或无线电或因特网内容提供商。所提供的示例不旨在限制要求保护的发明。在一些实施例中,平台602可从具有一个或多个导航特征的导航控制器650接收控制信号。例如,控制器650的导航特征可用于与用户接口622交互。在一些实施例中,导航控制器650可以是指向装置,其可以是计算机硬件部件(具体地人机接口装置),它允许用户将空间(例如,连续的和多维的)数据输入到计算机。许多系统(例如,图形用户接口(GUI)和电视机和监视器)允许用户控制和提供数据到使用物理姿势的计算机或电视机。
控制器650的导航特征的运动可以由在显示器上显示的指针、游标、聚焦环、或其它视觉的指示符的运动而在显示器(例如,显示器620)上反应。例如,在软件应用716的控制下,位于导航控制器650上的导航特征可被映射到在用户接口622上显示的虚拟导航特征。在一些实施例中,控制器650可以不是单独的部件,而是集成到平台602和/或显示器620。然而,如将意识到的,实施例不限于在本文中示出或描述的元件或上下文。
在一些实施例中,驱动器(未示出)可包括技术来使用户能在初始启动之后用按钮的触摸而立即打开并且关闭类似电视的平台602(例如,当启用时)。当“关闭”平台时,程序逻辑可允许平台602将内容流式传输到媒体适配器或其它内容服务装置630或内容输送装置640。此外,例如,芯片组605可包括对于5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动器可包含用于集成图形平台的图形驱动器。在一些实施例中,图形驱动器可包括外围部件互连(PCI)表现图形卡。
在各实施例中,可集成在系统600中示出的部件中的任何一个或多个。例如,可集成平台602和内容服务装置630,或可集成平台602和内容输送装置640,或可集成平台602、内容服务装置630、和内容输送装置640。在各实施例中,平台602和显示器620可以是集成单元。例如,可集成显示器620和内容服务装置630,或可集成显示器620和内容输送装置640。这些示例不旨在限制要求保护的发明。
在各实施例中,系统600可实现为无线系统、有线系统或两者的组合。当实现为无线系统时,系统600可包含适合于在无线共享媒体上通信的部件和接口(例如,一个或多个天线、传送器、接收器、收发器、放大器、滤波器、控制逻辑等等)。无线共享媒体的示例可包含无线频谱(例如,RF频谱等等)的一部分。当实现为有线系统时,系统600可包含适合于在有线通信媒体上通信的部件和接口(例如,输入/输出(I/O)适配器、用对应有线通信介质来连接I/O适配器的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等等)。有线通信媒体的示例可包含导线、电缆、金属引线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等等。
平台602可建立一个或多个逻辑或物理信道来传递信息。信息可包含媒体信息和控制信息。媒体信息可指代表示目标为用户的内容的任何数据。例如,内容的示例可包含来自语音会话、视频会议、流式传输的视频、电子邮件或文本消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。控制信息可指代表示目标为自动系统的命令、指令或控制字的任何数据。例如,控制信息可用于通过系统路由媒体信息或指示节点以预定方式(例如,使用如本文所描述的用于减少图形处理中的能耗的技术)处理媒体信息。然而,实施例不限于在图5中示出或描述的元件或上下文。
如以上所描述的,系统600可以用改变物理形态或形状因子来实施。图6图示可实施系统600的小形状因子装置700的实施例。在一些实施例中,例如,装置700可实现为具有无线能力的移动计算装置。例如,移动计算装置可指代具有处理系统和移动电源或电力供应(例如,一个或多个电池)的任何装置。
如以前所描述的,移动计算装置的示例可包含个人计算机(PC)、膝上计算机、超级膝上计算机、平板计算机、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如,智能电话、智能平板计算机或智能电视)、移动因特网装置(MID)、通讯装置、数据通信装置等等。
移动计算装置的示例也可包含安排为由人穿戴的计算机,例如腕式计算机、手指计算机、戒指计算机、眼镜计算机、带夹计算机、臂章计算机、鞋式计算机、服装计算机、以及其它可穿戴计算机。例如,在一些实施例中,移动计算装置可实现为能够执行计算机应用、以及语音通信和/或数据通信的智能电话。虽然可用以示例的方式实现为智能电话的移动计算装置来描述一些实施例,但是可意识到,也可使用其它无线移动计算装置来实现其它实施例。实施例不受限于此上下文。
如图6所示,装置700可包括壳体702、显示器704、输入/输出(I/O)装置706、以及天线708。装置700也可包括导航特征712。显示器704可包括用于显示适合于移动计算装置的信息的任何合适的显示单元。I/O装置706可包括用于将信息输入移动计算装置的任何合适的I/O装置。I/O装置706的示例可包含字母数字键盘、数字小键盘、触摸板、输入按键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别装置和软件等等。信息也可通过麦克风的方式被输入装置700。这样的信息可以由语音识别装置来数字化。实施例不限于此上下文。
可使用硬件元件、软件元件或两者的组合来实现各实施例。硬件元件的示例可包含处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路(IC)、专用集成电路(ASIC)、可编程逻辑装置(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片组等等。软件的示例可包含软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或任何其组合。是否使用硬件元件和/或软件元件可根据任何数量的因素(例如,所希望的计算速率、功率电平、热容忍度、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度、以及其它设计或性能约束)而在实施例之间不同。
例如,可使用机器可读介质或物品来实现一些实施例,该机器可读介质或物品可存储指令或一组指令,如果由机器执行,则该指令或该组指令可使机器执行根据本发明的一实施例的方法和/或操作。例如,这样的机器可包含任何合适的处理平台、计算平台、计算装置、处理装置、计算系统、处理系统、计算机、处理器等,并且可使用硬件和软件的任何合适组合来实现。例如,机器可读介质或物品可包含任何合适类型的存储器单元、存储器装置、存储器物品、存储器介质、存储装置、存储物品、存储介质和/或存储单元,例如,存储器、可移除或不可移除介质、可擦除或不可擦除介质、可写入或可重写介质、数字或模拟介质、硬盘、软盘、只读存储器光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、光盘、磁性介质,磁体光学介质、可移除存储器卡或磁盘、各种类型的数字多功能盘(DVD)、磁带、盒式磁带等。指令可包含使用任何合适的高级、低级、面向对象、视觉、汇编和/或翻译编程语言来实现的任何合适类型的可执行代码。
可意识到,除非具体地表述,否则例如“处理”、“计算”、“运算”、“确定”等术语指代计算机或计算系统、或类似电子计算装置的动作和/或过程,该计算机或计算系统、或类似电子计算装置将表示为计算系统的寄存器和/或存储器内的物理数量(例如,电子的)的数据操纵和/或变换成类似地表示为计算系统的存储器、寄存器或其它这样的信息存储、传送、或显示内的物理数量的其它数据。实施例不限于此上下文。
根据本公开许多实施例将是明显的。本发明的一个示例实施例提供了一种图形处理微架构,其包含:包含计算块的图形流水线;以及在通信上耦合于计算块的输入的延迟先入先出(FIFO),其中延迟FIFO收集有效输入并且整合由此接收的无效输入并且一旦收集的有效输入的数量达到或超过排出阈值数量就将所收集的有效输入排出到计算块。在一些情况下,计算块包括数据路径计算。在一些实例中,至少一个无效输入包括流水线停止或气泡。在一些示例情况下,延迟FIFO整合无效输入以使在时间窗上维持在延迟FIFO的输入处的吞吐量需求。在一些这样的情况下,时间窗通过将计算块处于打开状态的时钟数量和计算块处于关闭状态的时钟数量相加来确定。在一些情况下,有效输入的排出阈值数量是用户可编程的。在一些实例中,图形处理微架构还包含在通信上耦合于延迟FIFO并且配置为控制由延迟FIFO的有效输入的收集和排出的控制模块。在一些情况下,图形处理微架构还包含在通信上耦合于延迟FIFO的输入的速率监视器,该速率监视器包含:第一计数器,其计数时钟周期的总数量;以及第二计数器,其追踪延迟FIFO收集了有效输入的时钟周期的数量。在一些示例情况下,图形流水线是图形处理单元(GPU)的一部分。在一些示例情况下,图形流水线是色彩混合硬件、深度缓冲器测试、和/或结构采样硬件中的至少一个的一部分。在一些实例中,提供包含图形处理微架构的便携式计算装置。在一些这样的实例中,便携式计算装置包括移动电话、便携式媒体播放器、平板计算机、膝上计算机、笔记本计算机、和/或小笔记本计算机中的至少一个。
本发明的另一示例实施例提供了一种用指令编码的计算机可读介质,当由一个或多个处理器执行时,这些指令使得用于模态地启用和禁用图形流水线的计算块的过程要被执行,该过程包含:收集有效输入并且整合由在通信上耦合于计算块的先入先出(FIFO)接收的无效输入;以及一旦收集了达到或超过排出阈值数量的有效输入数量,就将计算块从休眠状态转换到打开状态并且将所收集的有效输入的突发从FIFO排出到计算块。在一些情况下,如果由FIFO收集的有效输入的数量保持高于排出阈值数量,则过程还包含将计算块维持在其打开状态中并且继续将所收集的有效输入从FIFO排出到计算块。在一些实例中,如果由FIFO收集的有效输入的数量未维持在高于排出阈值数量,则过程还包含:将计算块从其打开状态转换到其休眠状态;以及停止FIFO的排出并且用FIFO继续收集有效输入和整合无效输入。在一些情况下,有效输入的排出阈值数量是用户可编程的。在一些实例中,FIFO包括延迟FIFO。在一些这样的实例中,延迟FIFO整合无效输入以使在时间窗上维持在延迟FIFO的输入处的吞吐量需求。在一些这样的情况下,时间窗通过将计算块处于打开状态的时钟数量和计算块处于关闭状态的时钟数量相加来确定。在一些其它实例中,FIFO包括趋势FIFO,其配置为执行无效输入的连续整合来作为跨帧时间的滑动窗。在一些这样的实例中,趋势FIFO具有可调谐的深度。在一些其它这样的实例中,一旦趋势FIFO完全充满有效输入,它就将收集的有效输入排出到计算块。
本发明的另一示例实施例提供了一种图形处理系统,包含:图形流水线,其包含数据路径计算块;延迟先入先出(FIFO),在通信上耦合于数据路径计算块的输入,其中延迟FIFO配置为收集有效输入并且整合由此接收的无效输入并且一旦收集的有效输入的数量达到或超过排出阈值数量就将所收集的有效输入排出到数据路径计算块;控制模块,在通信上耦合于延迟FIFO并且配置为控制延迟FIFO的收集和排出;以及速率监视器,在通信上耦合于延迟FIFO并且配置为监视在其接收的输入数据率。在一些情况下,控制模块还配置为设置排出阈值数量。在一些实例中,延迟FIFO整合无效输入以使在时间窗上维持在延迟FIFO的输入处的吞吐量需求,该时间窗通过将计算块处于打开状态的时钟数量和计算块处于关闭状态的时钟数量相加来确定。
为了说明和描述的目的,已经呈现了本发明的实施例的以上描述。它不旨在是穷尽的或将本发明限于所公开的精确形式。根据本公开,许多修改和变化是可能的。旨在本发明的范围不由此详细描述来限制,而是由附于此处的权利要求来限制。

Claims (25)

1.一种图形处理微架构,包括:
图形流水线,所述图形流水线包含计算块;
延迟先入先出(FIFO),所述延迟先入先出在通信上耦合于所述计算块的输入,其中所述延迟FIFO收集有效输入并且整合由此接收的无效输入,并且在收集达到或超过排出阈值数量的有效输入的数量时将所收集的有效输入排出到所述计算块;以及
在通信上耦合于所述延迟FIFO的输入的速率监视器,其中所述速率监视器配置成帮助实现所述有效输入的所希望的输入速率的整合,
其中当收集达到或超过排出阈值数量的有效输入的数量时,将所述计算块从休眠状态转换到打开状态。
2.如权利要求1所述的图形处理微架构,其中所述计算块包括数据路径计算。
3.如权利要求1所述的图形处理微架构,其中至少一个无效输入包括流水线停止或气泡。
4.如权利要求1所述的图形处理微架构,其中所述延迟FIFO整合无效输入以使在时间窗上维持在所述延迟FIFO的输入处的吞吐量需求。
5.如权利要求4所述的图形处理微架构,其中所述时间窗通过将所述计算块处于打开状态的时钟数量和所述计算块处于关闭状态的时钟数量相加来确定。
6.如权利要求1所述的图形处理微架构,其中所述有效输入的所述排出阈值数量是用户可编程的。
7.如权利要求1所述的图形处理微架构,还包括控制模块,所述控制模块在通信上耦合于所述延迟FIFO并且配置为控制通过所述延迟FIFO的有效输入的收集和排出。
8.如权利要求1所述的图形处理微架构,其中所述速率监视器包括:
第一计数器,所述第一计数器计数时钟周期的总数量;以及
第二计数器,所述第二计数器追踪所述延迟FIFO收集有效输入的时钟周期的数量。
9.如权利要求1所述的图形处理微架构,其中所述图形流水线是图形处理单元(GPU)的一部分。
10.如权利要求1所述的图形处理微架构,其中所述图形流水线是色彩混合硬件、深度缓冲器测试和/或结构采样硬件中的至少一个的一部分。
11.一种便携式计算装置,包括权利要求1到10中的任一项所述的图形处理微架构。
12.如权利要求11所述的便携式计算装置,其中所述便携式计算装置包括移动电话、便携式媒体播放器、平板计算机、膝上计算机、笔记本计算机和/或小笔记本计算机中的至少一个。
13.一种用于模态地启用和禁用要执行的图形流水线的计算块的方法,所述方法包括:
收集有效输入并且整合由在通信上耦合于所述计算块的先入先出(FIFO)所接收的无效输入;以及
当收集达到或超过排出阈值数量的有效输入的数量时,将所述计算块从休眠状态转换到打开状态并且将所收集的有效输入的突发从所述FIFO排出到所述计算块,
其中所述方法还包括使用速率监视器来帮助实现所述有效输入的所希望的输入速率的整合。
14.如权利要求13所述的方法,其中如果由所述FIFO收集的有效输入的数量保持在高于所述排出阈值数量,则所述方法还包含:
将所述计算块维持在其打开状态中,并且继续将所收集的有效输入从所述FIFO排出到所述计算块。
15.如权利要求13所述的方法,其中如果由所述FIFO收集的有效输入的数量未维持高于所述排出阈值数量,则所述方法还包含:
将所述计算块从其打开状态转换到其休眠状态;以及
停止所述FIFO的排出并且用所述FIFO继续收集有效输入和整合无效输入。
16.如权利要求13所述的方法,其中所述有效输入的所述排出阈值数量是用户可编程的。
17.如权利要求13所述的方法,其中所述FIFO包括延迟FIFO。
18.如权利要求17所述的方法,其中所述延迟FIFO整合无效输入以使在时间窗上维持在所述延迟FIFO的输入处的吞吐量需求。
19.如权利要求18所述的方法,其中所述时间窗通过将所述计算块处于打开状态的时钟数量和所述计算块处于关闭状态的时钟数量相加来确定。
20.如权利要求13所述的方法,其中所述FIFO包括趋势FIFO,所述趋势FIFO配置为执行无效输入的连续整合来作为跨帧时间的滑动窗。
21.如权利要求20所述的方法,其中所述趋势FIFO具有可调谐的深度。
22.如权利要求20所述的方法,其中当所述趋势FIFO完全充满有效输入时,所述趋势FIFO将所收集的有效输入排出到所述计算块。
23.一种图形处理系统,包括:
图形流水线,所述图形流水线包含数据路径计算块;
延迟先入先出(FIFO),所述延迟先入先出在通信上耦合于所述数据路径计算块的输入,其中所述延迟FIFO配置为:
收集有效输入并且整合由此接收的无效输入;以及
当收集达到或超过排出阈值数量的有效输入的数量时,将所收集的有效输入排出到所述数据路径计算块;
控制模块,在通信上耦合于所述延迟FIFO并且配置为控制所述延迟FIFO的收集和排出;以及
速率监视器,在通信上耦合于所述延迟FIFO并且配置为监视在所述延迟FIFO接收的输入数据率以帮助实现所述有效输入的所希望的输入速率的整合,
其中所述数据路径计算块配置成当收集达到或超过排出阈值数量的有效输入的数量时从休眠状态转换到打开状态。
24.如权利要求23所述的图形处理系统,其中所述控制模块还配置为设置所述排出阈值数量。
25.如权利要求23所述的图形处理系统,其中所述延迟FIFO整合无效输入以使在时间窗上维持在所述延迟FIFO的输入处的吞吐量需求,所述时间窗通过将所述计算块处于打开状态的时钟数量和所述计算块处于关闭状态的时钟数量相加来确定。
CN201410065711.7A 2013-02-26 2014-02-26 图形处理中的低能量计算技术 Active CN104008524B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/777644 2013-02-26
US13/777,644 US20140240328A1 (en) 2013-02-26 2013-02-26 Techniques for low energy computation in graphics processing

Publications (2)

Publication Number Publication Date
CN104008524A CN104008524A (zh) 2014-08-27
CN104008524B true CN104008524B (zh) 2021-01-22

Family

ID=50230867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410065711.7A Active CN104008524B (zh) 2013-02-26 2014-02-26 图形处理中的低能量计算技术

Country Status (3)

Country Link
US (1) US20140240328A1 (zh)
EP (1) EP2770402B1 (zh)
CN (1) CN104008524B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9459886B2 (en) * 2014-08-06 2016-10-04 Texas Instruments Incorporated Autonomous sleep mode
CN105119845B (zh) * 2015-09-15 2019-04-09 东南大学 一种非先入先出包的能效数据流传输方法
US10262393B2 (en) * 2016-12-29 2019-04-16 Intel Corporation Multi-sample anti-aliasing (MSAA) memory bandwidth reduction for sparse sample per pixel utilization
CN115599574B (zh) * 2022-12-12 2023-03-24 北京象帝先计算技术有限公司 图形处理系统、电子组件、电子设备及信息处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5831637A (en) * 1995-05-01 1998-11-03 Intergraph Corporation Video stream data mixing for 3D graphics systems
US8314806B2 (en) * 2006-04-13 2012-11-20 Intel Corporation Low power display mode

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305544A (ja) * 1995-05-01 1996-11-22 Nec Corp 図形処理システムにおける図形データ処理方式
US6801203B1 (en) * 1999-12-22 2004-10-05 Microsoft Corporation Efficient graphics pipeline with a pixel cache and data pre-fetching
US6567091B2 (en) * 2000-02-01 2003-05-20 Interactive Silicon, Inc. Video controller system with object display lists
US6633987B2 (en) * 2000-03-24 2003-10-14 Intel Corporation Method and apparatus to implement the ACPI(advanced configuration and power interface) C3 state in a RDRAM based system
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US7634668B2 (en) * 2002-08-22 2009-12-15 Nvidia Corporation Method and apparatus for adaptive power consumption
US6971034B2 (en) * 2003-01-09 2005-11-29 Intel Corporation Power/performance optimized memory controller considering processor power states
US7343502B2 (en) * 2004-07-26 2008-03-11 Intel Corporation Method and apparatus for dynamic DLL powerdown and memory self-refresh
US7603503B1 (en) * 2006-09-18 2009-10-13 Nvidia Corporation Efficiency based arbiter
US7958483B1 (en) * 2006-12-21 2011-06-07 Nvidia Corporation Clock throttling based on activity-level signals
US8095816B1 (en) * 2007-04-05 2012-01-10 Marvell International Ltd. Processor management using a buffer
US7916830B2 (en) * 2008-09-11 2011-03-29 Samplify Systems, Inc. Edge detection for computed tomography projection data compression
US8607083B2 (en) * 2010-04-01 2013-12-10 Intel Corporation Method and apparatus for interrupt power management
US8736619B2 (en) * 2010-07-20 2014-05-27 Advanced Micro Devices, Inc. Method and system for load optimization for power
JP5791397B2 (ja) * 2011-07-07 2015-10-07 ルネサスエレクトロニクス株式会社 デバイスコントローラ、usbデバイスコントローラ及び電力制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5831637A (en) * 1995-05-01 1998-11-03 Intergraph Corporation Video stream data mixing for 3D graphics systems
US8314806B2 (en) * 2006-04-13 2012-11-20 Intel Corporation Low power display mode

Also Published As

Publication number Publication date
EP2770402B1 (en) 2018-05-02
US20140240328A1 (en) 2014-08-28
EP2770402A2 (en) 2014-08-27
CN104008524A (zh) 2014-08-27
EP2770402A3 (en) 2014-10-15

Similar Documents

Publication Publication Date Title
US9104240B2 (en) Gesture pre-processing of video stream with hold-off period to reduce platform power
US20140169621A1 (en) Gesture pre-processing of video stream to reduce platform power
US10241932B2 (en) Power saving method and apparatus for first in first out (FIFO) memories
US9805438B2 (en) Dynamically rebalancing graphics processor resources
US10496152B2 (en) Power control techniques for integrated PCIe controllers
US10466769B2 (en) Reducing power consumption during graphics rendering
CN103959197B (zh) 降低3d工作负荷的功率
CN104008524B (zh) 图形处理中的低能量计算技术
US20080088636A1 (en) System and method for the display and control of virtual environments in a single pipe graphics memory controller hub using picture-in-picture
TWI615807B (zh) 用於記錄在輸入幾何物件粒度上的可視度測試之結果的方法、設備及系統
US20170102886A1 (en) Minimizing latency from peripheral devices to compute engines
US9792151B2 (en) Energy efficient burst mode
US20140129745A1 (en) Asymmetric fifo memory
US9563561B2 (en) Initiation of cache flushes and invalidations on graphics processors
US9471323B2 (en) System and method of using an atomic data buffer to bypass a memory location
US20150170317A1 (en) Load Balancing for Consumer-Producer and Concurrent Workloads
US20150170315A1 (en) Controlling Frame Display Rate
US9892480B2 (en) Aborting graphics processor workload execution
US10261570B2 (en) Managing graphics power consumption and performance
CN112860216A (zh) 时钟交叉fifo状态收敛同步器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant