I worked on 8 and 16-bit multi-microprocessor systems
at
TekLabs in the late '70s. We
assemble computers out of standard boards. Much to my
amazement all our
MemoryCardsHadBugs, the same bugs,
SynchronizerFailure.
It's true. Every memory card we tried had bugs.
These were commercial products from big name
memory manufacturers. The cards all used dynamic ram
which has to be refreshed. If you don't refresh,
the ram forgets.
Whenever our multi-processor was acting a little flaky
I'd ask
JeffBradford to take a look. Jeff would hook
up his
MissingEventTrigger to the memory card's refresh
circuit. We'd wait a few seconds and then, FLASH, we'd
catch it failing to refresh memory.
With a solid trigger we could then see what led up to
the failure with a
LogicAnalyzer.
They always turned out to have poorly designed
SynchronizationMechanisms. These are
the circuits that judge the race between a processor's
access to memory and the refresh circuit's access.
With one processor in the system it would tend to work.
Plug in two or three and you'd have
SynchronizerFailure.
So why every card? They all used different circuits.
They all had the same bug. Jeff guessed that a semiconductor
company would always put a beginning engineer on a ram
card design -- someone who didn't know what to watch out
for. I figured they just didn't have a
MissingEventTrigger.
--
WardCunningham