PDP-11

PDP-11/40

Digital Equipment Corporation Logo
 
HerstellerDigital Equipment Corporation
TypProzessrechner
VeröffentlichungJanuar 1970
ProzessorDEC 16-bit
Arbeitsspeicher4.096 × 16 Bit
Grafikkeine
Soundkeiner
DatenträgerLochstreifen, Diskette, Datenband, Festplatte
Betriebssystemdiverse, darunter BATCH-11/DOS-11, DSM-11, IAS, P/OS, RSTS/E, RSX-11, RT-11, Ultrix-11
NachfolgerVAX-11

Die PDP-11 war ein 1970 eingeführter, in den 1970er Jahren weit verbreiteter 16-Bit-Computer der Digital Equipment Corporation. Obwohl nicht explizit als Nachfolger konzipiert, löste er bei vielen Anwendungen in der Prozessrechentechnik den vorher dominierenden 12-Bit-Computer PDP-8 aus der Programmed-Data-Processor-Reihe ab.

Das technische Konzept der PDP-11-Serie war einfach gehalten. Ein standardisiertes „Universelles Bus-System“ (Unibus), über das Zentraleinheit, Arbeitsspeicher und Ein-/Ausgabe-Geräte miteinander kommunizierten.

Im Unterschied zu vielen vorherigen Rechnern kannte die PDP-11 keine speziellen Ein-/Ausgabe-Befehle. Da Peripheriegeräte am Unibus wie Arbeitsspeicher adressiert wurden, konnte die Peripherie mit „normalen“ Rechnerbefehlen gesteuert werden. Auch bei der Steuerung von Kraftwerken, Verkehrswegen und Telefonnetzen wurde die PDP-11 verwendet. Das offene Bus-System ermöglichte es auch Fremdanbietern, kostengünstige und leistungsstarke Peripheriegeräte zum Anschluss an die PDP-11 auf den Markt zu bringen.

Geschichte

Einführung

Die PDP-11 wurde im Januar 1970 von der Digital Equipment Corporation (DEC) eingeführt und baute bereits auf Integrierten Schaltkreisen auf.[1] Sie kommunizierte über ein standardisiertes „Universelles Bus-System“ (Unibus), was die Auf- und Umrüstung für eine Vielzahl von Prozessanwendungen ermöglichte. Deswegen wurde die PDP-11 häufig in den 1970er und 1980er Jahren im experimentellen Wissenschafts- und Forschungsbereich eingesetzt und war dort ein Quasi-Standard. Auch bei der Steuerung von Kraftwerken, Verkehrswegen und Telefonnetzen gab es ein weites Anwendungsfeld. DEC verkaufte allein in den 1970er Jahren über 170.000 PDP-11.[2] Mit der 1983 eingeführten PDP-11/73 wurde der Q-Bus eingeführt, bei dem Multiplexing eingesetzt wurde, so dass sich Adress- und Datensignale dieselben Leitungen teilen. Dies ermöglichte preiswertere Rechnermodelle. So war die PDP-11 auch Anfang der 1990er Jahre noch in vielen Forschungslabors vertreten.

Konkurrenz

Der Professional 325 (PRO-325), der Professional 350 (PRO-350) und der Professional 380 (PRO-380) waren PDP-11-kompatible Mikrocomputer, die 1982 von DEC als High-End-Konkurrenz zum IBM PC eingeführt wurden. In diesem Bereich konnte sich die PDP-11 jedoch nicht durchsetzen.

Auch die Verwendung der PDP-11 als Prozessrechner ging u. a. durch die Konkurrenz durch Intel-basierte Personal Computer (PCs) immer mehr zurück. Die letzten Modellreihen von DEC waren die 1990 eingeführten PDP-11/93 und PDP-11/94. Das Ende kam, als DEC am 26. Januar 1998 an Compaq verkauft wurde.

Verwendung noch im 21. Jahrhundert

