One of the most popular performance-enhancing modifications of all time is overclocking, which can be defined as running all or part of the system faster than it was originally rated or intended to run. Overclocking is usually applied to the processor, but it can also be applied to other components in the system, including memory, video cards, bus speeds, and more. Overclocking PCs dates all the way back to the original 4.77MHz IBM PC and 6MHz AT systems of the early 1980s. In fact, IBM made overclocking the AT easy because the quartz crystal that controlled the speed of the processor was socketed. You could obtain a faster replacement for about a dollar and easily plug it in. The first several editions of this book covered how to perform this modification in detail, resulting in a system that was up to 1.5 times faster than it started out. Modern systems allow overclocking without replacing any parts by virtue of simple and easy-to-change BIOS Setup options. Quartz CrystalsTo understand overclocking, you need to know how computer system speeds are controlled. The main component controlling speed in a computer is a quartz crystal. Quartz is silicon dioxide (SiO2) in crystalline form. Oxygen and silicon are the most common elements on earth (sand and rock are mostly silicon dioxide), and computer chips are made mainly from silicon. Quartz is a hard, transparent material with a density of 2649 kg/m3 (1.531 oz/in3) and a melting point of 1750° C (3182° F). Quartz is brittle but with a little bit of elasticity, which is perhaps its most useful attribute. In crystalline form, quartz can be used to generate regular and consistent signal pulses to regulate electronic circuits, similar to the way a metronome can be used to regulate music. Quartz crystals are used because they are piezoelectric, which is defined as having a property that generates a voltage when subjected to mechanical stress and that also generates mechanical stress when subjected to a voltage. Piezoelectricity was first discovered by Pierre and Jacques Curie in 1880, and it is the essential feature of quartz that makes it useful in electronic circuits. The key to piezoelectricity is that when you twist, bend, deform, or simply apply pressure or stress to a quartz crystal, a small voltage is generated. This property is commonly used in sensors or transducers to detect pressure or sound waves. For example, the knock sensors used in virtually all modern automobile engines are based on quartz crystals that are sensitive to the vibrations produced in the engine block when detonation (uncontrolled burning of fuel) occurs. Because detonation can rapidly damage an engine, the engine management computer uses input from one or more knock sensors to retard the ignition timing, thus preventing engine damage. Some microphones and phonograph pickup devices also use quartz crystals for converting sound waves or the motion of the needle in the groove into a voltage. Piezoelectricity works two ways, meaning that if a voltage is generated when you bend a crystal, likewise if you apply voltage to a crystal it bends (contracts, expands, or twists) in a similar fashion. Although the crystal is mostly brittle in nature, it is still somewhat elastic, such that any deformation tends to snap back and then occur again, resonating at a natural frequency as long as the voltage is present. Much like a tuning fork or the pipe in an organ, the natural resonant frequency depends on the size and shape of the crystal. In general, the smaller and thinner it is, the faster it vibrates. The actual movement is exceedingly small, on the order of 68 nanometers (billionths of a meter) per centimeter, which in a normal crystal is only a few atoms in length. Although the movement is very small, it is also quite rapid, which means tremendous forces can be generated. For example, the surface acceleration of a 50MHz crystal can exceed five million times the force of gravity. Crystal resonators are made from slabs of quartz sawed from raw quartz crystal stock. Although the stock can come from natural quartz, most crystals are made from synthetically grown quartz. The raw stock slabs are cut into squares, rounded, and ground into flat discs called blanks. The thinner the disc, the higher the resonant frequency; however, there are limits as to how thin the discs can be made before they break. The upper limit for fundamental mode resonators is approximately 50MHz. At that frequency, the discs are paper thin and are generally too fragile to withstand further grinding. Still, higher-frequency crystals can be achieved by using harmonics of the fundamental frequency, resulting in crystals of up to 200MHz or more. Even higher frequencies can be achieved by using frequency synthesizer circuits, which use a base crystal-generated frequency fed to a circuit that then generates multiples of frequency that can extend well into the gigahertz or terahertz range. In fact, crystal-based frequency synthesizer circuits are used to generate the high operating speeds of modern PCs. The crystal packages, as well as the shape of the actual quartz crystals inside the packages, can vary. The packages are usually a metal can that is either cylindrical or oblong in shape, but they can also have other shapes or be constructed of plastic or other materials (see Figure 21.1). Figure 21.1. Crystal packages of varying shapes.
The sliver of quartz inside the package is normally disc shaped, but it is shaped like a tuning fork in some examples. Figure 21.2 shows a cylindrical crystal package with the cover removed, exposing the tuning forkshaped sliver of quartz inside. Figure 21.2. Crystal interior showing the quartz tuning fork.
Most crystals use a disc-shaped sliver of quartz as a resonator. The disc is contained in a hermetically sealed evacuated enclosure. Figure 21.3 shows the interior view of a typical crystal with a disc-shaped resonator inside. Figure 21.3. Crystal interior showing disc-shaped quartz resonator.
The quartz disc inside has electrodes on each side, allowing a voltage to be applied to the disc. The details are shown in Figure 21.4. Figure 21.4. Disc-shaped quartz resonator details.
Walter G. Cady was the first to use a quartz crystal to control an electronic oscillator circuit in 1921. He published his results in 1922, which led to the development of the first crystal-controlled clock by Warren A. Marrison in 1927. Today, all modern computers have multiple internal oscillators and clocks, some for controlling bus and processor speeds and at least one for a standard time of day clock. Overclocking HistoryOverclocking has been around since the beginning of computing. As long as there have been computers, there have been people trying to make them run faster. I began overclocking PCs back in the early 1980s, using a variety of devices on the market. The easiest system to overclock was the original IBM AT, which used a socketed crystal to run the processor. Two versions of the XT were availableone that used a 12MHz crystal and one that used a 16MHz crystal. The timer chip divided the crystal speed by 2, resulting in processor speeds of 6MHz and 8MHz. A popular trick at the time was to pop the 12MHz or 16MHz crystals out of their sockets and replace them with 18MHz or 20MHz crystals, which sped up the systems to 9MHz or 10MHz. Back in 1984, I was able to purchase crystals for as little as $1 each from RadioShack, and they could be changed in seconds. In my 6MHz system, I was able to use an 18MHz crystal to get the system to run at 9MHz. That was a 50% increase in speed for about $1! I had tried a 20MHz crystal (10MHz speed), but the system would not boot up at that speed, so I had to drop back to the 18MHz (9MHz speed) crystal instead. Taking this further, some companies released variable frequency oscillators, which basically amounted to a variable speed crystal you could use to replace the fixed stock crystal. A control panel was then mounted on the back of the system, which had an adjustment knob you could use to change the system speed. The most sophisticated of these was the XCELX, which allowed you to adjust the original IBM AT from 6.5MHz to 12.7MHz. Figure 21.5 shows the XCELX, which dated from 1985. Figure 21.5. The XCELX frequency adjuster, a "throttle" that could be used to speed up the IBM AT.
The instructions told you to turn up the throttle until the system crashed and then back down a notch or two. How fast a given system would run depended on all the specific components contained within. Tip One problem in the vintage IBM AT and XT-286 systems was that the clock speed was checked during the Power On Self Test (POST). This caused problems if you replaced the socketed clock crystal in these systems for a cheap and easy speedup. In IBM AT and XT-286 systems, the POST checked the system refresh rate (clock speed) to ensure that it was 6MHz or 8MHz, depending on which system you had. A marginally faster or slower rate caused the test to fail and resulted in a POST error of one long and one short beep, followed by a halt (HLT) instruction. To eliminate the test and enable a faster-than-normal clock rate, you had to patch the instruction at the proper location from a 73h (JAEJump if Above or Equal) to an EBh ( JMPJump unconditionally). When this instruction was changed, the test never fell into the error routine, no matter how fast the rate. The JAE instruction occurred at F000:05BC in IBM AT systems with the 06/10/85 or 11/15/85 ROM BIOS versions and at F000:05C0 in XT-286 systems. Note that the original IBM AT system with the 01/10/84 BIOS did not have this test. By creating a new set of ROM chips with this instruction changed by an EPROM programmer, you could eliminate this speed check and enable faster clock rates. Few people are interested in overclocking systems that are more than 20 years old, but it is interesting to see that hotrodding PCs has been around for as long as PCs themselves have existed! Modern PC ClocksA modern PC has at least two crystals on the motherboard; the main crystal is used to control the speed of the motherboard and motherboard circuitry, and the other is used to control the real time clock (RTC). The main crystal is always 14.31818MHz (it might be abbreviated as 14.318 or just 14.3), and the RTC crystal is always 32.768KHz.
PCs don't run at 14.318MHz, so how can a crystal of that speed be used to control their speed? And what happens when you install a different processor? How does the system adjust the bus and other speeds to accommodate the new chip? The answer is that a special chip called a frequency timing generator (FTG) or frequency synthesizer is used in conjunction with the crystal to derive the actual speeds of the system. Figure 21.6 shows a portion of a motherboard with an FTG chip with a 14.318MHz crystal below it. Figure 21.6. Frequency synthesizer chip with a 14.318MHz crystal.
The RTC uses its own separate 32.768KHz crystal to count time independent from the speed of the system. Figure 21.7 shows a 32.768KHz crystal next to a chipset South Bridge or I/O controller hub, which contains the RTC circuitry and CMOS RAM. Figure 21.7. Chipset South Bridge (I/O controller hub) incorporating an RTC, along with the 32.768KHz clock crystal.
Most frequency synthesizer chips used on PC motherboards are made by Integrated Circuit Systems (www.icst.com) or Cypress Semiconductor (www.cypress.com; formerly International Microcircuits Inc [IMI]). These chips use phased locked loop (PLL) circuitry to generate synchronized processor, PCI, AGP, and other bus timing signals that are all derived from a single 14.318MHz crystal. The crystal and frequency synthesizer chip are usually situated near the processor and main chipset component of the motherboard. The amazing thing about these chips is that most of them are programmable and adjustable, so they can change their frequency outputs via software, which results in the system running at different speeds. Because all CPUs are based on the speed of the CPU bus, when you change the CPU bus speed generated by the frequency synthesizer chip, you can change the speed of your processor. Because the PCI, AGP, and memory buses are often synchronized with the speed of the processor bus, when you change the processor bus speed by a given percentage, you also change the speed of those other buses by the same percentage. The software to accomplish this is built in to the BIOS Setup menus of most modern motherboards. Overclocking TipsMost modern motherboards automatically read the CPU and memory components to determine their proper speed, timing, and voltage settings. Originally, these settings were controlled by jumpers and switches on 486 and Pentium boards, but in most modern boards you can enter the BIOS Setup to change these settings to manual and then use the menu options in the BIOS Setup to alter the speed of the system. Because such alterations can make the system unstable, most systems are designed to boot into the BIOS Setup at a default low speed so you are not locked out from making changes in the future. This makes overclocking as simple as changing a few menu options and then rebooting to test the selections you've made. The concept for overclocking is simple: You change the settings to increase the speed of the processor, memory, buses, and so on until the system becomes unstable. Then you can go back in and reduce the settings until it is stable again. In this manner, you find the maximum sustainable speed for a system. Because each processor is different, even ones with the same ratings can end up allowing different maximum stable speeds. The first Pentium 4 chips based on the Prescott core were 112 square mm and made on 300mm wafers, resulting in a maximum of 631 chips per die. Typically, many of those chips won't pass testing, but let's say that 80% (or 504 chips) do. Intel initially sold the Prescott version at speeds from 2.4GHz through 3.4GHz. This means that all the 500+ chips coming off the wafer are potentially 3.4GHz (or faster) chips. They are tested after manufacture and sorted into bins by how fast they can actually run. Early in manufacturing a given processor design, they have more running at the lower speeds and fewer capable of achieving the maximum settings. This is why the fastest chips are the most expensivegenerally fewer of them pass the testing at that speed. Eventually, however, as they tweak the manufacturing processes and chip design, more and more of the finished chips pass the higher speed tests. But lower-speed chips are priced less and sell more, so Intel might have to dip into the faster bins and mark those chips at the lower speeds to fill the larger number of orders. Essentially what I'm saying is that Intel sets out to make all the chips on the wafer identically and tries to make them so they will all run at the highest speed. If you purchase one of the lesser-rated chips, you really have the same chip as the higher-rated versions; the difference is the higher-rated ones are guaranteed to run at the higher speeds, whereas the lower-rated ones are not. That is where overclockers come in. Users who overclock their systems purchase lower-rated chips and essentially do their own testing to try to run them at the higher speeds. They can also start with the highest-rated chips and see whether they can run them even faster, but success there is much more limited. The most successful overclocking is always with the lowest-rated speed of a given design, and those chips are also sold for the lowest price. In other words, statistically you might be able to find many of the lowest-speed grade chips that are capable of running at the highest-speed grade (because they are essentially identical during manufacture); however, if you start with the highest-speed grade, you might be able to increase the speed only a very small percentage. The key to remember is that a difference exists between the rated speed of a chip and the actual maximum speed at which it runs. Manufacturers such as Intel and AMD have to be conservative when they rate chips, so a chip of a given rating is always capable of running at least some margin of speed faster than the ratingthe question is how much faster? The only way to know that is by testing chips individually. Bus Speeds and MultipliersBecause modern processors run at a multiple of the motherboard speed and the selected multiple is locked within the processor, all you can do to change speeds is to change the processor bus speed settings. The processor bus is also called the CPU bus, front side bus (FSB), or processor side bus (PSB), all of which are interchangeable terms. For example, I built a system that uses an Intel Pentium 4 3.2E processor, which typically runs at 3200MHz on an 800MHz CPU bus. Thus, the processor is locked to run at four times the speed of the CPU bus. I was able to increase the CPU bus speed from 800MHz to 832MHz, which meant the processor speed increased from 3200MHz to 3328MHz, which is 128MHz faster than the rating. This took all of about 60 seconds to reboot, enter the BIOS Setup, make the changes in the menu, save, and reboot again. This was only a 4% increase in overall speed, but it didn't cost a penny and the system seemed to be just as stable as it was before. Many motherboards allow changes in speed of up to 50% or more, but a processor rarely sustains speeds that far above its rating without locking up or crashing. Also note that, by increasing the speed of the processor bus, you are increasing the speed of the memory bus, PCI bus, and AGP bus by the same percentage. Therefore, if your memory is unstable at the higher speed, the system will still crash, even though the processor might have been capable of sustaining it. The lowest common denominator prevails, which means your system will run faster only if all the components are up to the challenge. Many motherboards allow voltage changes to be made for components such as processors, memory, and video cards. Be careful when making these changes because you can damage a component with improper voltage. Still, many overclockers have found that by tweaking the voltage up or down a tenth or so at a time, they can get a system to run more stable than had otherwise been possible. |