Monday, June 8, 2009

The Front Side Bus, and why it had to die.

A great deal of computer science and computer networking students are at least aware of what the Front Side Bus is. For those of you who aren't, the FSB is essentially a transport system between your processor and your northbridge (which controls memory layouts and mappings). For years the FSB has been a subject of controversy for Intel. AMD had long since abandoned the technology in favor of HyperTransport, eliminating the need for a northbridge chipset by including its memory controller on the processor die itself. On the other side of the fence, Intel continued the use of the FSB to a fault, and had to design processors to mitigate the effects of this outdated technology.

That is, until now.

The new Intel line of processors, Core i7 (Nehalem architecture), have discarded the front side bus by moving the memory controller to the processor die. The release of the Core i7 processors has finally heralded the death of a technology long overdue for retirement.

What does the FSB do anyway?

I know quite a few IT people, and perhaps most of them only have a rudimentary understanding of what the FSB actually does. For those of you who don't know the purpose behind it (It might still be useful to know, for those of you building machines based on Intel Core 2 or earlier CPU architectures), here is a quick and dirty explanation of it.

As I stated earlier, the Front Side Bus is a kind of data channel between your CPU and your northbridge chipset. The northbridge chipset handles memory allocation, mappings, and layouts. If a program makes use of a memory address, the CPU has to communicate across the FSB to the northbridge in order to utilize that memory address.


The problem is that using the Front Side Bus for modern day processors is similar to buying a tricked out Nissan GT-R with 485hp, and never leaving 1st gear. With as much power as a processor such as the Intel Core 2 Quad could pump out, it's limited by the speed at which it must communicate with its memory controller.

Traditionally the speed of the Front Side Bus was measured in megahertz (MHz), but this would only determine the clock frequency of the bus (cycles per second). The performance of the bus, however, is not entirely dependent on clock speed. Other factors must be taken into account, such as the data width of the bus, and the number of data transfers per cycle. The best way to measure bus performance is to calculate the megatransfers per second, or MT/s. If you have a 800MHz FSB, assuming 4 data transfers per cycle, you get 3200 MT/s.

c * d = T

c = FSB Frequency
d = data transfers
T = Megatransfers

What happens to the northbridge now?

Some of you may have already figured it out; future motherboards will eliminate the northbridge entirely. This can be done so long as DMI (Direct Media Interface) is integrated on the processor chip (would look like this)

Okay, so no more FSB. How does the CPU get to RAM then?


I mentioned earlier that the memory controller now resides on the CPU die itself. If one CPU needs to access memory handled by another CPU, it communicates with that CPU using QPI (Quick Path Interconnect). In the case of FSB, the CPU would have had to wait its turn to use the FSB first, then communicate with the northbridge to find memory locations.

Didn't catch that? Here's an analogy:

Imagine that FSB is a two lane highway going to a metropolis, with traffic in both directions. This highway is the ONLY path between the metropolis and 4 large cities. Traffic clogs are frequent, and jam up both lanes.

Now imagine that QPI is a 4-lane highway with a second 4-lane highway right next to it going the other direction. This is only one instance of several separate highway systems connecting each city in a mesh (Six total bi-directional highway systems, in other words, as opposed to FSB's one) so that each city has a dedicated path to the other cities.

While this analogy has its flaws (Feel free to talk about the flaws in a comment), it demonstrates the huge difference between technologies. Overall the elimination is just one step further in the progress to faster speeds all around. It's just one more reason for me to buy a Core i7 processor.

2 comments:

Anonymous said...

"The path of least resistance is always the fastest way to get anywhere" so say the golfer who golfed on a day of thunderstorms.

Tim said...

Sorry for the late response, Bruno, but if you're still interested, see the following links for more details about your question:

http://en.wikipedia.org/wiki/Transfer_%28computing%29

http://www.pcguide.com/vb/archive/index.php/t-35265.html

Unfortunately though, it is hard to find the required details about modern retail processors to do the calculations. A list of common data transfers for Intel and AMD processors can be found below:

http://en.wikipedia.org/wiki/Front-side_bus#Transfer_rates