Date: Mon, 2 Jul 2012 20:11:01 -0400
From: Michael Thompson <michael.99.thompson at gmail.com>
To: cctech <cctech at classiccmp.org>
Subject: Strange Core Memory Behavior in a PDP-8/L
Message-ID:
<CAH1BU=9z5sOj5rw0dzb1hPe4PTrMvYpjiOv2dPRnrXJ-5CuqwA at mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
The RICM is still wrestling with the core in the PDP-8.
After replacing some diodes on the core stack we have all addresses
working.
We observed an interesting core memory behavior during our debugging
last Saturday.
We started the memory alignment procedure by looking at the
STROBE FIELD 0 signal and the amplifier output on pin E1 of the sense
amplifier. The STROBE signal was very late compared to Figure 5-6 in
the 8/L Maintenance Manual. We ran a short JMP loop and adjusted the
relationship with the trimpot on the M360 delay module. When we
halted the
processor and tried a examine core we only got just zeros.
We adjusted the M360 delay back where it was and single step worked
again. We found that the strobe-to-one-bit relationship was almost
100ns earlier when in single-step than it was with the processor
running. We checked the whole timing path from MEM START at pin N2 of
the M113 in slot C03, through all of the gates, delays, and
flip-flops, and found no timing difference between single-step and
running. Right now it looks like there is a 100ns delay difference
between the READ(1) signal that turns on the current in the core and
the bit signal showing up on the E1 pin of the sense amplifier when in
the single-step and running.
Is this normal behavior?
The first thing that comes to mind is one-shot recovery time. I might
guess that some
component has degraded, and the one-shot has a different delay when it
has been
recently triggered vs. when it has sat for a while. (I'm assuming a
classic 8, with
discrete transistors, not a later machine built with ICs.) Most
specifically, there probably
is a transistor that resets the capacitor at the end of the one-shot
cycle, and if that
transistor is weak, it may not get the cap fully discharged before the
next memory
cycle starts. Most core memories had circuits to adjust drive current based
on core plane temperature, maybe some adjusted timings as well. Also,
check for
dead decoupling capacitors, these could allow noise when running to alter
timings.
Jon