在图形源之间切换以便于实现功率管理和/或安全性的制作方法

文档序号:6478473阅读:190来源:国知局
专利名称:在图形源之间切换以便于实现功率管理和/或安全性的制作方法
技术领域
本发明涉及用于在计算机系统中的图形源之间切换的技术。更具体地,本发明涉 及用于通过在计算机系统中的图形源之间切换来降低功率和/或提高安全性的方法和装置。
背景技术
计算技术的迅速进步使得可以对有时大至万亿字节的数据集执行每秒万亿次计 算操作。这些进步可以主要归功于集成电路大小和复杂度的指数增长。不幸的是,集成电 路大小和复杂度的增长伴随着能耗的类似增长。在这种平行发展中,宽度无线网络的迅速扩张已经引起了便携式计算机系统数目 的急剧增加。不幸的是,由于便携式计算机系统可获得的有限电池功率,便携式计算机系统 通常具有严苛的功率限制。这些发展产生了对节能技术的巨大需求。3D图形技术的进步导致大部分现代计算机系统使用专用图形处理器(有时称为 图形处理单元(GPU))驱动图像显示设备。不幸的是,当今的GPU消耗大量功率,这大大缩 短了便携式计算机系统的电池寿命,并且还产生了散热问题。虽然图形显示器在工作,但是很多时候需要非常少量的图形处理,例如,当用户正 在阅读显示器上的文档时。不幸的是,在这些“低活动性”时期期间,已有的图形处理器不 能容易地切换到低功率模式以便节省电能。一种在这种“低活动性”时期期间节省电能的技术是将显示器从高功率图形源 (例如,高性能GPU)切换到低功率图形源(例如,低性能GPU)。理想地,这种切换操作对于 用户应当是不可见的,从而当图像处理需求改变时或当系统对限制能耗的需求改变时,系 统可以无缝地在不同图形源之间来回切换。—种已有的技术提供一种允许用户在较低性能图形源和较高性能图形源之间 切换的机械开关。然而,每次用户从一个图形源切换到另一个图形源,这种强力攻击 (brute-force)技术要求用户彻底重新初始化计算机系统。要求用户重新初始化计算机系 统以便从一个图形源切换到另一个图形源在许多情况下根本不可接受。初始化处理是可在 计算机上执行的最具破坏性的操作之一。通常,用户必须在重新初始化计算机之前保存他 或她的所有工作,这可能耗费相当多的时间。另外,用户必须首先决定他们在将来一小段时 间内的图形处理需求是高还是低,并且然后必须等待系统重新初始化,然后如果需求发生 了改变,愿意等待另一次重新初始化。另一个问题是某些图形处理器将图像渲染(render)到位于不安全的主存储器内 的帧缓冲器内。这可能导致在需要安全存储这些图形图像的数字版权管理(DRM)标准方面 的问题。因此,需要便于实现不同图形源之间的迅速和/或无缝切换以便节省电能和/或 提供安全性的方法和装置。

发明内容
本发明的一个实施例提供了一种在用于刷新显示器的帧缓冲器之间进行切换的 系统。在操作期间,该系统根据位于第一存储器内的第一帧缓冲器刷新显示器。在接收到 切换用于显示器的帧缓冲器的请求之后,该系统重新配置到显示器的数据传输,从而根据 位于第二存储器内的第二帧缓冲器刷新显示器。在某些实施例中,第一存储器是主存储器,所述主存储器可被多个应用访问,并且 因此是不安全的,并且第二存储器是位于主存储器之外的安全的帧缓冲器。在某些实施例中,切换显示器还包括传输用于刷新显示器的数据,从而所述数 据完全绕开不安全的主存储器。在这种变型中,当所述数据被存储在第二帧缓冲器内时以 及当所述数据被传输到第二帧缓冲器以及被从第二帧缓冲器传输时,该系统对所述数据加在某些实施例中,在接收到切换帧缓冲器的请求之前,所述系统确定与所述显示 器相关联的对于数据的安全要求;和基于所确定的安全要求,产生切换帧缓冲器的请求。在某些实施例中,在接收到切换帧缓冲器的请求之前,所述系统监视所述显示器 的图形处理负载水平;和基于图形处理负载水平产生切换请求。在某些实施例中,所述系统测量包含显示器的计算机系统内的温度;和基于所 测量的温度产生切换请求。在某些实施例中,切换显示器从而根据第二帧缓冲器刷新显示器还包括切换为 显示器执行渲染操作的图形处理单元(GPU)。在某些实施例中,GPU在渲染到第一帧缓冲器 的低功率GPU和渲染到第二帧缓冲器的高功率GPU之间切换。在某些实施例中,在从低功率GPU切换到高功率GPU之前,该系统大体同步低功率 GPU的输出显示信号和高功率GPU的输出显示信号,从而便于实现不中断显示器上的图形 输出的无缝转换。在某些实施例中,大体同步输出显示信号包括使用一个或多个锁相环(PLL)。在某些实施例中,所述切换发生在与显示器的垂直消隐信号相关联的垂直消隐间 隔期间。本发明的另一个实施例提供了一种在第一图形处理器和第二图形处理器之间切 换以便驱动第一显示器和/或第二显示器的计算机系统。该计算机系统包括处理器;存 储器;第一图形处理器;第二图形处理器;第一显示器;和第二显示器。该计算机系统还包 括第一开关,所述第一开关选择性地将第一图形处理器或第二图形处理器连接到第一显示 器。该计算机系统还包括第二开关,所述第二开关选择性地将第一图形处理器或第二图形 处理器连接到第二显示器。在某些实施例中,第一显示器是集成在该计算机系统内的内部显示器,并且第二 显示器是耦接到该计算机系统的外部显示器。在某些实施例中,第一开关和第二开关被配置为将第一图形处理器耦接到第一显 示器和第二显示器两者,或将第二图形处理器耦接到第一显示器和第二显示器两者。在某些实施例中,第一图形处理器是高功率图形处理单元(GPU),并且第二图形处 理器是低功率GPU。在某些实施例中,该系统包括同步机构,所述同步机构被配置为大体同步第一图形处理器的输出显示信号和第二图形处理器的输出显示信号,从而便于实现不中断图形输出的无缝切换处理。在某些实施例中,所述同步机构被配置为使用一个或多个锁相环(PLL),以便大体同步输出显示信号。在某些实施例中,所述第一开关和第二开关可以包括多路复用器;或线或逻辑。


