Each computer had its own recognizable light patterns that you could see
the pulse of the machine. The first computer I ever had intimate contact
with was an IBM 1620 whose data was stored as a variable length BCD
number. Each digit contained 6 bits 4 for BCD number and some special
symbols a check digit and flag bit. If the LSdigit had a flag bit set the
number was negative. The length of the number was determined by
setting the flag bit on the MSdigit.
The lights on the IBM 1620 developed a very familiar pattern when it
executed a math instruction that couldn't find a end to the number it was
using in a computation. Time for a stop button and reload or fix and
reload.
It was possible for a result to to overwrite parts of the number or the
look up tables for add and multiply and lights would dance in a familiar
pattern as the instruction ran chasing its tail. The IBM had a big front
panel
and all those lights were incandescent. The lamps alone threw off quite a
bit of heat.
I had a research lab full of PDP-11's of various types, running it
displayed
the PC and R0. While running R0 was rarely very useful but the PC display
would give a indication of where a program was executing and often would
appear to freeze when the processor was in a short infinite loop. Halting
and
single stepping would then identify where the offending problem was.
The PDP-11 front panel was set up for hands on software debugging.
The PDP-11 UNIBUS was a backpanel bus that passed though all of the
peripheral slots. It was easy to add user specific hardware, it used TTL
levels
and most of the key computer signaling was there. The bus itself was
available
through the card slots or wire wrap pins on the back of the card slots. One
of our applications was not running even close to our execution time
expectations ( a protocol simulator taking a day or more per run) One
morning at least 12 hours after the expected completion halting and
single stepping did not give any real indication where it was spending its
time. The PDP-11 could be restarted by hitting RUN.
I soldered two groups of 4 resistors together as two simple 4 bit DAC's
and pulled a cover off the running computer and wire wrapped the resistor
DAC's to the MS 8 address lines. X-Y displaying the two outputs on an
oscilloscope produced 256 dots whose intensity directly was related to
time spent in that address group. A primitive but effective code profiling
display. For months it just dangled there getting a lot of use until it was
cleaned it up and brought out through two BNC connectors.
Walter Banks