IBM System /360 Model 20
Ankündigung: 1964
|
 |
Das System/360 Modell 20 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.
Zentraleinheit
|
Die 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. |
|
Multifunktionskartenmaschine
|
Das Herzstück der Anlage war, außer der Zentraleinheit IBM-2020,
eine Multifunktionskartenmaschine, die alle Aufgaben einer Lochkartenabteilung, wie Lesen, Stanzen, Beschriften, Sortieren
oder Mischen erledigen konnte.
Diese Maschine IBM-2560 wurde im IBM Labor San Jose, Kalifornien, entwickelt und sollte von der
neu zu entwickelnden Zentraleinheit IBM-2020 gesteuert werden. |
 |
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.(siehe Abb.5). |
 |
MST-Modul, geöffnet
Auf die entsprechenden Anschlüsse waren kleine quadratische
Siliziumkristallplättchen, die Transistoren, aufgelötet (siehe Abbildung 5).
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 6). |
 |
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 6 ). |
|
IBM/360 Modell 20 Datenfluss (vereinfacht)
Wie aus Abbildung 8 ersichtlich, bestand die Hardware der Zentraleinheit im Wesentlichen 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.

|
Der Festspeicher für den Microcode 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).
Jedes 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).
|
 |
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
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. |
|

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 entgegengesetzten 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
Um einen einzelnen Ferritkern gezielt auswählen zu können, waren die Ferritringe in einen Drahtrahmen so eingefädelt, daß
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 einen 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). |
 |
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.(Siehe Abb.14)
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 dieses Rahmens gefädelt (siehe Abbildung 14).
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.
Sense/ Inhibit-Leitungsführung
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 verhinderte.

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öchvorgang 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.
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 |
|
R.Z. |