IBM System /360
Model 20

Ankündigung: 1964

360-20 mit Dame

Das System/360 Modell 20 (siehe Abbildung 1 ) wurde speziell dafür konzipiert, die große Schar der Benutzer konventioneller Datenverarbeitungsanlagen (Hollerith-Maschinen) in die moderne elektronische Datenverarbeitung einzuführen.
Dazu bedurfte es eines leistungsfähigen Rechners, der Lochkartenmaschinen betreiben konnte und sich relativ einfach programmieren ließ.
Die zu erledigenden Arbeiten waren hauptsächlich kaufmännischer Art, wie Bestellwesen, Rechnungsschreibung, Kontoführung, Lagerhaltung und dergleichen.

360 MFCM

Das Herzstück der Anlage war, außer der Zentraleinheit IBM-2020 (in der Mitte der Abbildung oben), eine Multifunktionskartenmaschine, die alle Aufgaben einer Lochkartenabteilung, wie Lesen, Stanzen, Beschriften, Sortieren oder Mischen erledigen konnte.

Diese Maschine IBM-2560 (in der nebenstehenden Abbildung) wurde im IBM Labor San Jose, Kalifornien, entwickelt und sollte von der neu zu entwickelnden Zentraleinheit IBM-2020 gesteuert werden.



Zentraleinheit


360 Model 20Die Entwicklung der Zentraleinheit IBM 2020 stellte die Ingenieure des deutschen IBM-Labors Böblingen vor eine knifflige Aufgabe, weil das neue System einerseits sehr kostengünstig zu produzieren sein sollte, andererseits aber nicht nur der neuen System/360 Architektur genügen, sondern auch das Vorgänger System IBM-1401 vollständig nachahmen sollte.




Eine Zusammenfassung der Wesensmerkmale der System/360 Architektur finden Sie unter "Die System/360 Architektur".




Um den Anforderungen zweier unterschiedlicher Architekturen auf kostengünstige Art gerecht zu werden, entschieden sich die Entwickler für ein Verfahren, bei dem mit nur minimaler Hardware die grßtmögliche Vielfalt von logischen Vorgängen durch Mikrocode ausgeführt werden konnte.

Um die Forderung nach möglichst geringen Produktionskosten erfüllen zu können, entschied man sich zusätzlich noch dafür, gewisse Abstriche an der kostspieligen System/360 Architektur zu machen.
So reduzierte man die Anzahl der allgemeinen Register von 16 auf 8 und verzichtete auf die aufwändigen Ein-Ausgabekanäle zugunsten von spezifischen Direktanschlüssen für bestimmte Peripheriemaschinen.

 Technologie

Karte mit Bausteinen

Die Zentraleinheit IBM-2020 benutzte die damals für alle S/360 Systeme neu entwickelte Monolythic System Technology (MST), bei der nicht mehr einzelne Transistoren, sondern vorgefertigte Module mit mehreren Transistoren und Widerständen verwendet wurden.

Diese Module (siehe Abbildung 4 ) bestanden aus einer keramischen Grundplatte mit eingesetzten Kontaktstiften , auf der mittels eines Siebdruckverfahrens metallische Leiterbahnen und Widerstände in Dickfilmtechnik aufgedruckt waren.




MST Baustein

MST-Modul, geöffnet

Auf die entsprechenden Anschlüsse waren kleine quadratische Siliziumkristallplättchen aufgelötet (die Transistoren).
Verschiedene bipolare Transistortypen (PNP und NPN) standen in mehreren Grundschaltungen zur Verfügung.
Mit diesen Grundbausteinen konnte die Rechnerlogik aufgebaut werden.
Die gekapselten Module wurden auf Schaltkarten gelötet, die ihrerseits auf größere Schaltplatten mittels Stecksockeln montiert wurden(siehe Abbildung 5).

Rückseite 2020 Board

Abbildung : Schaltkarte und Schaltplatte

Die Schaltplatten enthielten bis zu drei Ebenen gedruckter Verdrahtung und zusätzliche Einzelverdrahtung, die auf der Rückseite der Platte in Drahtwickeltechnik installiert wurden (siehe nebenstehende Abbildung ).












Rahmen mit Steckkarten














Abbildung 7 : Mehrerer Schaltkarten im Elektronikrahmen.




 Datenfluß

IBM/360 Modell 20 Datenfluss (vereinfacht)

