In article <>, "Hackworth"
<> wrote:
> I have an Asus A8V-E SE motherboard
> (http://www.asus.com/products4.aspx?m...3&l2=15&l3=143)
> with an A64 X2 4400+ (1 MB L2 cache for each core) processor. I cranked up
> the "FSB" speed from 200 to 220 MHz, effectively turning my 4400+ into a
> 4800+.
>
> Everything is running fine so far, but even after disabling the BIOS option
> for sync-ing the memory and PCI-E bus speed with the FSB (because I want the
> memory to continue to run at its stock speed for now), Everest and other
> such utilities report that the memory is also running at 220 MHz! How can
> that be when I've manually set it to run at 200 and not sync itself to the
> system bus? Any idea what I'm missing? I have good memory, so the overclock
> hasn't given me any problems, but just in case the memory does start to gag,
> I may have to reset everything back to stock speeds. That's no fun.
I don't think it works that way. The CPU external clock signal is
200MHz nominal. It is multiplied up by the CPU multiplier, then
divided down by the memory divisor. In other words, the memory
clock doesn't come from the clockgen, it comes out of the processor
itself.
If you get a copy of 26094 (note there is a different doc for AM2)
from AMD and look at PDF page 114, the three bit field at the bottom
of the page sets the memory divisor in an indirect way. The bit field
values correspond to objective targets for memory speed, where the actual
divisor used causes the memory clock to be less than or equal
to the user desired target memory clock.
http://www.amd.com/us-en/assets/cont...docs/26094.PDF
That scheme works as long as the CPU external clock is 200MHz. When
the external clock is scaled, the memory clock goes right along
with it, because the logic inside the processor does not know any
better. How the clock generator chip outside the processor is
being (ab)used is none of the business of the processor's internal
logic :-)
Of course, a clever BIOS could select a lower objective value,
to compensate for the level of overclock. For example, if you had
DDR400 memory, overclocked the CPU by 10% from 200 to 220MHz,
you could try to set the objective value to 183Mhz. 183 * 110%
is 201MHz or so, which is close to the right value. AFAIK, the
BIOS doesn't do that. Instead, it assumes the user will turn
down the memory objective value. (At least it did on earlier
Athlon64 boards.)
This thread shows 8 columns, and I believe the 8 columns correspond
to the bitfield bits 22 through 20 values. The second link here,
is to the third table down on that web page, and shows what divider
the processor uses, based on the CPU multiplier and the 3 bit field
for the memclk setting. (Oskar Wu is the designer of the DFI
Athlon64 motherboards.)
http://xtremesystems.org/forums/show...hlight=divider
http://oskarwu.myweb.hinet.net/A64D1.jpg
To overclock, you crank the FSB and turn down the memory. This
may be easier to do with a tool like A64tweaker, and there are
probably other tools that can do it too (clockgen from cpuid.com ?).
At least that may give you access to all eight possible values
for the eight columns. As I don't have one of these boards,
I don't know if the BIOS would offer more than the official
objective values of DDR400, DDR333, DDR266, DDR200. (I notice in
your manual, it has a different set of values, and I don't know how
that lines up with the AMD 26094 document. Now I'm confused...)
There is some info on A64tweaker here, and there are various
versions floating around. Sometimes the earlier versions
are what you are looking for.
http://www.xtremesystems.org/forums/...t=37345&page=1
http://www.cranox.com/Software/A64-T...r_V0.6beta.zip
In any case, cranking down the memory clock setting will fix
the problem.
HTH,
Paul