图1示出了根据本发明的一个实施例的计算机系统;图2示出了根据本发明的一个实施例的可以在不同图形源之间切换以便驱动相 同显示器的计算机系统;图3给出了一个流程图,其示出了根据本发明的一个实施例的从第一图形源切换 到第二图形源以便驱动显示器的过程;图4给出了一个流程图,其示出了根据本发明的一个实施例的从第一图形源切换 到第二图形源而不同步输出显示信号的过程;图5A示出了根据本发明的一个实施例的单个垂直消隐间隔(VBI)和由图形源产 生的相应的垂直同步(V-sync)脉冲;图5B示出了根据本发明的一个实施例的由两个图形源产生的两个重叠的VBI ;图6A给出了根据本发明的一个实施例的用于在两个图形源之间同步定时信号的 技术的示意图;图6B给出了根据本发明的一个实施例的用于在两个图形源之间同步定时信号的 另一种技术的示意图;图7示出了根据本发明的一个实施例的包括两个图形源的计算机系统;图8给出了一个流程图,其示出了根据本发明的一个实施例的从第一图形源切换 到第二图形源的过程;图9给出了一个流程图,其示出了根据本发明的一个实施例的从第二图形源切换 到第一图形源的过程;和图10示出了根据本发明的一个实施例的可以在不同图形源之间切换以便驱动内 部显示器和外部显示器的计算机系统。
具体实施例方式给出下列描述以使得本领域的任意技术人员可以做出和使用本发明,并且在特定 应用和其要求的上下文中提供该描述。本领域的技术人员容易想到对公开的实施例的各种 修改,并且此处定义的一般原理可以应用于其它实施例和应用,而不脱离本发明的精神和 范围。因此,本发明不限于示出的实施例,而是与符合权利要求的最宽范围一致。详细描述中描述的数据结构和代码通常存储在计算机可读存储介质内,所述计算 机可读存储介质可以是可以存储由计算机系统使用的代码和/或数据的任意设备或介质。 这包括但不限于易失性存储器、非易失性存储器、磁或光存储设备,诸如盘驱动器、磁带、 CD (压缩盘)、DVD (数字通用盘或数字视频盘),或能够存储现在已知或以后开发的计算机 可读介质的其它介质。
计算机系统 图1示出了根据本发明的一个实施例的计算机系统100。如图1所示,计算机系统 100包括处理器102,处理器102耦接到存储器子系统106、外围总线108,并且通过桥104 连接到图形处理器110。桥104可以包括通常用于将计算系统100内的组件耦接在一起的 任意类型的核心逻辑单元、桥芯片或芯片组。在本发明的一个实施例中,桥104是北桥芯 片。处理器102可以包括任意类型的处理器,包括但不限于,微处理器、数字信号处理器、设 备控制器或应用内的计算引擎。应当认识到,计算机系统100的一个或多个组件可被放置在远处,并且通过网络 对其进行访问。处理器102通过桥104与存储器子系统106通信。存储器子系统106可以包括若 干组件,所述组件包括可由处理器102高速访问的一个或多个存储器芯片。处理器102还可以通过桥104和外围总线108与存储设备112通信。存储设备 112可以包括可耦接到计算机系统的任意类型的非易失性存储设备。这包括但不限于磁存 储设备、光存储设备和磁光存储设备以及基于闪存的存储设备和/或具有后备电池的存储器。处理器102还通过桥104与图形处理器110通信。图形处理器110是专用图形渲 染设备,它给显示器114提供信号源并且驱动显示器114。显示器114可以包括可以用可视 格式(包括图像和文本)向用户呈现信息的任意类型的显示设备。这包括但不限于阴极射 线管(CRT)显示器、发光二极管(LED)显示器、液晶显示器(IXD)、有机LED(OLED)显示器、 表面传导电子发射器显示器(SED)或电子纸。图形处理器110高性能地执行2D和3D图形渲染操作,诸如发光(lighting)、加阴 影和变换。为了实现高性能,图形处理器Iio可以利用专用视频存储器116存储帧缓冲区、 纹理、顶点阵列和/或显示列表。桥104还包括嵌入式图形处理器118。通常为了中等性能的图形处理的目的构建 嵌入式图形处理器118,并且因此嵌入式图形处理器118消耗比图形处理器110少得多的电 能。注意在图1中,嵌入式图形处理器118不直接耦接到显示器114并且不直接驱动显示 器 114。注意,虽然在图1所示的计算机系统100的上下文中描述本发明,但是本发明一般 可以操作于支持多于一个的图形处理器的任意类型的计算设备上。因此,本发明不限于图 1所示的计算机系统100。图形源之间的选择性切换图2示出了根据本发明的一个实施例的可以在不同图形源之间切换以便驱动相 同显示器的计算机系统200。注意在图2中,两个图形源(图形处理器210和嵌入式图形处 理器218)中的每一个可以独立地驱动显示器214。然而,由可以在两个图形源之间进行选 择的选择设备220确定在给定时刻活动地驱动显示器214的图形源。具体地,计算机系统 200可以使用选择设备220以便基于其当前操作状态选择图形源。更具体地,来自图形处理器210的输出显示信号222和来自嵌入式图形处理器218 的输出显示信号224两者被耦接到二到一多路复用器(MUX) 220的输入。由源选择226控 制MUX220的输出,源选择226确定两个图形源中的哪一个驱动显示器214。在这种实施例中,源选择226是桥芯片204的输出,桥芯片204包括用于产生源选择226的特殊逻辑。注意,还可以由桥204之外的逻辑块产生源选择226。然后,来自所选择的图形源的输出显示信号被耦接到显示器214的输入以便活动地驱动显示器214。虽然将选择设备示出为多路复用器,但是还可以包括任意其它类型的选 择设备,诸如简单的线或逻辑。在本发明的一个实施例中,图形处理器210和嵌入式图形处理器218可以通过路径228协作,从而它们可以同步其输出显示信号。由于输出显示信号可以包括定时信号和 数据信号两者,同步输出显示信号可以包括同步相应的定时信号和相应的数据信号两者。 注意,可以使用便于实现同步两个图形源的硬件和/或软件来实现路径228。在本发明的一个实施例中,图形处理器210是消耗大量电能的高性能图形处理器单元(GPU),而嵌入式图形处理器218是消耗较少量电能的低性能GPU。在这个实施例中, 当图形处理负载轻时,系统将图形源从图形处理器210切换到嵌入式图形处理器218以便 驱动显示器214,并且随后完全关闭图形处理器210的电源,从而节省电能。在另一方面,当 图形处理负载再次变重时,系统将图形源从嵌入式图形处理器218切换回图形处理器210。注意,虽然已经在图2所示的独立图形处理器和集成图形处理器的上下文中描述了图形处理器之间的切换,但是本发明一般可用于包括两个或更多个图形处理器的计算机 系统,其中当被正确配置时,每个图形处理器可以独立地驱动显示器。另外,这些多个图形 处理器可以具有不同的操作特性,包括不同的功率消耗水平。另外,所述多个图形处理器中 的每一个可以是独立图形处理器或是芯片中的集成图形处理器。因此,本发明不限于图2 所示的计算机系统200。注意用于在不同图形源之间切换的上述技术不需要关闭计算机系统或重新初始化计算机系统。结果,与需要重新初始化的情况相比,切换处理可能花费少得多的时间。因 此,本发明允许图形处理器之间的迅速且频繁的切换。图3给出了一个流程图,其示出了根据本发明的一个实施例的从第一图形源切换到第二图形源以便驱动显示器的过程。在操作期间,系统首先接收将显示器的信号源从活动地(actively)驱动显示器的第一图形处理器切换到处于非活动状态的第二图形处理器的请求(步骤302)。可由知道图形处理负载水平的用户产生这种切换请求。可替换地,可由系统内部地产生切换请求。在本发明的一个实施例中,系统软件连续监视图形处理负载水平。更具体地,系统可以基于与图形处理器相关联的图形命令队列的状态,确定图形处理负载的水平。例如,如 果命令队列基本为空,系统断定图形处理负载低。在另一方面,如果命令队列几乎是满的, 系统断定图形处理负载高。接着,基于图形处理负载的水平,系统软件选择两个图形处理器之一,并且随后如果选择了非活动图形处理器,则产生切换请求。例如,如果第一图形处理器是消耗高功率的高性能GPU,当系统软件检测到图形处理负载水平下降得相当大时,系统软件可以发出切换到具有较低性能但是同时消耗少得多 的电能的第二图形处理器的请求。另一方面,如果第一图形处理器是较低性能和低功率的 GPU,如果系统软件检测到图形处理负载水平提高得相当大,系统可以发出切换到高性能且高功率GPU的请求。注意使用系统软件监视图形处理负载并且自动发出切换请求明显比由人发起请 求更快并且可能更节省能量。另外,使用系统软件可以使人摆脱监视任务。接着,响应于切换请求,系统配置第二图形处理器以便准备驱动显示器(步骤 304)。在本发明的一个实施例中,配置第二图形处理器可以包括如下步骤中的一个或多个 (1)如果处理器当前未加电,给处理器加电;⑵初始化图形处理器;和⑶产生输出信号 以准备给显示器加电。然后系统将驱动显示器的信号源从第一图形处理器切换到第二图形处理器,这使 得第二图形处理器驱动显示器(步骤306)。在本发明的一个实施例中,切换包括使用选择 设备,诸如图2中的MUX220,该选择设备可以将第一图形处理器从显示器上断开,以及将第 二图形处理器耦接到显示器。在切换操作期间,可以使用将在下面更详细描述的不同定时 控制。一般地,获得较平滑的切换过渡需要更精确的定时控制,并且因此通常需要更复杂的 切换控制机制。一旦第二图形处理器取代了第一图形处理器,系统可以关闭第一图形处理器的电 源以便节省电能。注意,上述切换过程不需要重新初始化整个系统以便起作用。注意,虽然已经基于图形处理负载描述了切换,还可以基于功率状态(例如,系统 以电池还是以外部电源运行,或电池是否电量低),基于减少系统散热的需要、基于用户偏 好或基于在两个图形处理器之间不同的任意特征或能力来产生切换请求。切换期间的定时在不同图形处理器之间切换以便驱动相同显示设备需要图形处理器之间某种程 度的协作,以便确保大体无缝的过渡。下面通过基于是否涉及输出显示信号的同步来区分 定时技术,讨论切换期间的不同定时 技术。没有同步的切换图4给出了一个流程图,其示出了根据本发明的一个实施例的从第一图形源切换 到第二图形源而不同步输出显示信号的过程。在操作期间,第一图形处理器使显示器渐隐(fade out)(步骤402)。注意,这可以 若干方式完成,包括但不限于在屏幕上显示黑色或其它颜色、关闭背光或关闭整个显示器。接着,系统将驱动显示器的信号源从第一图形处理器切换到已经被配置为驱动显 示器的第二图形处理器(步骤404)。更具体地,切换包括将第一图形处理器的输出信号从 显示器的输入上断开,并且将第二图形处理器的输出信号耦接到显示器的输入。在完成切换之后,如果需要,第二图形处理器随后初始化显示器(步骤406)。接 着,第二图形处理器重画显示器屏幕,并且随后使显示器屏幕渐显(fade in)(步骤408)。在这个实施例中,不需要这两个图形源彼此同步。因此,第二信号源不必被配置为 在切换发生之前重画显示器。另外,第一信号源可在执行切换之前被关闭(例如,通过渐隐 操作)。注意,没有同步的切换简单,但是可能使得用户注意到切换。然而,如果可以在零 点几秒内完成切换,用户可能甚至注意不到切换。可替换地,如果更慢地执行切换,当显示 分辨率改变时,可以使用诸如渐隐/渐显效果的适当的视觉效果来减少视觉中断。一般地, 通过在过渡期间使显示器渐隐,可以隐藏显示器从一组显示信号切换到不同的一组不同步的显示信号的任何不希望的视觉效果。具有同步的切换在切换之前同步输出信号便于实现不中断显示器上的图形输出的更平滑的、更少被注意到的或甚至无缝的切换过程。然而,同步需要第二图形源在切换之前在准备驱动显 示器时开始产生输出信号,从而可以同步来自两个图形源的输出显示信号。在本发明的一个实施例中,可以通过匹配嵌入在输出信号内的定时信息,实现同 步来自两个图形源的输出信号。这种定时信息可以包括但不限于水平同步(H-sync)脉冲、 垂直同步(V-sync)脉冲、水平消隐信号和垂直消隐信号。具体地,V-sync脉冲通过指出何 时开始扫描新的数据帧来控制显示器上的图像刷新。典型地,V-sync脉冲出现在被称为垂 直消隐间隔(VBI)的在两个连续图像帧之间的短时间间隔内,在该短时间间隔内,出于各 种内务处理(houseke印ing)的目的,屏幕上的显示保持恒定状态。图5A示出了根据本发 明的一个实施例的由图形源产生的单个VBI 502和相应的V-sync脉冲504。注意,V-sync 脉冲504落在VBI 502内。 在这个实施例中,计算机系统追踪何时第一图形源中出现了 V-sync脉冲,并且调 整第二图形源的时序,直到其V-sync脉冲与第一图形源的V-sync脉冲对准为止。在一个 实施例中,对准来自两个图形源的V-sync脉冲包括使用软件或硬件使得第二图形源的时 序与第一图形源的时序重合。在这种对准期间,第一图形源继续驱动显示器。当V-sync脉 冲在两个源之间被充分对准时,可以在下一个VBI中执行切换。图5B示出了根据本发明的一个实施例的由两个图形源产生的两个重叠的 VBI-VBI 506和VBI 508。注意,切换发生在两个VBI的重叠时段510内。还要注意,如果 切换处理在重叠时段510内完成,则切换处理可以表现为对于用户是不可见的。另外,两个 图形源之间的大体同步便于实现第二图形源立刻开始驱动显示器,从而对于用户来说看似 如同显示未改变一样。然而,切换处理的完成可能占用比单个VBI更长的时间,或可能要占用几帧时间 得以解决。在该情况下,系统可以通过使屏幕完全空白或渐隐来隐藏切换效果。在本发明的另一个实施例中,取代使得第二图形源对准第一图形源,系统可以允 许第二图形源的V-sync信号相对于第一图形源的V-sync信号漂移。可以作为一个或多个 定时差异的结果发生这种定时信号的漂移。例如,可以由两个图形处理器的时钟频率的略 微差异而引起漂移。可替换地,可以由两个图形处理器被编程为以略微不同的显示帧速率 操作而引起漂移。在同步的这个实施例中,系统可以监视来自两个源的两个V-sync信号,并且检测 它们何时彼此重叠,其中可由软件或硬件执行监视。当重叠发生时,系统可以在两个信号相 对于彼此漂移开之前从一个图形源切换到另一个图形源。具有基于硬件的同步的切换在本发明的一个实施例中,可以使用附加硬件将图形源之一同步到另一个图形 源,从而可以精确地对准两个图形源的显示输出定时。然后可以在下一个VBI期间进行切 换,从而用户察觉不到切换。在这个实施例中,通过结合调整第二图形源的显示定时发生器 的相位和频率以便将显示输出定时对准第一图形源的显示输出定时的附加硬件,可以进行 更平滑的切换。
图6A给出了根据本发明的一个实施例的用于在两个图形源之间同步定时信号的 技术的示意图。如图6A所示,两个图形源A和B分别包括定时发生器602和定时发生器 604。定时发生器602为图形源A产生输出V-SYNC 606中的V-sync脉冲,以及输出VBI 608 中的垂直消隐间隔,而定时发生器604为图形源B产生输出V-SYNC 610中的V-sync脉冲 以及输出VBI 612中的垂直消隐间隔。图形源A和B还使用锁相环(PLL)614和PLL 616,以便分别给定时发生器 602和604提供频率参考。更具体地,PLL 614和PLL616接收来自左侧的参考频率输 入fAKEF618和fBKEF620,并且产生参考频率输出fAQUT622和fBQUT624作为定时发生器602 和604的输入。对PLL的功能和相关组件的详细解释可见于描述PLL的多种参考文献 (见,Floyd M. Gardner, “ Charge-Pump Phase-Lock Loops, “ IEEETransactions on Communications, Vol. 28, No. 11, November 1980)。出于频率同步的目的,PLL 614包 括除法器MA626和除法器队628。类似地,PLL 616 包括除法器Mb630和除法器Nb632。当被相位锁定时,PLL 614和PLL 616的输出分别产生
输出频率/0: = /^ef X(Ma/N^mf^ = KMbINb)。在本发明的一个实施例中,频率标量值Ma、Mb、Na、Nb是可编程的,并且被存储在可 编程寄存器内。具体地,标量Ma、Mb、Na、Nb被耦接到控制器634,并且可通过控制器634被编 程,控制器634可以以软件或以硬件实现为微控制器或有限状态机。控制器634接收切换 请求输入-REQSW 636,并且附加地接收来自图形源A的时钟信号V-SYNCa 606和VBIa 608 以及来自图形源B的V-SYNCb 610和VBIb612。然后控制器634测量两个图形源的V-sync 信号或VBI信号之间的相位差。使用测量的相位差作为反馈信号,通过同步地改变相关联 的PLL内的M和N值,控制器634可以相对于一个图形源调整来自另一个图形源的V-sync 和VBI的相位。使用反馈环,控制器634继续测量并调整相位差。当控制器634确定相位差在预 定界线内时,它产生切换使能信号-0K2SWITCH638。在本发明的一个实施例中,0K2SWITCH 638被耦接到图2中的源选择226,源选择226使得MUX 220能够翻转源。注意,上面的描述允许改变活动图形源和非活动图形源两者中的时钟。具体地,如 果被改变的PLL标量值与活动地驱动显示器的源相关联,可能希望缓慢并且平滑地调整相 关联的频率。还应注意,可以不必获得完美的时钟对准以便允许切换。在一个实施例中, 控制器634可被配置为对准VBI,以便获得刚好足够的重叠,从而切换操作不会引起可视伪 像。当控制器检测到存在足够的重叠时,它将0K2SWITCH信号置于有效状态,以便完成同

