💦 FULL SET: Wiki/PDP - HD Photos!

Jump to content

PDP-8

From Wikipedia, the free encyclopedia
PDP-8
A PDP-8 on display at The National Museum of Computing in Bletchley, England. This example is from the first generation of PDP-8s, built with discrete transistors and later known as the Straight 8.
DeveloperDigital Equipment Corporation
Product familyProgrammed Data Processor
TypeMinicomputer
Release dateMarch 22, 1965; 60 years ago (1965-03-22)
Introductory priceUS$18,500, equivalent to about $185,000 in 2024
Units sold50,000+
PlatformPDP 12-bit
PredecessorPDP-5
SuccessorPDP-12

The PDP-8 is a family of 12-bit minicomputers that was produced by Digital Equipment Corporation (DEC). 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.[1] Over 50,000 units were sold during the model's lifetime.[2]

Its basic design follows the pioneering LINC but has a smaller instruction set, which is an expanded version of the PDP-5 instruction set.[3] 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

[edit]
An open PDP-8/E with its logic modules behind the front panel and one dual TU56 DECtape drive at the top
A "Straight-8" running at the Stuttgart Computer Museum

The earliest PDP-8 model, later informally known as a "Straight-8", was introduced on 22 March 1965 priced at $18,500[4] (equivalent to about $185,000 in 2024[5]). 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,[6] making it the best-selling computer in history at that time.[7][failed verification][8][failed verification]

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 (ALU) 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.[6][9]

Later systems (the PDP-8/I and /L, the PDP-8/E, /F, and /M, and the PDP-8/A) returned to a faster, fully parallel implementation but use much less costly transistor–transistor logic (TTL) 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.[10]

Architectural significance

[edit]

The PDP-8 combines low cost,[4] 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[11] 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.[12] Subsequent computer designs emphasized ease of programming, typically using larger and more intuitive instruction sets.[13]

Eventually, most machine code was generated by compilers and report generators.[14] 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

[edit]
PDP-8 registers
11 10 9 8 7 6 5 4 3 2 1 0 (bit position)
Main registers
AC ACcumulator
MQ Multiplier Quotient
Program counter
PC Program Counter
Status flags
  L Link register

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.[3][15] The LINC had been designed specifically to be easily interfaced with laboratory equipment, and the PDP-5 and PDP-8 included similar features.

PDP-8/e at the Living Computers Museum.

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 (mantissa) and a one-word, 12-bit, exponent.[16] 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 (212) 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 (0.667 MHz), so that a typical two-cycle (Fetch, Execute) 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.[17]

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 (AC), 12-bit program counter (PC), and a single-bit carry flag called the "link register" (L). 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 (DMA) channel. The programmed I/O bus typically runs low to medium-speed peripherals, such as printers, teletypes,