CN1922602A - 具有pci-express的图形装置群集 - Google Patents

具有pci-express的图形装置群集 Download PDF

Info

Publication number
CN1922602A
CN1922602A CNA2005800058533A CN200580005853A CN1922602A CN 1922602 A CN1922602 A CN 1922602A CN A2005800058533 A CNA2005800058533 A CN A2005800058533A CN 200580005853 A CN200580005853 A CN 200580005853A CN 1922602 A CN1922602 A CN 1922602A
Authority
CN
China
Prior art keywords
graphics
data
aperture
graphics devices
bridge
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.)
Granted
Application number
CNA2005800058533A
Other languages
English (en)
Other versions
CN100432977C (zh
Inventor
弗兰克·R·迪亚尔
戴维·G·里德
加里·D·希科克
迈克尔·布赖恩·考克斯
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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN1922602A publication Critical patent/CN1922602A/zh
Application granted granted Critical
Publication of CN100432977C publication Critical patent/CN100432977C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller

Abstract

一种与一广播孔径关联的桥接器,其有助于在一处理器与多个图形装置之间传输渲染命令和数据。所述桥接器接收由所述处理器写入到所述广播孔径的数据并将其转递到多个图形装置,从而排除所述处理器执行双重(?)写入操作的需要。在系统初始化期间,基于一使用一系统配置实用程序设置的孔径尺寸值将一广播孔径分配到所述桥接器于地址空间中,并存储在系统配置存储器中。一图形驱动器通过一桥接器驱动器将与所述多个图形装置关联的单播孔径参数发送到所述桥接器来激活所述广播孔径。当激活所述广播孔径时,多个图形装置可平行操作以便改进渲染性能。平行渲染(Parallel rendering)技术包括分割帧、交替帧和组合的分割帧与交替帧渲染。

Description

具有PCI-EXPRESS的图形装置群集
本申请案涉及以下专利申请案,其揭示内容以引用的方式并入本文中用于各种目的:2003年8月18日申请的美国专利申请案第10/642,905号“Adaptive Load Balancing in aMulti-Processor Graphics Processing System”;2003年8月12日申请的美国专利申请案第10/639,893号“Programming Multiple Chips from a Command Buffer”;和2003年8月18日申请的美国专利申请案第10/643,072号“Private Addressing in a Multi-ProcessorGraphics Processing System”。
技术领域
本发明涉及计算机图形领域。通过以算术的方式从给定的视点建立光与三维场景互动的模型来创建许多计算机图形图像。此过程(称为渲染)从给定的视点产生场景的二维图像,且类似于拍摄真实世界场景的相片。
背景技术
随着对计算机图形,且尤其对实时计算机图形的需求的增长,具有适合于促进渲染过程的图形处理子系统的计算机系统已变得普及。在这些计算机系统中,在计算机的通用中央处理单元(CPU)与图形处理子系统之间划分渲染过程。通常,CPU执行高级别操作,例如确定给定场景中物体的位置、运动和碰撞。CPU从这些高级别操作中产生界定期望的渲染的一或多个图像的一组渲染命令和数据。例如,渲染命令和数据可界定场景几何形状、照明、阴影、纹理、运动和/或场景的相机参数。图形处理子系统从一组渲染命令和数据中创建一个或一个以上渲染图像。
为了使渲染性能最大化,图形处理子系统可包括平行操作的两个或两个以上图形处理单元(GPU)。图形处理单元可以许多不同方式划分渲染工作负荷。例如,可由不同的GPU平行地渲染图像的不同部分。接着将所述部分进行组合以产生完整的渲染图像。在另一示范性平行渲染方案中,每一GPU渲染图像序列中的一个图像。
利用CPU将渲染命令和数据传输到两个或两个以上GPU是平行渲染方案中出现的一个难题。在许多平行渲染方案中,需要将相同的渲染命令和数据分布到所有GPU;然而,CPU通常通过CPU总线将渲染命令和数据独立地传送到每一GPU。因此,操作多个GPU所需的带宽与GPU数目成线性比例。因为CPU总线的带宽有限,所以具有平行操作的两个或两个以上GPU的系统将使CPU总线饱和。在这些情况下,CPU总线是整体图形性能中的限制因素,且附加的GPU将不提供任何性能改进。此外,使CPU独立地与每一GPU之间传送相同的渲染命令和数据会浪费CPU循环;例如,需要CPU写入相同的渲染命令和数据若干次。
因此,需要一种在CPU与平行操作的多个图形处理单元之间传输渲染命令和数据的有效的系统和方法。进一步需要排除作为操作多个图形处理单元的过程中的潜在图形性能瓶颈的CPU总线。还需要缩减与图形处理子系统中多个图形处理单元通信所需的浪费的CPU循环数目。
发明内容
本发明包括一种与广播孔径关联的桥接器,其有助于在处理器与多个图形装置之间传输渲染命令和数据。桥接器接收由处理器写入到广播孔径的数据并将其转递到多个图形装置,从而排除处理器执行多个写入操作的需要,并可能使处理器总线饱和。在系统初始化期间,基于一使用一系统配置实用程序设置的孔径尺寸值将一广播孔径分配到所述桥接器于地址空间中,并存储在系统配置存储器中。图形驱动器通过桥接器驱动器将与多个图形装置关联的单播孔径参数发送到桥接器来激活广播孔径。当激活广播孔径时,多个图形装置可平行操作以便改进渲染性能。平行渲染技术包括分割帧、交替帧和组合的分割与交替帧渲染。
本发明实施例配置广播孔径,其适合于通过在物理地址空间中接收广播孔径的分配数据而在处理器与复数个图形装置之间传输数据。以第一组配置数据配置桥接器。桥接器适合于有助于在处理器与复数个图形装置之间传输数据。进一步以第二组配置数据配置桥接器,藉此激活广播孔径。在附加实施例中,复数个图形装置的至少一者包括复数个图形处理单元。
在另一实施例中,以第一组配置数据配置桥接器包括从系统配置存储器检索第一组配置数据的至少一部分。在一个实施方案中,配置数据的此部分包括广播孔径尺寸。用户可通过BIOS配置实用程序来设置广播孔径尺寸。在进一步实施例中,第一组配置数据存储在包括在桥接器中的一组寄存器中。
在又一实施例中,以第二组配置数据配置桥接器包括从与复数个图形装置关联的图形驱动器接收第二组配置数据的至少一部分。在进一步实施例中,第二组配置数据的所述部分包括一组单播孔径的一组物理基址。每一物理基址与复数个图形装置的一者关联。第二组配置数据存储在包括在桥接器中的一组寄存器中。
在又一实施例中,处理器执行图形驱动器,所述图形驱动器适合于通过广播孔径将一组渲染命令和渲染数据传送到复数个图形装置。在一个实施方案中,所述组渲染命令引导复数个图形装置的第一部分渲染帧的第一部分,且引导复数个图形装置的第二部分渲染帧的第二部分。在另一实施例中,所述组渲染命令引导复数个图形装置的第一部分渲染第一帧,且引导复数个图形装置的第二部分渲染第二帧。在一实施方案中,所述组渲染命令引导复数个图形装置的第一部分将包含帧的至少一部分的渲染图像数据传输到与显示器装置连接的复数个图形装置的一者。复数个图形装置的第一部分可适合于使用位图传送操作(blit operation)通过图形总线将渲染图像数据传输到与显示器装置连接的复数个图形装置的一者。在另一实施方案中,复数个图形装置的第一部分适合于通过数字视频连接将渲染图像数据传输到与显示器装置连接的复数个图形装置的一者。渲染图像数据可包括帧的至少一部分的反走样版本(anti-aliased version)。此外,渲染图像数据可与帧的一复杂部分相关联。
附图说明
将参看附图描述本发明,附图中:
图1是适于实践本发明实施例的计算机系统的方框图;
图2是包括平行操作的两个图形处理子系统的计算机系统的方框图;
图3说明根据本发明实施例用于将数据传输到平行的两个或两个以上图形处理子系统且从平行的两个或两个以上图形处理子系统传输数据的系统;
图4说明根据本发明实施例用于将数据传输到平行的两个或两个以上图形处理子系统且从平行的两个或两个以上图形处理子系统传输数据的桥接器;
图5说明根据本发明实施例用于配置桥接器的系统,所述桥接器用于将数据传输到平行的两个或两个以上图形处理子系统且从平行的两个或两个以上图形处理子系统传输数据;
图6A和图6B说明可与本发明实施例一起实施的两种不同的平行渲染技术;
图7A和图7B说明根据本发明实施例平行渲染技术的实施方案;且
图8说明根据本发明实施例具有平行操作的四个图形处理单元的级联实施方案。
具体实施方式
图1为适于实践本发明实施例的计算机系统100的方框图,所述计算机系统100例如个人计算机、视频游戏控制台、个人数字助理、或其它数字装置。计算机系统100包括用于运行软件应用程序和可选的操作系统的中央处理单元(CPU)105。在实施例中,CPU 105实际上是平行操作的若干独立中央处理单元。存储器110存储供CPU 105使用的应用程序和数据。存储器115提供用于应用程序和数据的非易失性存储器且可包括固定磁盘驱动器、抽取式磁盘驱动器、快闪存储器装置和CD-ROM、DVD-ROM或其它光学储存装置。用户输入装置120将用户输入从一个或一个以上用户传送到计算机系统100,且可包括键盘、鼠标、操纵杆、触摸屏和/或麦克风。网络界面125允许计算机系统100通过电子通信网络与其它计算机系统通信,且可包括在局域网和广域网(例如,因特网)上的有线或无线通信。计算机系统100的组件(包括CPU 105、存储器110、数据存储器115、用户输入装置120和网络界面125)通过一个或一个以上数据总线160连接。数据总线的实例包括ISA、PCI、AGP、PCI、PCI-X(也称为3GIO)和HyperTransport数据总线。
图形子系统130进一步与数据总线160和计算机系统100的组件连接。图形子系统130包括图形处理单元(GPU)135和图形存储器。图形存储器包括用于为输出图像的每一像素存储像素数据的显示存储器140(例如,帧缓冲器)。像素数据可直接从CPU 105提供给显示存储器140。或者,CPU 105为PU 135提供界定期望的输出图像的数据和/或命令,GPU 135从所述数据和/或命令产生一个或一个以上输出图像的像素数据。界定期望的输出图像的数据和/或命令存储在附加存储器145中。在实施例中,GPU 135产生用于从渲染命令输出图像的像素数据和界定场景的几何形状、照明、阴影、纹理、运动和/或相机参数的数据。
在另一实施例中,显示存储器140和/或附加存储器145是存储器110的一部分且与CPU 105共享。或者,显示存储器140和/或附加存储器145是为图形子系统130的专有用途提供的一个或一个以上独立存储器。图形子系统130周期性地为来自显示存储器218且显示在显示装置150上的图像输出像素数据。显示装置150是能够响应于来自计算机系统100(包括CRT、LCD、等离子和OLED显示器)的信号而显示视觉信息的任何装置。计算机系统100可为显示装置150提供模拟或数字信号。
在另一实施例中,图形处理子系统130包括一个或一个以上附加GPU 155,类似于GPU 135。在又一实施例中,图形处理子系统130包括图形协处理器165。图形处理协处理器165和附加GPU 155适合于与GPU 135平行操作。附加GPU 155产生用于从渲染命令输出图像的像素数据,类似于GPU 135。附加GPU 155可结合GPU 135操作以便同时产生用于输出图像的不同部分的像素数据,或同时产生用于不同输出图像的像素数据。在实施例中,图形协处理器165执行GPU 135和/或附加GPU 155的渲染相关任务,例如几何变化、阴影计算和背面剔除操作。
附加GPU 155可与GPU 135定位在相同电路板上且与GPU 135共享到数据总线160的连接,或可定位在独立地与数据总线160连接的附加电路板上。附加GPU 155也可集成到与GPU 135相同的模块或芯片封装中。附加GPU 155可具有其自身的显示器和附加存储器,类似于显示存储器140和附加存储器145,或可与GPU 135共享存储器140和145。在实施例中,图形协处理器165与用以控制数据总线160的计算机系统芯片组(未图示)集成,例如与北桥接器或南桥接器芯片集成。
图2为包括平行操作的两个图形处理子系统的计算机系统200的方框图。CPU 205通过总线210与图形装置215和220连接。总线210可包含在CPU 205与图形装置215和220之间形成数据路径的多个数据总线。总线210的实施例包括连接在CPU 205与总线控制器(未图示)之间的CPU总线,和连接在总线控制器与图形装置215和220之间的图形总线(例如,PCI-X)。
图形装置215包括图形处理单元,称为主GPU 225。主GPU 225充当由系统200识别的初级图形装置,且在实施例中可与初级显示装置(未图示)连接。主GPU 225从CPU205接收渲染命令和数据230。在实施例中,渲染命令和数据230存储在与主GPU 225关联的附加存储器145?(如图1所界定)中。在替代实施例中,渲染命令和数据230存储在系统存储器(如图1中存储器110)中且根据主GPU 225的需要而被检索。响应于渲染命令和数据230,主GPU 225执行各种渲染操作。这些渲染操作中包括纹理贴图操作,主GPU 225据此访问纹理贴图235。在实施例中,纹理贴图235存储在与主GPU 225关联的附加存储器145?中以便有助于快速存储器访问。
图形装置220类似于图形装置215而具有从GPU 240,一组渲染命令和数据245,和纹理贴图250。在实施例中,从GPU 240不由系统200识别为显示装置。事实上,从GPU240与主GPU 225平行操作以改进初级图形装置的图形性能。在此平行处理操作模式中,从G-PU 240不直接与显示装置(未图示)连接;事实上,其输出发送到图形装置215以便被输出。在另一实施例中,系统200的替代操作模式将图形装置220识别作为辅助显示装置。在此替代操作模式中,图形装置220的输出行进到辅助显示器。替代操作模式允许系统200利用两个独立的显示装置。
在平行处理操作模式中,图形装置215和220通常将需要许多相同渲染命令和数据以及纹理贴图。例如,如果图形装置215和220正渲染相同表面的不同部分,那么两个图形装置均将需要访问相同纹理贴图。此外,相同组的渲染命令和数据,包括特定用于图形装置中的仅一个的渲染命令,可发送给两个图形装置。包括在所述组命令中的设置装置掩模(set device mask)(SDM)命令将指示其它图形装置跳过不适用于所述装置的渲染命令。2003年8月12日申请的美国专利申请案第10/639,893号,题为″ProgrammingMultiple Chips from a Command Buffer″的相关专利申请案中描述了SDM命令的操作和应用。
在平行处理操作模式的现有实施方案中,将需要CPU 205在两个独立操作中将渲染命令和数据以及纹理贴图的副本传输到图形装置215和220。此实施方案通过需要数据被传输两次而浪费CPU。更重要的是,此现有实施方案将通常使总线210的容量由于数据传输而饱和。例如,典型的英特尔奔腾4(Intel Pentium 4)CPU总线具有约每秒3.2千兆字节(GB)的带宽。用以将系统200的实施例与图形装置215和220连接的PCI-X图形总线将每秒1.5GB的带宽分配给每一图形装置。因此,如果图形装置215和220均使用最大带宽,那么它们将需要CPU 205的每秒3GB的带宽,从而实质上使CPU总线饱和。此外,添加附加图形装置大体上不会改进性能,因为CPU总线将不能够将数据传输得足够快以支持附加图形装置。
图3说明根据本发明实施例用于将数据传输给两个平行图形处理子系统且从两个平行图形处理子系统传输数据的系统300。系统300使用存储器-映射I/O以便在CPU 305与图形装置310和315之间传送渲染命令和数据。在存储器-映射I/O中,写入到预定范围的存储器地址的命令和数据传送到图形装置310和315,且相反,来自图形装置310和315的数据可由CPU 305从所述预定范围的存储器地址读取。
存储器映射320以图形表示系统300中可用存储器地址的范围。存储器映射320含有用以与图形装置310和315通信的存储器地址的若干孔径或范围。单播孔径325和330经调试以分别将命令和数据分布到图形装置310和315。写入到给定单播孔径的命令和数据将仅分布到与所述单播孔径关联的图形装置。类似地,从单播孔径读取的数据将从关联的图形装置检索数据。
除单播孔径325和330以外,存储器映射320还包括广播孔径335。广播孔径335使CPU 305能够同时与系统300中的所有图形装置通信。写入到广播孔径335的命令和数据分布给图形装置310和315,以及系统300中的任何其它图形装置。在实施例中,从广播孔径335读取的数据将从指定为主图形装置或初级图形装置的图形装置检索数据。
本发明的实施例包括经调试以便将写入到广播孔径335的数据复制到系统300中的每一图形装置的桥接器。图4说明根据本发明实施例用于将数据传输到平行的两个或两个以上图形处理子系统且从平行的两个或两个以上图形处理子系统传输数据的桥接器。系统400包括通过CPU总线415与CPU 410连接且通过图形总线425与两个图形装置420和430连接的桥接器405。在实施例中,桥接器405集成在系统400的核心逻辑的组件中,例如在北桥接器或南桥接器系统控制器中。
桥接器405包括用于存储桥接器配置信息的四个寄存器440、445、450和455。广播孔径基址寄存器440存储用于广播孔径的物理存储器地址。在实施例中,广播孔径的物理存储器地址在系统启动期间由系统BIOS确定。广播孔径尺寸寄存器445存储广播孔径的尺寸。在实施例中,用户使用计算机系统BIOS配置实用程序来指定广播孔径尺寸。例如,BIOS配置实用程序可包括用于指定广播孔径尺寸的菜单选项,如128、256或512兆字节。广播孔径尺寸存储在计算机系统CMOS存储器中,且可在系统初始化期间被检索并存储在寄存器445中。
在另一实施例中,菜单选项允许用户禁止使用多个图形装置的系统中的广播孔径驱动多个独立的显示器且不需要平行处理操作模式。禁止广播孔径减少了存储器-映射I/O所消耗的地址空间的量,从而潜在地改进系统性能。
基址寄存器0和1(分别为BAR0和BAR1)450和455存储分别与图形装置420和430关联的单播孔径的物理存储器地址。在实施例中,如下文详细讨论,基址寄存器450和455由与桥接器驱动器通信的图形驱动器来配置。在另一实施例中,桥接器405包括附加基址寄存器,其允许包括附加图形装置。
在从CPU 410接收到存储器访问请求465时,桥接器405将包括在存储器访问请求465中的存储器地址与由寄存器440和445的值界定的物理存储器地址范围进行比较。如果存储器地址在广播孔径内,例如在广播基址寄存器440的值与广播基址寄存器440和广播尺寸寄存器445的值的和之间,那么桥接器启动存储器广播操作。在另一实施例中,与广播孔径关联的掩模值用以防止存储器访问请求重写与每一图形装置关联的存储器的保留部分。
在另一实施例中,桥接器405与直接存储器访问(DMA)控制器(未图示)形成界面。在此实施例中,CPU 410指示DMA控制器将数据传输到广播孔径。DMA控制器根据由CPU 410提供的指令从源存储器地址检索数据并将数据写入到目的存储器地址。桥接器405检查DMA请求中的目的地址以确定数据是否在广播孔径内,如上所述。
对于在广播孔径内的存储器地址,内部数据总线和广播逻辑元件460剥离存储器地址的高阶地址位且形成两个单播存储器访问请求。每一存储器访问请求用寄存器450或455中的单播物理存储器地址值代替被去除的地址位。在另一实施例中,桥接器405允许32个以上的地址位,例如启用48位或64位寻址方案。更大数目的地址位使由广播孔径消耗地址空间的效应最小化。在此实施例的实施方案中,基址寄存器450和455仅包括用于单播物理存储器地址的高阶地址位,例如位47-16。通过保留存储器地址的较低16位,此确保单播物理存储器地址如许多典型CPU所需而与64KB值对准。
接着两个单播存储器请求通过图形总线425传送到其各自的图形装置420和425。在实施例中,图形总线425包括两个独立的通信信道428和432,从而允许平行发布单播存储器访问请求。或者,图形总线425包括单个通信信道且桥接器连续发布单播存储器访问请求。不管图形总线425的实施方案和图形装置的数目如何,系统400仅需要CPU410发布单个存储器访问请求以便与所有图形装置通信。此防止多个图形装置使CPU总线415饱和且避免浪费CPU循环以执行多余的存储器传输。
为了桥接器405能够适当地发挥作用,寄存器440、445、450和455必须经适当配置。图5说明根据本发明实施例用于配置桥接器的系统500,所述桥接器用于将数据传输到平行的两个或两个以上图形处理子系统且从平行的两个或两个以上图形处理子系统传输数据。在系统500初始化期间,系统BIOS检测桥接器505和图形装置510和515。BIOS配置物理存储器地址空间520以分配用于桥接器505的广播孔径522和分别用于图形装置510和515的单播孔径524和526。在实施例中,广播基址由BIOS确定,且从存储在系统500CMOS中的配置信息确定广播孔径尺寸。
在系统初始化之后,加载操作系统(例如,Microsoft Windows)。在操作系统的初始化期间,物理存储器地址空间520中界定的孔径映射到由操作系统界定的虚拟存储器地址空间530。在虚拟存储器地址空间530中,虚拟广播孔径532对应于物理广播孔径522,且虚拟单播孔径534和536分别对应于物理单播孔径524和526。
操作系统初始化之后,在物理地址空间520和虚拟地址空间530中的广播孔径空间已由系统分配。然而,桥接器505的配置寄存器不含有适当值,且因此广播孔径不发挥作用。为了启用广播孔径,桥接器驱动器550由操作系统加载。桥接器驱动器550自动从系统检索广播孔径基址和广播孔径尺寸值且配置桥接器505的适当寄存器。
在实施例中,多个图形装置的平行操作模式由默认值禁止。如果用户需要,那么此允许多个图形装置驱动不同的显示器。如果用户(或应用程序)需要单个显示器上的增加的图形性能,那么用户或应用程序以信号通知图形驱动器540以启用平行操作模式。响应于此请求,图形驱动器540检索系统中图形装置的单播孔径基址值。在实施例中,这些值为单播孔径524和526在物理地址空间520中的物理地址值。图形驱动器540使用操作系统通信信道(例如,IOCTL)将这些基址值545传送到桥接器驱动器550。桥接器驱动器550在接收到用于单播孔径524和526的基址值545时,将这些值传送到桥接器505,藉此配置桥接器550的BAR0和BAR1寄存器的值且激活广播孔径。类似地,基于来自图形驱动器540的请求,桥接器驱动器550可停用广播孔径。
在实施例中,桥接器驱动器550仅用以配置桥接器505且激活广播孔径。一旦广播孔径被激活,图形驱动器540可直接与虚拟广播孔径532通信560,虚拟广播孔径532进而由操作系统映射565到物理广播孔径522。接着物理广播孔径522将通信570指向桥接器505,桥接器505进而分别通过单播孔径524和526将独立的通信发布到图形装置510和515。
图6A和图6B说明可与本发明实施例一起实施的两种不同的平行渲染技术。图6A说明分割帧渲染技术,其中帧600的不同部分分配给不同图形装置。例如,部分605分配给第一图形装置且部分610分配给第二图形装置。分别在第一和第二图形装置上平行渲染部分605和610,且接着将其组合为最终输出图像。
图6B说明替代的帧渲染技术,其中连续的帧分配给不同图形装置。例如,帧650分配给第一图形装置且帧655分配给第二图形装置。第一和第二图形装置平行渲染其各自的帧,所得的经渲染的帧相继地被显示。
图7A和图7B说明根据本发明实施例平行渲染技术的实施方案。图7A说明具有连接到显示装置715的主图形装置705和从图形装置710的实施方案700。主和从图形装置705和710通过图形总线720与计算机系统的剩余部分连接。在此实施方案中,在交替帧渲染的情况下来自从图形装置710的经渲染的图像,或在分割帧渲染的情况下经渲染的图像的一部分,通过数字视频连接725传送到主图形装置705。主图形装置705将通过数字视频连接725接收到的图像(或其部分)输出到显示装置715。在分割帧渲染的情况下,主图形装置705将所接收的图像与由主图形装置705渲染的图像的一部分组合。
图7B说明具有与显示装置760连接的主图形装置755和附加从图形装置765、770和775的实施方案750。图形装置755、765、770和775平行操作以渲染输出图像的不同部分或不同输出图像,且与计算机系统的剩余部分连接并通过图形总线780而相互连接。在渲染输出图像或其部分之后,实施方案750使用位图传送命令通过图形总线780从从图形装置765、770和775将输出图像或其部分复制到与主图形装置755关联的显示存储器。接着复制的图像由主图形装置755显示在显示装置760上。在分割帧渲染的情况中,主图形装置755将来自从图形装置765、770和775的图像部分与主图形装置755渲染的图像的一部分组合。
在另一实施例中,分割帧渲染通过将输出图像分为具有与其渲染复杂度成反比的尺寸(例如,许多像素)的多个部分而使分配给每一图形装置的负荷平衡。为了使通过位图传送操作经过图形总线780传输的数据的量最小化,实施例用从图形装置765、770和775渲染尺寸最小的最复杂部分。由于这些部分尺寸最小,所以需通过图形总线780移动的数据量最小化。在另一实施例中,在将经渲染的图像传输到主图形装置755之前,由每一图形装置将反走样局部地应用到其各自的经渲染的图像或其部分。此实施例减小通过图形总线780发送的像素数目,且因此减小数据量。
图8说明根据本发明实施例具有平行操作的四个图形处理单元的级联实施方案800。实施方案800包括通过CPU总线与桥接器810连接的CPU 805。如上所述,桥接器810有助于广播孔径能够对多个图形装置进行数据传输。此处,图形装置820和825通过图形总线815与桥接器810连接。图形装置820包括内部桥接器830,其适合于将数据传输到图形处理单元840和845。图形装置825包括类似组件。图形装置820和825中的内部桥接器隐藏两个图形处理单元,使得从桥接器810的角度来看,图形装置820和825每一者似乎只具有单一的图形处理单元。
实施方案800使用分割帧渲染与交替帧渲染的组合来改进渲染性能。图形装置820渲染第一帧,且图形装置825渲染第二帧。图形装置820内,图形处理单元840和845平行操作以渲染所分配的帧的不同部分。类似地,图形装置825的图形处理单元平行操作以渲染第二帧的不同部分。经渲染的帧如实施方案700或750中所描述而显示,其中图形装置820或825充当与显示器装置连接的主图形装置。
本发明提供一种在不过度消耗系统资源的情况下将数据传输到多个图形装置的有效的系统。在典型实施例中,只需要单一的存储器孔径将渲染命令和数据传输到任何数目的图形装置。尽管已参照本发明的特定实例和实施例论述了本发明,但这些仅用来说明本发明,而不是限定本发明。尽管参照若干平行渲染方案论述本发明,但本发明可用于使用不同的硬件装置渲染图像的任何应用。例如,可能为了安全或为了数字版权管理而对某一内容加密。能够解密的图形装置可经编程以渲染加密内容,而同时系统中其它图形装置渲染非加密内容。因此,本发明的范围将单独由权利要求书确定。

Claims (22)

1.一种配置一广播孔径以便在一处理器与复数个图形装置之间传输数据的方法,所述方法包含:
在一物理地址空间中接收一广播孔径的分配数据;
以一第一组配置数据配置一桥接器,其中所述桥接器适合于有助于在一处理器与复数个图形装置之间传输数据;
以一第二组配置数据配置所述桥接器,藉此激活所述广播孔径。
2.根据权利要求1所述的方法,其中以一第一组配置数据配置一桥接器进一步包含从一系统配置存储器检索包括一广播孔径尺寸的所述第一组配置数据的至少一部分。
3.根据权利要求2所述的方法,其中一用户通过一BIOS配置实用程序来设置所述广播孔径尺寸。
4.根据权利要求1所述的方法,其中以一第二组配置数据配置所述桥接器包含从一与所述复数个图形装置关联的图形驱动器接收所述第二组配置数据的至少一部分。
5.根据权利要求1所述的方法,其中所述复数个图形装置的至少一者包括复数个图形处理单元。
6.根据权利要求1所述的方法,其中所述处理器执行一图形驱动器,所述图形驱动器适合于通过所述广播孔径将一组渲染命令和渲染数据传送到所述复数个图形装置。
7.根据权利要求6所述的方法,其中所述组渲染命令引导所述复数个图形装置的一第一部分渲染一帧的一第一部分,且引导所述复数个图形装置的一第二部分渲染所述帧的一第二部分。
8.根据权利要求6所述的方法,其中所述组渲染命令引导所述复数个图形装置的一第一部分渲染一第一帧,且引导所述复数个图形装置的一第二部分渲染一第二帧。
9.根据权利要求6所述的方法,其中所述组渲染命令引导所述复数个图形装置的一第一部分将包含一帧的至少一部分的渲染图像数据传输到与一显示器装置连接的所述复数个图形装置的一者。
10.根据权利要求9所述的方法,其中所述复数个图形装置的所述第一部分适合于通过一数字视频连接将渲染图像数据传输到与一显示器装置连接的所述复数个图形装置的所述一者。
11.根据权利要求9所述的方法,其中所述复数个图形装置的所述第一部分适合于使用一位图传送操作经由一图形总线将渲染图像数据传输到与一显示器装置连接的所述复数个图形装置的所述一者。
12.根据权利要求11所述的方法,其中所述渲染图像数据包括一帧的至少一部分的一反走样版本。
13.根据权利要求11所述的方法,其中所述渲染图像数据与一帧的一复杂部分关联。
14.一种用于将数据传输到复数个图形装置的设备,所述设备包含:
一图形装置界面,其适合于在其与所述复数个图形装置的每一者之间传送一组数据;和
一图形装置广播单元,其响应通过一广播孔径而接收到的所述组数据,其中响应于通过所述广播孔径接收所述组数据,所述图形装置广播单元适合于在其与所述复数个图形装置的每一者之间传送所述组数据的一副本。
15.根据权利要求14所述的设备,其中所述图形装置广播单元适合于通过所述广播孔径从一处理器接收所述组数据。
16.根据权利要求14所述的设备,其进一步包括一直接存储器访问传输单元,所述直接存储器访问传输单元适合于从一存储器检索所述组数据,并通过所述广播孔径将所述组数据传送到所述图形装置广播单元。
17.根据权利要求14所述的设备,其中所述图形装置广播单元包括一广播孔径基址寄存器,其适合于存储一与所述广播孔径关联的存储器地址。
18.根据权利要求17所述的设备,其进一步适合于从一桥接器驱动器接收与所述广播孔径关联的所述存储器地址。
19.根据权利要求14所述的设备,其中所述图形装置广播单元包括一广播孔径尺寸寄存器,其适合于存储一与所述广播孔径关联的尺寸值。
20.根据权利要求19所述的设备,其进一步适合于从一桥接器驱动器接收与所述广播孔径关联的所述尺寸值,其中所述桥接器驱动器适合于从一系统配置存储器检索与所述广播孔径关联的所述尺寸值。
21.根据权利要求14所述的设备,其中所述图形装置广播单元包括与所述复数个图形装置对应的复数个单播孔径基址寄存器,每一单播孔径基址寄存器适合于存储一与所述复数个图形装置的一者的一单播孔径关联的存储器地址;且
其中所述图形装置界面适合于在其与所述复数个图形装置的所述每一者之间通过其相关单播孔径而传送所述组数据的一副本。
22.根据权利要求21所述的设备,其进一步适合于通过一桥接器驱动器从一图形驱动器接收与所述复数个图形装置的所述单播孔径关联的所述存储器地址。
CNB2005800058533A 2004-02-27 2005-02-02 用于向多个图形装置传输数据的装置和方法 Active CN100432977C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/789,248 2004-02-27
US10/789,248 US7289125B2 (en) 2004-02-27 2004-02-27 Graphics device clustering with PCI-express

Publications (2)

Publication Number Publication Date
CN1922602A true CN1922602A (zh) 2007-02-28
CN100432977C CN100432977C (zh) 2008-11-12

Family

ID=34887232

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800058533A Active CN100432977C (zh) 2004-02-27 2005-02-02 用于向多个图形装置传输数据的装置和方法

Country Status (5)

Country Link
US (1) US7289125B2 (zh)
JP (1) JP4755172B2 (zh)
CN (1) CN100432977C (zh)
TW (1) TWI309008B (zh)
WO (1) WO2005091774A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339517B (zh) * 2007-06-20 2012-01-11 辉达公司 用于在图形处理系统中广播写入操作的系统、方法和设备
CN102385760A (zh) * 2010-08-27 2012-03-21 国际商业机器公司 用于保护模型数据的方法及系统
US8555099B2 (en) 2006-05-30 2013-10-08 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
CN103927708A (zh) * 2008-06-11 2014-07-16 英特尔公司 性能分配方法和装置
US8868945B2 (en) 2006-05-30 2014-10-21 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8497865B2 (en) 2006-12-31 2013-07-30 Lucid Information Technology, Ltd. Parallel graphics system employing multiple graphics processing pipelines with multiple graphics processing units (GPUS) and supporting an object division mode of parallel graphics processing using programmable pixel or vertex processing resources provided with the GPUS
EP1687732A4 (en) 2003-11-19 2008-11-19 Lucid Information Technology Ltd METHOD AND SYSTEM FOR A MULTIPLEXED 3D GRAPHIC PIPELINE VIA A PC BUS
US20090027383A1 (en) * 2003-11-19 2009-01-29 Lucid Information Technology, Ltd. Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition
US8085273B2 (en) 2003-11-19 2011-12-27 Lucid Information Technology, Ltd Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control
US7961194B2 (en) 2003-11-19 2011-06-14 Lucid Information Technology, Ltd. Method of controlling in real time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system
US20080079737A1 (en) 2003-11-19 2008-04-03 Reuven Bakalash Multi-mode parallel graphics rendering and display system supporting real-time detection of mode control commands (MCCS) programmed within pre-profiled scenes of the graphics-based application
US8411093B2 (en) * 2004-06-25 2013-04-02 Nvidia Corporation Method and system for stand alone graphics independent of computer system form factor
US8941668B2 (en) * 2004-06-25 2015-01-27 Nvidia Corporation Method and system for a scalable discrete graphics system
US7663633B1 (en) 2004-06-25 2010-02-16 Nvidia Corporation Multiple GPU graphics system for implementing cooperative graphics instruction execution
US8446417B2 (en) * 2004-06-25 2013-05-21 Nvidia Corporation Discrete graphics system unit for housing a GPU
US9087161B1 (en) * 2004-06-28 2015-07-21 Nvidia Corporation Asymmetrical scaling multiple GPU graphics system for implementing cooperative graphics instruction execution
TWI274255B (en) * 2004-11-08 2007-02-21 Asustek Comp Inc Motherboard
US7633505B1 (en) * 2004-11-17 2009-12-15 Nvidia Corporation Apparatus, system, and method for joint processing in graphics processing units
US7598958B1 (en) * 2004-11-17 2009-10-06 Nvidia Corporation Multi-chip graphics processing unit apparatus, system, and method
US7522167B1 (en) 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
US7716683B2 (en) * 2004-12-30 2010-05-11 Graphics Properties Holdings, Inc. Distributed graphics processing apparatus and method
EP1846834A2 (en) 2005-01-25 2007-10-24 Lucid Information Technology, Ltd. Graphics processing and display system employing multiple graphics cores on a silicon chip of monolithic construction
US20060267998A1 (en) * 2005-05-24 2006-11-30 Walls Jeffrey J Systems and methods for management of parameters in a multi-node graphics system
US20080143731A1 (en) * 2005-05-24 2008-06-19 Jeffrey Cheng Video rendering across a high speed peripheral interconnect bus
US20060282604A1 (en) 2005-05-27 2006-12-14 Ati Technologies, Inc. Methods and apparatus for processing graphics data using multiple processing circuits
US10026140B2 (en) * 2005-06-10 2018-07-17 Nvidia Corporation Using a scalable graphics system to enable a general-purpose multi-user computer system
US8893016B2 (en) * 2005-06-10 2014-11-18 Nvidia Corporation Using a graphics system to enable a multi-user computer system
US7456833B1 (en) 2005-06-15 2008-11-25 Nvidia Corporation Graphical representation of load balancing and overlap
US8144149B2 (en) * 2005-10-14 2012-03-27 Via Technologies, Inc. System and method for dynamically load balancing multiple shader stages in a shared pool of processing units
US7629978B1 (en) * 2005-10-31 2009-12-08 Nvidia Corporation Multichip rendering with state control
US7525548B2 (en) * 2005-11-04 2009-04-28 Nvidia Corporation Video processing with multiple graphical processing units
US7768517B2 (en) * 2006-02-21 2010-08-03 Nvidia Corporation Asymmetric multi-GPU processing
TWI309395B (en) * 2006-02-24 2009-05-01 Via Tech Inc Graphics system and graphics control method
US7970956B2 (en) * 2006-03-27 2011-06-28 Ati Technologies, Inc. Graphics-processing system and method of broadcasting write requests to multiple graphics devices
US7612783B2 (en) * 2006-05-08 2009-11-03 Ati Technologies Inc. Advanced anti-aliasing with multiple graphics processing units
US8082289B2 (en) 2006-06-13 2011-12-20 Advanced Cluster Systems, Inc. Cluster computing support for application programs
US7907138B2 (en) * 2006-12-29 2011-03-15 Intel Corporation System co-processor
US20080259556A1 (en) * 2007-04-20 2008-10-23 Tracy Mark S Modular graphics expansion system
US8134569B2 (en) * 2007-12-05 2012-03-13 Advanced Micro Devices, Inc. Aperture compression for multiple data streams
US8077180B1 (en) * 2007-12-21 2011-12-13 Matrox Graphics, Inc. Systems for and methods of using a display controller to output data
US8161209B2 (en) * 2008-03-31 2012-04-17 Advanced Micro Devices, Inc. Peer-to-peer special purpose processor architecture and method
US8319782B2 (en) * 2008-07-08 2012-11-27 Dell Products, Lp Systems and methods for providing scalable parallel graphics rendering capability for information handling systems
US8319780B2 (en) * 2008-07-30 2012-11-27 Nvidia Corporation System, method, and computer program product for synchronizing operation of a first graphics processor and a second graphics processor in order to secure communication therebetween
US8373708B2 (en) * 2008-07-30 2013-02-12 Nvidia Corporation Video processing system, method, and computer program product for encrypting communications between a plurality of graphics processors
CN101639930B (zh) * 2008-08-01 2012-07-04 辉达公司 一连串绘图处理器处理绘图数据的方法及系统
JP5280135B2 (ja) * 2008-09-01 2013-09-04 株式会社日立製作所 データ転送装置
US8373709B2 (en) * 2008-10-03 2013-02-12 Ati Technologies Ulc Multi-processor architecture and method
US8892804B2 (en) 2008-10-03 2014-11-18 Advanced Micro Devices, Inc. Internal BUS bridge architecture and method in multi-processor systems
KR101839035B1 (ko) * 2012-11-26 2018-03-19 한국전자통신연구원 멀티 gpu를 기반으로 하는 3차원 복원을 위한 장치 및 그 방법
CN103984669A (zh) 2013-02-07 2014-08-13 辉达公司 一种用于图像处理的系统和方法
US9684976B2 (en) * 2013-03-13 2017-06-20 Qualcomm Incorporated Operating system-resident display module parameter selection system
US9460481B2 (en) * 2013-03-25 2016-10-04 Vmware, Inc. Systems and methods for processing desktop graphics for remote display
DE102016100584A1 (de) * 2016-01-14 2017-07-20 Smartlogic Gmbh Bussystem
US10798162B2 (en) * 2017-08-28 2020-10-06 Texas Instruments Incorporated Cluster system with fail-safe fallback mechanism

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717440A (en) 1986-10-06 1998-02-10 Hitachi, Ltd. Graphic processing having apparatus for outputting FIFO vacant information
JPH05324583A (ja) 1992-05-26 1993-12-07 Dainippon Screen Mfg Co Ltd 画像データ処理装置
JPH0636011A (ja) * 1992-07-14 1994-02-10 Matsushita Electric Ind Co Ltd アニメーション画像生成装置
JP2780575B2 (ja) * 1992-07-27 1998-07-30 松下電器産業株式会社 並列画像生成装置
US6469746B1 (en) 1992-12-28 2002-10-22 Sanyo Electric Co., Ltd. Multi-vision screen adapter
JP2683489B2 (ja) * 1993-08-11 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション データ転送制御装置
JP2673101B2 (ja) * 1994-08-29 1997-11-05 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・グラフィクス装置
US6266072B1 (en) * 1995-04-05 2001-07-24 Hitachi, Ltd Graphics system
US5790130A (en) 1995-06-08 1998-08-04 Hewlett-Packard Company Texel cache interrupt daemon for virtual memory management of texture maps
JP3268591B2 (ja) * 1995-11-22 2002-03-25 株式会社日立製作所 グラフィックスプロセッサでの並列処理方法
US5790849A (en) * 1995-12-22 1998-08-04 Intel Corporation Method and apparatus to permit the boot of a shared memory buffer architecture employing an arbitrary operating system
KR100269106B1 (ko) 1996-03-21 2000-11-01 윤종용 멀티프로세서 그래픽스 시스템
JP3203180B2 (ja) * 1996-03-27 2001-08-27 三菱電機株式会社 幾何学演算装置
JPH10240700A (ja) * 1997-02-28 1998-09-11 Hitachi Ltd グラフィックス並列処理装置
US6385647B1 (en) * 1997-08-18 2002-05-07 Mci Communications Corporations System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data
US6362818B1 (en) 1998-01-07 2002-03-26 Evans & Sutherland Computer Corporation System and method for reducing the rendering load for high depth complexity scenes on a computer graphics display
DE19804470C1 (de) * 1998-02-05 1999-08-26 Leica Microsystems Mikroskopobjektiv mit einer Korrekturfassung
US6078339A (en) * 1998-02-10 2000-06-20 Intel Corporation Mutual exclusion of drawing engine execution on a graphics device
JP3365293B2 (ja) * 1998-02-12 2003-01-08 株式会社日立製作所 Dram,ロジック混載lsiを使ったキャッシュメモリ及びそれを用いたグラフィックスシステム
US6300965B1 (en) 1998-02-17 2001-10-09 Sun Microsystems, Inc. Visible-object determination for interactive visualization
US6023281A (en) 1998-03-02 2000-02-08 Ati Technologies, Inc. Method and apparatus for memory allocation
US6191800B1 (en) 1998-08-11 2001-02-20 International Business Machines Corporation Dynamic balancing of graphics workloads using a tiling strategy
US6317133B1 (en) 1998-09-18 2001-11-13 Ati Technologies, Inc. Graphics processor with variable performance characteristics
US6259461B1 (en) 1998-10-14 2001-07-10 Hewlett Packard Company System and method for accelerating the rendering of graphics in a multi-pass rendering environment
JP2000222590A (ja) 1999-01-27 2000-08-11 Nec Corp 画像処理方法及び装置
JP2001014478A (ja) * 1999-06-28 2001-01-19 Nec Eng Ltd グラフィックス並列処理装置
US6473086B1 (en) 1999-12-09 2002-10-29 Ati International Srl Method and apparatus for graphics processing using parallel graphics processors
US6724390B1 (en) 1999-12-29 2004-04-20 Intel Corporation Allocating memory
US6747654B1 (en) 2000-04-20 2004-06-08 Ati International Srl Multiple device frame synchronization method and apparatus
US6789154B1 (en) * 2000-05-26 2004-09-07 Ati International, Srl Apparatus and method for transmitting data
JP3904861B2 (ja) * 2000-08-21 2007-04-11 株式会社ソニー・コンピュータエンタテインメント 画像処理方法及び装置、コンピュータプログラム
US6683614B2 (en) 2001-12-21 2004-01-27 Hewlett-Packard Development Company, L.P. System and method for automatically configuring graphics pipelines by tracking a region of interest in a computer graphical display system
JP2003208627A (ja) * 2002-01-15 2003-07-25 Sony Corp 画像処理装置およびその方法
JP2003303349A (ja) * 2002-04-12 2003-10-24 Matsushita Electric Ind Co Ltd アンチエイリアス描画装置
KR20030082093A (ko) * 2002-04-16 2003-10-22 삼성전자주식회사 디지털 가입자 신호 변환 장치 및 이를 이용한 다중방송신호 처리 방법
US20040075623A1 (en) 2002-10-17 2004-04-22 Microsoft Corporation Method and system for displaying images on multiple monitors
US20040181806A1 (en) * 2003-03-11 2004-09-16 Visual Circuits Corporation Method and apparatus for transmitting digital video signals in a digital visual interface format over an RF cable
US20040179007A1 (en) * 2003-03-14 2004-09-16 Bower K. Scott Method, node, and network for transmitting viewable and non-viewable data in a compositing system
US7119808B2 (en) 2003-07-15 2006-10-10 Alienware Labs Corp. Multiple parallel processor computer graphics system
US7782325B2 (en) 2003-10-22 2010-08-24 Alienware Labs Corporation Motherboard for supporting multiple graphics cards

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555099B2 (en) 2006-05-30 2013-10-08 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US8868945B2 (en) 2006-05-30 2014-10-21 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
CN101339517B (zh) * 2007-06-20 2012-01-11 辉达公司 用于在图形处理系统中广播写入操作的系统、方法和设备
CN103927708A (zh) * 2008-06-11 2014-07-16 英特尔公司 性能分配方法和装置
CN103927708B (zh) * 2008-06-11 2017-07-21 英特尔公司 性能分配方法和装置
CN102385760A (zh) * 2010-08-27 2012-03-21 国际商业机器公司 用于保护模型数据的方法及系统

Also Published As

Publication number Publication date
TW200528993A (en) 2005-09-01
JP2007528062A (ja) 2007-10-04
WO2005091774A2 (en) 2005-10-06
US7289125B2 (en) 2007-10-30
US20050190190A1 (en) 2005-09-01
TWI309008B (en) 2009-04-21
CN100432977C (zh) 2008-11-12
WO2005091774A3 (en) 2006-07-27
JP4755172B2 (ja) 2011-08-24

Similar Documents

Publication Publication Date Title
CN100432977C (zh) 用于向多个图形装置传输数据的装置和方法
US7528836B2 (en) Programming multiple chips from a command buffer
US7456835B2 (en) Register based queuing for texture requests
CN1950878A (zh) 对系统存储器的gpu渲染
CN1324473C (zh) 具有图形上下文管理器的图形渲染装置、方法和系统
US8766996B2 (en) Unified virtual addressed register file
US7383412B1 (en) On-demand memory synchronization for peripheral systems with multiple parallel processors
US20190324991A1 (en) Block-based lossless compression of geometric data
CN1287330C (zh) 用于区带渲染的有效图形状态管理
US7386697B1 (en) Memory management for virtual address space with translation units of variable range size
CN1213374C (zh) 靠近局部输入/输出总线的桥接器中的输入/输出地址转换装置及方法
US5801717A (en) Method and system in display device interface for managing surface memory
CN105556487B (zh) 对页驻留的条件性页错误控制
CN101057261B (zh) 三维图形处理
US6097402A (en) System and method for placement of operands in system memory
EP2202643A1 (en) Methods and apparatus for providing user level DMA and memory access management
EP1987434A1 (en) Methods and apparatus for providing independent logical address space and access management
US7245302B1 (en) Processing high numbers of independent textures in a 3-D graphics pipeline
CN1181828A (zh) 图像产生装置
CN101040270A (zh) 命令传输控制装置和命令传输控制方法
EP1255227A1 (en) Vertices index processor
EP1364298B1 (en) 3-d rendering engine with embedded memory
CN117194055B (zh) Gpu显存申请及释放的方法、装置及存储介质
CN112316434B (zh) 地形贴图的加载方法、装置、移动终端及存储介质
CN1278218C (zh) 在一计算机系统中支持多重图形适配器的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant