Ahmon Dancy wrote:
> Regarding bus mastering slots:

> Can anyone give a brief technical explanation of what bus mastering
> slots are about and what card are likely to be bus mastering?

In the old days the CPU would be programmed to get data from IO cards
(or put the data in). Programmed IO. 

Nowadays many cards can be told to go get the data themselves. So when
I transfer 1Mb of data from my harddisk, the CPU has to tell the chip
about 250 times where to put the data, and the harddisk-chip will do
the rest by itself. In the old days, the CPU would have had to do a
few instructions for every one or two bytes! 

So nowadays, network cards, sound cards, SCSI cards all do "bus
mastering" and gather the data they need from memory themselves.

To do this, they request the system bus using a signal called "bus
request". When the system is ready for this device, the system will
signal "bus grant", and the device is allowed to access main memory. 

These signals need to be separate: there can be a network packet
coming in at the same time as the harddisk having some data ready.

If these two cards were to share a busrequest /busgrant signal, they
would both signal "bus request" at the same time, which would be
recognized by the board just fine. However then, when the bus grant
would happen, they would both start to access the bus at the same
time. (compare this with two green lights on different roads with a
traffic light...)

So, one card may say: write 1200 to address 5070 and the other may
want: write 0034 to 0608. The result might be 1234 going to address
5678! (Or something completely different).

Now, on the BP6 (and a lot of other boards), two slots share a
busrequest, and busgrant line. You get to use only one of them with a
card that uses busmastering.

A second video card is an option. Video cards rarely use bus mastering. 

The multi-port serial cards that I've written drivers for also don't
use busmastering. I'm told that RTL8139 cards don't use busmastering
either.

Oh, the PCI people designed the Interrupt lines in such a way that
they can be shared between different devices. So all PCI device
drivers should be able to handle this situation. 

                        Roger. 

-- 
** [EMAIL PROTECTED] ** http://www.BitWizard.nl/ ** +31-15-2137555 **
*-- BitWizard writes Linux device drivers for any device you may have! --*
* There are old pilots, and there are bold pilots. 
* There are also old, bald pilots. 
--
=-          To unsubscribe, email [EMAIL PROTECTED] with the       -=
=-                body of "unsubscribe linux-abit".                 -=

Reply via email to