支持耦连到图形控制器的自刷新显示设备的方法和装置的制作方法

文档序号:6367589阅读:129来源:国知局
专利名称:支持耦连到图形控制器的自刷新显示设备的方法和装置的制作方法
技术领域
本发明总体上涉及显示系统,并且,具体地说,涉及支持耦连到图形控制器的自刷新显示设备的方法和装置。
背景技术
ー些最近设计的显示设备具有自刷新能力,其中所述显示设备包括本地控制器,经配置以独立于图形控制器由静态的、缓存的数字视频帧生成视频信号。当处于这种自刷新模式,视频信号由所述本地控制器驱动,因此可以使部分并行处理系统,例如所述图形控制器和通信总线,处于深度休眠状态以保存电能。一旦处于自刷新模式,当将被显示的图像需要更新时,控制可被转回所述图形控制器,以使得基于ー组新的像素数据生成新的视频信号。传统的系统配置为以串行方式初始化各种交互组件。例如,中央处理单元可以首 先使驱动器生成一个调用以唤醒通信总线。运行初始化例程以配置所述通信总线。一旦所述通信总线操作在正常状态,所述中央处理单元然后可以使驱动器生成一个调用以唤醒所述图形控制器。然后所述图形驱动器通过所述通信总线发送命令到所述图形控制器以初始化所述图形控制器。上述技术的ー个缺点在于,在下一个组件能开始它的初始化进程之前,必须按顺序初始化所述并行处理子系统的每个组件。例如,当所述通信总线被初始化时,所述图形控制器可能处于空闲状态以等待通过通信总线接收命令。所述技术不能使时钟周期的数量最小化,在该时钟周期中所述图形驱动器从深度休眠状态唤醒并紧接着被初始化。延长的初始化例程可能导致图形更新中的等待时间,并且,当进入和退出面板自刷新模式时,可能干扰所述计算机系统的用户。如上所述,本技术领域需要一种用于将所述图形控制器从深度睡眠状态唤醒的改进技木。

发明内容
本发明的一个实施例阐述了一种用于设置耦连到自刷新显示设备的图形处理单元的操作状态的方法。所述方法包括执行至少ー个操作的步骤,为所述图形处理单元设置操作状态的第一部分。所述方法进ー步包括确定指示所述图形处理单元应该执行热启动操作的信号是否已经被声明的步骤。并且,如果所述信号已经被声明,那么执行该热启动操作为所述图形处理单元设置操作状态的第二部分,或者,如果所述信号未被声明,那么执行冷启动操作为所述图形处理单元设置操作状态的第二部分。本公开技术的ー个优点在于,最小化图形处理单元的配置时间,以减小与更新所显示的图像相关联的等待时间,当所述显示设备在自刷新模式吋。包括具有自刷新能力显示设备的计算机系统可使图形处理单元频繁地进入和退出深度休眠状态。经常,所述图形处理单元在进入深度休眠状态的几秒内将退出所述深度休眠状态。因此,自从所述图形处理器单元进入所深度休眠状态,所述计算机系统的配置不太不可能改变。本公开技术利用了这样的事实通过保存和加载所述图形处理器单元的操作状态来开启所述图形处理单元,而不是毎次都依靠所述图形驱动器配置所述图形处理单元来开启。本公开技术的另ー个优点在于,所述图形处理单元可和计算机系统的其他硬件和软件并行进行配置。利用辅助通信路径或专用的、非易失性存储器来加载用于所述图形处理单元的指令,使得可以进行所述图形处理单元的配置之前,所述图形単元可以不依靠高速通信总线的成功初始化,例如所述PCIe总线。使所述图形处理单元被独立地配置减小了需要用于初始化的时间,并提供了更好的用户体验。


