Apparatus and method for increasing the bandwidth to a...

Computer graphics processing and selective visual display system – Computer graphic processing system – Graphic command processing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S520000, C710S306000, C710S310000

Reexamination Certificate

active

06545683

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention pertains to the field of computer graphics. More particularly, the present invention relates to an apparatus and method for increasing the bandwidth to a graphics subsystem.
2. Related Art
FIG. 1A
illustrates a block diagram of an example computer system
100
A in which the present invention can be used. Computer system
100
A includes a graphics subsystem
102
, a central processing unit (CPU)
104
, a system memory
108
(also known as main memory) and a system bridge
106
. A processor bus (also known as a host bus or a front bus)
110
couples CPU
104
and system bridge
106
. A memory bus
112
couples system memory
108
and system bridge
106
. Additionally, peripheral bus
114
couples various input and/or output (I/O) devices
120
, also referred to as peripheral devices, to system bridge
106
.
Examples of peripheral devices that are used to input commands and information include keyboards and cursor control devices (e.g., a mouse, trackball, joystick, etc.). Examples of peripheral devices that are used to output information include a printer and a display screen. Additional examples of peripheral devices include floppy disk drives, hard disk drives, optical disk drives, and the like. In addition to coupling other I/O devices
120
to system bridge
106
,
FIG. 1A
also shows peripheral bus
114
coupling graphics subsystem
102
to system bridge
106
.
In a simple form, each bus (i.e., system bus
110
, memory bus
112
, and peripheral bus
114
) is essentially a collection of wires and connectors for transferring data between subsystems (i.e., CPU
104
, system memory
108
, I/O devices
120
, and graphics subsystem
102
) of computer system
100
A. Alternatively, each bus may be specifically designed for the type of device its supporting. For example, peripheral bus
114
can be a Peripheral Component Interconnect (PCI) bus which is a self-configuring personal computer local bus designed by Intel Corporation, Santa Clara, California, specifically for peripheral devices. A PCI bus typically provides a bandwidth of 133 Mbytes/sec when running at 33 MHz. When peripheral bus
114
is a PCI bus, I/O devices
120
are sometimes referred to as PCI-based devices.
Graphics subsystem
102
(also known as a graphics controller, graphics accelerator, graphics chip, graphics hardware, graphics board, or graphics card) is the hardware of computer system
100
A that is dedicated to enabling computer system
100
A to display images, such as three dimensional (3D) objects on a display (not shown). Graphics subsystem
102
typically includes its own local processor for computing graphical transformations, and the like. Additionally, graphics subsystem
102
typically has its own local graphics memory, such as texture memory and a frame buffer, which are reserved for storing data associated with graphical representations. The local graphic memory can be conventional DRAM, or other special types of memory such as video RAM (VRAM), which enables both video circuitry and the local processor to simultaneously access the local graphics memory. Such dedicated local graphics memory is typically more expensive than system memory
108
and cannot be used by computer system
100
A for other purposes (that is, non graphics purposes) when it is not being fully utilized by graphics subsystem
102
.
As computer graphics become more realistic and complex, increased burdens are places on computer system
100
A. For example, the generation of full motion animated 3D graphics requires the performance of continual intensive geometry calculations that define an object in 3D space. These geometry calculations can be performed by CPU
104
, which is well-suited for performing these calculations because it can handle the floating point type operations that are often required. Alternatively, these calculations can by performed by the local processor of graphics subsystem
102
.
Graphics subsystem
102
processes various types of graphics data. For example, graphics subsystem
102
processes texture data in order to create lifelike surfaces and shadows within a 3D image. Often one of the most critical aspect of 3D graphics is the processing of texture maps, the bitmaps which are used to represent in detail the surfaces of 3D objects. Texture map processing consists of fetching one, two, four, eight, or more texels (texture elements) from a bitmap, averaging them together based on some mathematical approximation of the location in the bitmap (or multiple bitmaps) needed on the final image, and then writing the resulting pixel to the local graphics memory of graphics subsystem
102
. The texel coordinates are functions of the 3D viewpoint and the geometry of the object onto which the bitmap is being projected and the location of the bitmap on the object. Other types of graphics data that are processed by graphics subsystem
102
include geometry data, also referred to as polygon descriptions (e.g., triangles consisting of three vertices), normals, color indices, and the like.
Typically, graphics data, such as texture maps, are read from an I/O device
120
(such as a hard drive) and loaded into system memory
108
. For example, texture map data travels through peripheral bus
114
, system bridge
116
, and memory bus
112
before being loaded into system memory
108
. The texture map can then be read into CPU
104
, from system memory
108
, when it is to be used. CPU
104
performs any necessary transformation and then caches the results. The cached data is either written back to system memory
108
or sent (pushed) from CPU
104
to graphics subsystem
102
. If the transformed textures are written back to system memory
108
, graphics subsystem
102
can read (pull) the transformed textures from system memory
108
. Upon receiving the transformed textures and/or any other types of graphics data, graphics subsystem
102
can immediately use them or write them in its local graphics memory.
Thus, for computer system
100
A shown in
FIG. 1A
, graphics data that is destined for or generated by graphics subsystem
102
must always travel over peripheral bus
114
. Therefore, the bandwidth of peripheral bus
114
(i.e., 133 MBytes/sec, if peripheral bus
114
is a typical current PCI bus) limits the rate at which texture maps, and other graphics data, can be transferred to and from graphics subsystem
102
. Additionally, since graphics subsystem
102
shares peripheral bus
114
with several other I/O devices
120
, congestion often occurs on peripheral bus
114
. Accordingly, peripheral bus
114
is often a bottleneck in computer system
100
A of FIG.
1
A.
Solutions for overcoming the above deficiencies have been proposed. For example,
FIG. 1B
illustrates the use of a dedicated graphics bus
116
which avoids the problems associated with graphics subsystem
102
sharing bus resources with various other I/O devices
120
. As shown in
FIG. 1B
, graphics bus
116
couples graphics subsystem
102
and system bridge
106
. An example of such a dedicated graphics bus
116
is an Accelerated Graphic Port (AGP) compatible bus. AGP, which is an interface specification developed by Intel Corporation, Santa Clara, Calif., is based on PCI, but is designed especially for the throughput demands of 3D graphics. Rather than using the PCI bus for graphics data, AGP introduces a dedicated point-to-point channel so that graphics subsystem
102
can directly access system memory
108
. An AGP channel is 32 bits wide and runs at 66 MHZ. This translates into a total bandwidth of 266 MBytes/sec as opposed to a current typical PCI bandwidth of 133 MBytes/sec. AGP also supports two optional faster modes with throughput of 533 MBytes/sec and 1.07 GBytes/sec. In the arrangement of
FIG. 1B
, if graphics bus
116
is an AGP bus, then system bridge
106
can be Intel's 440BX chipset.
Another example of a bus
116
that can be used to transmit graphics data is a serial bus, such as a FIREWIRE (also know as IEEE 1394) compliant bus. FIREWIRE is a serial bu

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Apparatus and method for increasing the bandwidth to a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Apparatus and method for increasing the bandwidth to a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus and method for increasing the bandwidth to a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3081625

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.