PDP-11

from Wikipedia, the free encyclopedia

The PDP-11 was a 16-bit computer manufactured by Digital Equipment Corporation, introduced in 1970 and widely used in the 1970s . Although not explicitly designed as a successor, it replaced the previously dominant 12-bit computer PDP-8 from the Programmed Data Processor range in many applications in process computing .

The technical concept of the PDP-11 series was kept simple. A standardized "universal bus system" (Unibus), via which the central processing unit , main memory and input / output devices communicated with one another, enabled upgrading and conversion for a large number of process applications. That is why the PDP-11 was often used in experimental science and research.

In contrast to many previous computers, the PDP-11 did not have any special input / output commands. Since peripheral devices on the Unibus were addressed like main memory, the peripheral devices could be controlled with "normal" computer commands. The PDP-11 was also used to control power plants, traffic routes and telephone networks. The open bus system also made it possible for third-party providers to bring low-cost, high-performance peripheral devices to the market for connection to the PDP-11.

PDP-11/40 in the Technical Museum Vienna

PDP-11 models

The PDP-11 computers can be classified according to the peripheral bus used. A desktop calculator was used with the MicroPDP-11 in the 1980s.

Unibus models

DEC "Jaws-11" chipset
DEC “Fonz-11” chipset
Processor core (die) photo of the DEC J-11 "data chip" (57-19400-09)
Processor core (die) photo of the DEC J-11 "Controller" (57-19400-09)
PDP-11/70

The following models used the original 18 bit wide Unibus :

  • PDP-11 (later PDP-11/20) and PDP-11/15, the original computer from Jim O'Loughlin with 4 K 16-bit main memory
  • PDP-11/35 and 11/40
  • PDP-11/45, 11/50 and 11/55 with a significantly faster processor
  • PDP-11/70: 11/45 architecture with up to 4 MiB memory and I / O interfaces via the mass bus
  • PDP-11/05 and 11/10, discounted 11/20
  • PDP-11/34 and 11/04, reduced-price version based on the concept of Bob Armstrong
  • PDP-11/44, improved 11/34 with cache memory and floating point unit , developed by John Sofio
  • PDP-11/60
  • PDP-11/24, first VLSI PDP-11 for Unibus with "Fonz-11" (F11) chipset
  • PDP-11/84, VLSI "Jaws-11" (J11) chipset
  • PDP-11/94, faster version of the 11/84

Q-bus models

One PDP-11/23, cover removed

The following models used the cheaper Q-Bus , which was introduced later , in which address and data lines were combined:

  • PDP-11/03 (also known as LSI-11/03)
  • LSI 11/2 (eleven-half) more compact version of the original LSI-11
  • PDP-11/23 with 248 KB memory
  • MicroPDP-11/23
  • MicroPDP-11/73 with "Jaws-11" (J-11) chipset
  • MicroPDP-11/53, 11/53 + with 1.5 MB memory on board
  • MicroPDP-11/83
  • MicroPDP-11/93, last DEC-Q-Bus PDP-11 model
  • Mentec M100, redesign of the 11/93 by Mentec
  • Mentec M11
  • Quickware QED-993: PDP-11/93 processor upgrade board

Models without a bus system

  • PDT-11/110
  • PDT-11/130
  • PDT-11/150

These models only had the 16-bit processor bus and served as intelligent terminals. The PDT-11/110 and PDT-11/130 series used a VT100 terminal housing.

More workstations

  • Pro 325, workstation computer with "Fonz-11" (F11) chipset and floppy disks
  • Pro 350, workstation computer with "Fonz-11" (F11) chipset, floppy disks and hard disk
  • Pro 380, workstation computer with "Jaws-11" (J-11) chipset, floppy disks and hard disk

Replicas from the Eastern Bloc

Because of its technical importance, the PDP-11 was also built in the Soviet Union and its allied states without a license. Examples are:

  • SM-4, SM-1420, IZOT-1016 (Bulgaria).
  • SM-2, SM2-M (written in Cyrillic CM2, CM2M) (CSSR)
  • K 1600 (GDR)
  • Mera (Poland)
  • I-102 (Romania)
  • SM-4, SM-1420, SM-1600, Elektronika BK-0010 , DVK, UKNC (Soviet Union)
  • TPA-51 (Hungary) "TPA" (ung. Abbr.) "Programmable Logic Analyzer". Exact replica of the PDP-11/40 from the Institute for Nuclear Physics (KFKI) of the Hungarian Academy of Sciences (MTA). "TPA-11/40" was later renamed "TPA-51" (11 + 40).

Operating systems

Various operating systems were available for the PDP-11:

From DEC:

From third party providers:

Commands

CPU card of a PDP-11

The PDP-11 has a word length of 16 bits. A distinction is made between one-address commands, two-address commands and jumps. Addressing takes place via six bits, whereby the first three bits are used for the eight addressing modes and the last three for selecting one of the eight registers (R0 to R7). Many commands are available as word commands and as byte commands, which means that they operate with 16-bit or 8-bit units. The byte versions of the "duplicate" commands are given in brackets in the following lists.

1-address commands

0 9 10 12 13 15th
OP code Fashion register