In der Einrichtung HASYLAB am Deutschen Elektronen-Synchrotron in Hamburg diente von 1981 bis zum 20. Oktober 2012 eine PDP-11/23 an der Beamline E1 zur Steuerung von FLIPPER II, einer Anlage zur Messung von Photoelektronenspektroskopie mit Synchrotronstrahlung.

Die PDP-11 wird in Kernkraftwerken von General Electric noch verwendet. Das soll bis 2050 so bleiben.[3]

PDP-11-Modelle

Die PDP-11-Rechner können nach dem verwendeten Peripheriebus eingeteilt werden. Mit der MicroPDP-11 wurde in den 1980er Jahren ein Tischrechner verwendet.[4]

Unibus-Modelle

DEC „Jaws-11“-Chipsatz
DEC „Fonz-11“-Chipsatz
Prozessorkern (Die)-Foto des DEC J-11 "Datenchip" (57-19400-09)
Prozessorkern (Die)-Foto des DEC J-11 "Controller" (57-19400-09)
PDP-11/70

Die folgenden Modelle nutzten den ursprünglichen 18 bit breiten Unibus:

  • PDP-11 (später PDP-11/20) und PDP-11/15, der originale Rechner von Jim O’Loughlin mit 4 K 16-Bit-Arbeitsspeicher
  • PDP-11/35 und 11/40
  • PDP-11/45, 11/50 und 11/55 mit deutlich schnellerem Prozessor
  • PDP-11/70: 11/45 Architektur mit bis zu 4 MiB Speicher und E/A-Schnittstellen über den Massbus
  • PDP-11/05 und 11/10, kostenreduzierte 11/20
  • PDP-11/34 und 11/04, kostenreduzierte Version nach Konzept von Bob Armstrong
  • PDP-11/44, verbesserte 11/34 mit Cachespeicher und Gleitkommaeinheit, entwickelt von John Sofio
  • PDP-11/60
  • PDP-11/24, erste VLSI PDP-11 für Unibus mit „Fonz-11“ (F11)-Chipset
  • PDP-11/84, VLSI „Jaws-11“ (J11)-Chipset
  • PDP-11/94, schnellere Variante der 11/84

Q-Bus-Modelle

Eine PDP-11/23, Gehäuseabdeckung entfernt

Die folgenden Modelle nutzten den später eingeführten preiswerteren Q-Bus, bei dem Adress- und Datenleitungen zusammengelegt waren:

  • PDP-11/03 (auch bekannt als LSI-11/03)
  • LSI 11/2 (elf-halbe) kompaktere Version vom Ur-LSI-11
  • PDP-11/23 mit 248 KB Speicher
  • MicroPDP-11/23
  • MicroPDP-11/73 mit „Jaws-11“ (J-11)-Chipset
  • MicroPDP-11/53, 11/53+ mit 1,5 MB Speicher on board
  • MicroPDP-11/83
  • MicroPDP-11/93, letztes DEC-Q-Bus-PDP-11-Modell
  • Mentec M100, Redesign der 11/93 von Mentec
  • Mentec M11
  • Quickware QED-993: PDP-11/93 Prozessor-Upgradeboard

Modelle ohne Bussystem

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

Diese Modelle hatten nur den 16 bit breiten Prozessorbus und dienten als intelligente Terminals. Die Serien PDT-11/110 und PDT-11/130 nutzten ein VT100-Terminal-Gehäuse.

Weitere Workstations

  • Pro 325, Arbeitsplatzrechner mit „Fonz-11“ (F11)-Chipset und Disketten
  • Pro 350, Arbeitsplatzrechner mit „Fonz-11“ (F11)-Chipset, Disketten und Festplatte
  • Pro 380, Arbeitsplatzrechner mit „Jaws-11“ (J-11)-Chipset, Disketten und Festplatte

Nachbauten aus dem Ostblock

