IBM704 - IBM 704

Ein IBM 704-Computer bei der NACA im Jahr 1957
Ein IBM 704-Computer mit IBM 727- Bandlaufwerken und IBM 780 CRT-Display

Der IBM 704 , der 1954 von IBM eingeführt wurde , ist der erste in Massenproduktion hergestellte Computer mit Gleitkomma- Arithmetik-Hardware. Das Betriebshandbuch IBM 704 besagt:

Die elektronische Datenverarbeitungsmaschine Typ 704 ist ein großer elektronischer Hochgeschwindigkeitsrechner, der durch ein intern gespeichertes Programm des Einzeladressentyps gesteuert wird.

Der 704 galt damals also als "so ziemlich der einzige Computer, der mit komplexer Mathematik umgehen konnte". Der 704 war eine deutliche Verbesserung gegenüber dem früheren IBM 701 in Bezug auf Architektur und Implementierung. Wie der 701 verwendet der 704 eine Vakuumröhren- Logikschaltung und 36-Bit- Binärwörter. Zu den Änderungen gegenüber dem 701 gehören die Verwendung von Kernspeicher anstelle von Williams-Röhren , Gleitkomma-Arithmetikbefehle, 15-Bit-Adressierung und das Hinzufügen von drei Indexregistern . Um diese neuen Funktionen zu unterstützen, wurden die Befehle erweitert, um das volle 36-Bit-Wort zu verwenden. Der neue Befehlssatz , der nicht mit dem 701 kompatibel ist, wurde zur Basis für die Unterklasse "wissenschaftliche Architektur" der Computer der IBM 700/7000-Serie.

Der 704 kann bis zu 12.000 Gleitkomma-Additionen pro Sekunde ausführen. IBM produzierte zwischen 1955 und 1960 123 Systeme des Typs 704.

Sehenswürdigkeiten

Die Programmiersprachen FORTRAN und LISP wurden zunächst für den 704 entwickelt, ebenso der SAP-Assembler – Symbolic Assembly Program , später von SHARE als SHARE Assembly Program vertrieben .

MUSIC , das erste Computermusikprogramm, wurde auf dem IBM 704 von Max Mathews entwickelt .

1962 schuf der Physiker John Larry Kelly Jr. einen der berühmtesten Momente in der Geschichte von Bell Labs, indem er einen IBM 704-Computer zur Sprachsynthese verwendete. Kellys Voice-Recorder-Synthesizer- Vocoder erstellte das Lied Daisy Bell mit musikalischer Begleitung von Max Mathews . Arthur C. Clarke besuchte zum Zeitpunkt dieser Sprachsynthese- Demonstration zufällig seinen Freund und Kollegen John Pierce in den Bell Labs in Murray Hill , und Clarke war so beeindruckt, dass er sie sechs Jahre später in der Höhepunktszene seines Romans und Drehbuchs für 2001: A Space Odyssey , wo der HAL 9000 Computer das gleiche Lied singt.

Edward O. Thorp , ein Mathematiklehrer am MIT, benutzte den IBM 704 als Forschungswerkzeug, um die Gewinnwahrscheinlichkeiten zu untersuchen, während er seine Blackjack- Spieltheorie entwickelte. Mit FORTRAN formulierte er die Gleichungen seines Forschungsmodells.

Die IBM 704 am MIT Computation Center wurde im Herbst 1957 als offizieller Tracker für das Smithsonian Astrophysical Observatory Operation Moonwatch verwendet . IBM stellte vier Wissenschaftler zur Unterstützung der Wissenschaftler und Mathematiker des Smithsonian Astrophysical Observatory bei der Berechnung der Satellitenumlaufbahnen: Dr.  Giampiero Rossoni , Dr. John Greenstadt, Thomas Apple und Richard Hatch.

Das Los Alamos Scientific Laboratory (LASL) hat einen frühen Monitor namens SLAM entwickelt , um die Stapelverarbeitung zu ermöglichen .

Register

IBM 704 Vakuumröhren-Schaltungsmodul

Der IBM 704 hat einen 38-Bit- Akkumulator , ein 36-Bit- Multiplikator-Quotienten- Register und drei 15-Bit- Indexregister . Der Inhalt der Indexregister wird von der Basisadresse abgezogen, daher werden die Indexregister auch "Dekrementregister" genannt. Alle drei Indexregister können an einer Anweisung teilnehmen: Das 3-Bit- Tag- Feld in der Anweisung ist eine Bitmap, die angibt, welches der Register an der Operation teilnimmt. Wenn jedoch mehr als ein Indexregister ausgewählt wird, werden deren Inhalte ODER-verknüpft – nicht addiert – bevor die Dekrementierung stattfindet. Dieses Verhalten blieb in späteren Maschinen mit wissenschaftlicher Architektur (wie der IBM 709 und IBM 7090 ) bis zur IBM 7094 bestehen . Der 1962 eingeführte IBM 7094 erhöhte die Anzahl der Indexregister auf sieben und wählte nur eines nach dem anderen aus; das "oder"-Verhalten bleibt in einem Kompatibilitätsmodus der IBM 7094 verfügbar.

