It is important to note that the architecture of a machine has a large effect on its
performance. Two machines with the same clock speed do not necessarily execute
instructions in the same number of cycles. For example, a multiply operation
on an older Intel 286 machine required 20 clock cycles, but on a new Pentium, a
multiply operation can be done in 1 clock cycle, which implies the newer
machine would be 20 times faster than the 286 even if they both had the same
internal system clock. In general, multiplication requires more time than addition,
floating point operations require more cycles than integer ones, and accessing
memory takes longer than accessing registers.
Generally, when we mention the term clock, we are referring to the system
clock, or the master clock that regulates the CPU and other components. However,
certain buses also have their own clocks. Bus clocks are usually slower than
CPU clocks, causing bottleneck problems.
System components have defined performance bounds, indicating the maximum
time required for the components to perform their functions. Manufactures
guarantee their components will run within these bounds in the most extreme cir-cumstances. When we connect all of the components together in a serial fashion,
where one component must complete its task before another can function properly,
it is important to be aware of these performance bounds so we are able to
synchronize the components properly. However, many people push the bounds of
certain system components in an attempt to improve system performance. Overclocking
is one method people use to achieve this goal.
Although many components are potential candidates, one of the most popular
components for overclocking is the CPU. The basic idea is to run the CPU at
clock and/or bus speeds above the upper bound specified by the manufacturer.
Although this can increase system performance, one must be careful not to create
system timing faults, or worse yet, overheat the CPU. The system bus can also be
overclocked, which results in overclocking the various components that communicate
via the bus. Overclocking the system bus can provide considerable performance
improvements, but can also damage the components that use the bus or
cause them to perform unreliably.