If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Synchronization - Understanding the System Clock

Well, fellow member's of AO, this is my 1000th post. Instead of doing the usual, create a thread and tell everyone about it, I've decided to give to the community. I've decided to create a tutorial/paper on the sytem clock of the motherboard. I hope you all enjoy it. Special thanks goes to Undertaker for proofreading . So without further ado:

The System Clock - Understanding what it is and how it determines CPU and bus speeds

Many people know about the FSB (Front Side Bus) and it's relation to the CPU and RAM. Many people also know that in order to take advantage of fast RAM and/or CPU the FSB needs to be fast enough (and vice versa) to prevent bottlenecking. That's all very important information to know when building or upgrading a computer. But how are these speeds determined? How is the FSB speed determined? How about the CPU or the PCI bus, etc? The answer is quite simple: the System Clock. We are going to be taking a deep look into the system clock, what it is, how it affects the speed of your computer and how all of this ties into overclocking.

From this point on it is important that you have a decent understanding of how a computer works. By this I mean you should know all the different buses and how they are used to provide communication pathways between different components. Just a basic understanding will suffice. Otherwise the information I present will look greek to you (unless of course you're greek ).

What the heck is a System Clock and how does it work?

The system clock is a quartz crystal on the motherboard that, when very slightly bent or disformed, produces an electric signal or pulse. When electric current hits the crystal, it's the electrons bouncing off of the crystal that causes it to slightly bend or fluctuate, therefore causing the crystal to produce an electric pulse or what's known as a clock cycle or clock pulse.

Definition of a Clock Pulse:

In synchronous digital electronics, such as most computers, a clock signal is a signal used to coordinate the actions of two or more circuits. A clock signal oscillates between a high and a low state, normally with a 50% duty cycle. In other words, the signal is a square wave. The circuits using the clock signal for synchronization may become active at either the rising or falling edge, or both (for example DDR SDRAM), of the clock signal.
Source: http://en.wikipedia.org/wiki/Clock_cycle

So without getting this to complicated, a clock pulse is basically an electronic signal that tells components when it can start sending/receiving data. It is the heartbeat of the computer. It's pulses can be used directly or scaled up or down in frequency for different buses. This enables different components on different buses to communicate with each other efficiently, therefore synchronizing all of the components together.

Understand that the System Clock doesn't just send one clock pulse every other second, that would cause the computer to be extremely slow and would have no real use in today's world. The System Clock generates hundreds of millions of clock pulses a second (mhz). The most common clock speeds of today's motherboards are 100mhz, 133mhz, and 166mhz. However high end computers have system clock speeds of 200mhz and over.

How the System Clock affects the speed of the FSB

Well, this actually depends on whether or not you have an Intel CPU or an AMD CPU. An Intel CPU is designed to send data 4 times for every CPU clock cycle at the speed of the System Clock (Quad Pumped). So if the System Clock is set at 200mhz, the CPU sends data 4 times along the FSB, each time at the speed of 200mhz, which is why the FSB is said to be 800mhz. AMD CPU's are a little different, they send data 2 times along the FSB for every CPU clock cycle at the speed of the system clock (Double Pumped).

Important Notice: this info is assuming the CPU's are 32-bit for simplicities sake. 64-bit CPU's work differently and I will explain them in a later paper.

So does the type of the FSB determine the type of RAM I should get for optimal performance?

You bet. You see, when Dual Pumped FSB (AMD) technology was introduced, regular SDRAM couldn't keep up. That's because while data from the processor was being sent twice per clock cycle, regular SDRAM was only sending data once per clock cycle. So in order to avoid this bottlenecking, DDR was soon introduced. With DDR RAM it is possible for the RAM to send and receive data twice per clock cycle. So because of this, the CPU and DDR RAM can now send and receive data at the same time.

Quad Pumped FSB (Intel) technology, allows the CPU to send and receive data 4 times per clock cycle. In order to avoid bottlenecking Intel and the Rambus Corporation created RIMM's or Rambus memory. Like DDR, Rambus only sent data twice per clock cycle but it was a lot faster then DDR. Since then, Rambus has come and gone and now Dual Channel memory is recommended for Intel's Quad Pumped FSB's, even though it still does not truely take full advantage of Quad Pumped FSB technology.

How the System Clock determines the speed of the CPU

On the CPU there is this thing called a multiplier. What this does is take the clock pulse from the System Clock and multiply it. The value the Multiplier is set at depends on the CPU and usually cannot be changed. The Multiplier for Pentium 4's are usually set to 14 or 15. So if the System Clock is set at 200mhz and the Multiplier is set at 15, then you multiply 200,000,000 by 15 which is of course 3 billion or 3ghz! How do you figure out what the multiplier is? Well, you can look in the CMOS setup or you can divide the FSB by 4(Intel) or 2(AMD) to get the System Clock and divide that by the speed of the CPU. So multiplier = CPU speed / (FSB / 2 or 4) depending on if it's an Intel or AMD. This information is important to know when overclocking your CPU.

Important Notice: this info is assuming the CPU's are 32-bit for simplicities sake. 64-bit CPU's work differently and I will explain them in a later paper.

So do all the other buses use Multipliers as well?

No. The other buses, like the AGP bus and the PCI bus for example, use Dividers. They take the System Clock pulses and divide them to a usuable speed for the PCI components and AGP card. You can change the Divider values in the CMOS setup or with jumper settings on the motherboard, but it isn't recommended unless your overclocking your computer. The AGP bus divider is set to specifically make the bus speed 66 mhz. The PCI bus divider is set to make the PCI bus speed 33mhz. Components that use the AGP and PCI bus are designed to run at those speeds. So if you set the divider to make the bus speed faster then those speeds, the components using those buses may be unusuable. On the other hand, if you make the bus speed slower, those components won't communicate effeciently with the rest of the components in the computer.

If your overclocking your CPU then you must increase the System Clock speed. Increasing the System Clock speed increases all the other bus speeds. Basically, the only thing you should overclock is the FSB, CPU and Memory Bus (GPU and VRAM on a video card can be overclocked as well but I won't get into that here). All of the buses connected to the South Bridge should not be changed. So while increasing the System Clock, it's important to go back and adjust the AGP and PCI bus Dividers accordingly. Unless the AGP and PCI bus are asynchronous, which means they are automatically set to run at 66mhz and 33mhz no matter what the System Clock is set at. It is worth noting that the AGP bus is more flexible in terms of overclocking when compared to the PCI bus, but you're better off just overclocking the video card.

Conclusion

So you always knew that a 2.4ghz processor running on a 533 FSB with PC3200 RAM was a good setup, but now you know how those speeds are determined and you are now armed with the knowledge and understanding of how overclocking works. You now know what a System Clock is, what it does, and why it's so important and how it allows all of the components within the computer to communicate with each other efficiently.

Yeah jinx, if your've been around computers that long then I'm sure you know all about this stuff... You old man, you....

About the 64 bit paper, I'm going to be extremely busy this summer so I don't know if i'll be able to get around to it. So if anyone else wants to write the 64bit paper, it's alright with me. It would be nice if you added info about DDR2 as well, because I was planning on a 64 bit + DDR2 combination paper...