Wie aus Abbildung 8 ersichtlich, bestand die Hardware der Zentraleinheit im Wesentlich aus einem Hauptspeicher und nur 8 Arbeitsregistern (E, S, T, R, U, L, P, I). Drei von ihnen hatten jeweils zwei Austauschregister zugeordnet . Sie dienten dazu, den Inhalt der Register temporär weg zu speichern und ihn bei Bedarf wieder zu reaktivieren. Alle Arbeitsregister und die zugehörigen Austauschregister waren vier Bits breit. Das einzige Logikelement im Rechner war ein Modifizierer, der einen 4-Bit großen Binärbetrag um plus eins oder minus eins verändern konnte. Er konnte den Betrag auch unverändert passieren lassen. Über vier Bit breite Sammelschienen konnte der Inhalt eines jeden Arbeitsregisters dem Modifizierer zugeführt und das Ergebnis wieder zurück gespeichert werden. Die Ein-Ausgabegeräte waren ebenfalls an dieser Sammelschiene angeschlossen.

Außer den Arbeitsregistern gab es noch die Adressregister für den Hauptspeicher und den Mikrokodespeicher, die größer dimensioniert waren.

Einige weitere Spezialschaltungen, wie die Analyselogik der Mikroinstruktionen, vervollständigten den Datenfluss.
Diese Hardware war mittels Steuerung durch Mikrocode ausreichend, um alle logischen Arbeiten einschliesslich der 16-Bit Festkommarithmetik (binär) sowie der gesamten Dezimalarithmetik zu bewältigen.

Der Datenfluss der Zentraleinheit begann am Hauptspeicher, von welchem die Makro-Instruktionen des gespeicherten Anwendungsprogramms entnommen, und in welchen die erarbeiteten Resultate zurück gespeichert wurden.
Dazu dienten die Arbeitsregister U und L, die direkt mit dem Hauptspeicher verbunden waren. Sämtliche Arbeitsschritte im Rechner, wie das Abholen der Instruktionen, ihre Interpretation, das Abholen der Operanden und deren Bearbeitung, so wie das Zurückspeichern der Resultate, wurden von Mikroinstruktionen veranlasst, die in jeweils 600 Nanosekunden ausgeführt wurden.

Es gab 15 Grundtypen von Mikroinstruktionen wie Fetch, Store, Sense, Control, Increase, Decrease, Compare, Move , Branch, usw, die jeweils einen einzelnen Arbeitssschritt darstellten.
So wurde beispielsweise die Addition eines Dezimaloperanden über den Modifizierer bitweise (in 600 Nanosekundenschritten) durchgeführt.
Dazu wurden die Operanden auf zwei Arbeitsregister verteilt. Der kleinere Operand wurde danach immer um minus eins reduziert, um als Zykluszähler zu fungieren. Gleichzeitig wurde der größere Operand um plus eins erhöht. Das wiederholte sich solange, bis der kleinere Operand auf Null reduziert war, denn dann war die Addition im anderen Register fertig gestellt.

Andere logische Operationen wie AND, OR XOR wurden auf ähnliche Weise durchgeführt.
Das galt auch für die komplexeren Aufgaben, wie die Daten Ein-Ausgabe über die Peripheriegeräte, die Analyse der Operationskodes der Makroinstruktionen und auch die Emulation der früheren IBM 1401 Architektur.



Datenfluss

 Microcode

Der Festspeicher für den Mikrocode bestand aus bis zu sechzehn Modulen, je nach Ausrüstung der Zentraleinheit, siehe Abbildung 9.
Diese Module erzeugten die Mikroinstruktionen nach dem Induktionsprinzip eines Transformators. Man sprach daher von einem Transformer Read-Only Storage (TROS).

Abbildung 9. Module des Mikrokodespeichers.









Mikrocode Speier 1Jedes TROS-Modul enthielt 60 Ferritkerne, von denen jeder auf induktivem Wege jeweils ein Bit erzeugen konnte. Jeder Ferritkern war am unteren Ende mit einem Joch versehen, das die Sekundärwicklung des Bit-Transformators trug (siehe Abbildung 10).

Ferritkern mit Erregerspule.

Über die Ferritkerne eines Moduls waren 30 Mylar-Bänder gestapelt, die die Primärverdrahtung darstellten.
Jedes dieser Bänder trug sechs Mikroinstruktionen in Form zweier U-förmig angeordneten Kupferbahnen, durch welche der Erregerstrom geleitet wurde.
Das galvanisch aufgebrachte Muster der Kupferleiterbahnen glich dem einer gewöhnlichen Leiter, das heißt, die Außenholme waren mit Querstreben verbunden.
Durch Perforieren entweder des Außen-oder des Innenholms wurde der Erregerstrom so unterbrochen, dass er entweder zwischen die Schenkel eines Ferritkerns oder außen vorbei geleitet wurde. (siehe Abbildung 11). Read Only Storage









Abbildung 11. Induktionsprinzip

