IBM 704
Der IBM 704 der 700/7000 series war der erste in kleiner Stückzahl hergestellte Großrechner, der Gleitkommaarithmetik beherrschte. IBM stellte den von Gene Amdahl mitentwickelten Rechner im April 1954 der Öffentlichkeit vor.
Zu seinem Vorgänger, der 1953 erbaute IBM 701, auch Defense Calculator genannt, dessen überwiegende Produktion an das US-Verteidigungsministerium und die Militärflugzeugindustrie ging, war die IBM 704 nicht kompatibel.
Laut Angaben des Herstellers, der bis 1960 123 Anlagen herstellte, konnte die IBM 704 bis zu 40.000 Befehle pro Sekunde ausführen.
Architektur
Der Rechner hatte gegenüber der IBM 701 eine verbesserte Rechnerarchitektur, drei zusätzliche Indexregister und Kernspeicher statt Williamsröhren. Der neue Befehlssatz wurde zur Grundlage der IBM 700/7000-wissenschaftlichen Großrechnerserie.
Wortgröße und Datenformate
Die IBM 704 war eine Wort-orientierte Maschine mit einer Wortgröße von 36 bit. Ein Wort konnte entweder eine [1]:7–8 Instruktion, eine Integer-Zahl im sign-magnitude-Format, eine Floating-Point Zahl sein[1]:8–9 oder sechs Buchstaben mit je sechs Bit im BCD-Code umfassen.[1]:35.
Gleitkommazahlen hatten die Basis 2, ein Vorzeichen-Bit, ein acht-bit Exponent und eine Mantisse von 27 bits.[1]:8–9
Speicher
Die IBM 704 war in drei Ausbaustufen verfügbar: 4096, 8192 und 32768 Worte Kernspeicher, nach heutigen Begriffen 18, 36 und 72 KiB. Weiterhin verfügte die Maschine über Trommelspeicher mit je 8192 Worten (36 Kib).[1]:37–38
Register
Die IBM 704 verfügte über folgende Register, die für den Programmierer sichtbar waren:
- Einen Akkumulator AC. Dieser verfügte über 36 bit plus zwei Bit zur Darstellung von Vorzeichen und Overflow.[1]:9
- Ein Multiply-Quotient-Register MQ. Dieses verfügte über 36 bit.[1]:9–10
- Drei Indexregister A, B und C.[1]:9–10 Aus heutiger Sicht ungewöhnlich war, dass Inhalt der Indexregister wird von der Basisadresse subtrahiert wurde, weswegen sie auch Dekrementregister genannt wurden. Bei der Angabe mehrere Index-Register in einer Instruktion wurde ihr Inhalt über ein logisches Oder verknüpft.
Instruktionen
Die IBM 704 verfügte über zwei Instruktionstypen, Typ A und Typ B.
Typ A-Instruktionen verfügten über ein Präfix von drei Bit, ein Dekrement-Feld von 15 bit, drei "tag"-Bits für die zu verwendeten Indexregister und eine 15-bit-Adresse. Ein Beispiel ist die TIX
Instruktion: Falls die Zahl in dem angegebebenen Index-Register größer als das Dekrement ist, wird sie von dem Index-Register abgezogen und ein Sprung zu der Adresse durchgeführt, ansonsten wird die Ausführung mit der nächsten Instruktion durchgeführt.[2]
Typ B-Instruktionen hatten einen 12-Bit-Code mit der Operation, wobei die ersten beiden Bits Null waren, sechs ungenutzte Bits, drei "tag"-Bits für die verwendeten Indexregister und eine 15-bit-Adresse.
Historische Bedeutung
Die Programmiersprachen Fortran und LISP wurden als erstes für diesen Rechner entwickelt. Die Benennung der primitivsten Lisp-Befehle für den Umgang mit Listen (car, cdr) gehen bis heute auf die Benennung der Register der IBM 704 zurück.[3] Die Buchstaben in dem Wort car beziehen sich auf die englische Beschreibung "contents of the address part of register" (Inhalt des Registeradressteils) und die in cdr auf die englische Beschreibung "contents of the decrement part of register" (Inhalt des Registerdekrementteils).
Der IBM 704 war 1961 der erste Rechner, der bei den Bell Labs per Sprachsynthese ein Lied wiedergeben konnte. Dabei handelte es sich um Daisy Bell von Harry Dacre. Später wurde die Idee in Stanley Kubricks 2001: Odyssee im Weltraum übernommen.
Zuverlässigkeit
Da die IBM 704 Röhren verwendete, war ihre Zuverlässigkeit nach heutigen Maßstäben sehr gering. Sie fiel im Durchschnitt nach etwa acht Stunden aus.[4][5] Das stellte eine Begrenzung der Größe der ersten Fortran-Programme dar, da große Programme häufig vor dem Ausfall der Maschine nicht fertig übersetzt werden konnten.[5]
Literatur
- Charles J. Bashe, Lyle R. Johnson, John H. Palmer, Emerson W. Pugh, IBM's Early Computers (MIT Press, Cambridge, 1986) ISBN 0-262-02225-7
Weblinks
- The IBM 704 (engl.)
- IBM Archives: 704 Data Processing System (engl.)
Einzelnachweise
- 704 electronic data processing machine
- Coding for the MIT IBM 704 Computer
- Early LISP History, Herbert Stoyan, 1994
- Robert L. Patrick: General Motors/North Americal Monitor for the IBM 704 Computer. Archiviert vom Original am 31. August 2021.
- Mark Jones Lorenzo: Abstracting Away the Machine: The History of the FORTRAN Programming Language (FORmula TRANslation). Independently published, 2019, ISBN 978-1082395949.