Anleitung und Datenformate

Es gibt zwei Befehlsformate, die als "Typ A" und "Typ B" bezeichnet werden. Die meisten Anweisungen waren vom Typ B.

Befehle vom Typ A haben nacheinander ein 3-Bit- Präfix (Befehlscode), ein 15-Bit- Dekrementierfeld , ein 3-Bit- Markierungsfeld und ein 15-Bit- Adressfeld . Es gibt bedingte Sprungoperationen basierend auf den Werten in den Indexregistern, die im Tag- Feld angegeben sind. Einige Befehle subtrahieren auch das Dekrementierfeld vom Inhalt der Indexregister. Die Implementierung erfordert, dass die zweiten 2 Bits des Befehlscodes nicht null sind, was insgesamt sechs mögliche Befehle vom Typ A ergibt. Eins (STR, Instruction Code Binary 101) wurde erst bei IBM 709 implementiert .

Befehle vom Typ B haben nacheinander einen 12-Bit-Befehlscode (wobei die Bits 2 und 3 auf 0 gesetzt sind, um sie von den Befehlen vom Typ A zu unterscheiden), ein 2-Bit- Flag- Feld, 4 unbenutzte Bits, ein 3-Bit- Tag- Feld, und ein 15-Bit- Adressfeld .

Der Befehlssatz unterteilt das Datenformat implizit in die gleichen Felder wie Befehle vom Typ A: Präfix, Dekrement, Tag und Adresse. Es gibt Befehle , um jedes dieser Felder in einem Datenwort zu modifizieren, ohne den Rest des Wortes zu ändern, obwohl der Store Tag- Befehl nicht auf der IBM 704 implementiert wurde.

Die ursprüngliche Implementierung von Lisp verwendet die Adress- und Dekrementierungsfelder , um den Anfang bzw. das Ende einer verknüpften Liste zu speichern . Die primitiven Funktionen car ("Inhalt des Adressteils des Registers") und cdr ("Inhalt des dekrementierenden Teils des Registers") wurden nach diesen Feldern benannt.

Speicher und Peripheriegeräte

Der 704 enthält Bedienelemente für: einen Lochkartenleser 711 , einen alphabetischen Drucker 716 , einen Lochkartenschreiber 721, fünf Magnetbandeinheiten 727 und eine Bandsteuereinheit 753, einen Magnettrommelleser und -schreiber 733 und einen Magnetkern 737 Speichereinheit. Die Gesamtmasse betrug etwa 19.466 Pfund (9,7 Tonnen; 8,8 t).

Der 704 selbst wurde mit einer Steuerkonsole mit 36 ​​verschiedenen Steuerschaltern oder -knöpfen und 36 Dateneingabeschaltern geliefert, einen für jedes Bit in einem Register. Die Steuerkonsole ermöglicht im Wesentlichen nur das Einstellen der Binärwerte der Register mit Schaltern und das Anzeigen des Binärzustands der Register, die im Muster vieler kleiner Neonröhren angezeigt werden, die wie moderne LEDs aussehen. Für die menschliche Interaktion mit dem Computer würden die Programme zunächst auf Lochkarten und nicht an der Konsole eingegeben, und eine menschenlesbare Ausgabe würde an den Drucker geleitet.

Der IBM 740 Cathode Ray Tube Output Recorder war ebenfalls erhältlich, ein 21-Zoll- Vektordisplay mit einer sehr langen Phosphor- Nachleuchtdauer von 20 Sekunden für die menschliche Betrachtung, zusammen mit einem 7-Zoll-Display, das das gleiche Signal wie das größere Display empfängt, aber mit einem schnell zerfallenden Phosphor, der für das Fotografieren mit einer angeschlossenen Kamera entwickelt wurde.

Die 737 Magnetic Core Storage Unit dient als RAM und stellt 4.096 36-Bit-Wörter zur Verfügung, was 18.432 Bytes entspricht. Die 727 Magnetbandeinheiten speichern über 5 Millionen 6-Bit-Zeichen pro Rolle.

Zuverlässigkeit

Als Vakuumröhrenmaschine hatte die IBM 704 nach heutigen Maßstäben eine sehr geringe Zuverlässigkeit. Im Durchschnitt fiel die Maschine etwa alle 8 Stunden aus, was die Programmgröße begrenzte, die die ersten Fortran- Compiler erfolgreich übersetzen konnten, da die Maschine vor einer erfolgreichen Kompilierung eines großen Programms ausfallen würde.

Siehe auch

Verweise

Weiterlesen

Externe Links