What every programmer should know about memory, Part 1
What every programmer should know about memory, Part 1
Posted Sep 24, 2007 13:21 UTC (Mon) by tyhik (guest, #14747)Parent article: What every programmer should know about memory, Part 1
Ulrich has written fantastic technical papers earlier. Immediately, before reading, I was sure this one is not going to be different. Great thanks Ulrich! Can't wait for subsequent installments. Thanks also to lwn.
I think it's an error here. Section 2.3: "... since the Southbridge is connected to the Northbridge through the FSB, too."
AFAIK the bridges are not connected to each other through FSB.
Posted Sep 24, 2007 16:17 UTC (Mon)
by giraffedata (guest, #1954)
[Link] (1 responses)
And at the top of the article, it basically says that (and shows it in a drawing).
A similar contention question left open is that of contention in the Northbridge. Can that be a bottleneck? And what is it for, anyway? One could imagine the memory controller being directly on the FSB.
Posted Sep 26, 2007 18:20 UTC (Wed)
by csnook (guest, #36935)
[Link]
As for bottlenecks, even if the northbridge itself has enough internal bandwidth between all of its ports to function in a non-blocking fashion, you can't have a bottleneck-free network unless both the CPU and the I/O controllers have dedicated bandwidth to the memory. That only makes sense with multi-port DRAM, which isn't used for main memory in any commodity system.
Bridges connected to each other through FSB
AFAIK the bridges are not connected to each other through FSB.
The northbridge is the barrier between the CPU domain (FSB, HT, etc.), which has to deal with cache coherency, locking, interrupt delivery, etc. and the rest of the system, which simply passes serial messages or parallel data/address tuples around. On a sufficiently primitive system you don't really need one, but all modern commodity microarchitectures have something like a northbridge either on the chipset or the processor itself.Bridges connected to each other through FSB