Athlon64 board with ECC support?
Peter Wemm
peter at wemm.org
Fri Jun 24 18:55:29 GMT 2005
On Friday 24 June 2005 06:48 am, Jose M Rodriguez wrote:
> El Viernes, 24 de Junio de 2005 15:34, David O'Brien escribió:
> > On Thu, Jun 23, 2005 at 06:18:56PM -0400, Martin Cracauer wrote:
> > > And I suppose the BIOS needs to support it, too,
> >
> > Correct.
> >
> > > although it is not
> > > clear to me how ECC exceptions are supposed to be routed anyway.
> > > Clearly some chip not being CPU or RAM needs to have a say in the
> > > exception delivery? Anybody understands how this works?
> >
> > Why?? The memory controller is on the same die as the CPU. The
> > exception is handled w/in the CPU and it never goes out to any
> > support chip.
>
> Are you sure the mem. controller in the CPU is not
> configured/affected by GPIO bits in the southbridge?
Absolutely sure. The bios support that is needed is that it needs to
test the SPD parameters on the dimms (like it does when sizing memory)
and turn on ECC mode in the memory controller. The effect of this is
that all existing memory is garbled because ECC encodes 64 bits of data
to spread it across 72 bits of memory.
If the bios has used a temporary scratch area during startup, then it
will have to start over once the ECC mode if toggled. However, most of
the bios startup code runs entirely from rom with registers only until
memory is configured so this is mostly irrelevant.
ECC errors are signalled by doing a CRC-error flood on the HT bus if
memory serves correctly. Various logic in the HT bridges convert this
into the eqivalent of a PCI #SERR and/or NMI. Note that this happens
regardless of whether ECC is supported because that is how fatal PCI
errors are reported.
Anyway, there only motherboard requirements for ECC are:
1) all 72 pins of the dimms need to be wired up.
2) the bios needs to turn on ECC mode in the memory controller.
Thats it.
Some motherboard makers neglect to include an ECC option because they
don't see the point of it it because there is a small speed penalty in
certain benchmarks. That's why ECC defaults often to 'off' in bios
settings on consumer motherboards. ECC requires that a single random
byte being written to memory turn into a read-merge-write of the 64 bit
group as a whole.
The system chipset is NOT A FACTOR in this. If a motherboard doesn't
support ECC, it is purely motherboard manufacturer laziness and nothing
to do with the chipset.
--
Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5
More information about the freebsd-amd64
mailing list