The most important 1-address commands are:

  • INC (INCB) X: Increment the value by 1
  • DEC (DECB) X: Decrement the value by 1
  • COM (COMB) X: one's complement of X
  • NEG (NEGB) X: two's complement of X (negation)
  • ASR (ASRB) X: Arithmetic shift to the right
  • ASL (ASLB) X: Arithmetic shift to the left
  • ROR (RORB) X: Rotate to the right
  • ROL (ROLB) X: Rotate to the left

2 address commands

2-address commands always follow the pattern “command – source – destination”. With the command ADD R1, R2 R2 = R1 + R2 is calculated .

0 3 4th 6th 7th 9 10 12 13 15th
OP code Fashion register Fashion register

The most important 2-address commands are:

  • MOV (MOVB) A, B: Copy (B = A)
  • ADD A, B: addition (B = B + A)
  • SUB A, B: subtraction (B = B - A)
  • MUL A, B: multiplication (B = B * A)
  • DIV A, B: Division (B = B / A)

Jumps

An 8-bit offset is always specified for jumps. This indicates the number of words that will be jumped.

0 7th 8th 15th
OP code Offset

The PDP-11 has a lot of jump commands, a total of 18 different ones.

Addressing modes

The addressing modes of the PDP-11 differ depending on whether the registers used are R0 to R5 (general purpose register), R6 ( stack pointer or stack pointer, SP) or R7 ( program counter , PC).

General Purpose Register (R0 to R5)

Bit sequence short form Name / description
000 Marg Direct register: The operand is register Rn.
001 @Rn Indirect register: the address of the operand is in register Rn.
010 (Rn) + Postauto increment: the address of the operand is in register Rn; thereafter Rn is increased by one addressing unit (byte / word operation + 1 / + 2).
011 @ (Rn) + Postbus increment indirect: the address of the address of the operand is in the register Rn, then Rn is increased by 2.
100 - (Rn) Pre-decrement: First, Rn is decreased by one addressing unit; the address of the operand is in register Rn.
101 @ - (Rn) Indirect pre-decrement: First, Rn is decreased by 2; the address of the address of the operand is in register Rn.
110 X (Rn) Index: X and the value in Rn are added and the value is used that is in the memory location given by this sum.
111 @X (Rn) Index: X and the value in Rn are added and the value is used that is at the memory location pointed to by the memory location given by this sum.

An addressing unit is “1” for byte commands and “2” for word commands.

Stack pointer (R6)

R6 is a pointer to the stack memory that is used by the processor in the event of interrupts to temporarily store the current machine status. The stack pointer is used to manage the stack memory; it must always contain a word address, i.e. an even address. Therefore, in contrast to the general-purpose registers, in the auto-increment or auto-decrement address modes, register R6 is always increased or decreased by 2, regardless of whether it is a byte or word command. In addition, the addressing modes follow the general purpose register table above.

Program counter (R7 or PC)

Bit sequence short form Name / description
010 #N Immediate: The value follows the command in the program memory.
011 @ # A Absolute: The memory address of the value follows the command in the program memory.
110 A. Relative: The memory address of the value is the sum of the current program counter and the offset that follows the command in the program memory.
111 @A Relative indirect: The address at which the value can be found is at the memory address, which is the sum of the current program counter and the offset following the command.

Use in the 21st century

In the HASYLAB facility at the German Electron Synchrotron in Hamburg, a PDP-11/23 was used on beamline E1 from 1981 to October 20, 2012 to control FLIPPER II, a system for measuring photoelectron spectroscopy with synchrotron radiation .

The PDP-11 in nuclear power plants of General Electric still used. It should stay that way until 2050.

Trivia

In film 23 - Nothing is as it seems , the PDP-11 is mentioned several times. The film falsely claims that a PDP-11 necessarily requires a three-phase AC connection with 380 V. Although there are some “large” PDP-11 models that actually require three-phase AC power, the vast majority of PDP-11 computers come with single-phase AC voltage of 110 V or 220 V. However, since the film shows a single-phase 32-amp plug, it could also mean that the machine cannot be powered from a normal socket. In fact, the device shown in the film is not a PDP-11, but an IBM AS / 400 .

Competing products

Virtualization

miniaturized version of a PDP-11/70 based on a Raspberry Pi (year of construction 2018)

There are currently four emulators for PDP-11 servers.

Surname Current version Last publication system platform License Web link
Replacement 11 5.3 September 1, 2009 DEC PDP-11 DOS , Windows , Linux Shareware dbit.com
ts10 021004 October 4, 2002 DEC PDP-10 , DEC PDP-11, DEC VAX Unix , Linux GPL sourceforge.net
SIMH 3.10 April 16, 2019 Various old computers Cross-platform Open source simh.trailing-edge.com
Charon CHARON-PDP PDP-11/93 (Q-BUS), PDP-11/94 (UNIBUS) Windows Commercially stromasys.ch

Web links

Commons : PDP-11  - collection of pictures, videos and audio files

Individual evidence

  1. Operating instructions for the MicroPDP-11 from 1985 , English, accessed on May 2, 2015
  2. Nuke plants to rely on PDP-11 code until 2050 , accessed June 19, 2013
  3. starringthecomputer.com
  4. ^ The Computer History Simulation Project. Releases. In: Github. simh, October 6, 2019, accessed October 8, 2019 .