[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Determining amount of RAM on a board?
- Subject: Re: Determining amount of RAM on a board?
- From: mjmahon@aol.com (Michael J. Mahon)
- Date: 04 Sep 2001 18:36:58 GMT
- Newsgroups: comp.sys.apple2
- Organization: AOL http://www.aol.com
- References: <9n2rk3$s7i$1@venus.itns.co.za>
- Xref: archiver1.google.com comp.sys.apple2:12900
Stephen Shaw wrote:
>Parity was something only crappy PCs needed. I think due to their hardware
>architecture. Even the SIMMs for the early Macs were 8 chip.
LOL!
And Cray said once (after being rebuked for not having parity checking
in his supercomputers) "parity is for farmers" (referring to the US policy
of price supports for farm goods). But he eventually added it.
If you don't check parity, you'll never have parity errors! ;-) But if you
have memory errors, they may affect your results in unpredictable
ways.
The first step to error correction is error detection. In the case of
parity checking, this means that the computer will stop on error, and
alert you to the need to re-run your computation to guarantee predictable
results.
Parity is not a substitute for good design practices, but it is ongoing
checking that the design is working as intended. In small memories
(like most PCs) the likelihood of a random (alpha- or cosmic ray-induced)
memory error is slight. In larger machines, it can be quite significant.
IBM's use of parity in PC memory was a testament to their mainframe
design heritage and a feature that reinforced the solid reliability of their
machines.
Although it requires 1/8th more DRAM capacity to provide byte parity,
their designers thought it a prudent investment in dependability, even
though it manifestly reduces the availability of the machine (both by
increasing the number of parts and by halting the machine even on
errors which would _not_ have caused error in the computation).
When a memory design gets to 64-bits wide, something wonderful
happens--now the extra 8 parity bits are sufficient to implement an
Error Correcting Code (ECC) which can detect and correct all single-bit
errors (and some double-bit errors) and detect all double-bit errors.
By effectively masking memory errors, this _does_ increase both
the reliability and the availability of the machine, at a very small
incremental cost.
The issue of whether to use parity or not on modestly-sized memories
is almost a religious issue with designers, although our collective
experience suggests that parity in such cases does not produce a
benefit to justify the (small) cost.
-michael
Email: mjmahon@aol.com
Home page: http://members.aol.com/MJMahon/