使用多个处理器处理视频和/或图形数据而不丢失状态信息的方法、系统及装置制造方法及图纸

技术编号:8109305 阅读:231 留言:0更新日期:2012-12-21 23:33
方法、系统和装置提供了使用第一图形处理电路和第二图形处理电路的组合来处理视频和/或图形数据,在第一和第二图形处理电路之间转移处理的同时,不丢失状态信息。待处理的视频和/或图形数据可以例如由在诸如主处理器等处理器上运行的应用程序提供。在一个示例中,装置包括至少一个GPU,所述至少一个GPU包括多个单指令多数据(SEVID)执行单元。GPU可操作以执行本地功能代码模块。所述装置还包括至少第二GPU,所述至少第二GPU包括具有与第一GPU上的多个SEVID执行单元相同的编程模型的多个SEVID执行单元。此外,第一和第二GPU可操作以执行相同的本地功能代码模块。本地功能代码模块使第一GPU响应于来自诸如主处理器等第一处理器的期望从当前运算模式转变到期望运算模式的通知而为至少第二GPU提供状态信息(例如,一个GPU停止,而另一个GPU启动)。第二GPU可操作以获取由第一GPU提供的状态信息并且经由相同的本地功能代码模块使用状态信息以在第一GPU停止的位置处继续处理。第一处理器可操作地连结到至少第一GPU和至少第二GPU。

