PDP-8


The PDP-8 is a family of 12-bit minicomputers that was produced by Digital Equipment Corporation. Launched in 1965, it was the first minicomputer to sell for under $20,000, and the $25,000 mark for a complete system would later be a defining characteristic of the minicomputer class. Over 50,000 units were sold during the model's lifetime.
Its basic design follows the pioneering LINC but has a smaller instruction set, which is an expanded version of the PDP-5 instruction set. To lower the cost of implementation, the system leaves out a number of commonly used functions which have to be written using combinations of other instructions. This leads to complex programs.
The PDP-12 is an offshoot of the PDP-8 with a processor that can run programs for the PDP-8 and LINC systems. The successor to the PDP-8 line is the PDP-11, which featured a much more complete instruction set and was not backward compatible.

Overview

The earliest PDP-8 model, later informally known as a "Straight-8", was introduced on 22 March 1965 priced at $18,500. It uses diode–transistor logic packaged on flip chip cards in a machine about the size of a small household refrigerator. It was the first computer to be sold for under $20,000, making it the best-selling computer in history at that time.
The Straight-8 was supplanted in 1966 by the PDP-8/S, which was available in desktop and rack-mount models. Using a one-bit serial arithmetic logic unit allowed the PDP-8/S to be smaller and less expensive, although slower than the original PDP-8. A basic 8/S sold for under $10,000, the first machine to reach that milestone.
Later systems returned to a faster, fully parallel implementation but use much less costly transistor–transistor logic MSI logic. Most surviving PDP-8s are from this era. The PDP-8/E is common, and well-regarded because many types of I/O devices were available for it.
The last commercial PDP-8 models introduced in 1979 are called "CMOS-8s", based on CMOS microprocessors. They were not priced competitively, and the offering failed. Intersil sold the integrated circuits commercially through 1982 as the Intersil 6100 family. By virtue of their CMOS technology they had low power requirements and were used in some embedded military systems.
The chief engineer who designed the initial version of the PDP-8 was Edson de Castro, who later founded Data General.

Architectural significance

The PDP-8 combines low cost, simplicity, expandability, and careful engineering for value. The greatest historical significance was that the PDP-8's low cost and high volume made a computer available to many new customers for many new uses. Its continuing significance is as a historical example of value-engineered computer design.
The low complexity brought other costs. It made programming cumbersome, as is seen in the examples in this article and from the discussion of "pages" and "fields". Much of one's code performed the required mechanics, as opposed to setting out the algorithm. For example, subtracting a number involves computing its two's complement then adding it; writing a conditional jump involves writing a conditional skip around the jump, the skip coding the condition negative to the one desired. Some ambitious programming projects failed to fit in memory or developed design defects that could not be solved. For example, as noted [|below], inadvertent recursion of a subroutine produces defects that are difficult to trace to the subroutine in question.
As design advances reduced the costs of logic and memory, the programmer's time became relatively more important. Subsequent computer designs emphasized ease of programming, typically using larger and more intuitive instruction sets.
Eventually, most machine code was generated by compilers and report generators. The reduced instruction set computer returned full-circle to the PDP-8's emphasis on a simple instruction set and achieving multiple actions in a single instruction cycle, in order to maximize execution speed, although the newer computers have much longer instruction words.

Description