Floß der Strom in einer so gebildeten Halbwicklung (Primärwicklung) zwischen den Ferritkernschenkeln hindurch, induzierte er ein Magnetfeld, das in der abschließenden Jochspule einen Stromstoß erzeugte.
Dieser Stromstoß stellte ein aktives Bit (1 Bit) dar.
Wurde durch Perforieren des Innenholms der Strom am Ferritkern vorbei gelenkt, unterblieb die Induktion und es entstand kein Bit (ein 0-Bit). Auf diese Weise erzeugte der Erregerstrom (von jeweils 600 Nanosekunden Dauer) die unterschiedlichen Bitmuster der Mikroinstruktionen




Abbildung 12. Mylar Tape mit gelochten Instruktionen.


Mylar Tros Es wurden immer drei Mikroinstruktionen gleichzeitig ausgelesen, von denen aber nur eine in das ROS-Datenregister gesetzt wurde, um aktiv zu werden.
Da jede Mikroinstruktion bereits die Adresse der Nachfolgeinstruktion enthielt, war kontinuierliches Arbeiten gewährleistet.
Eine Adressenveränderungslogik ermöglichte die Verzweigung des Mikroprogrammablaufs.

Die Zentraleinheit IBM 2020 konnte bis zu 16288 Mikroinstruktionen enthalten, je nach Ausrüstung der Maschine.





 Hauptspeicher


Der Hauptspeicher

Der Hauptspeicher des System/360 Modell 20 war ein Ringkernspeicher mit einer Kapazität von zunächst 8 Kilobytes, die aber im Laufe der Zeit auf 16 und schließlich auf 32 Kilobytes erweitert wurde.

Der Hauptspeicher war die Einrichtung, in welcher das auszuführende Programm gespeichert wurde, und an den sich der Prozessor grundsätzlich wandte, um dieses Programm auszuführen.

Das Grundprinzip der Speicherung bestand darin, dass man Ferritringe (Kerne) durch Durchleiten eines Stromstoßes entweder im Uhrzeigersinn oder im entgegen gesetzten Sinne magnetisierte., wodurch die beiden binären Zustände eines Bits dargestellt werden konnten.

Da nach Wegfall des Stromstoßes die Magnetisierung erhalten blieb, war eine Speicherwirkung gegeben.
Ein auf diese Weise gespeichertes Programm blieb somit auch nach Ausschalten der Maschine erhalten und musste nicht neu geladen werden.

Der Speicherungsvorgang

Ringkern-Matrix

Um einen einzelnen Ferritkern gezielt auswählen zu können , waren die Ferritringe in einen Drahtrahmen so eingefädelt, dass eine X/Y-Matrix entstand (siehe Abbildung 13).

Ringkernmatrix.

Jeder Ferritring war im Kreuzungspunkt zweier Drähte angeordnet, so dass er nur durch die Koinzidenz zweier Ströme magnetisiert werden konnte.
Zur Speicherung wurde die halbe Stromstärke, die zur Magnetisierung eines Kerns erforderlich war, durch einen bestimmten X-Draht geleitet, die andere Hälfte durch eine bestimmten Y-Draht . Da sich die Magnetfelder um die beiden Drähte nur im Kreuzungspunkt addierten, wurde nur der in dieser Kreuzung eingesetzte Ring magnetisiert.

Das Material der Kerne war so beschaffen, dass eine nahezu rechteckige Hysteresiskurve gegeben war, die gewährleistete, dass nur die volle Stromstärke den Kern in eine bestimmte Richtung magnetisierte. Die Magnetisierungsrichtung wurde durch die Flussrichtung des Adressierungsstroms bestimmt.

Weil der Rechner den Extended Binary Coded Interchange Code (EBCDIC) zur Darstellung der Daten verwendete, waren neun Ringkernrahmen erforderlich, so dass die 8 Datenbits eines Bytes und das zugehörige Paritätsbit auf einmal gespeichert werden konnten.

Jeder Rahmen enthielt somit sämtliche Bits einer bestimmten logischen Wertigkeit (1, 2, 4, 8, 16, usw).
Die Rahmen waren übereinander gestapelt und so verbunden, dass jeder X-Draht einmal durch jeden Rahmen führte. Das galt gleichermaßen für jeden Y-Draht (siehe Abbildung 14). Addressierung eines Bytes

Verdrahtungsschema der Speicherebenen.

Wurde der Strom durch ein bestimmtes X/Y-Drahtpaar geleitet, wurden dadurch sämtliche 9 Bits des so adressierten Bytes im gleichen Sinne magnetisiert.
Um den logischen Status (0 oder 1) jedes einzelnen Bits bestimmen zu können, war in jeden Rahmen ein zusätzlicher Draht durch sämtliche Kerne gefädelt (siehe Abbildung 12 ).
Dieser Draht (die Sense/Inhibitleitung) war parallel zum X-Draht geführt und diente zweierlei Zwecken, zur Magnetisierungsunterdrückung beim Speichern und zur Erkennung der Magnetisierungsrichtung beim Auslesen der Daten.

