[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AGP
On Sun, 27 Sep 1998 08:32:21 -0700 (PDT), Ira Abramov <ira@scso.com> wrote:
>well, AFAIK, AGP was designed very closely to PCI specs for a reason,
>that's why if you take two cards of the same modell, only PCI and AGP, the
>exact same chipset is used on both, and that allowed all the hardware
Well, if one is PCI and one is AGP, they CAN'T be EXACTLY the same chipset.
>vendors to support it as soon as they did after the introduction.
>basically you pass on the information to the bus controllers' buffewrs and
>forget about it (again, AFAIK!) just that with AGP it will pass on
>faster... (ofcourse I may be simplifying it)
Well, time to fix some misconceptions about AGP.
AGP is basically a souped up, point-to-point PCI bus. An AGP bus appears as
another PCI bus, whith separate device numbers on it. An AGP device has extra
information the the PCI configuration space.
The AGP bus can host two types of transactions, PCI and AGP:
PCI Transaction use only the PCI signal subset, and run at 33Mhz or 66MHz (or
even perhaps only 66MHz).
AGP Transactions have the following extra benefits:
1. new (optional) x2 mode at 133Mhz, and a new x4 mode (266MHz) in the new AGP
2.0 draft standard.
2. new (optional) sideband address bus (8 bit wide) that can be used to queue
read requests without tying up the main data bus. This means that new
read requests can be sent while the previous ones are still being received.
3. Handshaking is now done every 4 words instead of every word, making high
speed logic design easier.
4. GART - a page translation mechanism that resides on the motherboard and
allows an AGP card to access a logical linear memory area in the system
memory, which may actually be scattered around the physical memory.
The GART allows a card to access 3D textures at fixed locations even
though they move around in memory as needed by the O/S.
5. No snooping or bus locking. User is responsible for data coherency.
>the main difference that REALLY makes a difference with AGP is that an AGP
>card is allowed to get data from the main memory, effectively extending
This also existed on PCI. It's called bus mastering.
>its memory to look as large as needed. those features ARE driver
>controlled, but are really usefull with 3D and gaming, those cards will
>have the same speed if it's just for 2D, even if you use PCI versions
>anyway...
The only driver dependant stuff is the GART, which is not defined in the spec
(anyone is free to build a GART with different hardware and software
interfaces!)
So why has intel drove this AGP for 3D and not PCI?:
With 100Mhz SDRAMs, we have 800MB/s of bandwidth, which can't be utilized by
PCI alone. AGP is a separate port that can be driven independently of the PCI,
which means we have more bandwidth, just for fetching those 3D textures (well
almost - ignoring CPU cycles which run out of the cache most of the time).
The AGP protocol is more efficient since it is impossible to queue read
requests with PCI. This is very important for textures, since they are very
predictable (You don't depend on the texture data to decide where to fetch the
next data from, like you do when fetching CPU instructions)! With PCI, the
shorter your read transactions are, the less bandwidth you get. You can get
close to 133MB/s only with very large continous data transfers such as those
generated by SCSI cards or fast Ethernet cards.
AGP has more bandwidth:
PCI does 133MB/s with 33Mhz/32bit, and may go up to 524MB/s with 66Mhz/64 bit.
Currently, all the PCI slots in the PCI world are 33Mhz/32 bit (except for one
Micron machine with their own Samurai chipset, which no longer ships!)
AGP is only 32 bit, but can do 133Mhz (524MB/s) and 266MHz (1GB/s). AGP does
133MHz today, so it has 4x the bandwidth of PCI *today*.
Notice that both AGP and PCI above 33Mhz are only point-to-point, i.e. no more
than 1 slot! This is why 66MHz PCI is not near as it's impractical as a
general expansion bus. 64 bit wide PCI is simply expensive, as it require more
pins. However, Intel will support it in their next generation server chipsets,
if they don't already (Slot2).
>on a final note, AGP is an Intel standard. Intel promissed to help the
>Linux community quite a few times in the last few months, specifically
>with I2O and Merced specs, and will announce on Tuesday about investing in
>RedHat (!), I believe AGP specs and drivers are on the way too...
AGP specs are here, and were here from day zero. The only parts missing from
the AGP specs are the PCI modes, since the PCI standard is NOT free (I have
it, as my previous company paid $2500/year to be a PCISIG member).
You can find it on Intel's Developer CD's (which are free BTW. A great
resource with hunderds of megabytes of PDF files with Intel chipset specs and
processor assembly language manuals, etc.)
Just check http://developer.intel.com
As for I2O, it was BORN to be a closed spec, in a very NASTY way (You are not
allowed to publish source code for your software even if you want to). Lets
hope intel really solves this out.
Also a new tip:
A new PCI extension, called PXI-X has been submitted by Compaq, HP and IBM to
the PCI steering commitee. The basically add a 133Mhz mode for PCI, doubling
it's throughput. They haven't published the spec yet (even in the password
protected members-only section of the PCI SIG web page).
udi
- References:
- Re: AGP
- From: Ira Abramov <ira@scso.com>