Computer Science/Front Side Bus

Question
We were taught in Computing that a computer has a data bus, address bus and control bus that connect the CPU to main memory and other hardware, but in a 'real' PC the CPU is connected to main memory (via North Bridge) by the Frontside Bus... is the fronside bus just the data bus and the address bus/control bus are separate or does the FSB contain data, address and control lines?

Also, what does the speed of the FSB actually tell us? For example if the speed is 800MHz does this show how many packets per second can be transmitted in either direction?

Thanks.

Simon,

In computers, the front side bus (FSB) is a term for the physical bi-directional data bus that carries all electronic signal information between the central processing unit (CPU) and other devices within the system such as random access memory (RAM), the memory containing the system BIOS, AGP video cards, PCI expansion cards, hard disks, etc.

Some computers have an L2 or L3 memory cache external to the CPU connected via a back side bus. This bus and the cache memory connected to it is faster than accessing the system RAM via the front side bus.

Most modern front side buses serve as a backbone between the CPU and a chipset. This chipset (usually a combination of a northbridge and a southbridge) is the connection point for all other buses in the system. The PCI, AGP, and memory buses all connect to the chipset to allow for data to flow between the connected devices.

These secondary system buses usually run at speeds derived from the front side bus' speed. In general, a faster front side bus means higher processing speeds and a faster computer for a number of reasons which are outlined below.

CPU
The frequency at which a processor (CPU) operates is determined by applying a clock multiplier to the front side bus (FSB) speed. For example, a processor running at 550 MHz might be using a 100 MHz FSB. This means there is an internal clock multiplier setting (also called bus/core ratio) of 5.5; the CPU is set to run at 5.5 times frequency of the front side bus: 100 MHz x 5.5 = 550 MHz. By varying either the FSB or the multiplier, different CPU speeds can be achieved.

Memory

Setting a FSB speed is related directly to the speed grade of memory that a system must use. The memory bus connects the northbridge and RAM, just as the frontside bus connects the CPU and northbridge. Often, these two buses must operate at the same frequency. Pushing the front-side bus to 170 MHz means pushing the memory to 170 MHz in most cases.

In newer systems, it is possible to see memory ratios of "5:4" and the like. The bus will run 5/4 faster than the memory in this situation, meaning a 200 MHz bus can run with the memory at only 160 MHz. With bus speeds increasing rapidly, it may be necessary to run the RAM at a lower frequency than the system bus in order to stay within the limitations of the DRAM modules on the memory stick. This incurs a performance penalty, but it allows slower RAM to be used with the faster bus speeds that some processors were designed for.

In complex image, audio, video, gaming, and scientific applications where the data set is large, FSB speed becomes a major performance issue. A slow FSB will cause the CPU to spend significant amounts of time waiting for data to arrive from system memory.

Peripheral Buses

Similar to the memory bus, the PCI and AGP buses can also be run asynchronously from the front side bus. In older systems, these buses operated at a set fraction of the frontside bus frequency. This fraction was set by the BIOS, and it depended on the frontside bus speed to an extent as the intended speeds for the buses are 33 MHz for PCI and 66 MHz for AGP.

In newer systems the PCI, AGP, and PCI Express peripheral buses often receive their own clock signals, which eliminates their dependence on the frontside bus for timing.

Overclocking

Overclocking is the practice of making computer components operate beyond their stock performance levels.

Most motherboards allow the user to manually set the clock multiplier and FSB settings by changing jumpers or BIOS settings. Many CPU manufacturers now "lock" a preset multiplier setting into the chip. It is possible to unlock some locked CPUs; for instance, some Athlons can be unlocked by connecting electrical contacts across points on the CPU's surface. For all processors, increasing the FSB speed can be done to boost processing speed.

This practice does push components beyond their specifications and may cause erratic behavior or premature failure.

The frontside bus has been a part of computer architecture since applications first started using more memory than a CPU (a very complex integrated circuit) could reasonably hold.

The front side bus as it is traditionally known may be disappearing. Originally, this bus was a central connecting point for all system devices and the CPU. However, in recent years this has been breaking down with increasing use of individual point-to-point buses.

Three recent bus technologies are GTL+, EV6, and HyperTransport. Each bus is unique in how it moves data within the system between the CPU and devices.

GTL+/AGTL+ Bus

Designed by Intel for the Pentium Pro, Pentium II, and Pentium III CPUs, as well as Xeons based on these cores (GTL+)
Redesigned for the Pentium 4 as well as Xeons on the same cores (AGTL+)
So-called because it uses GTL+ signalling
VIA's C3, C7, and Epia CPUs use these buses and are often interchangeable with Intel CPUs
A "shared" bus, meaning that all CPUs compete over the same physical connection for the bus' bandwidth.
EV6 Bus

Designed by DEC (now part of HP) for use with their Alpha EV6 CPUs
Licensed by AMD for their Athlon and Athlon XP line of CPUs
A point-to-point protocol connecting each CPU to the northbridge, meaning that each CPU has a dedicated connection to the device.
HyperTransport

Designed largely by AMD in conjunction with the HyperTransport Consortium

A point-to-point serial connection used by AMD for their Athlon 64, Athlon FX, Athlon X2, and Opteron processors.
Not technically a front side bus.

The HyperTransport connection connects AMD CPUs to the rest of the system. Also, these CPUs use it as the baseline to which the internal clock multiplier is applied. Both of these functions were traditionally performed by the frontside bus. On AMD-64 CPUs, the frontside bus, which connects the CPU to the northbridge, has been removed in favor of an on-die memory controller which communicates with RAM directly.

Hope this helps.

Kind Regards,
Jeff

Computer Science

Volunteer

Jeff Laatsch

Expertise

I can answer programming questions related to: C, C++, PHP, PERL, VB, SQL, ASP, JAVA, JS, XHTML, XML, CSS, PL/SQL, AWK, SED, VI Editor and if I don`t know the answer I have 20+ years systems experience as my resource. I can handle general questions in most areas of computer science including systems integration, API, networking related issues.

Experience

An accomplished WEB Master/Developer, Programmer Analyst, Systems Administrator with 12+ years of industry background in full system management and technical hardware/software support expertise including SUN, HP-UX, AIX, LINUX, and Windows NT,Win2000, 2003 with Active Directory: Well rounded in software engineering principles, requirements gathering, analyst, definition, system architectural design, OOA, OOD, UML, SEI-CMM and SDLC: Knowledgeable in Data Warehouse, Data Mart technologies, and experienced working with ORACLE databases utilizing ERP, SQL, PHP, PERL, C, C++, PL/SQL,SQL, JAVA, VB.NET, SOAP and other Dynamic WEB technologies: Analytical thinker and problem solver: Goal oriented professional who has a Masters in Computer Systems with emphasis in computer programming (C++ and Application Development).

Education/Credentials
City University, WA 12/03
Master of Science in Computer Systems
with Emphasis in Computer programming (C++/App Development)
Chapman University, WA 6/01
Bachelor of Science in Computer Information Systems
Emphasis in Computer networks and security

20+ years of experience in the Computer Science Industry

Awards and Honors
7/96,9/96,10/96,1/97,2/98,6/99,10/01,7/02,01/03,
Outstanding Achievement & Special Recognition