用于控制系统功耗的技术转让专利

申请号 : CN201180071873.6

文献号 : CN103620521B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : L.窦Y.李

申请人 : 英特尔公司

摘要 :

描述用于确定何时使图形系统的部件通电或断电的技术。通信地耦合于系统帧缓冲器的芯片集或其他逻辑可以检测系统帧缓冲器的相关部分是否已经更新并且可以向显示驱动器发送中断来启动注册的硬件观察点例程以将更新通知显示驱动器。如果显示器(例如,显示控制器和面板)当前处于显示自刷新(DSR)状态,显示驱动器唤醒显示器控制器部件,例如锁相环(PLL)、显示面板、显示管,并且同时或之后,请求传送MIPI兼容DCS命令来请求将来自系统帧缓冲器的更新数据复制到面板上帧缓冲器或与显示器关联的帧缓冲器。在来自面板上的帧缓冲器的数据存储被请求要从系统帧缓冲器传输的数据之后,显示驱动器可以使图形系统部件掉电并且再次进入DSR状态来节省电力。

权利要求 :

1.一种计算机实现的方法,包括:

注册与将数据写入第一缓冲器关联的事件处理部件;

识别中断,其中所述中断指示将数据存储到所述第一缓冲器;

响应于所述中断,请求将用于传输数据到第二缓冲器的元件上电并且请求将来自所述第一缓冲器的数据传输到所述第二缓冲器;以及响应于检测到将数据写入所述第一缓冲器的完成,请求使所述元件掉电。

2.如权利要求1所述的方法,其中注册事件处理部件响应于所述第一缓冲器的注册而发生。

3.如权利要求1所述的方法,其中识别中断包括从通信地耦合于所述第一缓冲器的芯片集接收中断。

4.如权利要求1所述的方法,其中元件的上电包括去除电力选通和增加时钟频率中的一个。

5.如权利要求1所述的方法,其中请求将来自所述第一缓冲器的数据传输到所述第二缓冲器包括发出MIPI规范write_memory_start命令。

6.如权利要求1所述的方法,其中检测到完成将数据写入所述第一缓冲器包括在一段时间期间未接收任何中断。

7.如权利要求1所述的方法,其中请求使所述元件掉电包括请求所述元件的电力选通和所述元件的时钟选通中的一个。

8.如权利要求1所述的方法,其中所述元件包括锁相环、显示面板和显示管中的一个或多个。

9.如权利要求1所述的方法,其中所述元件包括显示控制器。

10.一种由计算机系统执行的显示驱动器,所述显示驱动器配置成:注册事件处理部件,所述事件包括写入第一缓冲器;

响应于接收指示所述事件的发生的中断,请求将用于传输数据到第二缓冲器的元件上电并且请求将来自所述第一缓冲器的数据传输到所述第二缓冲器;以及响应于将数据写入所述第一缓冲器的完成的指示,请求使所述元件掉电。

11.如权利要求10所述的显示驱动器,其中所述显示驱动器响应于所述第一缓冲器的增加而注册。

12.如权利要求10所述的显示驱动器,其中所述中断包括来自通信地耦合于所述第一缓冲器的芯片集的中断。

13.如权利要求10所述的显示驱动器,其中请求将元件上电包括请求去除电力选通和增加时钟频率中的一个。

14.如权利要求10所述的显示驱动器,其中请求使所述元件掉电包括请求所述元件的电力选通和所述元件的时钟选通中的一个。

15.如权利要求10所述的显示驱动器,其中所述元件包括锁相环、显示面板和显示管中的一个或多个。

16.一种计算机系统,包括:

显示器;

无线网络接口;

第一缓冲器;

第二缓冲器;和

处理器,其配置成:

注册事件处理部件,所述事件包括写入第一缓冲器;

响应于接收指示所述事件的发生的中断,请求将用于传输数据到第二缓冲器的元件上电并且请求将来自所述第一缓冲器的数据传输到所述第二缓冲器;以及响应于将数据写入所述第一缓冲器的完成的指示,请求使所述元件掉电。

17.如权利要求16所述的计算机系统,其中所述处理器响应于所述第一缓冲器的可用性而注册。

18.如权利要求16所述的计算机系统,其中请求将元件上电包括请求去除电力选通和增加时钟频率中的一个。

