AGP, vs PCI, and throw in a little UPA was Re: [SunRescue] NetBSD v. Linux v. Solaris 2.51

Christopher Byrne rescue at sunhelp.org
Thu Dec 7 00:52:23 CST 2000


For 2-D video, and for non untextured 3D models, PCI provides enough
bandwidth for just about anything you need, unless the PCI bus is already
loaded with lots of other things. A fast SCSI card, or Gig ethernet for
example.

The whole purpose of AGP is to allow for better video throughput while using
textures. There are three ways that AGP does this.

First, AGP is a seperate bus with DMA and BUS mastering, sidebanding, and
fast writes. That means that it's maximum badwidth is always available to
it, and controlled by the adapter. It is bridged to the PCI bus, however
it's access to memory and processor is direct rather than over the PCI bus.

In the PCI bus, the bandwidth is shared by up to six devices. Since the bus
itself is 32 bit, 33 mhz (for most PC implementations, and the U5/10. The
U60, 80, and SunBlade offers at least one 64 bit 66 mhz slot) the maximum
bandwidth is a about 125 megabytes per second divided amongst all of the
devices (really about 120 due to overhead). If you look at my examples above
of a fast SCSI card at 160MB/s, that takes up more than the available
bandwidth, and a gige or FC card would gfill it as well.

Second, AGP is a multi transfer bus. Although it is also a 32 bit 33 mhz bus
(again for most applications. There are 64 bit 66 mhz versions for use in
high end workstations), AGP can transact up to four times per clock cycle,
and in future implemetation even more than that. This allows that 125 MB/s
to go to 500... actually it ends up as 480 MB/s due to overhead, but that's
still pretty not bad. Now this can only occur under ideal conditions, more
often than not the card is waiting for the system to process other
information for many cycles rather than pumping through the max bandwidth.

Third, AGP allows textures to be stored in main system memory, and then
accessesd at high speed. This allows an AGP card to use larger textures than
would fit in it's on board texture memory, similar in concept to SGI's
unified memory architecture, in which video has access to all system memory
as if it were local to the graphics card.

For todays 3D games that isnt that big f a deal. Most games only use 128x128
texels anyway, and todays video cards have anywhere from 8 to 64 megs of
very fast video RAM (DDR in some cases), but in high end 3D modeling where
textures can be literally gigatexels in size, it can make a huge difference.

Suns UPA bus (Ultra Port Architecture) is very simlar in concept to AGP, but
is even faster with UPA bus speeds into 112 mhz speed range. This allows the
transfer of massive amounts of data through the video subsystem. Again this
allows for the huge textures used in high end 3d applications.

Chris Byrne
=======================================
The eyes may be the windows on the soul
But the word is the doorway to the mind
=======================================




-----Original Message-----
From: rescue-admin at sunhelp.org [mailto:rescue-admin at sunhelp.org]On
Behalf Of Cyrus M. Reed
Sent: Wednesday, December 06, 2000 21:38
To: rescue at sunhelp.org
Subject: Re: [SunRescue] NetBSD v. Linux v. Solaris 2.51


I'll second that.  AGP can be nice, but really PCI is just fine for most
things.  Matrox has made some really nice 2D cards in the past (like the
Millenium I/II).  I've even seen in a few places that AGP doesn't give
that much of a performance increase - it's more of a marketing thing.  I'm
not sure how true that is, but I'd bet that had a hand in it.

-Cyrus

O
http://www.sunhelp.org/mailman/listinfo/rescue




More information about the rescue mailing list