12. Sense/ Inhibit-Leitungsführung




Sense/Inhibit Lines

Beim Einspeichern einer logische 1 wurden alle Bits des adressierten Bytes in die 1-Richtung gedreht, mit Ausnahme der Kerne, bei denen der Strom in der Sense/Inhibitleitung in umgekehrter Richtung floss und dadurch die Magnetisierung verhindert.

Da die Sense/Inhibitleitung für jeden Rahmen spezifisch war, konnte jedes beliebige Bit eines Bytes von der Magnetisierung ausgeschlossen werden und somit seine ursprüngliche Richtung beibehalten.
Das Paritätsbit wurde immer so gesetzt, dass die Summe der logischen 1-Bits eines Bytes eine ungerade Zahl ergab.

Der Speicherungsvorgang dauerte 1,8 Mikrosekunden.

Auslesen der Daten.

Um gespeicherte Daten auszulesen, wurde das dem Byte zugeordnete X/Y-Drahtpaar von Strom durchflossen, und zwar immer in der Richtung, die eine logische 0 erzeugte. Das heißt, alle Kerne des adressierten Bytes wurden in Null-Richtung magnetisiert, wobei aber kein Strom durch die Sense/Inhibtleitung floss.
Die erneute Magnetisierung der Kerne führte dazu, dass einige entgegen ihrer vorigen Richtung ummagnetisiert wurden, während andere die bereits bestehende Richtung beibehielten.
Die Kerne, die jetzt ummagnetisiert wurden, erzeugten einen Induktionspuls in der Sense/Inhibitleitung.
So zeigte sich, welche Kerne eine logische Eins enthalten hatten.

Außerdem wurde beim Auslesen immer überprüft, ob die Anzahl der 1-Bits ungerade war. War dies nicht der Fall, wurde ein Paritätsfehler erkannt.

Weil der Auslesevorgang grundsätzlich das ursprüngliche Bitmuster zerstörte, wurde er vor dem Einspeichern neuer Daten als Löschvorgang verwendet, so dass alle Bits eines Bytes einen definierten Zustand hatten. Da der Löschvorgang ebenfalls 1,8 Mikrosekunden dauert, ergaben sich 3,6 Mikrosekunden als Taktzeit des Rechners.

Ein kleiner Teil des Hauptspeichers war im Modell 20 als Arbeitsspeicher für den Rechner reserviert. Darin wurden beispielsweise die Daten zum Drucken aufbereitet und bestimmte Zwischenergebnisse gespeichert.



 Software

Das System/360 Modell 20 wurde mittels der Assemblernotation, einer symbolische Sprache, programmiert.
Die symbolischen Anweisungen wurden in Lochkarten gespeichert, die dann dem Assemblerprogramm zugeleitet wurden.
Dieses Programm wandelte die symbolische Sprache in die eigentliche Maschinensprache, das heißt, in die Bitmuster der Instruktionen mit dazugehörigen Adressen um.

Um das Erstellen von Anwendunsprorammen zu vereinfachen, stand der Report Program Generator (RPG) zur Verfügung.
Der bestand aus vorgedruckten Formularen, in welche die einzelnen Anweisungen geschrieben wurden, die dann in Lochkarten zu übertragen waren.
Mit der Einführung von Magnetbandeinheiten und Magnetplatten am Modell 20 kamen später noch ein Tape Operating System (TOS) und ein Disk Operating System (DOS) hinzu.
Dies ermöglichte eine elegantere Stapelverarbeitung der Anwendungsprogramme.
Außerdem wurde noch eine Datenfernübertragungseinrichtung angeboten, die Daten im Telegraphiebetrieb über Telefonleitungen senden und empfangen konnte.

Zur Steuerung der Ein-Ausgabemaschinen benutzte man das Input/Output Control System (IOCDS).

Das Modell 20 war eine der erfolgreichsten Datenverarbeitungsanlagen, die die IBM auf den Markt gebracht hat. Im Jahre 1970 waren etwa 20 000 Systeme weltweit bei Kunden installiert .






Ankündigung

1964

Einsatzgebiet

Für Kommerzielle Anwendungen in kleineren Firmen auf Lochkartenbasis

Revolutionäre Neuerungen

Kleinstes System der neuen System/360 Architektur,welches das Vorgängersystem IBM 1401 vollständig nachahmte und für kleinere Firmen erschwinglich war.

Vorgänger

IBM 1401

Nachfolger

IBM System/370-125




ZURÜCK



R.Z.