19.如权利要求16所述的计算机系统,其中请求使所述元件掉电包括请求所述元件的电力选通和所述元件的时钟选通中的一个。

20.如权利要求16所述的计算机系统,其中所述元件包括锁相环、显示面板和显示管中的一个或多个。

说明书 :

用于控制系统功耗的技术

技术领域

[0001] 本文公开的主旨大体上涉及控制系统的功耗,并且更特定地涉及控制与显示图像有关地使用的功率。

背景技术

[0002] 显示自刷新(DSR)特征用于降低计算机系统的功耗。采用DSR模式,显示器可访问的缓冲器被访问并且存储在缓冲器中的图像被重复显示直到缓冲器被刷新。另外,采用DSR模式,向缓冲器提供图像的图形子系统的各种硬件可以掉电。例如,在图形子系统中,显示器串行接口(DSI)锁相环(PLL)可以掉电并且可以选通地被供电来降低功耗。如果缓冲器将被刷新或更新,图形子系统可以重新进入正常功率模式。在这样的情况下,可以使DSI PLL上电。需要技术来决定何时使图形子系统上电。

附图说明

[0003] 本发明的实施例通过示例而不是通过限制的方式在图中图示,其中类似的标号指代相似的元件。
[0004] 图1A描绘可以使用本发明的实施例的系统的示例。
[0005] 图1B描绘根据实施例的其功耗可以被控制的主机系统的部件的示例。
[0006] 图2描绘可能发生的命令和数据传输操作的示例。
[0007] 图3描绘可以用于确定何时使图形部件上电以及更新面板缓冲器的示例过程。

具体实施方式

