memory - Are all peripherals directly connected to system bus?
2014-07
System bus has control, address and data buses, as we can see in this picture
I think the front-side bus and memory bus is directly on the system bus, but what about the PCIExpress and PCI buses, are they directly connected to the system bus? Or do they just all connect to a hub or controller, and the hub or controller is connected to the system bus?
There really isn't a "system bus" any more. This is like asking where the horeshoes are on a car.
The short answer is no.
To steal from @Sickest and the link in his comment and elaborate:
That image you provided is outdated. Modern architecture actually moved the memory controller from the North Bridge to directly on the CPU.
And if you ever look at your motherboard, you will see many controllers and chips that peripherals must communicate with before they hit the more core System Bus:
Windows XP is just using 2.5GB of the 3.5GB installed. Is there a simple way to see which PCI driver allocates how much of memory? I'm looking for something that shows me this data on a single screen (I don't want to click through the PCI drivers properties pages and manually copy the addresses).
You can use the device manager for this. Just open it (Workstation -> Properties -> Hardware -> Device Manager) and then change the view (View -> Resource by Type).
Then it'll list how much RAM is allocated for every device. Free RAM is a big chunk named "Mainboard". Note that there are duplicated entries, so if one of them doesn't really make sense, check the address of the next one. If they overlap, then those two entries are for the same thing and one of them should have a meaningful name.
You might try Belarc Advisor or PC WIZARD.