On Sat, Feb 28, 2015 at 10:14 PM, Jon Elson <elson at pico-systems.com> wrote:
I looked up the instruction set of the PDP-7, ghastly
little machine,
basically a PDP-8 extended to 18 bits.
Actually it's basically a PDP-4, which was basically a PDP-1 though
not binary-compatible. Those were both 18-bit.
The PDP-5 (and thus PDP-8) were basically a PDP-4 shortened to 12 bits.
All the stuff I disliked on the PDP-8.
One man's Mede is another man's Persian. Some people consider the
simplicity of the PDP-8 architecture to be quite elegant. Obviously
that style of architecture is not prevalent today, though some
vestiges of it can still be seen in current production, e.g. in the
Microchip PIC 8-bit microcontrollers.
One oddity was there was a 13-bit address
field in the instruction, but it was possible to have more than 8K words
of memory on the machine.
All of the DEC 12-bit and 18-bit machines did that, at least as an
option if not as a standard feature of the base machine. For that
matter, many of the 16-bit machines (PDP-11) and many of the 36-bit
machines (PDP-10) did that also, but in rather different ways.
On the PDP-1, there were two *different* memory extension options that
were not compatible, the Type 15 and the Type 171. Apparently the Type
15 wasn't considered flexible enough, so they designed the Type 171.
Most PDP-1 systems that had memory extension used the Type 171. It is
possible that machines originally equipped with the Type 15 might have
been field-upgraded to the Type 171, because most PDP-1 software that
supported memory extension at all only supported the Type 171. (Most
PDP-1 software didn't support either, and ran in 4K.)
All the later DEC architectures had only a single kind of memory
extension, which on the 12-bit and 18-bit machines was similar to the
Type 171. The PDP-11 memory management supported 18-bit physical
addresses on some machines, and selectable 18- or 22-bit on others.
Another oddity is there were both ones-complement and
twos-complement add instructions. I guess
the designer just couldn't decide which arithmetic representation to use?
The PDP-1 used one's complement arithmetic, though MIT modified one to
also have two's complement.
DEC must have decided that two's complement was more useful, because
the PDP-4, while not binary-compatible with the PDP-1, provided both
two's complement intended for "native" use, and one's complement for
some degree of PDP-1 compatibility. The remaining 18-bit machines
(PDP-7, PDP-9, PDP-15) mostly preserved binary compatibility with the
PDP-4, so they also had both.