[0008] 在该整个说明书中对“一个实施例”或“实施例”的引用意指连同实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。从而,短语“在一个实施例中”或“实施例”在该整个说明书中各个地方的出现不必定都指相同的实施例。此外,特定特征、结构或特性可结合在一个或多个实施例中。
[0009] 应用或其他逻辑可以请求将图像数据渲染到系统帧缓冲器内。该图像数据可以用于显示由应用所请求的图像(例如,静态图像或视频)。通信地耦合于系统帧缓冲器的芯片集或其他逻辑可以检测系统帧缓冲器的特定部分是否在被更新。芯片集或其他逻辑可以向显示驱动器发送中断来启动注册的硬件观察点例程以将系统帧缓冲器的特定部分中的变化通知显示驱动器。在实施例中,如果显示器(显示控制器和面板)目前处于显示自刷新(DSR)状态,显示驱动器请求使用于将图像数据传输到显示器的部件上电。这些部件可以包括显示控制器部件,例如锁相环(PLL)、显示面板和显示管。同时或在请求对部件上电后,显示驱动器可以请求传送命令来请求将系统帧缓冲器的更新的特定部分复制到与显示器关联的帧缓冲器内。在一些情况下,MIPI规范兼容DCS写存储器命令可以用于请求复制更新的数据。与显示器关联的帧缓冲器可以用于提取数据用于显示静态图像或视频。在来自与显示器关联的帧缓冲器的数据存储整个更新部分时或后,显示驱动器可以请求降低部件(例如,PLL、面板和管)的功率并且再次进入DSR状态来节省电力。当存在对系统帧缓冲器的任何更新或发生HwWatchpoint事件时,可以退出DSR状态。当显示器处于DSR状态时,显示器可以使用来自与显示器关联的帧缓冲器的图像数据来刷新。
[0010] 图1A描绘可以使用本发明的实施例的系统的示例。计算机系统100可包括主机系统102和显示器122。计算机系统100可以在手持式个人计算机、平板电脑、移动电话、机顶盒或任何计算装置中实现。主机系统102可包括芯片集105、处理器110、主机存储器112、存储114、图形子系统115和无线电设备120。芯片集105可在处理器110、主机存储器112、存储
114、图形子系统115和无线电设备120之间提供互相通信。例如,芯片集105可包括存储适配器(未描绘),其能够提供与存储114的互相通信。在一些实现中,芯片集105、处理器110和图形子系统115可以在单个芯片上系统(SoC)中实现。
[0011] 处理器110可实现为复杂指令集计算机(CISC)或精减指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其他微处理器或中央处理单元。
[0012] 主机存储器112可实现为易失性存储器装置,例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。存储114可实现为非易失性存储装置,例如但不限于磁盘驱动器、光盘驱动器、带驱动器、内部存储装置、附连存储装置、闪速存储器、电池备用SDRAM(同步DRAM)和/或网络可访问存储装置。
[0013] 图形子系统115可执行例如静态图像或视频等图像的处理用于显示。模拟或数字接口可用于使图形子系统115和显示器122通信地耦合。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD兼容技术中的任一个。图形子系统115可以集成到处理器110或芯片集105内。图形子系统115可以是通信地耦合于芯片集105的独立卡。
[0014] 无线电设备120可包括一个或多个无线电设备,其能够根据适用无线标准(例如但不限于IEEE 802.11和IEEE 802.16的任何版本以及3GPP LTE高级)来传送以及接收信号。例如,无线电设备120可包括至少物理层接口和媒体访问控制器。
[0015] 图1B描绘根据实施例的其功耗可以被控制的主机系统102的部件的示例。这些部件可以在芯片集、处理器或图形子系统中。例如,可以对显示锁相环(PLL)160、显示面板162、显示管164和显示器接口166上电或使它们掉电。掉电可以包括时钟选通和/或电力选通。时钟选通可以包括去除对时钟资源的访问或使可用时钟资源的频率减小。电力选通可以包括去除到电源的连接性或降低可用功率、电压或电流。PLL 160可对显示面板162、显示管164和/或显示器接口166提供系统时钟。例如,显示面板162可包括数据缓冲器和RGB彩色映射器,其将来自缓冲器的数据变换成RGB。显示面板162可包括关联的存储器控制器和存储器IO(未描绘),其功率也可以由时钟和/或电力选通来管理。管164可包括将多层图像混合到复合图像的混合器以及X、Y坐标光栅化器和接口协议打包器。该接口协议打包器可至少与显示端口或低压差分信令(LVDS)(从ANSI/TIA/EIA-644-A(2001))的任何版本或变化形式兼容。显示器接口166可包括显示器端口或LVDS兼容接口和并行输入串行输出(PISO)接口。
[0016] 图2描绘可以发生的命令和数据传输操作的示例。图2的系统可以是MIPI规范类型1显示架构,但允许其他类型的架构,例如对于类型2。MIPI规范类型1显示架构允许使用面板帧缓冲器来保持图像数据。
[0017] 系统帧缓冲器202可以是存储器或存储的任何区域,而不管是相邻还是分布在存储器地址和/或线上。例如,用户空间应用可以请求将更新的显示数据写入系统帧缓冲器202内。显示数据要由面板显示。
[0018] 芯片集204可以使处理器(未描绘)通信地耦合于主存储器(未描绘)和图形控制器或子系统并且使例如PCI或ISA等外围总线通信耦合。芯片集204可以监视系统帧缓冲器202的更新或变化。芯片集204可以在系统帧缓冲器202的内容变化的情况下向显示驱动器206发出HwWatchPoint事件中断。例如,应用可以请求写入系统帧缓冲器202来改变要显示的图像(在DSR期间)。
[0019] 各种实施例提供与GNU调试器(gdb)相似的硬件观察点来监视特定存储器区域。GNU调试器用于监视存储器区域来帮助诊断存储器损坏并且生成概况数据。
[0020] 例程drmModeAddFB()的执行(未示出)可以经由特定系统调用而增加新的系统帧缓冲器202。例如,Linux操作系统的X例程可以调用例程drmModeAddFB()。调用例程drmModeAddFB()还可触发HwWatchPoint中断处理例程在显示驱动器206中的注册使得已知处理例程在对于系统帧缓冲器202更新的情况下可用。drmModeAddFB()例程可以路由到核心drm_mode_addfb()ioctl,其可以调用显示驱动器的回调例程fb_create()。fb_create()回调例程可以建立新的帧缓冲器并且触发中断处理例程的注册。
[0021] 如果使用操作系统,硬件中断首先由OS直接处理并且OS启动对应的驱动器中断例程来处理特定中断。因此,注册HwWatchPoint可以牵涉显示驱动器向OS注册它的HwWatchPoint中断处理部件(handler),因此,一旦OS从芯片集204接收HwWatchPoint事件,它将启动该例程。
[0022] HwWatchPoint中断处理例程可以并入显示驱动器206内。HwWatchPoint中断处理例程可以在注册HwWatchPoint中断处理例程或增加新的系统帧缓冲器之前获得以便使用。
[0023] 在一些情况下,当增加新的帧缓冲器时存在现有的被监视的帧缓冲器。因此,对于旧的帧缓冲器的观察点可以被退出注册并且对于新的帧缓冲器的新的观察点被注册。硬件观察点异常处理例程可以响应于接收的观察点异常中断而被调用。芯片集204监视对于系统帧缓冲器202的更新并且如果发生更新,芯片集204发送HwWatchPoint事件并且启动显示驱动器206中的HwWatchPoint中断处理部件。
[0024] 显示驱动器206可以负责显示面板进入或退出DSR状态。显示驱动器206可以使用标志来跟踪显示器是否处于DSR状态,例如enter_dsr flag。在一些实施例中,当启用DSR状态时,显示驱动器206可以向OS注册它的HwWatchPoint中断处理部件或指示处理例程在对于系统帧缓冲器202更新的情况下可用。
[0025] 显示驱动器206监视系统帧缓冲器202的更新是完成还是未完成。只要观察点异常中断指示对于系统帧缓冲器202的改变,由显示驱动器206使用的硬件观察点异常处理例程促使用于将数据传输到由显示器使用的存储器的硬件元件处于有电状态来允许系统帧缓冲器与面板帧缓冲器之间的数据传输。例如,时钟和/或电力选通可以被去除或减轻。例如,时钟频率可以增加。硬件元件可以包括DSI PLL、显示面板和显示管。显示驱动器206可以发出在显示命令集MIPI联盟规范版本1.02(2009)的章5.4中描述的显示命令集(DCS)命令来请求将数据从系统帧缓冲器202传输到面板帧缓冲器210。驱动器IC接口212可以接收DCS命令。具体地,可以使用write_memory_start命令。在系统帧缓冲器202中的变化停止后,硬件观察点异常处理例程未指示系统帧缓冲器202中的变化。观察点可以停止向显示驱动器发送中断来指示对于系统帧缓冲器不再有变化。响应于更新停止,硬件观察点异常处理例程可以请求对于用于将数据传输到由显示器使用的存储器的硬件元件的电力选通和/或时钟选通。例如,时钟频率可以减小。
[0026] 面板帧缓冲器210可以是存储器中的任何区域,而不管是相邻或分布在存储器地址和/或线上。面板帧缓冲器210可以经由显示面板或管通过显示控制器从系统帧缓冲器202接收帧数据。可以使用图形子系统115的显示控制器而从系统帧缓冲器202传输显示数据到面板帧缓冲器210。显示控制器能够转换显示数据的格式。尽管可以使用其他标准,显示控制器可以与显示总线接口(DBI)v2.0(2005)兼容。显示面板可以访问来自面板帧缓冲器210的视频或图像数据用于显示。采用DSR状态,面板上的屏幕可以使用来自面板帧缓冲器210的相同图像来刷新。
[0027] 驱动器IC接口212可以是控制显示和数据传输的显示面板中的模块。驱动器IC接口212可以至少从显示驱动器206接收命令以便请求写入面板帧缓冲器210。写命令(例如,write_memory_start命令)可以通知驱动器IC接口212要写的数据是像素数据。驱动器IC接口212可以开始接收像素数据并且利用接收的像素数据来更新面板上帧缓冲器。
[0028] 对于一些实施例,下面的伪代码可以用于注册硬件观察点异常例程。
[0029] 部分A
[0030]
[0031] 部分B
[0032]
[0033] 在部分A中,“struct hwWatchpoint”包括成分“routine()”,其规定硬件观察点异常处理例程,并且成分“info”指示规定的帧缓冲器区。
[0034] 在部分B中,伪代码在启用DSR时注册例程HwWatchpoint。命令检查是否已经存在注册的 例程。如果这是创建新的
系统帧缓冲器的新请求 ,伪代码退出注册较旧的例程 。命令
请求检索对于当前系统帧缓冲器区的
存储器信息。命令 利用当前系统帧缓冲器区的存储器
信息来初始化hwWatchpoint。命令 请求注册
hwWatchpoint。
[0035] 图3描绘可以用于控制图形部件的电力和时钟使用的示例过程。图3的操作可以由显示驱动器进行。
[0036] 框302包括配置显示驱动器来注册HwWatchpoint事件处理部件。事件处理部件可以在系统启动时、在显示驱动器加载时或之后或响应于系统缓冲器改变来被注册。显示驱动器206可以向OS注册它的HwWatchpoint中断处理部件或指示处理例程在对于系统帧缓冲器202更新的情况下可用。在HwWatchpoint事件处理部件成功注册后,hwWatchpoint例程能够对用于传输数据的硬件元件电力选通和/或时钟选通。
[0037] 框304包括请求降低用于将数据传输到由显示器使用的存储器的硬件元件的功耗。这些硬件元件可以用于将来自系统帧缓冲器的数据传输到显示缓冲器。硬件元件可以包括显示串行接口(DSI)锁相环(PLL)以及显示控制器面板和管。降低功耗可以包括电力选通和/或时钟选通。
[0038] 框306包括确定是否已经发生HwWatchpoint事件。在一些情况下,HwWatchpoint事件由到系统帧缓冲器的写触发。例如,HwWatchpoint事件可以在写入系统帧缓冲器的开始、中间和/或结束期间保持活跃。如果已经发生HwWatchpoint事件,框308跟着框306。如果还未发生HwWatchpoint事件,框306重复。
[0039] 对于系统帧缓冲器的改变可以触发退出DSR状态(框308)。例如,HwWatchpoint事件的接收可以触发显示驱动器退出DSR状态。
[0040] 框310包括请求用于将数据传输到由显示器使用的存储器的硬件元件的正常功耗。例如,这些元件可以用于将来自系统帧缓冲器的数据传输到面板帧缓冲器。例如,框310可以包括增加DSI PLL和显示控制器面板以及管的功耗。显示控制器面板和管可以用于将更新的系统帧缓冲器数据传送到面板缓冲器。增加功耗可以包括去除电力和/或时钟选通。增加功耗可以包括将时钟频率设置成正常频率或增加可用时钟频率。
[0041] 框312包括在系统帧缓冲器更新完成后请求将更新的系统帧缓冲器数据传输到面板缓冲器。
[0042] 框314包括确定是否已经完成更新的帧缓冲器数据到面板缓冲器的传输。在完成后,框316跟着框314。
[0043] 框316包括请求降低用于将数据传输到由显示器使用的存储器的硬件元件的功耗。降低功耗可以包括电力和/或时钟选通。使用于将数据传输到由显示器使用的存储器的硬件元件掉电可以使整个系统节省更多的电力并且也提高性能。
[0044] 框318包括请求进入DSR模式。采用DSR模式,面板帧缓冲器的更新的内容可以用于刷新在面板上显示的图像。
[0045] 本文描述的图形和/或视频处理技术可在各种硬件架构中实现。例如,图形和/或视频功能性可集成在芯片集内。备选地,可使用分立图形和/或视频处理器。作为再另一个实施例,图形和/或视频功能可由通用处理器实现,其包括多核处理器。在另外的实施例中,功能可在消费者电子装置中实现。
[0046] 本发明的实施例可实现为以下中的任一个或组合:使用母板而互连的一个或多个微芯片或集成电路、硬接线逻辑、由存储器装置存储并且由微处理器执行的软件、固件、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。通过示例,术语“逻辑”可包括软件或硬件和/或软件和硬件的组合。
[0047] 本发明的实施例可提供例如作为计算机程序产品,其可包括具有存储在其上的机器可执行指令的一个或多个机器可读介质,这些机器可执行指令在由例如计算机、计算机的网络或其他电子装置等一个或多个机器执行时可产生根据本发明的实施例实行操作的该一个或多个机器。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(压缩盘-只读存储器)和磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁或光卡、闪速存储器或适合于存储机器可执行指令的其他类型的介质/机器可读介质。
[0048] 附图和前面的描述给出本发明的示例。尽管描绘为许多全异功能项,本领域内技术人员将意识到这样的元件中的一个或多个可很好地组合到单个功能元件内。备选地,某些元件可分成多个功能元件。来自一个实施例的元件可添加到另一个实施例。例如,本文描述的过程的顺序可改变并且不限于本文描述的方式。此外,任何流程图的动作不必按示出的顺序实现;也不必进行动作中的全部。而且,不依赖于其他动作的那些动作可与其他动作并行进行。然而,本发明的范围绝不由这些特定示例限制。例如结构、尺寸和材料使用中的差异等许多改动,无论是否在说明书中明确给出,都是可能的。本发明的范围至少与下面的权利要求给出的一样广。