少ο图6B给出了根据本发明的一个实施例的用于在两个图形源之间同步定时信号的 另一技术的示意图。在该实施例中,使用单个PLL 640在图形源A和B之间同步定时信号。注意不存 在由图6A的控制器对PLL的直接控制。而是,PLL640形成与一个定时发生器的闭环。如图6B所示,定时发生器602和604分别接收参考频率输入fKEF—A642和fKEF B644。 来自定时发生器602和604的4个输出^ΙΥΝ ^ΟΘ,νΒΙΑΟδ,ν ΥΝ ^ΙΟ和VBIb612被耦 接到四到二多路复用器MUX 646,MUX 646可以选择V_SYNCA606和V_SYNCB610或VBIA608 和VBIb612到其输出。然后MUX 646的输出被耦接到PLL640的相位检测器的输入。注意,在这个实施例中可以使用V-sync信号或VBI信号进行对准。接着,来自PLL 640的VCO输出被耦接到并且用作为一个定时发生器的输入参考 频率,并且从而完成与该定时发生器的闭环。更具体地,来自PLL 640的输出首先被耦接到 两个多路复用器MUX 648和MUX 650的输入,MUX 648和MUX 650分别接收外部时钟信号 EXTCLK_A 652和EXTCLK_B 654作为输入。由控制器656控制MUX 648和MUX 650的输出, 控制器656选择外部时钟源或PLL输出作为对应定时发生器的参考频率输入。注意,控制 器656接收来自PLL 640的相位检测器的输入,并且基于该输入检测PLL 640是否已经锁 定。在操作期间,假设图形源A正在活动地驱动显示器。同时,选择PLL 640的VCO输 出作为图形源B的定时发生器604的参考频率fKEF B644。因此,PLL 640和定时发生器604 形成闭环,这便于实现两个定时发生器中的所选择的定时信号(V-sync或VBI)的同步。当 控制器656检测到PLL 640已经相位锁定时,它在下一个消隐间隔中将驱动显示器的图形 源从图形源A切换到图形源B。更具体地,在随后的消隐间隔内,控制器656将fKEF b644输 入从PLL 640切换到外部时钟源EXTCLK_B 654。在切换之后,可以使用PLL 640将图形源 A锁定到现在活动地驱动显示器的图形源B。无需切换地诜择图形处理器在本发明的一个实施例中,取代在两个图形处理器之间切换以便驱动相同的显示 设备,较低性能、较低功率的图形处理器总是驱动显示器。在这个实施例中,当需要附加的 图形性能时,较高性能的处理器接管图形处理负载,将其显示图像渲染到由较低性能的处 理器所用的同一帧缓冲器。当系统以这种方式操作时,较低性能的处理器完全用作为显示 输出设备,即,将图像数据从帧缓冲器传输到显示器,而较高性能的设备执行所有图形处 理。当需要较低性能时,较低性能的设备再次接管图形处理任务,并且从而可以关闭较高性 能的设备。计算机系统图7示出了根据本发明的一个实施例的包括两个图形处理器的计算机系统700。 更具体地,计算机系统700包括耦接到桥芯片704的处理器702。桥芯片704自身耦接到主 存储器706、显示器714和外围总线708。可以使用外围总线708访问存储设备710。注意,较低性能、较低功率的图形处理器712直接耦接到显示器714,并且总是驱 动显示器714。在另一方面,高性能、高功率图形处理器716耦接到图形处理器712,并且在 不用时通常被关闭。在本发明的一个实施例中,取代将图形呈现到其自己的帧缓冲器内,图形处理器 716将图像直接渲染到图形处理器712的帧缓冲器707内,其中帧缓冲器707位于主存储器 706内。在这个实施例中,通过连续刷新显示器714,图形处理器712负责在显示器714上 显示图形。注意由于在这个实施例中总是由相同的图形处理器驱动显示器,并且总是根据 相同的帧缓冲器刷新显示器,不需要切换硬件,并且不存在对用户隐藏的硬件切换过渡。在一个可替换的实施例中,当需要附加的图形处理功率或附加的安全性时,系统给图形处理器716加电,以便提供附加的图形渲染能力。图形处理器716将图形渲染到驻 留在专用图形存储器720内的它自己的本地帧缓冲器722,专用图形存储器720被耦接到 (集成到)图形处理器716。注意,由于主存储器706通常被许多不同处理和应用共享,专用图形存储器720比主存储器706更安全。在这个实施例中,图形处理器712必须将帧缓 冲器(从该帧缓冲器刷新显示器714)从自己的帧缓冲器707改变到图形处理器716的帧 缓冲器722。由于总是由相同的图形处理器驱动显示器714,所以不需要切换硬件。然而, 必须对图形处理器712编程,以便在正确的时刻(例如,在垂直消隐间隔内)在帧缓冲器之 间切换,以便避免用户可见的过渡。在图形源之间平滑地切换图8给出了一个流程图,其示出了根据本发明的一个实施例的从第一图形源切换到第二图形源的过程。在该过程开始时,较低功率的内部图形处理器712(也称为“GPU”) 正渲染主存储器706中的帧缓冲器707,并且根据帧缓冲器707刷新显示器714 (步骤802)。接着,系统确定是否需要更多性能和/或更大安全性(步骤804)。如果不是,系统 返回步骤802。否则,如果系统确定需要更多性能和/或更大安全性,系统给外部的高功率图形处理器716加电(步骤806)。然后,外部的高功率图形处理器716将相同的图形渲染到图 形存储器720中的帧缓冲器722 (步骤808)。接着,系统等待垂直消隐间隔(VBI)(步骤810)。在这个垂直消隐间隔中,内部的 低功率图形处理器712将其刷新指针从主存储器706中的帧缓冲器707切换到图形存储器 720中的帧缓冲器722(步骤812)。接着,除了其刷新电路之外,关闭内部的低功率图形处 理器712 (步骤814)。此时,完成切换过程。切换还可以在另一个方向上发生。更具体地,图9给出了一个流程图,其示出了根 据本发明的一个实施例的从第二图形源切换到第一图形源的过程。在该过程开始时,内部 高功率图形处理器716正渲染图形存储器720中的帧缓冲器722,并且根据帧缓冲器722刷 新显示器714 (步骤902)。接着,系统确定是否需要较低性能和/或较低安全性(步骤904)。如果不是,系统 返回步骤902。否则,如果系统确定需要较低性能和/或较低安全性,系统给内部的低功率图形 处理器712加电(步骤906)。然后,低功率图形处理器712向主存储器706内的帧缓冲器 707渲染相同的图像(步骤908)。接着,系统等待垂直消隐间隔(步骤910)。在这个垂直消 隐间隔中,内部的低功率图形处理器712将其刷新指针从图形存储器720中的帧缓冲器722 切换到主存储器706内的帧缓冲器707 (步骤912)。接着,关闭高功率图形处理器716 (步 骤914)。此时,完成切换过程。注意,还可以(并且可能更容易)用软件简单地使显示器渐隐,然后进行帧缓冲器 切换,并且然后再使显示器渐显。由于软件不必使得两个图形源在过渡期间的相同时刻向 两个帧缓冲器中绘制相同数据,这较为简单。取而代之,系统可以关闭一个源,然后启动另 一个源,然后切换帧缓冲器。另一个实施例图10示出了根据本发明的一个实施例的可以在不同图形源之间切换以便驱动内 部显示器和外部显示器的计算机系统1000。注意在图10中,两个图形处理器(图形处理 器1010和嵌入式图形处理器1018)中的每一个可以独立地驱动内部显示器1014和外部显 示器1015。由多路复用器1020确定活动地驱动显示器1014的图形源,并且由多路复用器1021确定驱动显示器1015的图形源。多路复用器1020和1021可以在图形处理器1010和 嵌入式图形处理器1018之间进行选择。注意,来自图形处理器1010的输出显示信号1022和来自嵌入式图形处理器1018 的输出显示信号1024耦接到多路复用器(MUX) 1020的输入。类似地,来自图形处理器1010 的输出显示信号1023和来自嵌入式图形处理器1018的输出显示信号1025耦接到MUX 1021的输入。注意,每个图形处理器具有用于驱动两个显示器的不同的输出显示信号。(这 是由于两个显示器可以使用不同的显示信令协议,并且一般具有不同的像素分辨率、色深、 颜色平衡等)。由源选择1026控制MUX 1020的输出,源选择1026确定两个图形源中的哪一个将 驱动内部显示器1014。类似地,由源选择1027控制MUX 1021的输出,源选择1027确定两 个图形源中的哪一个将驱动外部显示器1015。在这个实施例中,源选择1026和1027是桥 芯片1004的输出,桥芯片1004包含用于产生源选择1026和1027的电路。注意,还可以使 用位于桥1004之外的逻辑块来产生源选择1026和1027。来自所选择的图形源的输出显示信号耦接到显示器1014和1015的输入。虽然选 择设备被示出为多路复用器,它还可以包括任意其它类型的选择设备,诸如简单的线或逻
辑。在本发明的一个实施例中,图形处理器1010是消耗大量电能的高性能图形处理 器单元(GPU),而嵌入式图形处理器1018是消耗较少电能的较低性能的GPU。在这个实施例 中,当图形处理负载轻时,系统将图形源从图形处理器1010切换到嵌入式图形处理器1018 以便驱动显示器1014和1015,并且随后完全关闭图形处理器1010,从而节省电能。在另一 方面,当图形处理负载再次变重时,系统将图形源从嵌入式图形处理器1018切换回图形处 理器1010。已经仅仅出于说明和描述的目的给出了本发明的实施例的上述描述。它们不旨在 是无遗漏的或将本发明局限于公开的形式。因此,本领域的技术人员将明了许多修改和变 型。此外,上述公开不旨在限制本发明。由所附权利要求定义本发明的范围。
权利要求
一种用于在各帧缓冲器之间切换的方法,所述帧缓冲器用于刷新显示器,所述方法包括根据位于第一存储器内的第一帧缓冲器刷新所述显示器;接收切换用于所述显示器的帧缓冲器的请求;和响应于所述请求,重新配置到所述显示器的数据传输,从而根据位于第二存储器内的第二帧缓冲器刷新所述显示器。
2.如权利要求1所述的方法,其中所述第一存储器是主存储器,所述主存储器能够被多个应用访问,因此是不安全 的主存储器;并且其中所述第二存储器是位于主存储器之外的安全的帧缓冲器。
3.如权利要求2所述的方法,其中切换所述显示器从而根据所述第二帧缓冲器刷新所 述显示器还包括传输用于刷新所述显示器的数据,从而所述数据完全绕开所述不安全的主存储器;和 在所述数据被存储在所述第二帧缓冲器内的同时以及在所述数据被传输到所述第二 帧缓冲器和从所述第二帧缓冲器被传输的同时对所述数据加密。
4.如权利要求1所述的方法,其中在接收到切换帧缓冲器的所述请求之前,所述方法 还包括确定与所述显示器相关联的对于数据的安全要求;和 基于所确定的安全要求,产生切换帧缓冲器的所述请求。
5.如权利要求1所述的方法,其中在接收到切换帧缓冲器的所述请求之前,所述方法 还包括监视所述显示器的图形处理负载水平;和 基于所述图形处理负载水平,产生所述切换请求。
6.如权利要求1所述的方法,其中在接收到切换帧缓冲器的所述请求之前,所述方法 还包括测量在包含所述显示器的计算机系统内的温度;和 基于所测量的温度,产生所述切换请求。
7.如权利要求1所述的方法,其中切换所述显示器从而根据所述第二帧缓冲器刷新所述显示器还包括切换图形处 理单元(GPU),所述图形处理单元为所述显示器执行渲染操作;并且其中所述GPU在渲染到所述第一帧缓冲器的低功率GPU和渲染到所述第二帧缓冲器的 高功率GPU之间切换。
8.如权利要求7所述的方法,其中在从所述低功率GPU切换到所述高功率GPU之前,所 述方法还包括基本上同步所述低功率GPU的输出显示信号和所述高功率GPU的输出显示 信号,从而便于实现不中断所述显示器上的图形输出的无缝转换。
9.如权利要求8所述的方法,其中基本上同步输出显示信号包括使用一个或多个锁 相环(PLL)。
10.如权利要求1所述的方法,其中所述切换发生在与所述显示器的消隐信号相关联 的消隐间隔期间。
11.一种用于在各帧缓冲器之间选择性地切换的装置,所述帧缓冲器用于刷新显示器, 所述装置包括位于第一存储器内的第一帧缓冲器; 位于第二存储器内的第二帧缓冲器;一个或多个刷新电路,被配置为根据所述第一帧缓冲器或所述第二帧缓冲器选择性地 刷新所述显示器;和切换机构,被配置为在接收到切换请求之后,在所述第一帧缓冲器和所述第二帧缓冲 器之间切换所述显示器的刷新。
12.如权利要求11所述的装置,其中所述第一存储器是主存储器,所述主存储器能够被多个应用访问,因此是不安全 的主存储器;并且其中所述第二存储器是位于主存储器之外的安全的帧缓冲器。
13.如权利要求12所述的装置,其中所述切换电路被配置为弓丨导用于刷新所述显示器的数据,从而所述数据完全绕开 所述不安全的主存储器;和其中所述装置还包括加密电路,所述加密电路被配置为在所述数据被存储在所述第二 帧缓冲器内的同时以及在所述数据被传输到所述第二帧缓冲器和从所述第二帧缓冲器被 传输的同时对所述数据加密。
14.如权利要求11所述的装置,其中所述切换机构被配置为 确定与所述显示器相关联的对于数据的安全要求;和基于所确定的安全要求,产生切换帧缓冲器的请求。
15.如权利要求11所述的装置,其中所述切换机构被配置为 监视所述显示器的图形处理负载水平;和基于所述图形处理负载水平,产生所述切换请求。
16.如权利要求11所述的装置,其中所述切换机构被配置为 测量在包含所述显示器的计算机系统内的温度;和基于所测量的温度,产生所述切换请求。
17.如权利要求11所述的装置,其中在所述第一帧缓冲器和所述第二帧缓冲器之间切换的同时,所述装置被配置为切 换图形处理单元(GPU),所述图形处理单元为所述显示器执行渲染操作;并且其中所述GPU从渲染到所述第一帧缓冲器的低功率GPU被切换到渲染到所述第二帧缓 冲器的高功率GPU。
18.如权利要求17所述的装置,其中在从所述低功率GPU切换到所述高功率GPU之前, 所述切换机构被配置为基本上同步所述低功率GPU的输出显示信号和所述高功率GPU的输 出显示信号,从而便于实现不中断图形输出的无缝转换。
19.如权利要求18所述的装置,其中基本上同步输出显示信号包括使用一个或多个 锁相环(PLL)。
20.如权利要求11所述的装置,其中所述切换发生在与所述显示器的消隐信号相关联 的消隐间隔期间。
21.一种用于在各帧缓冲器之间选择性地切换的计算机系统,所述帧缓冲器用于刷新 显示器,所述计算机系统包括处理器;耦接到所述处理器的主存储器; 位于所述主存储器内的第一帧缓冲器; 位于所述第二存储器内的第二帧缓冲器;一个或多个刷新电路,被配置为根据所述第一帧缓冲器或所述第二帧缓冲器选择性地 刷新所述显示器;和切换机构,被配置为在接收到切换请求之后,在所述第一帧缓冲器和所述第二帧缓冲 器之间切换所述显示器的刷新。
22.—种在第一图形处理器和第二图形处理器之间切换以驱动第一显示器和/或第二 显示器的计算机系统,所述计算机系统包括处理器; 存储器;所述第一图形处理器; 所述第二图形处理器; 所述第一显示器; 所述第二显示器;第一开关,用于将所述第一图形处理器或所述第二图形处理器选择性地耦接到所述第 一显示器;和第二开关,用于将所述第一图形处理器或所述第二图形处理器选择性地耦接到所述第二显不器。
23.如权利要求22所述的计算机系统,还包括同步机构,所述同步机构被配置为基本 上同步所述第一图形处理器的输出显示信号和所述第二图像处理器的输出显示信号,从而 便于实现不中断图形输出的无缝转换处理。
24.如权利要求22所述的计算机系统,其中所述第一图形处理器是高功率图形处理单元(GPU);并且 其中所述第二图形处理器是低功率GPU。
25.如权利要求22所述的计算机系统,其中所述第一显示器是集成在所述计算机系统内的内部显示器;并且 其中所述第二显示器是耦接到所述计算机系统的外部显示器。
全文摘要
本发明涉及用于在各帧缓冲器之间选择性地切换的方法、装置和系统。本发明的一个实施例提供了一种在用于刷新显示器的帧缓冲器之间切换的系统。在操作期间,该系统根据位于第一存储器内的第一帧缓冲器刷新显示器。在接收到切换用于显示器的帧缓冲器的请求之后,该系统重新配置到显示器的数据传输,从而根据位于第二存储器内的第二帧缓冲器刷新显示器。
文档编号G06F3/14GK101802774SQ200880107944
公开日2010年8月11日 申请日期2008年8月12日 优先权日2007年9月20日
发明者B·D·霍华德, D·G·康罗伊, M·F·卡波特, P·A·贝克, W·C·阿塞思 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1