因此,可以详细地理解上述本发明的特征,并且可 以參考实施例得到对如上面所概括的本发明更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅用于示意性地表示本发明的典型实施例,因此不应被认为是对实施例范围的限制。本发明可以具有其他等效的实施方式。图I示出配置以完成本发明ー个或多个方面的计算机系统的框图;图2A示出根据本发明一个实施例的,耦连到具有自刷新能力的显示设备的并行处理子系统。图2B示出根据本发明一个实施例的,实现嵌入式显示端ロ接ロ的通信路径;图2C示出根据本发明的一个实施例的,数字视频信号的示意图,所述数字视频信号由GPU生成用于通过通信路径传送;图2D是根据本发明的一个实施例的次级数据包的示意图,所述次级数据包在图2C的数字视频信号的水平消隐期被插入。图3示出根据本发明一个实施例的,位于并行处理子系统与计算机系统的各种组件之间的通信信号;图4示出根据本发明一个实施例的具有自刷新能力的显示设备的状态图;图5示出根据本发明一个实施例的图形处理单元的状态图,所述图形处理单元经配置以控制显示装置转换进入和退出面板自刷新模式;图6示出根据本发明一个实施例的图形处理单元的各种组件;图7示出根据本发明的一个实施例的,用于配置图形处理单元的方法的流程图;图8阐述根据本发明一个实施例的,对图形处理单元执行完整的冷启动初始化过程的方法的流程图;图9阐述根据本发明一个实施例的,对图形处理单元执行快速重启热启动初始化过程的方法的流程图。
具体实施例方式在下面的描述中,将阐述大量的详细内容以提供对本发明更深入的理解。然而,本技术领域的技术人员应该清楚,本发明可以在没有一个或多个这些具体细节的情况下得以实施。在其他实例中,没有描述公知的特征以避免对本发明造成混淆。系统概述
图I示出了经配置以实现本发明ー个或多个方面的计算机系统100的框图。所述计算机系统100包括中央处理单元(CPU) 102和系统存储器104,所述系统存储器104通过包括存储器桥105的内部连接路径通信。存储器桥105,其可以是诸如北桥芯片,通过总线或其他通信路径106 (诸如超传输(HyperTransport)链路)连接到I/O (输入/输出)桥107。I/O桥107,其可以是诸如南桥芯片,从ー个或多个用户输入设备108 (诸如键盘、鼠标)接收用户输入并且通过路径106和存储器桥105将所述输入转发到CPU 102。并行处理子系统112通过总线或其他通信路径113 (诸如PCI Express、加速图形接ロ或超传输链路)耦连到存储器桥105 ;在ー个实施例中,并行处理子系统112是将像素传输到显示设备110 (诸如基于传统的CRT或IXD的显示器)图形子系统。图形驱动器103可以配置为通过通信路径113为并行处理子系统112发送图形基元,以生成像素数据用于在显示设备110上显示。系统盘114也连接到I/O桥107。开关116提供I/O桥107与例如网络适配器118以及各种插入式卡120和121的其他部件之间的连接。其他组件(未示出),包括USB或其他端ロ连接、⑶驱动器、DVD驱动器、电影录制设备及类似组件,也可以连接到I/O桥107。使图I中所示各种组件互连的通信路径可以采用任何适合的协议实现,例如PCI (外部设备 互连)、PCI-Express, AGP (加速图形端ロ)、超传输、其他总线或者端到端通信协议。不同设备间的连接可采用本技术领域已知的不同协议。在一个实施例中,所述并行处理子系统112包含对于图形和视频进行处理的优化电路,所述电路包括例如视频输出电路,并且构成图形处理单元(GPU)。在另ー个实施例中,在保留底层的计算结构的同时,所述并行处理子系统112包含对于通用目的处理的优化电路,本文将详细描述。在另ー个实施例中,可以将所述并行处理子系统112与ー个或多个其他系统单元集成,例如所述存储器桥105、CPU 120、以及I/O桥107,以形成片上系统(SoC)。应该理解,本文所示系统是示例性的,变化和修改都是可能的。连接拓扑,包括桥的数量和布置、CPU 102的数量、以及并行处理子系统112的数量,可根据需要修改。例如,在一些实施例中,系统存储器104直接连接到CPU 102而不是通过桥,其他设备通过存储器桥105以及CPU102与系统存储器104通信。在其他可选拓扑中,并行处理子系统112连接到I/O桥107或直接连接到CPU 102,而不是连接到存储器桥105。在又一个实施例中,I/O桥107和存储器桥105可被集成到单个芯片上。大量实施例可以包括两个或多个CPU 102以及两个或多个并行处理系统112。本文所示的特定部件是可选的,例如,可以支持任意数量的插入式卡或外设。在一些实施例中,开关116被去棹,网络适配器118和插入式卡120、121直接连接到I/O桥107。图2A示出根据本发明一个实施例的,耦连到具有自刷新能力的显示设备110的并行处理子系统112。如图所示,并行处理子系统112包括图形处理单元(GPU)240,所述图形处理单元240通过DDR3总线接ロ耦连到图形存储器242。图形存储器242包括ー个或多个
帧缓冲器244(O)、244 (I)...... 244(N-I),其中N是并行处理子系统112中实现的帧缓冲器
的总数。并行处理子系统112经配置以基于存储在帧缓冲器244中的像素数据生成视频信号,并通过通信路径280将视频信号传输到显示设备110。所述通信路径280可以是本技术领域已知的任何视频接ロ,例如嵌入式显示端ロ(eDP)接ロ或低电压差动信号(LVDS)接□。GPU 240可经配置以通过通信路径113,例如PCIe总线,从CPU 102处接收图形基元。GPU 240处理所述图形基元以生成用于在显示设备110显示的像素数据帧,并且将所述像素数据帧存储在帧缓冲器244中。在正常操作时,GPU 240经配置以从帧缓冲器244中扫描出像素数据从而生成用于在显示设备110显示的视频信号。在一个实施例中,GPU 240经配置以生成数字视频信号,并将所述数字视频信号通过诸如LVDS、DVI、HDMI或显示端ロ(DP)接ロ传输到显示设备110。在另ー个实施例中,GPU 240可经配置以生成模拟视频信号,并将所述模拟视频信号通过诸如VGA或DVI-A模拟视频接ロ传输到显示设备110。在通信路径280执行模拟视频接ロ的实施例中,显示设备110可以通过使用ー个或多个模数转换器采样所述模拟信号,将接收到的模拟信号转换为数字信号。如图2A所示,显示设备110包括定时控制器(TCON) 210、自刷新控制器(SRC) 220、液晶显示(IXD)设备216、ー个或多个列驱动器212、ー个或多个行驱动器214、以及ー个或
多个本地帧缓冲器224(O)、224(I)...... 224(M-I),其中M是应用于显示设备110中的本地
帧缓冲器的数量。TCON 210生成视频定时信号用于通过所述列驱动器212和所述行驱动器214来驱动IXD设备216。列驱动器212、行驱动器214以及IXD设备216可以是本技术领域已知的任何传统的行驱动器、列驱动器以及IXD设备。又如图所示,TCON 210可通过通信接ロ,诸如小型LVDS接ロ,将像素数据传输到列驱动器212和行驱动器214。SRC 220经配置以基于存储在本地帧缓冲器224中的像素数据生成用于在IXD设备216显示的视频信号。在正常操作时,显示设备110基于通过通信路径280从并行处理子系统112接收的视频信号来驱动LCD设备216。相反,当显示设备110正操作在面板自刷新模式时,显示设备110基于从SRC220接收的视频信号来驱动IXD设备216。GPU 240可经配置以管理显示设备110进入和退出面板自刷新模式的转换。理想地,在显示设备110所显示的图像中的图形非活跃期期间,通过操作显示设备110进入面板自刷新模式,可降低计算机系统100的总体能耗。在一个实施例中,为了使显示设备110进入面板自刷新模式,GPU 240可使用频带内(in-band)信号传输的方式将消息传输到显示设备110,例如在通过通信路径280传输的数字视频信号中嵌入消息。在可选的实施例中,GPU 240可使用边频带(side-band)信号模式传输消息,例如通过使用辅助通信通道传输所述消息。下面结合图2B-2D描述用于使显示设备110进入或退出面板自刷新模式的不同イM令方法。现在回到图2A,在接收到所述消息以进入自刷新模式后,显示设备110在本地帧缓冲器224中缓存通过通信路径280接收的下ー帧像素数据。显示设备110转换用于驱动IXD设备216的控制从由GPU 240生成的视频信号到基于存储在本地帧缓存器224中的像素数据由SRC220生成的视频信号。当所述显示设备110处于面板自刷新模式吋,SRC 220连续地生成表示存储在本地帧缓存器224中的缓存像素数据的重复视频信号,用于ー个或多个连续的视频帧。为了使显示设备110退出面板自刷新模式,GPU 240可使用如上述使显示设备110进入面板自刷新模式的类似的方法,来传输类似的消息到显示设备110。在接收到所述消息以退出面板自刷新模式后,显示设备110经可以配置以确保与GPU 240生成的视频信号向关联的像素位置和与当前用于驱动面板自刷新模式下的IXD设备216的SRC 220生成的视频信号相关联的像素位置进行对准。一旦像素位置被对准,显示设备可转换用于驱动IXD设备216的控制从SRC 220生成的视频信号到由GPU 240生成的视频信号。
用于执行自刷新能力的存储量可根据用于连续刷新显示设备110上图像的视频的未压缩帧的尺寸。在一个实施例中,显示设备110包括单个本地帧缓冲器224(0),所述本地帧缓冲器被调整尺寸以适应用于在IXD设备216上显示的像素数据的未压缩帧。帧缓冲器244(0)的尺寸可基于用于存储在LCD设备216上显示的像素数据的未压缩帧所需要的最小字节数,可通过LCD设备216的本机分辨率的宽乘以高乘以色彩深度计算出。例如,帧缓冲器224(0)可调整尺寸用于配置为WUXGA分辨率(1920X1200像素)以及每像素24比特(bbp)色彩深度的IXD设备216。在这样的情况下,可用于自刷新像素数据缓冲的本地帧缓冲器224(O)的存储的数量应该至少为可寻址存储器的6750kB(1920X1200X24bpp ;其中I千字节等于1024或210字节)。在另ー个实施例中,本地帧缓冲器224(0)的尺寸可以小于用于存储在LCD设备216上显示的像素数据的未压缩帧所需的字节数量。在这种情况下,像素数据的未压缩帧可由SRC220压缩,例如通过行程长度对所述未压缩像素数据编码,并且作为压缩像素数据存储在帧缓冲器224(0)中。在这种实施例中,SRC 220可经配置为在生成用于驱动IXD设备216的视频信号之前解码该压缩的像素数据。在另外的实施例中,GPU 240可在对传输到 显示设备110的数字视频信号中的压缩像素数据进行编码之前,压缩该像素数据帧。例如,GPU 240可经配置以采用MPEG-2格式编码像素数据。在这种实施例中,SRC 220可在本地帧缓冲器224 (O)中以压缩格式存储压缩像素数据,并且在生成用于驱动LCD设备216的视频信号之前解码该压缩的像素数据。显示设备110能显示3D视频数据,例如立体视频数据。立体视频数据包括用于3D视频的每个帧的未压缩像素数据的左视图和右视图。每个视图对应几乎同时捕获的相同场景的不同摄像方位。一些显示设备能同时显示三个或更多视图,例如在某些类型的自动立体显示中。在一个实施例中,显示设备110可包括和立体视频数据有关的自刷新能力。立体视频数据的每个帧包括用于在LCD设备216上显示的像素数据的两个未压缩帧。像素数据的每个未压缩帧可由IXD设备216的全分辨率和色彩深度的像素数据组成。在这种实施例中,本地帧缓冲器224 (O)可调整尺寸以保存立体视频数据的ー个帧。例如,为了存储WUXGA分辨率以及24bpp色彩深度的未压缩立体视频数据,本地帧缓冲器224(O)的尺寸应该至少为13500kB(2X1920X 1200X24bbp)大小的可寻址存储器。可选地,本地帧缓冲器224可包括两个帧缓冲器224 (O)和224 (I),每个调整尺寸以存储用于在IXD设备216上显示的未压缩像素数据的单个视图。在另ー实施例中,SRC 220可经配置以压缩所述立体视频数据并在本地帧缓冲器224中存储压缩的立体视频数据。例如,SRC 220可采用多重视角视频编码(MVC),如H. 264/MPEG-4 AVC视频压缩标准中所述,来压缩所述立体视频数据。可选地,GPU 240可在对数字视频信号中的压缩视频数据编码之前压缩所述立体视频数据,用于传输到显示设备110。在一个实施例中,显示设备110可以包括抖动性能。抖动允许显示设备110显示较LCD设备216的硬件所能显示的相比更加能够感知的颜色。时间上的抖动在LCD设备216的可用调色板中的两个近似的顔色之间进行快速交替,这样所述像素被感知为在LCD设备216的可用调色板中没有包括的不同的顔色。例如,通过快速地在黒白之间交替像素,观看者可以感知到灰色。在ー个正常的操作状态下,GPU 240可以配置以在连续视频的帧中交替改变像素数据,使得在由显示设备110显示的图像中感知到的顔色在所述IXD设备216的可用调色板之外。在自更新模式下,显示设备110可以配置以在本地帧缓冲器224中缓存两个连续的像素数据帧。然后,SRC220可以配置以交替的方式从本地帧缓冲器224中扫描出两个像素数据帧,用来产生在IXD设备216上显示的视频信号。图2B示出了通信路径280,根据本发明的一个实施例,其实施为嵌入的显示端ロ(DisplayPort)接ロ。嵌入的显示端ロ(eDP)是ー个标准的用于内部显示设备的数字视频接ロ,诸如便携式计算机的内部IXD设备。通信路径280包括主链路(eDP),其包括I、2、或4个高带宽数据传输的差分对(分道(lane)),所述eDP接ロ还包括面板使能信号(VDD)Z^光使能信号(Blacklight_EN),背光pwm信号(Blacklight_PWM)和热插拔检测信号(HPD)以及单差分对辅助信道(Aux)。所述主链路是ー个从GPU240至显示设备110的单向通信信道。在一个实施例中,GPU 240可以配置以通过eDP主链路的单个分道传输从存储在帧缓冲器224中的像素数据产生的视频信号。在另外的实施例中,GPU 240可以经配置以通过eDP主链路的2或4个分道来传输所述视频信号。面板使能信号VDD可以从GPU连接至显示设备110来开启显示设备110。背光使 能和背光Pwm信号控制在正常运行时显示设备110的背光強度。但是,当显示设备110在面板自刷新模式下运行时,对这些信号的控制必须由TC0N210来处理,并且可以由SRC 220通过控制从辅助通信通道(Aux)接收的信号来改变。本领域技术人员将认识到,背光的强度可以通过经背光pwm信号(Backlight_PWM)来调制信号的脉冲宽度从而进行控制。在一些实施例中,通信路径280还可以包括帧锁信号(FRAME_L0CK),其指示由SRC 220产生的视频信号中的垂直同歩。所述FRAME_L0CK信号可以用来使由GPU 240产生的视频信号和由SRC220产生的视频信号再次同步。所述热插拔检测信号HPD,可以是从所述显示设备110连接到GPU 240的信号,其用于检测热插拨事件或用于将中断请求从显示设备110通信至GPU 240。为了指示热插拨事件,显示设备驱动HPD为高来指示出显示设备已经连接到通信路径280上。在显示设备连接到通信路径280之后,显示设备110可以通过使所述HPD信号在O. 5和I毫秒之间快速脉冲为低电平,从而发出中断请求的信号。辅助信道Aux是低带宽双向半双工数据通信信道,用来从GPU 240至显示设备110以及从显示设备110至GPU 240传送命令和控制信号。在一个实施例中,指示显示设备110应该进入或退出面板自刷新模式的消息可以在辅助信道上通信。在辅助信道上,GPU 240是主设备,显示设备110是从设备。在这样的配置中,数据或消息可以使用以下的技术从显示设备110发送至GPU 240。首先,显示设备110指示GPU 240显示设备110想通过启动在热插拔检测信号Hro上的中断请求从而在辅助通信信道上发送通信量。当GPU 240检测到中断请求,GPU 240发送交易请求消息至显示设备110。一旦显示设备110接收到所述交易请求消息,显示设备110就以ー个确认消息作出响应。一旦GPU 240接收这个确认消息,GPU240可以读出显示设备110中的一个或多个寄存器值来取回在辅助信道上的数据或消息。本领域技术人员应该理解的是,通信路径280可以实施为在GPU 240和显示设备110之间传输视频信号的不同的视频接ロ。例如,通信路径280可以实施为高分辨率的多媒体接ロ(HDMI)或低压差分信号(LVDS)视频接ロ,诸如open-LDI。本发明的范围不局限于一个实施例中的嵌入式显示端ロ视频接ロ。
图2C是根据本发明的一个实施例的数字视频信号250的概念图,数字视频信号250由GPU 240产生用于在通信路径280上传输。如图所示,数字视频信号250被格式化以在eDP视频接ロ的主链路的四个分道(251,252,253和254)上进行传输。eDP视频接ロ的主链路可以在三个链路符号时钟速率之ー下运行,其由eDP规范(162MHz,270MHz或540MHz)来指定。在一个实施例中,基于在当显示设备110连接到通信路径280时执行用于配置主链路的链路训练操作,GPU 240设置链路符号时钟速率。对每ー链路符号时钟周期255,10比特符号,其是用8b/10b编码来编码I字节的数据或者控制信息,在eDP接ロ的每ー活动分道上传输。数字视频信号250的格式能够使次级数据包直接插入到传输至显示设备110的数字视频信号250中。在一个实施例中,次级数据包可以包括从GPU 240发送至显示设备110的消息,其请求显示设备110进入或退出面板自刷新模式。这样的次级数据包能够使该发明的ー个或多个方面通过现有的eDP接ロ的物理层来实现。应该理解的是,同轴(in-line)信号发送的形式可以实施为其他基于包的视频接ロ,并且其不局限于实施eDP接ロ的实施例。
次级数据包可以在由数字视频信号250代表的视频帧的垂直或水平消隐期间被插入到数据视频信号250中。如图2C示出的,数字视频信号250 —次被打包为像素数据的ー个水平线。对像素数据的每一水平线,数字视频信号250包括在第一链路时钟周期255(00)期间的消隐开始(BS)成帧符号,以及相应的在后续链路时钟周期255(05)期间的消隐结束(BE)成帧符号。在链路符号时钟周期255 (00)处的BS符号与链路符号时钟周期255(5)处的BE符号之间的数字视频信号250的部分对应于水平消隐期间。控制符号和次级数据包可在水平消隐期间被插入到数字视频信号250中。例如,在BS符号之后的第一链路符号时钟周期255 (01)中插入VB-ID符号。VB-ID符号为显示设备110提供信息,如主视频流是否在垂直消隐期间或垂直显示期间,主视频流是否是隔行扫描或逐行扫描,以及对于隔行视频来说主视频流是否在偶数域或奇数域。紧随VB-ID符号,在链路符号时钟周期255(02)和255(03)处分别插入视频时间戳(Mvid7:0)和音频时间戳(Maud7:0)。在水平消隐期间的其余链路符号时钟周期255(04)期间可以插入虚设的符号。虚设的符号可以是特殊的保留符号,表示在该链路符号时钟周期期间的该分道中的数据是虚设数据。链路符号时钟周期255(04)可具有多个链路符号时钟周期的持续时间,这样在通信路径280上的数字视频信号250的帧速率等于显示设备110的刷新率。通过将链路符号时钟周期255(04)期间的多个虚设符号替换为次级数据包,次级数据包可被插入到数字视频信号250中。通过特殊的二次启动(SS)和二次结束(SE)成帧符号来对次级数据包进行成帧化。次级数据包可包括音频数据包、链路配置信息、或请求显示设备110进入或退出面板自刷新模式的消息。将BE成帧符号插入到数字视频信号250中,以表示对于当前视频帧的水平线活跃像素数据的开始。如图所示,像素数据PO…PN具有8位的每通道位深度(bpc)的RGB格式。与视频的水平线的第一像素相关的像素数据PO被打包到链路符号时钟周期255(06)至255 (08)处的第一分道251,紧跟着BE符号。与红色通道相关的第一部分的像素数据PO被插入到链路符号时钟周期255 (06)处的第一分道251,与緑色通道相关的第二部分的像素数据PO被插入到链路符号时钟周期255(07)处的第一分道251,与蓝色通道相关的第三部分的像素数据PO被插入到链路符号时钟周期255 (08)处的第一分道251。与视频的水平线的第二像素相关的像素数据Pl被打包成链路符号时钟周期255(06)到255(08)处的第二分道252,与视频的水平线的第三像素相关的像素数据P2被打包成链路符号时钟周期255(06)到255(08)处的第三分道253,与视频的水平线的第四像素相关的像素数据P3被打包成链路符号时钟周期255 (06)到255 (08)处的第四分道254。接着的视频水平线的像素数据以与像素数据P0-P3相似的方式插入到分道251-254中。在最后的链路符号时钟周期以包括有效的像素数据,任何没有填充的分道可以置为零。如所示的,该第三分道253以及第四分道254在链路符号时钟周期255 (13)处置为零。以上描述的数据序列在视频帧的像素数据的每ー个水平线上重复,于像素数据的最上面的水平线开始。视频帧可以包括多个在最上方帧处的水平线,其不包括用于在显示设备110上显示的激活像素数据。这些水平线包括垂直消隐期间,并且可以通过设置VB-ID控制符号中的位来在数字视频信号250中指示出。图2D是根据本发明的一个实施例的次级数据包260的概念图,该次级数据包260插入到数字视频信号250的水平消隐期间。通过替换在数字视频信号250中的多个虚设符号的一部分,来将次级数据包260插入到数据视频信号250中。例如,图2D示出了在链路符号时钟周期265 (00)和265(04)的多个虚设符号。GPU 240可以在链路符号时钟周期265(01)插入次级开始(SS)成帧符号来指示次级数据包260的开始。关联于次级数据包260的数据被插入到链路符号时钟周期265(02)中。关联于次级数据包260的该数据(SBO. . . SBN)的每一字节被插入到视频信号250的分道251-254的其中ー个中。任何没有填入数据的通道可以置为零。GPU 240便在链路符号时钟周期265 (03)插入第二结束(SE)成中贞符号。在一个实施例中,次级数据包260可以包括报头以及数据,其指示显示设备110应当进入或退出自刷新模式。例如,次级数据包260可以包括保留的报头代码,其指示所述包是面板自刷新包。次级数据包还可以包括指示显示设备110是否应当进入或退出面板自刷新模式的数据。如以上描述的,GPU 240可以使用现有的通信通道来传输数字视频信号250至显示设备110,从而通过同频带信号传输方法来发送消息至显示设备110。在其他的实施例中,GPU 240可以通过边频带方法发送消息至显示设备110,诸如通过使用在通信路径280中的辅助通信通道。在其他的实施例中,可以包括专用的通信路径,诸如另外的电缆,来提供信号发送至显示设备110来进入或退出面板自刷新模式。图3示出了根据ー个本发明的实施例,在并行处理子系统112和计算机系统100不同部分之间的通信信号。如所示的,计算机系统100包括嵌入的控制器(EC)310、SPI闪存设备320、系统基本输入/输出系统(SBIOS) 330,以及驱动器340。EC 310可以是嵌入控制器,其实施先进的配置以及电源接ロ(ACPI),允许操作系统在CPU 102上执行来配置以及控制计算机系统100不同部分的电源管理。在一个实施例中,EC 310允许操作系统在CPU102上执行,从而通过驱动器340与GPU 240通信,甚至在PCIe总线停机时亦可。例如,如果GPU 240以及PCIe总线于电源节约模式下关闭,在CPU 102上执行的该操作系统可以指示EC 310通过驱动器340发送ACPI事件的通知至EC 310来唤醒GPU 240。计算机系统100也可以包括多个显示设备110,诸如内部显示面板110(0)以及ー个或多个外部显示面板110 (I),,,110 (N)。ー个或多个显示设备110的每ー者可以通过通信路径280(0). . . 280 (N)连接到GPU240。在一个实施例中,包括在通信路径280中的每ー个HH)信号也连接到EC 310上。当ー个或多个显示设备110运行在面板自刷新模式中,如果EC310检测到热插拨事件或者来自其中ー个显示设备110的中断请求,则EC310可以负责监视HPD以及唤醒GPU 240。在ー个实施例中'狀1^_11)0(信号是包括于内部显示设备110(0)和6 じ240之间的。FRAME_L0CK传递来自显示设备110(0)的同步信号至GPU 240。例如,GPU 240可以将从帧缓冲器244中的像素数据产生的视频信号与FRAME_L0CK信号进行同步。FRAME_L0CK可以指示激活帧的开始,诸如通过传递TC0N210使用的以驱动IXD设备216的垂直同步信号至 GPU240。EC 310传输GPU_PWR和FB_PWR信号至稳压器,其分别提供供电电压给GPU 240和帧缓冲器244。EC 310也发送WARMB00T、SELF_REF和RESET信号至GPU 240,并接收来自GPU 240的GPUEVENT信号。最后,EC 310可以通过I2C或者SMBus数据总线与GPU 240通信。这些信号的功能在以下进行描述。 GPU_PWR信号控制稳压器,其为GPU 240提供供电电压。当显示设备110进入自刷新模式时,在CPU 102上执行的操作系统可以指示EC 310通过呼唤调用驱动器340来对GPU进行断电.驱动器340将驱动GPU_PWR信号为低电平,从而对GPU 240断电来降低计算机系统100总体的耗电。相似的,FB_PWR信号控制稳压器,其为巾贞缓冲器244提供供电电压。当显示设备110进入自刷新模式吋,计算机系统100还可以对帧缓冲器244进行断电以进ー步降低计算机系统100的总体耗电。FB_PWR信号以相似的方式对GPU_PWR信号进行控制。可以在GPU 240唤醒期间来声明ー个RESET信号,从而将GPU 240保持在重置状态,同时对GPU 240供电以及帧缓冲器244的稳压器允许保持稳定。通过EC 310来声明ー个WARMB00T信号,其指示GPU 240应当从SPI闪存设备320中恢复操作状态,而非执行ー个完整的冷启动序列。在一个实施例中,当显示设备110进入面板自刷新模式吋,GPU 240可以配置以在GPU 240掉电之前将当前状态保存在SPI闪存设备320中。GPU 240可以在唤醒时从SPI闪存设备320加载所保存的状态信息来恢复操作状态。加载保存的状态信息降低了唤醒GPU 240来执行完整的冷启动序列所需要的时间。在频繁进入和退出面板自刷新模式时,降低唤醒GPU 240的时间是有利的。当显示设备110运行于面板自刷新模式时,由EC 310声明ー个SELF_REF信号。该SELF_REF信号指示给GPU 240显示设备110当前运行在面板自刷新模式,以及通信路径280应当被隔离来防止瞬变会干扰到存储在本地帧缓冲器224数据。在一个实施例中,GPU240可以在当SELF_REF信号声明时通过弱的下拉电阻将通信路径280接地。GPUEVENT信号允许GPU 240来指示给CPU 102事件的发生,即使是当PCIe总线关闭的情况下亦可。GPU 240可以声明GPUEVENT给报警系统EC310,以配置I2C/SMBUS来使GPU 240和系统EC 310进行通信。I2C/SMBUS是双向通信总线,其配置为I2C,SMBUS,或者其他的双向通信总线,从而使GPU 240和系统EC 310进行通信。在一个实施例中,PCIe总线可以在显示设备110工作在自刷新模式时关闭。操作系统可以通过系统EC 310将事件通知给GPU 240,该事件诸如光标更新或屏幕刷新,即使在PCIe总线关闭时亦可。图4是根据本发明的一个实施例的具有自刷新能力的显示设备110的状态图400。如所示的,显示设备110在正常状态开始。在该正常状态410中,显示设备接收来自GPU 240的视频信号。TC0N210用接收自GPU 240的视频信号驱动IXD设备216。在正常运行状态中,显示设备110监视通信路径280以确定GPU 240是否已经发出了面板自刷新输入请求。如果显示设备110接收该面板自刷新输入请求,那么显示设备110传输ー个唤醒帧缓存状态 420。在唤醒帧缓冲器状态420,显示设备110唤醒了本地帧缓冲器224。如果显示设备110不能初始化本地帧缓冲器224,显示设备110可发送指示显示设备110未能进入面板自刷新模式的中断请求到GPU 240,并且显示设备110返回到正常状态410。在一个实施例中,在通过通信路径280接收到下一帧视频之前(即由GPU 240生成的VSync信号的下ー个上升沿之前),可以要求显示设备110初始化本地帧缓冲器224。一旦显示设备110已完成初始化本地帧缓冲器224,显示设备110转换到缓存帧状态430。在缓存帧状态430,显示设备110等待GPU 240生成的VSync信号的下ー个下降沿以开始在本地帧缓冲器224缓存ー个或多个视频的帧。在一个实施例中,GPU 240可以通过将值写入到显示设备110中的控制寄存器来指示有多少个连续的视频的帧存储在本地 帧缓冲器224中。当显示设备在本地帧缓冲器224中存储了所述ー个或多个视频的帧存储以后,显示设备110转换到自刷新状态440。在自刷新状态440,显示设备110进入了面板自刷新模式,在该模式下,TC0N210用SRC 220基于存储在本地帧缓冲器224中的像素数据生成的视频信号来驱动IXD设备216。基于GPU 240所生成的视频信号,显示设备110停止驱动IXD设备216。因此,GPU 240和通信路径280可以置于省电模式以减少计算机系统100的整体功耗。当在自刷新状态440,显示设备110可监控通信路径280以检测来自GPU 240的退出自刷新模式面板的请求。如果显示设备110接收到面板自刷新退出请求,那么显示设备110转换到re-sync状态450。在re-sync状态450,显示设备110尝试将GPU 240生成的视频信号和SRC 220生成的视频信号重新同歩。结合图9A-9C和10-13,重新同步的视频信号的各种技术介绍如下。当显示设备110已完成对视频信号的重新同歩,那么显示设备110转变回正常状态410。在一个实施例中,显示设备110会使本地帧缓冲器224转换到本地帧缓冲器休眠状态460,其中关断提供给本地帧缓冲器224的电能。在一个实施例中,如果显示设备110接收到面板自刷新退出请求,显示设备110可配置以快速退出唤醒帧缓冲器状态420并缓存帧状态430。在这两个状态中,显示设备110仍然与由GPU 240生成的视频信号同歩。因此,显示设备110可快速转换回正常状态410而不进入re-sync状态450。一旦显示设备110在自刷新状态440,显示设备110需要在返回到正常状态下410之前进入重新同步状态450。图5是根据本发明的一个实施例的GPU 240经配置以控制显示设备110转换进入或者转换退出面板自刷新模式的状态图500。从冷启动序列初始配置后,GPU 240进入正常状态510。在正常状态下,基于存储在帧缓冲器244的像素数据,GPU 240生成视频信号以传输到显示设备110。在一个实施例中,GPU 240监视帧缓冲器244的像素数据以检测像素数据中的一个或者多个渐进的空闲等级。例如,GPU 240可以将帧缓冲器244中像素数据的当前帧与帧缓冲器244中像素数据的前ー帧相比较以检测像素数据的任何图形活动。如果是两帧之间的像素数据不同,可检测到图形活动。在可替代实施例中,GPU 240可以基于与比较帧缓冲器244中像素数据的连续帧不同的因素来检测空闲的渐进等级。如果GPU 240在存储在帧缓冲器244中像素数据中未能检测到任何图形活动,那么GPU 240可以递增计数器值,指示没有任何图形活动的视频连续帧的数量。如果计数器达到第一阈值,那么GPU240转换回深度空闲状态520。在深度空闲状态520,GPU 240仍生成视频 信号以在显示设备110上显示。然而,GPU 240操作在省电模式,例如,当保持部分GPU 240负责生成视频信号活动吋,通过时钟门控或功率门控GPU 240的特定处理部分。此外,GPU 240可以发送消息到显示设备110请求显示设备110以较低的刷新率驱动IXD设备216。例如,GPU 240可以要求显示设备110将刷新率从75赫兹减小到30赫兹,并且GPU 240可以基于较低的刷新率生成和传输视频信号。当操作在深度空闲状态520,GPU 240可以继续监视帧缓冲器244中的像素数据是否有图形活动。如果GPU 240检测到图形活动,GPU 240转换回正常状态510。返回到深度空闲状态520后,GPU 240可以继续递增计数器值以确定没有任何图形活动的视频连续帧的数量。如果计数器达到比第一阈值大的第二阈值,那么GPU 240转换到面板自刷新状态530。在一些实施例中,状态图500不包括深度空闲状态520。在这样的实施例中,当计数器值达到第二阈值,GPU 240可从正常状态510直接转换到面板自刷新状态530。在另ー些实施例中,EC 310、图形驱动器103或者一些其它的专门的监视单元可以对帧缓冲器244中像素数据进行监视并通过I2C/SMBUS发送指示检测到空闲的渐进等级之一的消息到GPU240。在面板自刷新状态530,GPU 240将ー个或多个在面板自刷新模式中用于显示的视频帧传输到显示设备110。GPU 240可以监控通信路径280以检测在进入自刷新模式时显示装置110的故障。在一个实施例中,GPU 240监视HH)信号以检测由显示装置110发出的中断请求。如果GPU 240从显示设备110检测到中断请求,那么GPU 240可配置通信路径280的辅助信道来接收来自显示设备110的通信。如果显示设备110指示没有成功进入到自刷新模式,那么GPU的240可转换回正常状态510。否则,GPU 240转换到更深度空闲的状态540。在另ー个实施例中,GPU 240可能会跨越更深度空闲的状态540并直接转换到GPU掉电状态550。在这样的实施例中,无论显示设备110何时进入面板自刷新模式,GPU 240将完全关闭。在更深度空闲的状态540,GPU 240可能处于休眠状态并且通信路径280的发射端可能会关闭。GPU 240的某些部分可以进行时钟门控或功率门控,以降低计算机系统100的整体功耗。显示设备110负责刷新显示设备110显示的图像。在一个实施例中,GPU 240可以继续监视帧缓冲器244中的像素数据来检测第三级空闲。例如,当GPU 240未能更新帧缓冲器244中的像素数据时,GPU 240可以继续为视频的每个帧递增计数器。如果GPU240诸如通过从EC 310经由I2C/SMBus接收信号或从图形驱动经由103PCIe总线检测到图形活动,那么GPU 240转换到re-sync状态560。反之,如果GPU 240检测到像素数据的第三级空闲,那么GPU 240转换到GPU掉电状态550。在GPU掉电状态550,EC 310通过关闭到GPU 240的稳压器供电来关闭GPU。EC310可以驱动GPU_PWR信号为低电平以关闭稳压器供电到GPU240。在一个实施例中,GPU240可以保存SPI闪存设备320中的当前运行上下文,以在唤醒时执行热启动序列。在GPU掉电状态550,也可以关闭向图形存储器242供电的稳压器。EC 310可以驱动FB_PWR信号为低电平以关闭向图形存储器242供电的稳压器。当GPU 240是在更深度空闲状态540或GPU掉电状态550,EC 310可以指示唤醒GPU 240以更新显示设备110显示的图像。例如,电脑系统100的用户可开始输入到需要GPU 240更新显示设备110显示的图像的应用程序。在一个实施例中,驱动器340可以指示EC 310声明GPU_PWR和FB_PWR信号以开启向GPU 240和帧缓冲器244供电的稳压器。当GPU 240开启,GPU 240将基于WARMB00T信号和RESET信号的状态执行启动序列。如果EC310声明WARM_B00T信号,那么GPU 240可从SPI闪存设备320加载存储的环境參数。否贝丨J,GPU 240可执行冷启动序列。GPU 240也可基于SPI闪存设备320中存储的信息配置通信路径280的发射端。GPU 240执行启动序列后,GPU 240可发送面板自刷新退出请求到显示设备110。然后GPU240转换到re-sync状态560。在re-sync状态560,GPU 240基于存储在帧缓冲器244的像素数据开始生成视频 信号。视频信号通过信路径280传输到显示设备110并且显示设备110尝试将GPU 240生成的视频信号和由SRC220生成的视频信号重新同歩。经过重新同步的视频信号是完整的,GPU 240转换回正常状态510。GPU初始化例程图6示出根据本发明一个实施例的图形处理单元240的各种组件。如图示,GPU240包括电源管理微控制器单元(PMU) 610、一个或多个处理内核620、寄存器文件630、以及代码640。PMU 610配置以执行配置GPU 240中各种处理单元的操作。例如,PMU 610可配置以加载值到寄存器文件630中的一个或多个寄存器。加载到所述寄存器的值可以由通信路径280的发送器接ロ访问,以使GPU 240通过通信路径280传送数据。PMU 610也可配置为通过在寄存器文件630的附加寄存器中加载值,来为ー个或多个处理内核620加载保存的操作状态(例如,进程环境)。虽然没有详细描述,PMU 610可配置以执行其他功能,例如初始化通信路径113的接收接ロ或初始化GPU 240中的一个或多个计数器(未示出)。在正常冷启动初始化过程中,EC 310声明GPU_PWR、FB_PWR信号、RESET信号,结合图3如上所述,所述信号开启为GPU 240和存储器242供电的稳压器。EC 310继续保持RESET信号在短时间内为高电平,以使GPU 240和存储器242的电压稳定,在此之后,当EC310将RESET信号降低,GPU 240开始执行指令。一旦RESET信号从高电平转为低电平,GPU 240配置以从由PMU 610执行的代码640加载指令。包括在代码640中的指令当被PMU 610执行时,使PMU 610设置GPU 240的至少部分的操作状态。这样的指令可以被硬连线在GPU 240的集成电路中,例如掩膜R0M,并可以作为引导装入程序为本技术领域技术人员所了解。一旦执行包括在代码640中的指令,GPU 240可配置为经过通信路径113从图形驱动器103接收数据和指令,其被PMU610执行时使PMU 610设置GPU 240的第二部分操作状态,以使GPU 240经配置以通过通信路径113从图形驱动器103接收图形数据和指令,并生成用于在显示设备110显示的视频信号。在传统系统中,在冷启动初始化过程期间计算机系统100的各种组件以序列化的方式初始化。例如,在GPU 240从图形驱动器103接收数据和指令之前完全初始化通信路径113,以完成GPU 240的初始化。然而,通信路径113的初始化需要大量的时间,并且会增加唤醒GPU 240以生成更新像素数据与更新显示设备110上显示的图像之间的等待时间。例如,对于PClS总线的初始化过程可能需要70-100毫秒来完成。因为经过通信通道113从图形驱动器103接收数据和指令之后,GPU 240才能进行初始化,所以GPU 240被迫等待直到通信路径113被完全配置。为了最小化初始化过程开始与GPU进入正常操作状态之间的时间,与计算机系统100的各种组件相关联的初始化过程可以并行执行,从而GPU240的初始化不需要等待通信路径113被完全配置。在一个实施例中,代码640中的引导装入程序可以使GPU 240通过I2C/SMBUS与EC 310通信。GPU 240可配置以通过I2C/SMBUS从驱动器340接收数据和指令,其被PMU610执行时使PMU 610配置GPU 240的第二部分操作状态,使得GPU 240配置以通过通信路径113从图形驱动器103接收图形数据和指令,并生成用于在显示设备110显示的视频信号。因此,GPU 240和通信路径113的初始化基本上同时执行。一旦GPU 240被完全配置,GPU 240响应从图形驱动器103接收的图形基元和指令开始生成用于在显示设备110上显示的视频信号。在此操作中的某些时刻,为了在图形非活跃持续期使能耗最小化,GPU 240可以请求显示设备100进入面板自刷新模式,以使GPU 240进入深度休眠状态。在一个实施例中,当显示设备110操作在面板自刷新模式,图形驱动器103可以用于存储当GPU 240进入深度休眠状态时的当前操作状态,例如深度空闲状态540。例如,存储在寄存器文件630中的ー个或多个值,以及需要用于完全定义GPU 240的当前操作状态的其他配置信息,例如与每个处理内核620相关联的当前计数器值,可以由图形驱动器103读出并存储在帧缓冲器244中。可选地,这样的信息可存储在其他可以由图形驱动器103访问的易失性或非易失性的存储器中,例如系统存储器104或系统磁盘114。一旦存储了 GPU 240的当前操作状态,GPU 240可以转换到深度休眠状态。在一个实施例中,当由显示设备110显示的图像需要更新时,EC 310唤醒GPU240。紧接着从深度休眠唤醒之后,GPU 240配置以执行热启动初始化过程,以代替完整的冷启动初始化过程。和冷启动初始化例程过程类似,GPU 240经配置以读取由PMU 610执行的代码640中的引导装入程序以开始该热启动初始化过程。在一个实施例中,该引导装入程序使PMU 610检查从EC 310接收的WARMB00T信号。如果没有声明WARMB00T信号,通过上述冷启动初始化过程的操作来配置GPU 240。然而,如果声明WARMB00T信号,通过热启动初始化过程配置GPU 240。该热启动初始化过程可以配置以使PMU 610检查SPI闪存设备320,为了用于配置GPU 240的附加数据和指令。如上所述,GPU 240可配置以在SPI闪存设备320中存储当前操作状态,例如GPU状态660。因此,热启动初始化过程中,PMU 610可配置以从GPU状态660设置GPU 240的操作状态。和执行完整的冷启动初始化过程相比,在进入深度休眠状态前加载表示GPU 240操作状态的被保存状态,可以有利地减少初始化时间。在一个实施例中,如果自GPU 240处于深度休眠状态起,GPU检测到计算机系统100的物理配置存在不同,可以放弃所述热启动初始化过程。当声明WARMB00T信号,所述引导装入程序配置以使PMU 610检查GPU状态660,以确定是否计算机系统100的物理配置已经改变。例如,GPU 240可读取在显示设备110中的寄存器来检查EDID数据(扩展的显示识别数据),以确定显示设备110是否自从GPU 240进入深度休眠状态起已经改变。PMU610可从取回的EDID数据计算校验和,并且将该结果值和存储在GPU660中表示在GPU 240进入深度休眠状态前与显示设备110相关的EDID数据的校验和相比较。如果所计算的校验与来自GPU状态660的校验和相匹配,那么PMU 610可配置以继续加载和执行来自代码650的指令,以执行配置GPU 240必要的附加操作。然而,如果该计算的校验和与来自GPU状态660的校验和不匹配,表明计算机系统100的物理配置已经改变,那么PMU 610可配置为放弃热启动初始化过程,并执行与完整的冷启动初始化过程相关联的操作,如前所述。在另ー个实施例中,PMU 610可配置以最小化SPI闪存设备320的更新数量。正如本技术领域的技术人员所认识,闪存存储器在存储器的完整性被破坏之前,其具有有限数量的程序擦除周期(Ρ/E周期)。例如,很多传统闪存存储器仅保证在100,000Ρ/Ε周期内存储数据的完整性。如果GPU240配置为每次GPU 240处于深度休眠状态都擦除和重置SPI闪存设备320,最终SPI闪存设备320可能变得不稳定,并且状态GPU660或代码650可能损坏。因此,当进入深度休眠状态时,GPU 240配置为确定GPU 240的当前操作状态是否和与GPU状态660相关联的操作状态相匹配。如果该当前状态与GPU状态660相关联的操作状态相匹配,那么GPU 240配置以进入深度休眠状态,不需要更新SPI闪存设备320。然而,如果该当前状态与GPU状态660相关联的操作状态不匹配,那么GPU 240重置SPI闪存设备320,从而使GPU状态660反映GPU 240的当前操作状态。因此,SIP闪存设备320的有限数量的Ρ/E周期不会过早用尽,并且可以延长SPI闪存设备320的使用寿命超过计算 机系统的预期寿命。在另ー个实施例中,代码650可包括压缩-解压缩软件(编解码器codec),当其被PMU 610执行吋,使PMU 610编码或解码SPI闪存设备320中的指令或数据。用于存储代码650和GPU状态660的存储需求可以非常的大,例如10-20千字节(kB)或更多。大部分用于执行与热启动初始化过程相关联的操作时间,是因为通过连接SPI闪存设备320的接ロ传输数据所导致的。为了使通过这ー接ロ传输的数据量最小化,GPU 240可配置以压缩格式存储代码650或GPU状态660。在这样实施例中,在存储GPU 240的当前操作状态之前,PMU 610可配置以从SPI闪存设备320加载包括在代码650中的编解码器。在其他实施例中,该编解码器可直接硬连线在GPU 240中。PMU 610将GPU状态660以压缩格式写入SPI闪存设备320中。当EC310使GPU 240退出深度休眠状态,PMU 610执行引导装入程序,并从代码650或片上存储器载入编解码器。GPU 240恢复与SPI闪存设备320中GPU状态660相关联的操作状态。例如,PMU 610从SPI闪存设备320读取GPU状态660,解码GPU状态660,并从解码的GPU状态660中加载数据到寄存器文件630中或其他与GPU 240相关联的存储器中。在其他实施例中,所述编码解码器可使用本技术领域已知的任何其他技术上可行的压缩算法。图7阐述了根据本发明一个实施例的,用于配置图形处理单元240的方法700的流程图。虽然,结合图1,图2A-2D以及图3-6的系统来描述所述方法步骤,本领域技术人员应该理解配置以执行所述方法步骤的任何系统、以任何顺序都包括在本发明范围内。所述方法从步骤710开始,其中GPU 240执行存储在与GPU相关联的存储器中的引导装入程序。在一个实施例中,该引导装入程序包括在代码640中,并硬连线在GPU 240的集成电路中。该载入引导程序可配置GPU 240载入和执行从图形驱动器103或SPI闪存设备320接收的附加指令。在步骤712,GPU 240确定EC 310是否声明WARMB00T信号。结合图3如上所述,该WARMB00T信号指示是否GPU 240应该执行快速重启操作,例如热启动初始化过程。如果没有声明该WARMB00T信号,那么步骤700进入步骤714,其中GPU 240执行完整的冷启动初始化过程。在一个实施例中,GPU 240通过通信路径113从图形驱动器103接收数据和指令。在可选实施例中,GPU 240通过将GPU 240连接到EC 310的I2C/SMBUS从驱动器340接收数据和指令。GPU 240基于从所述软件驱动器接收的数据和指令配置GPU 240的操作状态。现在返回步骤712,如果声明WARMROOT信号,那么方法700进入到步骤716,其中GPU 240执行快速重启的热启动初始化过程。在一个实施例中,GPU 240配置以从耦连到GPU 240的专用的、非易失性存储器载入数据和指令,例如SPI闪存设备320。GPU 240基于从该非易失性存储器接收到的数据和指令配置GPU 240的操作状态。图8阐述根据本发明一个实施例的,对图形处理单元240执行冷启动初始化过程的方法800的流程图。虽然,结合图1,图2A-2D以及图3-6的系统来描述所述方法步骤,本领域技术人员应该了解配置以执行所述方法步骤的任何系统、以任何顺序都包括在本发明范围内。该方法从步骤810开始,其中GPU 240从软件驱动器接收数据和指令以设置GPU240的操作状态。在一个实施例中,GPU 240通过通信路径113从图形驱动器103接收数据 和指令。在这样的实施例中,在GPU 240可以从图形驱动器103接收数据和指令之前必须等待,直到计算机系统100完全初始化通信路径113。在可选实施例中,GPU 240可通过将GPU 240连接到EC 310的I2C/SMBUS从驱动器340接收数据和指令。在这样的实施例中,该冷启动初始化过程可以和计算机系统100的其他硬件组件的初始化并行进行,例如通信路径113。在步骤812,GPU 240可发送指令到PMU 610用于执行。该执行指令经配置以设置GPU 240的操作状态,例如通过将接收数据中定义的值写入寄存器文件630中的寄存器。该执行指令也可使PMU610配置GPU 240的其他方面,例如初始化ー个或多个与GPU 240相关联的计数器。在步骤814,GPU 240可配置以处理从图形驱动器103接收的图形基元,以生成存储在帧缓冲器244中的着色像素数据。GPU 240基于帧缓冲器244中的该着色像素数据生成数字视频信号,方法800结束。图9阐述根据本发明一个实施例的,对图形处理单元240执行快速重启热启动初始化过程的方法900的流程图。虽然,结合图1,图2A-2D以及图3-6的系统来描述所述方法步骤,本领域技术人员应该理解配置以执行所述方法步骤的任何系统、以任何顺序都包括在本发明范围内。该方法从步骤910开始,其中GPU 240从连接到GPU 240的非易失性存储器中取回ー个或多个指令。在一个实施例中,从SPI闪存设备320中的代码650取回所述ー个或多个指令,并配置以使GPU 240在热启动初始化过程中执行所述ー个或多个指令,例如确定GPU状态660存储在SPI闪存设备320中的位置。在可选实施例中,所述ー个或多个指令可硬连线在GPU 240的片上ROM中。在步骤912,GPU 240执行从非易失性存储器取回的所述ー个或多个指令。在步骤914,GPU 240确定是否计算机系统100的物理配置已经改变,自从GPU 240进入深度休眠状态。例如,GPU 240可配置以检查是否有新的显示器连接到计算机系统100。在一个实施例中,当GPU 240进入深度休眠状态,GPU 240可读取SPI闪存设备320中存储的校验和值,所述校验和值与计算机系统100之前的物理配置有夫。当GPU240退出深度休眠状态时,GPU 240计算与计算机系统100的当前物理配置相关的校验和值。如果存储的校验和值与该计算的校验和值相匹配,那么GPU 240确定计算机系统100的物理配置没有改变,方法900进入步骤918。然而,如果存储的校验和值与该计算的校验和值不匹配,那么GPU 240确定计算机系统100的物理配置已经改变,同时方法900进入步骤916,其中GPU 240放弃热启动初始化过程,并执行完整的冷启动初始化过程,例如以上结合方法800所描述的初始化过程。现在回到步骤918,GPU 240从连接到GPU 240的存储器取回存储的操作状态。在一个实施例中,在步骤910中取回的指令经配置以使PUM 610从SPI闪存设备320载入GPU状态660。在可选实施例中,GPU状态660可从例如帧缓冲器244或系统存储器104载入。在步骤920,GPU 240可设置GPU 240的当前操作状态以反映从非易失性存储器取回的存储操作状态。在一个实施例中,PMU 610配置以从SPI闪存设备320读取存储的操作状态,并将ー个或多个与存储的操作状态相关联的值写入寄存器文件630中的一个或多个寄存器中。在步骤922,GPU开始生成用于在显示设备110显示的数字视频信号。GPU 240可配置以处理从图形驱动器103接收的图形基元,从而生成存储在帧缓冲器244中的着色像素数据。GPU 240可基于帧缓冲器244中的着色像素数据生成数字视频信号,同时方法900结束。总而言之,本发明公开的技术用来管理耦连到具有自刷新能力的显示设备的图形 处理单元的配置。首先,当启动计算机系统时,所述技术使用完整的冷启动初始化过程。此夕卜,所述图形处理单元检测到,当退出深度休眠状态时所述计算机系统的物理配置已经改变,所述技术将使用冷启动初始化过程。可选地,当图形处理单元退出深度休眠状态,以及当计算机系统的物理配置已经改变时,为了最小化在退出深度休眠状态后所需要的配置时间,所述技术使用恢复预先存储的操作状态的扼要的热启动初始化过程。本发明公开的技术的ー个优点在于,使图形处理单元的配置时间最小化,从而可以减小显示设备操作在面板自刷新模式时更新所显示图像的等待时间。包括具有自刷新能力显示设备的计算机系统可使图形处理单元频繁地进入和退出深度休眠状态。经常地,在进入深度休眠状态的几秒内所述图形处理单元将退出所述深度休眠状态。因此,从该图形处理单元进入深度休眠状态,计算机系统的配置不太可能改变。本公开技术利用了这样的事实通过保存和加载所述图形处理器单元的操作状态来启动所述图形处理单元,而不是毎次都依靠所述图形驱动器配置所述图形处理单元。本发明公开的技术的另ー个优点在于,所述图形处理单元可与计算机系统的其他硬件和软件并行配置。利用辅助通信路径或专用的、非易失性存储器来加载用于所述图形处理单元的指令,使得能进行所述图形处理单元的配置之前,所述图形単元可以不依靠高速通信总线的成功初始化,例如所述PCIe总线。使所述图形处理单元被独立地配置减小了需要用于初始化的时间,并提供了更好的用户体验。虽然前面所述的是本发明的实施例,在不背离本发明基本范围的前提下可以设计出本发明更多的实施例。例如,本发明的某些方面可以由硬件或软件来实现,或者是由硬件与软件结合在一起来实现。本发明的一个实施例可以实现为计算机系统所使用的程序产品。程序产品的程序对实施例的功能(包括在此描述的方法)进行定义,并且能够被包含在各种各样的计算机可读存储介质内。说明性的计算机可读存储介质包括但不限于(i)信息在其上永久保存的非可写存储介质(例如,计算机内的只读存储装置,如可被CD-ROM驱动器读出的CD-ROM盘、闪存、ROM芯片或者任意类型的固态非易失性半导体存储器);以及( )其上存储有可改变的信息的可写存储介质(例如,磁盘驱动器内的软盘或硬盘驱动器或任意类型的固态随机存取半导体存储器)。当携帯有引导本发明的功能的计算机可读指令时,这样的计算机可读存储介质就是本发明的实施例。因此,本发明的范围由以下 的权利要求来界定。
权利要求
1.一种用于设置耦连到自刷新显示设备的图形处理单元的操作状态的方法,所述方法包括 执行至少一个操作为所述图形处理单元设置第一部分操作状态; 确定是否已经声明指示所述图形处理单元应该执行热启动操作的信号,并且, 如果已经声明所述信号,那么执行热启动操作为所述图形处理单元设置第二部分操作状态,或者, 如果没有声明所述信号,那么执行冷启动操作为所述图形处理单元设置第二部分操作状态。
2.根据权利要求I的方法,其中执行所述冷启动操作包括 通过次级通信总线接收与所述图形处理单元相关联的软件驱动生成的一个或多个值; 将所述一个或多个值加载到与所述图形处理单元相关联的一个或多个寄存器中;以及, 为所述图形处理单元设置所述第二部分操作状态,以使所述图形处理单元通过主通信总线接收图形数据和指令,并且基于所述图形数据和指令生成用于在显示设备显示的视频信号。
3.根据权利要求I的方法,其中执行所述热启动操作包括 从稱连到所述图形处理单元的非易失性存储器读取一个或多个值; 将所述一个或多个值加载到与所述图形处理单元相关联的一个或多个寄存器中;以及, 为所述图形处理单元设置所述第二部分操作状态,以使所述图形处理单元通过主通信总线接收图形数据和指令,并且基于所述图形数据和指令生成用于在显示设备显示的视频信号。
4.一种子系统,包括 图形处理单元,被配置为 执行至少一个操作为所述图形处理单元设置第一部分所述操作状态; 确定是否已经声明指示所述图形处理单元应该执行热启动操作的信号,并且, 如果已经声明所述信号,那么执行热启动操作为所述图形处理单元设置第二部分操作状态,或者, 如果没有声明所述信号,那么执行冷启动操作为所述图形处理单元设置第二部分操作状态。
5.根据权利要求4的子系统,其中将用于执行至少一个操作的指令存储在与所述图形处理单元相关联的掩膜ROM中。
6.根据权利要求4的子系统,其中执行所述冷启动操作包括 通过次级通信总线接收由与图形处理单元相关联的软件驱动生成的一个或多个值; 将所述一个或多个值加载到与所述图形处理单元相关联的一个或多个寄存器中;为所述图形处理单元设置所述第二部分操作状态,以使所述图形处理单元通过主通信总线接收图形数据和指令,并且基于所述图形数据和指令生成用于在显示设备显示的视频信号。
7.根据权利要求6的子系统,其中当所述主通信总线正被初始化时,执行所述一个或多个值的接收。
8.根据权利要求4的子系统,其中执行所述热启动操作包括 从所述非易失性存储器读取一个或多个值;将所述一个或多个值加载到与所述图形处理单元相关联的一个或多个寄存器中;为所述图形处理单元设置所述第二部分操作状态,以使所述图形处理单元通过主通信总线接收图形数据和指令,并且基于所述图形数据和指令生成用于在显示设备显示的视频信号。
9.根据权利要求8所述子系统,所述图形处理单元进一步配置以 在进入深度休眠状态前,确定所述非易失性存储器中存储的所述图形处理单元的操作状态是否与所述图形处理单元的当前操作状态相匹配,并且, 如果所述存储的操作状态与所述当前操作状态相匹配,那么进入深度休眠状态,或者,如果所述存储的操作状态与所述当前操作状态不匹配,那么更新所存储的操作状态以反映所述当前操作状态,并进入深度休眠状态。
10.根据权利要求9所述子系统,其中确定所述非易失性存储器中存储的所述图形处理单元的操作状态是否与所述图形处理单元的当前操作状态相匹配的步骤包括将与所述存储的操作状态相关的哈希值和与当前操作状态相关的哈希值相比较。
全文摘要
本发明公开了一种用于支持耦连到图形控制器的自刷新显示设备的方法和装置。描述了用于在初始化期间从深度休眠状态设置所述图形控制器操作状态的技术。所述图形控制器可基于控制所述图形控制器是否执行热启动初始化过程或执行冷启动初始化过程的控制信号,来设置所述操作状态。在热启动初始化过程中,存储在连接到所述图形控制器的非易失性存储器中的指令和值可用于设置所述图形控制器的操作状态。在一个实施例中,所述图形控制器可确定计算机系统的物理配置是否有任何变化,以及,如果所述物理配置有变化,所述图形控制器可基于从软件驱动接收的值设置所述操作状态。
文档编号G06F9/445GK102841799SQ20121009658
公开日2012年12月26日 申请日期2012年4月1日 优先权日2011年3月31日
发明者大卫·怀亚特, 托马斯·E·杜威 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1