Die PDP-11 wurde wegen ihrer technischen Bedeutung auch in der Sowjetunion und ihren verbündeten Staaten ohne Lizenz nachgebaut. Beispiele dafür sind:

  • SM-4, SM-1420, IZOT-1016 (Bulgarien).
  • SM-2, SM2-M (geschrieben kyrillisch CM2, CM2M) (CSSR)
  • K 1600 (DDR)
  • Mera (Polen)
  • I-102 (Rumänien)
  • SM-4, SM-1420, SM-1600, Elektronika BK-0010, DVK, UKNC (Sowjetunion)
  • TPA-51 (Ungarn) "TPA" (ung. Abk.) "Speicherprogrammierbarer Analysator". Exakter Nachbau des PDP-11/40 vom Institut für Kernphysik (KFKI) der Ungarischen Akademie der Wissenschaften (MTA). "TPA-11/40" wurde später in "TPA-51" (11+40) umbenannt.

Betriebssysteme

Für den PDP-11 waren über zwanzig bootbare Betriebssysteme, jedoch nicht für alle Kunden weltweit, verfügbar:

Von DEC:

Von Drittanbietern:

Befehle

CPU-Karte einer PDP-11

Die PDP-11 hat eine Wortbreite von 16 bit. Es werden Einadressbefehle, Zweiadressbefehle und Sprünge unterschieden. Die Adressierung erfolgt jeweils über sechs Bit, wobei die ersten drei Bit für die acht Adressierungsmodi verwendet werden und die letzten drei für die Auswahl eines der acht Register (R0 bis R7). Viele Befehle gibt es als Wortbefehle und als Bytebefehle, das heißt, sie operieren mit 16-Bit- bzw. 8-Bit-Einheiten. Die Byteversionen der „doppelt“ vorhandenen Befehle sind in den folgenden Aufstellungen in Klammern angegeben.

1-Adress-Befehle

0910121315
OP-CodeModeRegister

Die wichtigsten 1-Adress-Befehle sind:

  • INC(INCB) X: Inkrementieren des Wertes um 1
  • DEC(DECB) X: Dekrementieren des Wertes um 1
  • COM(COMB) X: Einerkomplement von X
  • NEG(NEGB) X: Zweierkomplement von X (Negierung)
  • ASR(ASRB) X: Arithmetisches Schieben nach rechts
  • ASL(ASLB) X: Arithmetisches Schieben nach links
  • ROR(RORB) X: Nach rechts rotieren
  • ROL(ROLB) X: Nach links rotieren

2-Adress-Befehle

2-Adress-Befehle folgen immer dem Muster „Befehl–Quelle–Ziel“. Beim Befehl ADD R1, R2 wird also gerechnet R2 = R1 + R2.

03467910121315
OP-CodeModeRegisterModeRegister

Die wichtigsten 2-Adress-Befehle sind:

  • MOV(MOVB) A,B: Kopieren (B = A)
  • ADD A,B: Addition (B = B + A)
  • SUB A,B: Subtraktion (B = B – A)
  • MUL A,B: Multiplikation (B = B * A)
  • DIV A,B: Division (B = B/A)

Sprünge

Bei Sprüngen wird immer ein 8-Bit-Offset angegeben. Dies gibt die Anzahl der Worte an, um die gesprungen wird.

07815
OP-CodeOffset

Die PDP-11 bringt sehr viele Sprungbefehle mit, insgesamt 18 verschiedene.

Adressierungsmodi

Die Adressierungsmodi unterscheiden sich bei der PDP-11 abhängig davon, ob als Register R0 bis R5 (Allzweckregister), R6 (Stapelzeiger bzw. Stackpointer, SP) oder R7 (Programmzähler, PC) verwendet wird.

Allzweckregister (R0 bis R5)

