On Fri, 1 Sep 2023, Rick Bensene wrote:
The machine was able to be implemented with so few
transistors because
the microcode word was quite wide, and was designed so that it was
sequentially interpreted as the bits streamed out of the delay line, so
not all that many flip flops were needed. Working registers were stored
in the other delay line, along with program steps (yes, the machine was
programmable).
Well, the machine (Diehl Combitron etc.) itself is not microcoded. The
machine instructions (5 bit code) are all hardwired. The program on the
steel tape is the customer application, i.e. the implementation of the
calculator. We had a student who developed a cross assembler for the
Combitron, able to load a program or data into the delay line (hooked the
reader input to a PC).
The small delay line contains the current 11 instructions (one 55 bit
word), a double-wide accumulator and an MQ register, in total 4 words.
The basic instructions are the four arithmetical functions (yes, hardware
multiply and divide) as well as some I/O (for the keyboard and printer)
and fill/wait instructions to transfer words from the big delay line,
i.e. data/program storage, into or from the small delay line containing
the registers and the small block of the current instructions (there was
room for 11 instructions). There are *no* jumps! OTOH, to jump to another
"location", which means changing the 11-instruction word with another one
from the main delay line, you issue a special wait (delay lines are like
magnetic drums) and then a fill instruction to transfer a word from the
big to the small memory. And, it must be explicitely noted, the CPU does
*not* have a program counter!
A very ingenious but also very complex/braintwisting design.
Christian