I'm trying to learn about how pci drivers works in Linux in PC environment but really find it difficult to go thorugh.There are few following statement which I like to understand before make a move.
The PCI specification permits a system to host up to 256 buses.(buses = pci slots?)
Each bus hosts up to 32 devices.
Each device can be a multifunction board with a maximum of eight functions.(what exactly this line means?)
On my PC can see only three pci slots (are these are called buses) and from each slots one irq lines is directed to cpu.
It seems my understanding is quite wrong and thats why wanted to get in more views in.
I can answer at least part of your question.
C1 C2 C3 .... Chipset/PCI bridge | | | | +---+----+ .... -----+
C1, C2, C3 etc are the white PCI connectors.
This is where you plug in a PCI card.
These are often called PCI slots
The line at the bottom is the PCI bus.
All devices on the same PCI bus can directly communicate with eachother.
Since they are on a shared bus, only one device can be active at the same time.
The part I marked Chipset/PCI bridge is often where the PCI bus is connected to other parts of the computer. This can be a connection to the chipset, or another PCI bus.
I found some link on Ars Technica's archives which might help:
http://archive.arstechnica.com/paedia/p/pci-express/m-pcie-1.html
http://archive.arstechnica.com/paedia/p/pci-express/m-pcie-2.html
...