The PDP-16 was a collection of register-transfer-level modules used for designing unique (or relatively low production volume) systems. The control mechanism of these systems was created by connecting together modules representing the blocks in a flow chart. The data path of these systems was created by connecting together data, memory, and transducer (I/O) modules. Cross-connections allowed the control mechanism to control the data path and branch in response to information coming back from the data path.
The PDP-16/m was a canonical configuration of PDP-16-series modules that was really a small microprogrammable computer. The control mechanism trivially interpreted a microprogram stored in a braided-wire ROM, in which a wire for each word of memory passed through or around a core for each bit in a word, indicating whether or not that bit in that word was a 0 or a 1. (I believe that this was the same basic technique as used in the PDP-9, although that wasn't modifiable by customers.)
From [DEC 1971]:
Figure 1-1: Factors Suggesting Use of PDP-16:
Type of computation
Boolean (single-bit) functions
Boolean functions
Binary arithmetic commands and subroutines-multiply, binary to BCD, etc.
Same as PDP-16
Day-to-day program changes
No
No
No
Yes
Number of identical systems per year
1-10
1 or more
1 or more
1-10
Memory requirements
<20 bits
1K including control steps
1-16 16-bit words typical, up to 256 16-bit words (read, write, and/or 1K 16-bit read-only) for special applications
>1K, 12 to 16 bits
Control program steps
<20
<1000
20-250 (excluding looping and memory accesses)
>150
Cost
<$1000
>$3000
$800-$4000
>$3000
Table assembled from information in [DEC 1971] and [Bell et al. 1972]: PDP-16 modules:
6 subroutine return units.
One start pulse circuit.
English Name
PMS Name
Generic Name
DEC Module Number
Description
Evoke units
K(evoke)
KEV16
M7310
Two-input OR gates
K(serial merge; 4 input)
KOR16-A
M1307
10 2-input NOR gates for merge of control flow or branch input expansion.
Four-input OR gates
K(serial merge; 2 input)
KOR16-B
M1103
6 4-input NOR gates for merge of control flow or branch input expansion.
K(subroutine call)
KSR16
M7315
K(branch 2-way)
KB16-A
M7312
6 2-way branch units.
K(branch 8-way)
KB16-B
M7314
2 8-way branch units.
Bus sense
K(bus sense and termination)
KBS-16
M7304
Bus terminator
KTM-16
M962
K(bus control and termination combined)
KBS16-A
M7332
T(lights and switches)
KBM16X
M7334
K(clock)
M401
D(NOT)
M111
D(NOR)
D(decoder; 4 input)
M161
Arithmetic control
K(function encoder)
KAC-16A
M7330
Arithmetic registers
DM(arithmetic register unit)
KAR16-A
M7331
DM(gpa; control)
KAC16
M7300
DM(gpa; registers)
KAR16
M7301
General-purpose interface
T(general purpose interface)
DB-16A
M7311
Output interface
T(output interface)
DB16-B
M7316
Input interface
T(input interface)
DB16-C
M7317
Serial data interface
T(serial interface)
DC16-A
M7313
Constants generator
MR16-A
4 16-bit constants, set via jumpers on the board.
Transfer register
M(transfer)
MS16-A
M7305
16-bit register with the ability to read or write the whole word or either byte.
Byte register
M(byte)
MS16-B
M7320
16-bit register with the ability to read the low 4, 8, 12, or 16 bits and with the ability (via jumpers on the board) to read with bits interchanged
Scratch-pad memory
M(scratchpad; 16 words)
MS16-C
M????18
16 words of 16 bits. There is a separate signal to control reading and writing of each word.
Scratch-pad memory
M(array; 256 words)
MS16-D
M7319
256 words of 16 bits. The address must be loaded from the bus before the data can be read or written.
Scratch-pad memory
MS16-E
1024 words of 16 bits. The address must be loaded from the bus before the data can be read or written.
Flags
DM(flag)
KFL16
M7306
3 1-bit flags (D flip/flops).
No-op unit
K(no-op)
KNP-16
M7321
Provide a 100-200ns delay in a control signal.
Every PDP-16 system must have a KBS-16 and a KTM-16.
The backplane contains a 32-bit data bus used to transfer data between modules.
The KAC-16 and KAR-16 are used together, in adjacent slots of the backplane, so that an edge connector can join them on the handle-end.
[Editor's notes: The M-series modules (named for their maroon handles) were largely built from 7400-series TTL SSI/MSI ICs. Some of the above modules, such as M111, were standard modules with uses outside of PDP-16 systems, and consist of a relatively small number of ICs on a single-height, single-width module; as such, one may conclude that they were fairly wasteful of a level of packaging, trading off space and cost for ease of assembly of the system. Compare this aspect of the PDP-16 modules to the Universal Control Modules. ]
Copyright © 1998 Aron K. Insinga. All rights reserved.