logo Computermuseum der
Stuttgarter Informatik
english français

PDP-8/L I/O-Box


In der Euphorie über die gelungene Reparatur des PDP-8/L im vergangenen Jahr habe ich mit dem Bau einer Ein-Ausgabeerweiterung für die Maschine begonnen. Sie ist inzwischen praktisch fertig und bietet folgende Features:

Im Moment steuere ich mit den parallelen Ports die IBM 73 Kugelkopfschreib- maschine an, die dadurch zum Schönschreibdrucker wird.

Die Platine in der Box
Die Platine in der Box

Dieses ist die Logikplatine der I/O-Box. Einige der Bauteile auf dem Photo können zur Erklärung angeklickt werden.

Die beiden UARTs

UART bedeutet: Universal Asynchronous Receiver/Transmitter

Zwei altertümliche UARTs in PMOS-Technologie. Sie benötigen zwei Betriebsspannungen, Vcc = +5V und Vdd = -12V, die durch den DC-DC-Wandler auf der Platine erzeugt wird.
Beide UARTs werden hier mit einer Baudrate von 9600 Bd betrieben.

DC-DC-Wandler

Erzeugt aus der 5V-Betriebsspannung jeweils +12V und -12V. Die -12V werden für die UARTS in PMOS-Technologie und für die V24-Treiber, die +12V nur für die V24-Treiber benötigt.

Positiver I/O-Bus

Der Anschluß der IO-Box erfolgt über drei 40-polige Flachbandkabel. Auf dem Bild ist nur das oberste zu sehen.
Der Ausdruck positiver I/O-Bus zeigt den Gegensatz zum 'classic' PDP-8, der mit diskreten PNP-Germanium-Transistoren aufgebaut ist, und mit negativer Betriebsspannung arbeitet.
Da viele Peripheriegeräte jeweils von der vorhergehenden Rechnergeneration übernommen wurden, gab es Pegelanpaßschaltungen zwischen den verschiedenen Bussen.

Zwei GALs

Diese beiden GALs sind der Sündenfall auf der Platine: Sie sind viel zu modern und ersetzen 20 bis 30 SSI-TTL-Chips, die sonst die sogenannte 'Glue-Logik' gebildet hätten. Sie besorgen im wesentlichen die Dekodierung der Befehle und Adressen auf dem PDP-8-Bus, und erzeugen die Signale, mit denen die diversen Puffer, Latches und Flip-Flops gesteuert werden.

Parallel-Ports

An diese beiden Pfostensteckern sind die vier 12-Bit Parallelports angeschlossen: Zwei Input-Ports, zwei Output-Ports.
Die Output-Ports sind nach dem Einschalten oder dem Anhalten der Maschine hochohmig, so daß daran angeschlossene Relais oder Transistoren nicht angesteuert werden.
Die Ports besitzen TTL-Pegel, wobei die Ausgänge genügend Treiberleistung besitzen, um direkt kleine Relais ansteuern zu können.

Input Buffer

Wer ein TTL-Datenbuch besitzt, kann feststellen, dass die hier verwendeten Puffer invertieren. Das liegt daran, dass der AC-(Eingabebus) des PDP-8/L mit negativer Logik arbeitet: 0 = +5V, 1 = 0V.
Um Bezeichnungskonfusionen vorzubeugen: Der 'positive I/O-Bus' hat seinen Namen von der verwendeten positiven Spannung, er arbeitet aber trotzdem mit negativer Logik.
Zur Zeit der Konstruktion des 8/L gab es noch keine Tristate-Logik. Busse, an denen es mehrere Datenquellen gab, wurden daher mit Open-Kollektorbausteinen realisiert. Alle IC-Ausgänge oder Transistoren arbeiten auf einen gemeinsamen Kollektorwiderstand. Sind alle Ausgänge gesperrt, zieht der Widerstand den Bus nach +5V, was als logisch 0 interpretiert wird. Leitet einer der Ausgänge, dann wird der Bus nach 0V gezogen, was als logisch 1 interpretiert wird. Es können auch mehrere Ausgänge gleichzeitig leiten, es wird das logische Oder ('wired OR') gebildet.
Nach der Einführung der Tristate-Logik gab es als Übergang zu den existierenden O.C.-Bussen daher eine Zeit lang invertierende Tristate-Treiber wie den hier verwendeten 74LS240. Dabei ist aber Vorsicht geboten. Im Gegensatz zu O.C.-Treibern dürfen bei Tristate-Treibern nicht zwei Treiber zugleich aktiv sein, sonst entsteht Wärme.
Viele PDP-8 Befehle beruhen übrigens auf praktischer Anwendung des wired OR: Der Befehl OSR 'verODERrt' den Inhalt des Akkumulators mit dem des Switchregisters per wired OR.