Overclocking
SoftFSB v1.7F
final (it exists a newer v1.7G beta)
SoftFSB v1.7 [final] , by H. Oda (mirror
@ vector.co.jp),
lets you change the FSB frequency on the fly, in software. It doesn't give you
nearly the control that the Turbo.PLL does, as you're stuck with whatever FSB
values your motherboard affords. These values depend on the particular IC that
your motherboard manufacturer used for the CK100 (also called the PLL-IC in
most manuals); different PLL-ICs produce different FSB frequencies.
Many motherboard companies use the line of PLL-ICs available from IC-Works.
The IC-Works W124 is a typical 24-pin PLL-IC which will be used to demonstrate
how SoftFSB works. Many PLL-ICs work a little differently, but the basic concepts
are the same.
See this page for official documentation
(copy).
SoftFSB manipulates the W124 via a set of internal, programmable registers.
The PII, like most ICs on the motherboard, has a set of internal registers that
allow you initialize it into certain states. The W124 has these same sorts of
registers. They're initialized to default values at power-on, but you can go
in and change them via a serial data interface.
This serial data interface is slightly different from the parallel programming
interface for the PII. The W124 has two pins on it that are used for writing
to its internal registers: SDATA and SCLOCK. Instead of placing a combination
of 1s and 0s on multiple pins at once (like you do when setting the PII's clock
multiplier), you feed the SDATA pin a sequence of 1s and 0s. This bit sequence
is grouped into bytes, and these bytes are placed in the proper control registers.
These control registers are used to set configuration options like the device
mode, power management functions, and, of course, the FSB speed.
This serial programming interface makes programming the W124 sort of like programming
with Morse code. You send it a string of successive pulses, which it then groups
into meaningful hunks and interprets. It is because its programming interface
is serial, that the W124 needs the SCLOCK pin. As most of my engineer readers
know, whenever you do serial data communication, you need a clock signal to
synchronize the sender and receiver. In the W124's case, this clock signal goes
in on the SCLOCK pin.
Wasting pins is a bad move. If you’re smart, you’ll get around this by making
some pins do double duty. What you do is designate one pin (lets call him RESET#)
as the lookout. Whenever it’s time to configure the chip, you let the chip know
by activating RESET#. When the chip feels RESET# activate, it stops what it’s
doing and takes a few pins from their normal duties (whatever those are) and
hooks them up to the control register. So while RESET# is active, these special
pins will let you write to the control register. When RESET# goes inactive,
everything returns to normal and those pins go back to their day jobs
The particular bits that interest us are in the Model Specific Register (MSR)
that lives at address 2Ah. Bits 25 to 22 of MSR 2Ah tell the CPU what multiplier
to use in the PLL. The following table shows how the values of the bits in that
register translate into clock ratios: Table 5-7. Pentium ® II Processor Family
Power-On Configuration Register Bus Frequency to Core Frequency Ratio Bit Field
D[25:22] Ratio of Core Frequency to Bus Frequency
0010 4
0011 2
0101 7/2
0110 9/2
0100 2
Whenever RESET# goes low, the PII takes four pins that normally do other things,
and uses them to set the clock multiplier. The four lucky pins are A20M#, IGNNE#,
LINT[1] and LINT[0]. Whenever RESET# goes low, it’s up to the chipset on the
motherboard to tickle them the right way and set the PII’s clock multiplier
Ratio of system bus to processor core frequency LINT[1] LINT[0] A20M# IGNNE#
1/2 L L L L
1/4 L L H L
2/7 L H L H
2/9 L H H L
1/2 H H H H
As you can see from the above table, the W124 gives you a decent range of FSB
values. The increments between the values, however, are nowhere near as small
as they are with the Turbo.PLL. That's the tradeoff you make between the two
products: the Turbo.PLL takes more work (and risk) to implement, but it affords
much finer control over the FSB; SoftFSB requires only a simple download and
installation, but the control isn't as fine.
As far as the safety of SoftFSB and its effects on the stability of your system,
my concerns are exactly the same as they were with the Turbo.PLL. This is a
program that, like the Turbo.PLL, affects the SDRAM banks, as well as the PCI
and AGP buses, while leaving the other, fixed signals alone. Therefore, its
ill effects would be pretty much the same as those of the Turbo.PLL: possible
loss of data and hard disk corruption, video card flakiness, etc. Again, I recommend
caution when trying this product.