The PDP-8's predecessor was the PDP-5. It also used ideas from several 12-bit predecessors such as the LINC designed by W.A. Clark and C.E. Molnar, who were inspired by Seymour Cray's CDC 160 minicomputer. The LINC had been designed specifically to be easily interfaced with laboratory equipment, and the PDP-5 and PDP-8 included similar features.
The PDP-8 uses 12 bits for its word size and arithmetic, meaning that internally it can work with unsigned integers from 0 to 4095 or signed integers from −2048 to +2047. To support working with larger numbers and floating point values, an interpreter was used that stored a single value with a two-word, 24-bit, significand and a one-word, 12-bit, exponent. Although using this format was slow, it allowed the PDP-8 to perform the same sorts of programs as much more expensive machines like the IBM 1130 and IBM System/360, while being much easier to interface with external devices.
The memory address space is also 12 bits, so the PDP-8's basic configuration has a maximum main memory of 4,096 twelve-bit words, or 6 KiB in modern terms. An optional memory-expansion unit can switch banks of memories using an IOT instruction. The memory is magnetic-core memory with a cycle time of 1.5 microseconds, so that a typical two-cycle memory-reference instruction runs at a speed of 0.333 MIPS. The 1974 Pocket Reference Card for the PDP-8/E gives a basic instruction time of 1.2 microseconds, or 2.6 microseconds for instructions that reference memory.
The PDP-8 was designed in part to handle contemporary telecommunications and text. Six-bit character codes were in widespread use at the time, and the PDP-8's twelve-bit words can efficiently store two such characters. In addition, a six-bit teleprinter code called the teletypesetting or TTS code was in widespread use by the news wire services, and an early application for the PDP-8 was typesetting using this code.
PDP-8 instructions have a three-bit opcode, so there are only eight major instructions. The programmer can use many additional instruction mnemonics, which the assembler translates to specific OPR or IOT instructions. The PDP-8 has only three programmer-visible registers: the 12-bit accumulator, 12-bit program counter, and a single-bit carry flag called the "link register". Additional registers not visible to the programmer are a memory-buffer register and a memory-address register. To save money, these serve multiple purposes at different points in the operating cycle. For example, the memory buffer register provides arithmetic operands, is part of the instruction register, and stores data to rewrite the core memory, which is erased when read.
For input and output, the PDP-8 has a single interrupt shared by all devices, an I/O bus accessed by I/O instructions and a direct memory access channel. The programmed I/O bus typically runs low to medium-speed peripherals, such as printers, teletypes, paper tape punches and readers, while DMA is used for cathode-ray tube screens with a light pen, analog-to-digital converters, digital-to-analog converters, tape drives, and disk drives.
To save money, the design uses inexpensive main memory for many purposes that are served by more expensive flip-flop registers in other computers, such as auxiliary counters and subroutine linkage.
Basic models use software to do multiplication and division. For faster math, the Extended Arithmetic Element provides multiply and divide instructions with an additional register, the Multiplier/Quotient register. The EAE was an option on the original PDP-8, the 8/I, and the 8/E, but it is an integral part of the Intersil 6100 microprocessor, a single-chip implementation of the PDP-8.
The PDP-8 is optimized for simplicity of design. Compared to more complex machines, unnecessary features were removed and logic is shared when possible. Instructions use autoincrement, autoclear, and indirect access to increase the software's speed, reduce memory use, and substitute inexpensive memory for expensive registers.
Because of their simplicity, early PDP-8 models were less expensive than most other commercially available computers. As with contemporaneous machines from IBM and Burroughs, Digital used semi-automated wire-wrap technology to wire the backplanes of early PDP-8 models. The original PDP-8 CPU, excluding the extended arithmetic element and other options, required 75 small modules and 25 double-size modules, all but 2 from the R series Flip-Chip module family.
The PDP-8/S model, introduced in August 1966, also used mostly R-series Flip-Chip modules, but reduced the number of logic gates by using a serial, single-bit-wide data path to do arithmetic. The CPU of the PDP-8/S has only about 519 logic gates. In comparison, small microcontrollers usually have 15,000 or more. The reductions in the electronics permitted a much smaller case, about the size of a bread-box. The 8/S was designed by Saul Dinman.
The PDP-8/E is a larger, more capable computer, but further reengineered for better value. It employs faster transistor–transistor logic, in integrated circuits. The core memory was redesigned. It allows expansion with less expense because it uses the OMNIBUS in place of the wire-wrapped backplane on earlier models.

Models

The total sales figure for the PDP-8 family has been estimated at over 300,000 machines. The following models were manufactured:
ModelDescriptionYearPriceQuantity producedWeight
PDP-8Semi-discrete components. Used some hybrid ICs. DTL.1965$18,0001450
LINC-8Could run either LINC or PDP-8 code1966$38,500142
PDP-8/SLower-cost serial version of the PDP-81966$10,0001024
PDP-8/IFirst PDP-8 made out of standard TTL ICs1968$12,8003698
PDP-8/LLower-cost counterpart to the PDP-8/I1968$8,5003902
PDP-12A PDP-8/I with support for LINC instructions 1969$27,900755
PDP-8/EFewer, larger boards to improve price and efficiency1970$6,500
PDP-8/FLower-cost counterpart to the PDP-8/E1972
PDP-8/MAn OEM PDP-8/F with altered front panel1972$5,000
PDP-8/ALSI logic allowed the CPU to fit on a single board1974$1,835
Intersil 6100Single-chip PDP-8-compatible microprocessor 1975
Harris 6120CMOS single-chip PDP-8-compatible microprocessor 1976