BitfolgeKurzformName/Beschreibung
000RnRegister direkt: Der Operand ist Register Rn.
001@RnRegister indirekt: die Adresse des Operandes ist im Register Rn.
010(Rn)+Postautoinkrement: die Adresse des Operandes ist im Register Rn; danach wird Rn um eine Adressierungseinheit (Byte/Word operation +1/+2) erhöht.
011@(Rn)+Postautoinkrement indirekt: die Adresse der Adresse des Operandes ist im Register Rn, danach wird Rn um 2 erhöht.
100-(Rn)Preautodekrement: Zuerst wird Rn um eine Adressierungseinheit verringert; die Adresse des Operandes ist im Register Rn.
101@-(Rn)Preautodekrement indirekt: Zuerst wird Rn um 2 verringert; die Adresse der Adresse des Operandes ist im Register Rn.
110X(Rn)Index: X und der Wert in Rn werden addiert und der Wert verwendet, der an der Speicherstelle steht, die durch diese Summe gegeben ist.
111@X(Rn)Index: X und der Wert in Rn werden addiert und der Wert verwendet, der an der Speicherstelle steht, auf die die Speicherstelle zeigt, die durch diese Summe gegeben ist.

Eine Adressierungseinheit ist „1“ für Byte-Befehle und „2“ für Wort-Befehle.

Stapelzeiger (R6)

R6 ist ein Zeiger auf den Stapelspeicher, der vom Prozessor bei Interrupts zur Zwischenspeicherung des aktuellen Maschinenzustands verwendet wird. Der Stapelzeiger dient der Verwaltung des Stapelspeichers, er muss grundsätzlich eine Wortadresse, das heißt eine gerade Adresse enthalten. Deshalb wird im Unterschied zu den Allzweckregistern bei den Adressmodes Autoinkrement bzw. Autodekrement das Register R6 immer um 2 erhöht oder erniedrigt, unabhängig ob es sich um einen Byte- oder Wortbefehl handelt. Darüber hinaus folgen die Adressierungsmodi der oben stehenden Tabelle der Allzweckregister.

Programmzähler (R7 bzw. PC)

BitfolgeKurzformName/Beschreibung
010#NImmediate: Der Wert folgt dem Befehl im Programmspeicher.
011@#AAbsolute: Die Speicheradresse des Wertes folgt dem Befehl im Programmspeicher.
110ARelative: Die Speicheradresse des Wertes ist die Summe aus dem aktuellen Programmzähler und dem Offset, das dem Befehl im Programmspeicher folgt.
111@ARelative Indirekt: An der Speicheradresse, die die Summe des aktuellen Programmzählers und dem, dem Befehl folgenden Offset ist, steht die Adresse, an der der Wert zu finden ist.

Trivia

Im Film 23 – Nichts ist so wie es scheint wird die PDP-11 mehrmals erwähnt. Im Film wird fälschlicherweise behauptet, eine PDP-11 benötige zwangsläufig einen Dreiphasenwechselstromanschluss mit 380 V. Obwohl es einige „große“ PDP-11-Modelle gibt, die tatsächlich Dreiphasenwechselstrom benötigen, kommt doch die überwiegende Mehrheit der PDP-11-Rechner mit einphasiger Wechselspannung von 110 V bzw. 220 V aus. Da jedoch im Film ein Einphasenstecker in 32-Ampere-Ausführung zu sehen ist, könnte auch gemeint sein, dass sich die Maschine nicht aus einer normalen Steckdose versorgen lässt. Tatsächlich ist das im Film gezeigte Gerät jedoch keine PDP-11, sondern ein IBM AS/400.[5]

Der amerikanische Informatiker Dennis Ritchie entwickelte Anfang der 1970er Jahre unter Unix auf einer PDP-11 die Programmiersprache C.[6]

Konkurrenzprodukte

Virtualisierung

miniaturisierte Version einer PDP-11/70 basierend auf einem Raspberry Pi (Baujahr 2018)

Derzeit gibt es vier Emulatoren für PDP-11-Server.

