PC-based computing system employing a silicon chip of monolithic construction having a routing unit, a control unit and a profiling unit for parallelizing the operation of multiple GPU-driven pipeline cores according to the object division mode of parallel operation
First Claim
1. A PC-based computing system comprising:
- system memory for storing software graphics applications, software drivers and graphics libraries;
an operating system (OS), stored in said system memory;
one or more graphics applications, stored in said system memory, for generating a stream of geometrical data and graphics commands supporting (i) the representation of one or more 3D objects in a scene having 3D geometrical characteristics and (ii) the viewing of images of said one or more 3D objects in said scene during an interactive process carried out between said PC-based computing system and a user of said PC-based computing system;
one or more graphics libraries, stored in said system memory, for storing data used to implement said stream of geometrical data and graphics commands;
a central processing unit (CPU), for executing said OS, said one or more graphics applications, said drivers and said graphics libraries;
a CPU bus;
a CPU/memory interface module for interfacing with said CPU by way of said CPU bus;
a display surface for displaying said images by graphically displaying frames of pixel data;
a plurality of GPU-driven pipeline cores arranged in a parallel architecture and operating according to an object division mode of parallelization so that said GPU-driven pipeline cores process generated data and graphics commands in a parallel manner;
a silicon chip having a routing unit, a control unit, and a profiling unit; and
software multi-pipe drivers, stored in said system memory, and including a GPU driver module allowing said GPU-driven pipeline cores to interact with said OS and said graphics libraries;
wherein said routing unit (i) routes the stream of geometrical data and graphic commands from said one or more graphics applications to one or more of said GPU-driven pipeline cores, and (ii) routes pixel data output from one or more of said GPU-driven pipeline cores during the composition of each frame of pixel data corresponding to a final image, for display on said display surface;
wherein said control unit accepts commands from said software multi-pipe drivers, over said CPU bus, and controls components within said silicon chip, including said routing unit;
wherein said profiling unit profiles the performance of said GPU-driven pipeline cores and feeds back performance data to said software multi-pipe drivers, for balancing the data load among said GPU-driven pipeline cores during said object division mode of parallelization;
wherein said software multi-pipe drivers perform the following functions;
(i) controlling the operation of said silicon chip,(ii) interacting with said OS and said graphics libraries, and(iii) forwarding said stream of geometrical data and graphics commands, or a portion thereof, over said CPU bus to each said GPU-driven pipeline core; and
wherein, for each image of said one or more 3D objects to be generated and displayed on said display surface, the following operations are performed;
(i) said silicon chip uses said routing unit to distribute said stream of geometrical data and graphics commands, or a portion thereof, to said GPU-driven pipeline cores,(ii) one or more of said GPU-driven pipeline cores process said stream of geometrical data and graphics commands, or a portion thereof, during the generation of each said frame, while operating in said object division mode of parallelization, so as to generate pixel data corresponding to at least a portion of said image, and(iii) said silicon chip uses said routing unit to route said pixel data output from one or more of said GPU-driven pipeline cores and compose a frame of pixel data, representative of the image of said one or more 3D objects, for display on said display surface.
4 Assignments
0 Petitions
Accused Products
Abstract
A PC-based computing system employing a silicon chip having a routing unit, a control unit and profiling unit for parallelizing multiple GPU-driven pipeline cores according to the object division mode of parallelization operation, during a graphics application. The PC-based computing system includes system memory for storing software graphics applications, software drivers and graphics libraries, and an operating system (OS), stored in the system memory, and a central processing unit (CPU), for executing the OS, graphics applications, drivers and graphics libraries. The system also includes a CPU/memory interface module and a CPU bus. The routing unit (i) routes the stream of geometrical data and graphic commands from the graphics application to one or more of the GPU-driven pipeline cores, and (ii) routes pixel data output from one or more of GPU-driven pipeline cores during the composition of frames of pixel data corresponding to final images for display on the display surface. The control unit accepts commands from the software multi-pipe drivers, and controls components within the silicon chip, including the routing unit. The profiling unit profiles the performance of the GPU-driven pipeline cores and feeds back performance data to the software multi-pipe drivers, for balancing the data load among the GPU-driven pipeline cores during the object division mode of parallelization operation.
-
Citations
13 Claims
-
1. A PC-based computing system comprising:
-
system memory for storing software graphics applications, software drivers and graphics libraries; an operating system (OS), stored in said system memory; one or more graphics applications, stored in said system memory, for generating a stream of geometrical data and graphics commands supporting (i) the representation of one or more 3D objects in a scene having 3D geometrical characteristics and (ii) the viewing of images of said one or more 3D objects in said scene during an interactive process carried out between said PC-based computing system and a user of said PC-based computing system; one or more graphics libraries, stored in said system memory, for storing data used to implement said stream of geometrical data and graphics commands; a central processing unit (CPU), for executing said OS, said one or more graphics applications, said drivers and said graphics libraries; a CPU bus; a CPU/memory interface module for interfacing with said CPU by way of said CPU bus; a display surface for displaying said images by graphically displaying frames of pixel data; a plurality of GPU-driven pipeline cores arranged in a parallel architecture and operating according to an object division mode of parallelization so that said GPU-driven pipeline cores process generated data and graphics commands in a parallel manner; a silicon chip having a routing unit, a control unit, and a profiling unit; and software multi-pipe drivers, stored in said system memory, and including a GPU driver module allowing said GPU-driven pipeline cores to interact with said OS and said graphics libraries; wherein said routing unit (i) routes the stream of geometrical data and graphic commands from said one or more graphics applications to one or more of said GPU-driven pipeline cores, and (ii) routes pixel data output from one or more of said GPU-driven pipeline cores during the composition of each frame of pixel data corresponding to a final image, for display on said display surface; wherein said control unit accepts commands from said software multi-pipe drivers, over said CPU bus, and controls components within said silicon chip, including said routing unit; wherein said profiling unit profiles the performance of said GPU-driven pipeline cores and feeds back performance data to said software multi-pipe drivers, for balancing the data load among said GPU-driven pipeline cores during said object division mode of parallelization; wherein said software multi-pipe drivers perform the following functions; (i) controlling the operation of said silicon chip, (ii) interacting with said OS and said graphics libraries, and (iii) forwarding said stream of geometrical data and graphics commands, or a portion thereof, over said CPU bus to each said GPU-driven pipeline core; and wherein, for each image of said one or more 3D objects to be generated and displayed on said display surface, the following operations are performed; (i) said silicon chip uses said routing unit to distribute said stream of geometrical data and graphics commands, or a portion thereof, to said GPU-driven pipeline cores, (ii) one or more of said GPU-driven pipeline cores process said stream of geometrical data and graphics commands, or a portion thereof, during the generation of each said frame, while operating in said object division mode of parallelization, so as to generate pixel data corresponding to at least a portion of said image, and (iii) said silicon chip uses said routing unit to route said pixel data output from one or more of said GPU-driven pipeline cores and compose a frame of pixel data, representative of the image of said one or more 3D objects, for display on said display surface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
Specification