【技术实现步骤摘要】
【国外来华专利技术】
本公开涉及使用多个处理器处理视频和/或图形数据的方法、系统及装置,尤其涉及使用第一图形处理电路和第二图形处理电路的结合来处理视频和/或图形数据。
技术介绍
在典型的计算机架构中,待由处理器上运行的应用程序处理的视频和/或图形数据可通过集成图形处理电路、离散图形处理电路或集成和离散图形处理电路的某种组合来处理。集成图形处理电路通常集成到桥接电路中,桥接电路与主处理器系统总线连接,也称为“北桥(Northbridge)”。另ー方面,离散图形处理电路通常为利用诸如AGP、PCI、PCIExpress或任何其它适合的标准等互连标准经由互连件与北桥连接的外部图形处理单元。通常,离散图形处理电路提供优于集成图形处理电路的性能,但是也消耗更多的功率。因此,为了使性能最优化或者使功耗最小化,公知的是在集成处理电路和离散处理电路之间切换视频和/或图形处理任务。图I表示现有技木,一般描绘了能够在集成处理电路和离散处理电路之间切换视频和/或图形处理任务的计算系统100。如图所示,诸如CPU或任何其它处理器件等至少ー个主处理器102经由主处理器系统总线106与北桥电路104连接,并且经由系统总线124与系统存储器122连接。在一些实施例中,可根据需要设有多个主处理器102。此外,在一些实施例中,系统存储器可与北桥104连接,而不是与主处理器102连接。主处理器102可以包括多个无序执行单元108,诸如例如X86执行单元。诸如在主处理器102中实现的架构的无序架构鉴别能够并行执行的独立指令。主处理器102可操作以执行包括软件驱动程序110的各种软件程序。软件驱动程序110在主处理器102与集成和离散图形处理单元112、114之间接ロ。例如,软件驱动程序110可以接收用于在显示器116上绘制对象的信息,计算与该对象相关联的ー些基本參数,并且将这些參数提供给集成和离散图形处理单元112、114以进行进ー步处理。北桥104包括可操作以处理视频和/或图形数据(例如,渲染像素)的集成图形处理单元112并且与显示器116相连接。使用集成图形处理单元的已知北桥电路的示例是由Advanced Micro Devices, Inc.出售的AMD’ s780系列芯片组。集成GPU 112包括多个着色器単元118。来自多个着色器単元118的每个着色器単元是负责对视频和/或图形数据执行诸如例如顶点着色、几何形状着色或像素着色等特殊着色功能的可编程着色器。系统存储器122包括与集成GPU 112相关联的帧缓冲器120。帧缓冲器120是整个系统存储器122的存储表示待显示在显示器116屏幕上的每个像素的颜色值的数据的分配量的存储器。在一个实施例中,主CPU 102和北桥104可以集成到单个封装件/管芯126上。北桥104通过例如独占总线130与南桥128连结。南桥128是控制计算系统100的全部输入/输出功能的桥接电路。离散GPU 114通过诸如例如PCI Express总线的适当总线132与北桥104 (或集成的封装件/管芯126)连结。离散的GPU 114包括多个着色器単元119并且与非系统存储器136相连接。非系统存储器136 (例如,“视频”或“本地”存储器)包括与离散GPU 114相关联的帧缓冲器121且经由不同于系统总线124的总线被访问。非系统存储器136可相对于离散GPU114为在芯片上或在芯片外。与离散GPU 121相关联的帧缓冲器具有与和集成GPU 120相关联的帧缓冲器相似的架构和操作,但是存在于非系统存储器136的分配量的存储器中。位于离散GPU 119上的着色器单元与上文讨论的位于集成GPU 118上的着色器单元操作相似。然而,在一些实施例中,在离散GPU 114上具有比集成GPU 112上更多的着色器单元119,这容许离散GPU 114例如比集成GPU 112更快地处理视频和/或图形数据。本领域技术人员将理解的是,在该示例性构造中呈现为离散部件的结构和功能可以实现为组合的结构或部件。可构思其它变型例、修改和添加。在运算中,计算系统100可利用集成GPU 112、离散GPU 114或集成和离散 GPU112,114的某种组合来完成图形数据处理。例如,在一个实施例(下文称为“集成运算(operational)模式”)中,集成GPU 112可用于完成计算系统100的所有图形数据处理。该实施例通过切断离散GPU114并且依靠低功率成本的集成GPU 112来完成图形数据处理而使得功耗最小化。在另ー实施例(下文称为“离散运算模式”)中,离散GPU 114可用于完成计算系统100的全部图形数据处理。该实施例通过仅依靠更大功率的离散GPU 114来完成全部图形处理任务而使图形处理性能高于集成运算模式。最后,在一个实施例(下文称为“协作运算模式”)中,集成和离散GPU 112、114可同时用来完成图形处理。该实施例通过依靠集成GPU 112和离散GPU 114这两者来完成图形处理任务而使图形数据处理性能高于离散运算模式。采用类似于计算系统100的平台设计的商业系统的示例包括来自AdvancedMicro Devices, Inc.的 ATI Hybrid CrossFireX 技术和 ATIPowerXpress 技术以及来自NVIDIA 公司的Hybrid SLI_ 技术。然而,采用与计算系统100中描绘的设计相似的设计的现有计算系统遭遇多种缺陷。例如,当计算系统00从ー种运算模式(例如,集成运算模式)转变到另ー种运算模式(例如,离散运算模式)时,这些设计可能导致状态信息丢失。状态信息是指由例如着色器単元使用的控制每个着色器単元如何处理视频和/或图形数据流的任何信息。例如,由例如像素着色器使用的状态信息可以包括像素着色器程序、像素着色器常数、渲染器目标信息、图形运算參数等。此外,状态信息包括关于GPU的标识信息,诸如计算系统存储器空间中的GPU物理地址和/或用于处理视频和/或图形数据的GPU的模型。当现有的计算系统100从ー种运算模式转变到另ー种运算模式时,状态信息通常被破坏。因此,现有的计算系统100通常需要特定的软件支持来重新创建该状态信息,以便当视频和/或图形处理任务在GPU之间切换时应用程序正确地操作。状态信息的这种破坏和重新创建不必要地利用了计算系统的处理资源并且使从ー种运算模式到另ー种运算模式的切換延迟。例如,现有计算系统100从ー种运算模式(例如,集成运算模式)切换到另一种运算模式(例如,离散运算模式)可能要花费几秒。在运算模式之间切换的这种延迟还会造成显示器屏幕116上的非期望闪烁。当配置为协作运算模式时,现有的计算系统100也不能使图形处理优化。例如,在这些计算系统内,为了在两个GTO之间进行并行的图形和/或视频处理,通常需要将较大功率的离散GPU 114的处理能力限制为较小功率的集成GPU 112的处理能力。这表示“最小公分母”方法,其中严重地未充分利用离散GPU 114的全部处理能力。因此,对于能够在集成、离散和协作运算模式之间切换而不丢失状态信息且不延长切换时间的改进计算系统存在需求。此外,对于能够在协作运算模式下使得离散GPU的处理能力最大化的计算系统存在需求。附图说明通过结合下面附图的如下说本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.03.04 US 12/717,2651.ー种计算系统,包括 第一处理器; 至少第一 GPU,其与所述第一处理器可操作地连结,包括第一多个单指令多数据(SIMD)执行单元,所述至少第一 GPU可操作以执行本地功能代码模块,所述本地功能代码模块使所述至少第一 GPU响应于来自所述第一处理器的期望从当前运算模式转变到期望运算模式的通知而为至少第二 GPU提供状态信息; 所述至少第二 GPU,其与所述第一处理器可操作地连结,包括第二多个单指令多数据(SIMD)执行单元,所述第二 SMD执行单元具有与所述至少第一 GPU上的所述多个SMD执行単元相同的编程模型,所述至少第二 GPU可操作以执行与所述至少第一 GPU相同的本地功能代码模块并且可操作以获取由所述至少第一 GPU提供的所述状态信息以及经由所述相同的本地功能代码模块使用所述状态信息以继续处理。2.如权利要求I所述的计算系统,其中,与所述至少第二GPU相关联的所述本地功能代码模块可操作以通过在所述至少第二 GPU上的所述多个SMD执行单元上均匀地分布像素渲染指令而使得能够由所述至少第二 GPU渲染的像素数量最优化。3.如权利要求I所述的计算系统,其中,与所述至少第一GPU相关联的所述本地功能代码模块可操作以通过在所述至少第一 GPU上的所述多个SMD执行单元上均匀地分布像素渲染指令而使得能够由所述至少第一 GPU渲染的像素数量最优化。4.如权利要求I所述的计算系统,其中,与所述至少第二GPU相关联的所述本地功能代码模块从所述至少第一 GPU上的所述多个SMD执行单元中的通用型寄存器组获取状态信息,以用于在所述至少第二 GPU上的所述多个SMD执行单元上执行。5.如权利要求I所述的计算系统,其中,与所述至少第一GPU相关联的所述本地功能代码模块从所述至少第二 GPU上的所述多个SMD执行单元中的通用型寄存器组获取状态信息,以用于在所述至少第一 GPU上的所述多个SMD执行单元上执行。6.如权利要求I所述的计算系统,其中,所述主处理器可操作以执行控制驱动程序,从而使所述计算系统从当前运算模式转变到期望运算模式,并且反之亦然。7.如权利要求6所述的计算系统,其中,所述控制驱动程序主张处理器中断以发起从所述当前运算模式到所述期望运算模式的转变,并且反之亦然。8.如权利要求6所述的计算系统,其中,使所述计算系统从当前运算模式转变到期望运算模式包括将状态信息 从与所述当前运算模式相关联的所述GPU上的所述多个SMD执行单元中的通用型寄存器组转移到存储器中的可由在与所述期望运算模式相关联的所述GPU上执行的所述本地功能代码模块访问的位置处。9.如权利要求I所述的计算系统,其中,所述主处理器和所述至少第一GPU均实施在如下至少ー个上 相同的芯片封装件;或者 相同的管芯。10.如权利要求I所述的计算系统,其中,每个SIMD执行单元包括 指令指针,其可操作以指向存储器中的存储状态信息的位置; SIMD引擎,其包括至少ー个ALU,所述至少ー个ALU可操作以执行从存储器中的所述位置取得的状态信息;以及 至少ー个通用型寄存器组,其可操作以存储状态信息。11.如权利要求I所述的计算系统,进一歩包括至少ー个显示器,所述至少一个显示器可操作以显示由所述至少第一或第二 GPU中的任ー个或两个生成的像素。12.—种在计算系统中使用多个处理器处理视频和/或图形数据的方法,所述方法包括 使与当前运算模式相关联的第一 GPU停止像素的渲染,并且将与所述当前运算模式相关联的状态信息保存到可由第二 GPU访问的位置处;以及 利用所述保存的状态...

【专利技术属性】
技术研发人员:保罗·布林勒
申请(专利权)人:ATI科技无限责任公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1