NameAktuelle VersionLetzte VeröffentlichungSystemPlattformLizenzWeblink
Ersatz-115.31. September 2009DEC PDP-11DOS, Windows, LinuxSharewaredbit.com
ts100210044. Oktober 2002DEC PDP-10, DEC PDP-11, DEC VAXUnix, LinuxGPLsourceforge.net
SIMH3.10[7]16. April 2019Verschiedene alte ComputerCross-platformOpen sourcesimh.trailing-edge.com
CharonCHARON-PDPPDP-11/93 (Q-BUS), PDP-11/94 (UNIBUS)WindowsKommerziellstromasys.ch

Weblinks

Commons: PDP-11 – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. Larry McGowan: How the PDP-11 Was Born. Abgerufen am 22. Januar 2015.Vorlage:Cite web/temporär
  2. Paul Cerruzi, A History of Modern Computing, MIT Press, 2003, ISBN 0-262-53203-4, page 199
  3. Nuke plants to rely on PDP-11 code until 2050, engl., abgerufen am 19. Juni 2013
  4. Bedienungsanleitung der MicroPDP-11 aus dem Jahr 1985, engl., abgerufen am 2. Mai 2015
  5. starringthecomputer.com
  6. Die Unix-Story. Geschichtliches Sachbuch über das Computerbetriebssystem Unix von Autor Brian W. Kernighan, 254 Seiten, Oktober 2020, dpunkt.verlag GmbH, Heidelberg, S. 100
  7. The Computer History Simulation Project. Releases. In: Github. simh, 6. Oktober 2019, abgerufen am 8. Oktober 2019.

Auf dieser Seite verwendete Medien

KL DEC J11.jpg
Autor/Urheber: Konstantin Lanzet, Lizenz: CC BY-SA 3.0
CPU DEC "Jaws-11" (DC335 and DC334A)
PiDP11 RaspberryPie PDP11.png
Autor/Urheber: Denalos, Lizenz: CC BY-SA 4.0
Das Bild zeigt einen Miniatur-Nachbau einer PDP11. Im Gehäuse läuft ein Raspberry Pie, der mit dem simh-Emulator die gesamte PDP-Hardware emuliert. Das Verhalten des Systems und die Anschlüsse entsprechen dem Original. Auf dem angeschlossenen Monitor läuft zusätzlich die Raspberry Pie-Version von Wolfram Mathematica
DEC J-11 Data chip die.JPG
Autor/Urheber: Pauli Rautakorpi, Lizenz: CC BY 3.0
Die shot of DEC J-11 Data chip with chip number DC334 and part number 21-17677-04.
Pdp-11-40.jpg
Autor/Urheber: Stefan_Kögl, Lizenz: CC BY-SA 3.0
PDP11/40 as exhibited in Vienna Technical Museum
Digital Equipment Corporation 1993 logo.svg
SVG of digital equipment corporation logo
DEC J-11 Control chip die.JPG
Autor/Urheber: Pauli Rautakorpi, Lizenz: CC BY 3.0
Die shot of DEC J-11 Control chip with chip number DC335 and part number 21-17679-16.
DEC LSI11-23.jpg
Autor/Urheber: Jkbw, Lizenz: CC BY 3.0
LSI11/03 with 32 kByte Memory, cover removed. Two of the four chips in the CPU chipset are missing, and the FPU chip is also not present.
PDP-11-M7270.jpg
Autor/Urheber:

Google-user:ShieldforyourDevice

Institution:Computing Society of Rhode Island, Lizenz: CC BY-SA 3.0
M7270 PDP-11 CPU board with LSI-11/2 chipset. From the collection of the RCS/RI.
Pdp11-70.jpg
Autor/Urheber: Florian Schäffer, Lizenz: CC BY-SA 4.0
PDP-11/70
KL DEC F11.jpg
Autor/Urheber: Konstantin Lanzet, Lizenz: CC BY-SA 3.0
CPU DEC "Fonz-11" (DC303E and DC303F)