Could someone REALLY explain a PCIe slot to me?

Deus Gladiorum

Distinguished
So, I've built a desktop before and I've repaired a number of laptops in the past, but one thing that I can't seem to really get a concrete definition of is the PCIe slot.

I have a basic understanding, 2.0 doubles the maximum throughput over 1.0, and a PCIe x16 slot will obviously be able to transfer double the throughput of an x8 but the maximum throughput of...what exactly? I mean, where is the data being transferred to and what's its importance?

I know it can't be memory bandwidth because most every GPU has higher memory bandwidth than even a PCIe 3.0 x16 will handle, so exactly what is it?

EDIT: And I'm curious because I know there are graphics card out there which will be bottlenecked if using a PCIe 1.0 slot. Well what will be bottlenecked? The flow of information? How could I figure out this GPUs maximum information transfer rate? Is it like figuring out memory bandwidth by multiplying bus width by clock rate or something?
 
Solution
This is the image that is normally put up here.

perfrel.gif


PCIe 1.0 at 4x with a GTX680 cuts you down to about 75% of what you could get. But even a 16x slot on PCIe 1 will get you 95% of what you would expect. That's very little difference. So even for GPUs as long as you aren't using something with very little bandwidth you should be fine. Or mostly fine.

javathedot

Honorable
Jul 15, 2013
117
0
10,710
The PCIE slot is a communication port between whatever kind of card you put on that slot and the rest of the components such as processor, RAM, hard drives, etc...

But nowadays, PCIE slot is primarily used for Graphic cards. so it's the communication between graphic card and the rest of the components.

All the "graphics" that the video card displays comes from the hard drive. And all the processes that are required by an application to run are handled by the processor. All the display rendering will be handled by the video card. However, there is a more complicated communication happening between the video card and processor. It's like the video card is continuously asking the processor "which one will I display next?" "What if the character changes weapon? what will I display next?" so on so forth.

So imagine all these sophisticated communication transfers are happening on the PCIE slot.

Now, if the processor is so fast that it can throw let's 16 GB/s of data to the video card (assuming your video card is high-end too), but your PCIE slot is 1.0, which is only probably capable of 4 GB/s (check for exact figure) then there goes your "bottlenecked" PCIE slot.
 

4745454b

Titan
Moderator
The wiki might contain this info.

It's the flow of info from the CPU to the GPU. If the slot can't transfer the data fast enough then the gpu will be sitting around waiting. This lowers the fps that you will get. PCI 1 won't bottleneck most cards to bad. I think the gtx680 scores about 10% less.
 

memadmax

Distinguished
Mar 25, 2011
2,492
0
19,960
To put it in simple, easy to understand, terms it goes like this: The PCIe chip is in the northbridge of a traditional system motherboard setup. It transfers data between the CPU and the RAM, the GPU and the RAM, and the southbridge chip and the RAM. Everything is happening in the RAM unless it doesn't have the data that is needed then the CPU will go around looking for the data for whatever it needs. The GPU also mostly does it's thing in RAM unless the CPU is telling it to do something, this is traditional because of early screwups during the straight PCI days. So, there you have it. And you nerds don't need to be going blah blah blah blah "it actually does this", because in the real world, RAM is like a hub due to tradition, and it's alot easier.
 

qbsinfo

Honorable
Jul 26, 2012
601
0
11,360
and to tag on what other have said:
the transfer rate can't be compared to RAM. with PCI-E you are looking a the physical medium, the copper traces in the motherboard, will put limitations that a stick of RAM doesn't encounter with its components along with placement to the cpu being so much closer.
 
As far as you should be concerned, the PCI-E slot allows communication between your PCI-E device and all other components connected to the motherboard.

Common devices that use PCI-E interface are Graphics Cards, Sound Cards, high end/server SSDs and Ethernet adaptors.

The (maximum) data transfer bandwidth of a particular PCI-E slot is determined by the number of lanes it has (from X1 up to X32) as well as the revision of PCI-E architecture that both the motherboard and processor must support (Gen 1, 2, 3, 4)

You can only connect a PCI-E device to the corresponding PCI-E slot. For example you cannot connect an X16 Graphics Card into an X4 expansion slot. However you may connect a device with the same number of lanes as the slot, but of a different revision.

If you buy a modern Graphics Card it will always be PCI-E X16, and indicate what revision it runs optimally at. Most Graphics Cards on sale now are at revision 3.0, but you may connect it to an PCI-E 2.0 X16 slot. The data transfer will slower than with a revision 3.0 slot, but only slightly, because even powerful cards don't require the higher speed yet.
 

qbsinfo

Honorable
Jul 26, 2012
601
0
11,360


i beg your pardon if i misunderstood but you can certain use an x4 slot for an x1 card and an x16 slot for either a x4 or x1 card. the slot will only use what lanes are necessary.

but i will not go into how people will modify x4 slot to accommodate a graphics card . .
 

qbsinfo

Honorable
Jul 26, 2012
601
0
11,360

for a graphics card its a performance hit but for a dedicated physX card, its excellent. :D
 

4745454b

Titan
Moderator
This is the image that is normally put up here.

perfrel.gif


PCIe 1.0 at 4x with a GTX680 cuts you down to about 75% of what you could get. But even a 16x slot on PCIe 1 will get you 95% of what you would expect. That's very little difference. So even for GPUs as long as you aren't using something with very little bandwidth you should be fine. Or mostly fine.
 
Solution

Deus Gladiorum

Distinguished


So what I've absorbed so far is that it has nothing to do with memory bandwidth as I thought but, if a PCIe 1.1 slot at x4 runs a GTX 680 at 73%, why wouldn't doubling its lanes (i.e. x8) allow for 146% (though realistically 100%) of the GTX 680's information throughput? What actually is the formula for determining the maximum throughput of, if I'm understanding this correctly, the flow of information from (in this case) the CPU to the GPU? Or is it listed somewhere because I can't seem to find it on the technical specifications for a GPU.



Exactly what do you mean when you say that the CPU will go around looking for the data for whatever it needs? Exactly where would it look, as I'm guessing that looking in the HDD would be the next bet, right? And this would typically mean that, for example, in a game, the CPU stopping to look in RAM would mean you've hit a loading screen or something and that's where it's gone to look in order to load information from the HDD directly into the RAM for the next level?


:pfff: