PDA

View Full Version : PCI bus question...


Mini-Me
01-28-2005, 11:47 PM
Hi all.
:)

This may seem like a stupid question, considdering I build a lot of computers, but I am curious about a specific detail on the PCI bus.

Do the individual bus slots have IRQ's assigned, even if there is no card plugged in?

I am aware that all the sockets are connected in parallel(bus wired), so therefore, it should not matter what socket you put a card in, it will work, so long as there are no conflicts.

Yet, many people I talk to(including on this forum), suggest putting a troublesome card in another PCI slot.

I am curious as to how this could possibly effect anything, as, for example, if the card uses IRQ-5, and it is on slot-1, and you move it to slot-4, it is still going to be using IRQ-5, so what's the deal with slot swapping???

It would seem to work, as I have a Pinnacle capture card, and someone here(appologies - I forget their name), suggested I move the card to another slot. Last night, the computer refused to boot - it would lock up just as the Windows XP splash-screen fades in. I shut down the box, unplug, and remove the card from slot-4, and put it in slot-1, reboot, and the problem seems to have gone.

What is going on here?

Many thanks for any replies.


MM.

pop pop
01-29-2005, 12:20 AM
I am only guessing but ...

First, although in parallel and on a bus, there could be a faulty, or at least problematic, connector. Slot swapping is an attempt to rule that out.

Next, I work on militarized systems and don't know about PCs but, the "slots" and/or cards are, or may be, addressed in some fashion. With PC's, my guess would be that there is an onboard ROM that says "I'm a video card" and so IRQ "X" should be assigned or "I'm a NIC" and so IRQ "Y" should be assigned regardless of where I am on the bus.

saphalline
01-29-2005, 04:42 AM
You are correct, pop pop, the individual slots on the PCI bus do indeed have their own ID tag. Otherwise, how would the system distinguish the cards?

The top-most card is always the first one, often given the ID tag of "zero", and if you have a PCI vid card, this is where it goes. If you look in a modern BIOS, you will see the setting called "Init Display First" with either AGP or PCI (those not having PCI-e) and so when set to PCI, the system initializes the first PCI slot for video duties. If you put a PCI vid card into a lower slot, some systems refuse to boot, or at least to display anything.

The main question presented here is an interesting one, because it lays bare the difference between IRQ's (which are assigned by function) and actual hardware (which uses various forms of ID tags). If you go into an office building with cubicles (ever seen these? :p) and meet the workers, you will find that many of them have specific tasks. Now, move them around, make them switch cubicles, put them in utter disarray. Do they now have different tasks to do? No. The people have the tasks, not the cubicles! Of course, they may not function as a group as effectively after being moved (indeed some disgruntled employee might even quit which can cause the equivalent of a system crash!) but the point here is that the tasks are the IRQ's, the people who do them are the devices, and the cubicles are the hardware slots.

So the IRQ's are set to certain functions, and are doled out according to what is plugged into the system. It doesn't matter where these devices are physically located, as long as the BIOS can find them.