# PDP-1

Der PDP-1 (Programmed Data Processor 1) war der erste Minicomputer und wurde 1959 von der Firma DEC (Digital Equipment Corporation) entwickelt.

## Technik

Die Bezeichnung Minicomputer erscheint aus heutiger Sicht unangemessen, da der PDP-1 so groß war wie zwei Kühlschränke. Dieser PDP konnte aber, im Gegensatz zu den viel größeren IBM-Maschinen, von einer einzigen Person hochgefahren und gesteuert werden. Darüber hinaus konnte er von mehreren Personen simultan genutzt werden. Anfragen, die man an den PDP stellte, wurden sofort verarbeitet und ausgegeben – anders als bei größeren Rechnern, die im Batch(Stapel)betrieb liefen, bei denen man die Programme als Lochkartenstapel beim Operator abgab und sich die Ergebnisse als Ausdruck am nächsten Tag abholen konnte. Angekündigt wurde der PDP-1 1960, das erste Exemplar wurde bereits im Dezember 1959 installiert.
Der PDP-1 wurde mit diskreten Transistor-Schaltkreisen implementiert, statt mit den damals üblichen Elektronenröhren. Integrierte Schaltkreise wurden jedoch noch nicht verwendet.
Entwickler war der DEC-Gründer Ken Olsen. Direkter Vorgänger war der von ihm noch am MIT entwickelte TX-0.

### Eingabegeräte

* Bedienungselemente am Gerät selbst (Hebel und zahlreiche Knöpfe)
* Lochstreifen
* Lichtgriffel
* Fernschreiber (Teletype) als Tastatur (zugleich auch Ausgabegerät)

### Ausgabegeräte

* rundes Oszilloskop, Vektorgrafik, technisch aus einem Radarschirm abgeleitet; 12 Zeichen Breite. Bezeichnung: CRT Type 30, oder Type 31 (Ultra Precision)
* Fernschreiber (Teletype) als Drucker
* Lochstreifen, schon nach dem heute noch verbreiteten Standard

### Programmierung

Der Computer wird von den Emulatoren M.E.S.S. und SIMH unterstützt. Ebenso existieren zahlreiche Spacewar!-Simulationen.
Programmiert wurde der Rechner in Assemblersprache oder in LISP. Der Speicher wurde, im Gegensatz zu heutigen Computern, nicht oktettweise, sondern in 18 Bit großen Worten adressiert. Der Hauptspeicher bestand in der Grundversion aus 4096 dieser Worte, was 9216 Oktetts entspricht.
Es gibt einige wenige Grundbefehle. Die meisten anderen betreffen die Ausgabegeräte.
Grundbefehle mit entsprechendem Code
* ADD Y (40) ADD C(Y) to C(AC)
* AND Y (02) logical AND C(Y) with C(AC)
* CAL Y (16) JDA 100
* DAC Y (24) Deposit C in Y
* DAP Y (26) Deposit Adress part AC in Y
* DIO Y (32) Deposit C(IO) in Y
* DIP Y (30) Deposits contents AC in Y
* DIV Y (56) Divide
* DZM Y (34) Deposit Zero in Y
* IDX Y (44) Index (add one)
* IOR Y (04) Inclusive OR
* IOT Y (72) In-Output Transfer (viele Befehle, nachfolgende 2 Words erforderlich)
* ISP Y (46) Index and Skip
* JDA Y (17) equals DAC Y and JSP Y+1
* JMP Y (60) next instruction from Y
* JSP Y (62) jump to Y, save program Counter in AC
* LAC Y (20) load AC with C (Y)
* LAW N (70) load AC with numer N
* LAW-N (71) load AC with -N
* LIO Y (22) load IO with C(Y)
* MUL Y (54) Multiply
* OPR (76) Operate (9 Befehle, z. B. 760000 NOP)
* SAD Y (50) skip next instruction if C(AC)<>C(Y)
* SAS Y (52) skip next instruction if C(AC)=C(Y)
* SFT (66) Shift, z. B. 661 Rotate AC left, 676 Shift IO right
* SKP (64) Skip, z. B. 640200 Skip on plus AC
* SUB Y (42) subtract C(Y) from C(AC)
* XCT Y (10) execute instructions in Y
* XOR Y (06) exclusive OR C(Y) with C(AC)
Einige Beispiele von anderen wichtigen Befehlen
* RPA (720001) read perforated tape alphanumeric
* RPB (720002) read perforated tape binary
* TYO (720003) type Out
* TYI (720004) type In
* DPY (720007) display one point (CRT Type 30)
* PAC (720043) punch a card (zuvor: LAG load a group)

## Einordnung

Vorgänger war der TX-0 (1955/1956), der erste Computer mit Transistoren. Auf ihm liefen bereits Text-basierte Spiele, z. B. Tic-Tac-Toe.
Das zweite Modell des PDP-1 wurde deshalb berühmt, weil es als Geschenk an das Massachusetts Institute of Technology (MIT) Cambridge ging und dort das berühmte Spiel Spacewar! von Steve Russell und anderen Studenten entwickelt wurde.
Nachfolger waren:
* PDP-7
* PDP-8 /8e /8i
* PDP-10 /10b /10c /10 Mk.III
* PDP-11