Home Computer Crays Supercomputer Site Map counter

Die CDC 8600

Der Name von Seymour Cray ist aufs engste mit der Entwicklung von Supercomputern verbunden. Seymour Cray arbeitete schon seit 1950 bei der Firma ERA an Rechnern mit hoher Geschwindigkeit für wissenschaftliche Einsatzzwecke. Die meisten anderen Hersteller, vor allem IBM, arbeiteten an Computern die den Ansprüchen von kommerziellen Anwendern entsprachen. Diese wollten primär keinen schnellen Rechner, sondern einen der große Datenmengen verarbeiten konnte.

CD 8600Die CDC 8600 wurde nicht fertiggestellt, doch will ich die wesentlichen Parameter, so wie sie veröffentlicht wurden hier skizzieren. Sie sind teilweise widersprüchlich, was daran liegt dass wohl während der Entwicklung vieles geändert wurde. Die meisten Angaben stammen aus dem CDC 8600 Premilary Reference Manual (siehe link unten) Das Designziel war die zehnfache CDC 7600 Performance. Seymour Cray strebte bei jedem Rechner mindestens die zehnfache Geschwindigkeit des Vorgängers an.

Es war bald klar, dass die CDC 8600 eine Neuentwicklung sein musste. So gab es einen Erlass, das Regierungsbehörden nur noch Rechner kaufen dürften, die den ASCII Zeichensatz voll unterstützen würden. Das bedeutet dass ein Byte mindestens 7 Bit (man entschloss sich für 8 Bit) groß sein musste. Die CDC 6600/7600 hatten ein Byte von 6 Bit Größe. Daraus ergab sich eine 64 Bit Architektur.

Weiterhin erwiesen sich die getrennten A-Register mit den Seiteneffekten als umständlich in der Programmierung. Die CDC 8600 sollte so 16 allgemein nutzbare Register bekommen. Die Vergrößerung von 8 auf 16 Registern ergab einen effizienteren Code beim Einsatz eines Fortran-compilers und machte einen Zwischenspeicher für Ergebnisse (Scratchpad-Memory) der als Aufrüstoption diskutiert wurdem nicht nötig.

Weiterhin entschloss man sich um bei dreimal höherem Takt trotzdem auf die zehnfache Rechengeschwindigkeit zu kommen erstmals für eine Multiprozessorarchitektur. Ursprünglich waren nur mehrere Befehlsdekoder geplant die mehrere Funktionseinheiten gemeinsam nutzen sollten. Doch zeigte sich, dass dies nicht ausreichend war.

Äußerlich erinnert die CDC 8600 sehr an spätere Cray Rechner. Anders als die Vorgängermodelle war es ein 16-Ecker, der von einem zweiten Ring umgeben wurde. In diesem äußeren Ring saß die Kühlung. Das sollte Cray bei der Cray 1 übernehmen, doch diese wurde viel größer als die CDC 8600. Ein bei einer Pressevorführung vorgestelltes Mockup ging einer daneben abgebildeten Frau gerade mal bis zur Taille. (Etwa 90 cm Höhe). Damit dürfte die CDC 8600 kleiner als eine Cray 2 gewesen sein. Der Flächenbedarf dürfte durch die sehr ausladende Kühlung aber genauso groß wie bei der Cray 1 gewesen sein. Die Kühlung hat einen Durchmesser von etwa 3,50 m.

Zum Verhängnis der Entwicklung wurde die Auslegung des Rechners. Um die Zykluszeit von 8 ns zu erreichen (mehr als dreimal schneller als eine CDC 7600) verwendete CDC wieder Transistoren. Es gab als die Entwicklung begann, keine integrierten Schaltungen, die schnell genug waren. Die Spezifikation für die Schaltung sah eine Schaltzeit eines Gatters von maximal 0,75 ns vor. So nahm man erneut Transistoren von Motorola mit einer Schaltzeit von 0,4-0,5 ns. Innerhalb eines Moduls dürfte ein Signal maximal 1,4 ns brauchen, Verbindungen zwischen den Modulen dürften maximal 2,5 ns brauchen. Das Problem war nur: da mehrere Transistoren größer als integrierte Schaltungen sind die diese Anzahl an Transistoren enthalten stieg der Stromverbrauch rapide an. Das machte eine enorm aufwendige Kühlung nötig, Als CDC beim CDC Star von Transistoren auf integrierte Schaltungen wechselte, konnte sie den Stromverbrauch um den Faktor 10 senken!

ModulDie CDC 8600 bestand wie ihre Vorgänger aus Modulen, nicht einzelnen Platinen. Ein Modul bestand aus achtzehn Platinen mit den Abmessungen 20,3 x 15,2 cm x 6,3 cm. Es gab wie später auch bei der Cray 2 und 3 Verbindungen in der Z-Ebene, also direkt zwischen Transistoren verschiedener Platinen. Dieses Modul von den Abmessungen eines Buches emittierte 3 kW Abwärme. Man versuchte die Wärmeabgabe zu lösen, indem man unter die Platinen eine Kupferschicht einbrachte, die die Abwärme aufnahm und zu einem massiven Kupferblock am Ende des Moduls leitete, der dann von Freon durchflossen wurde. Der Preis war ein komplexer Aufbau und ein enormes Gewicht – ein Modul wog schließlich 7 kg. Jeder der vier Prozessoren belegte 13 Module, der Speicher nahm 66 Module in Beschlag, die I/O Sektion brauchte nur 8 Module. Zusammen waren dies 126 Module mit 1000 Platinen. 132 Steckplätze gab es. Jedes Modul hatte 432 Pins.

Bei den Logikmodulen bestand ein Modul aus 16 Platinen die 16 Bits verarbeiteten und zwei Kontrollplatinen. Der 64 Bit Addierer bestand aus vier Modulen, der Multiplikator sogar aus nur drei Modulen. Ein Modul entsprach 26 Modulen der CDC 7600. Da diese 250 Module hatte war die CDC 8600 rund fünfmal komplexer als eine CDC 7600. Dazu kam dass jeder Transistor eine Komponente war die ausfallen konnte und jedes Modul hatte 30.000 Komponenten und kostete 15.000 Dollar in der Fertigung. Ob man die CDC 8600 jemals hätte wirtschaftlich fertigen können und sie bei diesen vielen Transistoren zuverlässig gewesen wäre. Eine CDC 6600 hatte bei 400.000 Transistoren eine MTBF von 2000 Stunden. die CD 8600 hatte 45-mal mehr Transistoren, wäre also bei gleicher Zuverlässigkeit eines Transistors im Mittel nach weniger als 50 Stunden ausgefallen

Die Module waren wie später die Cray 2 und Cray 3 mit Verbindungen zwischen den Platinen versehen. Die Reparatur war so aufwendig. Es dauerte 2 Stunden einen defekten Transistor in einem Modul auszutauschen.

Speicher

Um das Entwurfsziel der zehnfachen CDC 7600 Performance zu erreichen, reichte der höhere Takt nicht aus. So waren anders als bei der CDC 7600 vier Prozessoren vorgesehen, die sich einen gemeinsamen Speicher teilten. Er war nur 256 kWorte groß, also kleiner als der Speicher der CDC 7600 und viermal kleiner als bei der Cray 1. Der Speicher war in 64 Bänke aufgeteilt. Die große Zahl der Bänke ergab sich nicht nur aus der geringen Zykluszeit des Ringkernspeichers und den langsamen Speicherbausteinen. Da es vier Prozessoren gab, die jeweils Daten und Code von unterschiedlichen Stellen holten und die Ein-/Ausgabeeinheit unabhängig von ihnen auf den Speicher zugreifen konnte rechnete man mit 10 bis 15 zeitgleich angesprochenen Bänken.

Jede Bank bestand aus Ringkernspeicher von jeweils 4 KWorten pro Modul. An jede Bank angeschlossen war eine Zugriffskontrolleinheit, die bei mehreren Zugriffen diese nacheinander abarbeitete und zwei Register, welchee die aktuelle Adresse und das aktuell geschriebene Wort aufnahmen. Die Zugriffszeit betrug 9 Takte (70 ns), die Zykluszeit sogar 32 Takte (250 ns). Das sind Intern wurden pro Wort 72 Bits gespeichert: 4 Bits dienten der Fehlerkontrolle und wurden mit über den Bus übertragen. 4 Bits dienten als Reserve und sollten wohl defekte Speicherkerne ersetzen. 64 Bit waren das Speicherwort. Jede Bank konnte ein 64 Bit Wort pro Takt transferieren.

Jeder Prozessor hatte je zwei Einheiten für die Addition und Division von Fließkommazahlen und sogar die für Multiplikationen. Es gab keine eigene Recheneinheit für Ganzzahloperationen, stattdessen bildete die ALU zusammen mit den Registern eine Einheit, die bei der Cray 1 z.B. in eigenen Platinen steckten. Die Buseinheit, die mit dem Speicher kommunizierte, hatte zwei Einheiten für die Adressoperationen und den Prefetch von Befehlen. Die erste Einheit für die Übertragung Adressen hatte einen 20-Bit-Adressbus und speicherte Adressen in drei Registern. Die Buseinheit für den Code hatte einen 64 Bit breiten Bus. Beide hatten einen 12 Worte langen Adress- und Instruktionsstack. Der Letztere enthielt die neun letzten und zwei nächsten Befehlsworte (bezogen auf die aktuell abgearbeitete Adresse). Sprünge innerhalb des Stacks dauerten nur 7 anstatt 18 Zyklen, was sehr deutlich die Langsamkeit des Speichers zeigt.

Während ein Premilary Reference Manual von Ringkernspeichern spricht, geht die Beschreibung in einem Museum von Cray Maschinen von Bipolar-SRAM mit 256 Bits pro Chip aus. Zumindest von der Zugriffszeit würde dies eher zu den 70 ns passen, Ringkernspeicher mit dieser Zugriffszeit wäre extrem schnell. Auch spricht dieses Museum von 256 anstatt 125 Modulen.

Der Speicher entwickelte sich aus dem LCM-Speicher der CDC 7600 und hatte die Aufteilung dessen. So gab es feste Buffer für die I/O-Prozessoren, die dort Daten ablegen konnten.

Maschinensprache

CDC ModulBei der Maschinensprache gab es eine Zäsur. Die CDC 6600/7600 und auch die auf die Cray 1 waren Rechner mit RISC Befehlssatz. Dies war die CDC 8600 nicht. So gab es fünf Befehlsformate mit 4,6 oder 8 Bit für den Befehl. Bei der CDC 6600/7600 waren die Befehlsteile im Opcode dagegen immer 6 Bits lang, und bei der Cray waren es 7 Bits. Immerhin waren die Befehle mit Datenteilen dann 16 oder 32 Bit breit, genauso breit wie bei der Cray. Befehle wurden immer in 64 Bit Happen geholt. Das machte es nötig, wenn in einem Wort nur noch 16 Bit übrig waren, aber eine 32-Bit-Anweisung als nächste kam, die 16 Bit mit einem „Pass“ Befehl aufzufüllen, der nichts tut, weil ein Befehl nicht in einem Wort beginnen und in einem anderen enden durfte.

Es gab 79 Befehle, die 1-32 Takte lang dauerten, auffällig an der Befehlsübersicht ist, dass vor allem Zugriffe auf den Speicher lange dauerten. So die indizierte Adressierung 15 Takte und Sprünge/Verzweigungen 18 Takte. Fließkommarechenoperationen gingen dagegen schnell, bis auf die Division waren sie in 8 Takten durchgeführt. Es gab indizierte Adressoperationen, die bei anderen Rechnern von Cray fehlten. Es gab Instruktionen, die Operationen nur gekoppelt an Bedingungen durchführten, z.B. ein Shift, wenn die Zahl negativ war. Zwei Instruktionen starteten und beendeten einen Betriebssystemaufruf.

Vieles spricht dafür, dass Seymour Cray zumindest mit der Maschinensprache nicht beteiligt war, denn nicht nur die CISC-ähnlichen Befehle unterscheiden die CDC 8600 von ihren Vorgängern und Nachfolgern, es gab auch 16 allgemein nutzbare Register, während bei allen Rechnern von Cray es immer (mindestens) je 8 Register für Ganzzahlrechnungen, 8 für Adressoperationen und 8 für Fließkommaoperationen gab. Wie die Cray 1 hatte sie aber eine 64-Bit-Architektur. Die zusätzlichen 4 Bits kamen durch die Umstellung von 6 auf 8 Bit „Bytes“ zustande. Die Rechner vorher verwendeten bei Zeichenketten nur 6 Bits, das lies z.B. keine Kleinbuchstaben zu. Inzwischen hatte die Regierung beschlossen, um den ASCII-Standard für Bytes durchzusetzen, keine Rechner mehr zu kaufen, die diesen nicht mehr einsetzte, was auch dazu führte, dass die CDC 7600 nicht so gut verkauft wurde, wie von CDC gewünscht. Bis heute sind Fließkommazahlen in 64 Bit Größe das Standardformat bei Supercomputern. Heute werden Werte allerdings nach dem IEEE 754 Standard verarbeitet, den es damals noch nicht gab. Für die Adressierung wurden nur 20 Bits verwendet. Damit war der Speicher von 256 KWorten auf maximal 1 MWorte ausbaubar.

Die Ein/Ausgabesektion war nicht vollständig neu entwickelt worden. Es gab 16 Kanäle, alle vollduplex (erlauben Transfers vom und zum Rechner) und jeder Kanal transferierte ein 64-Bit-Wort in 40 ns. An diese wurden die I/O Prozessoren der CDC-Serie 6000 oder 7000 (CDC 6600/7600) angeschlossen. An diese I/O-Einheiten dann wiederum Peripheriegeräte wie Wechselplatten. Dazu gab es eine Main Control Station, mit der der Rechner gestartet und überwacht werden konnte. Es konnte dazu ein Prozessor in den Monitor Mode versetzt werden. Dies wurde durch ein Flag im Prozessor signalisiert.

Es war nicht nur die Kühlung, wie immer skizziert berichtet wird, die zum Scheitern des Projektes führte. Es war einfach zu ambitioniert. Die Zykluszeit von 8 ns wurde erst von der Cray 2 unterboten, das war im Jahr 1985, elf Jahre nachdem CDC die Entwicklung einstellte. Dazu kam der CISC-Befehlssatz, der bedeutete, dass man mehr Schaltungen braucht, um die CPU zu realisieren, das kombiniert mit der der Verwendung von Transistoren, die an der Entwicklung Beteiligte in dieser Menge als "Zuverlässigkeits-Albtraum" bezeichneten.

Auf der anderen Seite wirkt der Einsatz von Ringkernspeichern anachronistisch, auch weil ihre Zykluszeit mit 32 Takten indiskutabel lang war. Das war wahrscheinlich der Grund, warum man nach einigen Jahren der Entwicklung auf 256 Bit Bipolar-Flipflops als Schaltelemente wechselte. De Fakto bestand mehr als die Hälfte der Module aus Speicherbausteinen.

Entwicklungsgeschichte

Die Entwicklung der CDC 8600 begann 1968, doch 1971 war der Rechner noch lange von der Fertigstellung entfernt. Schließlich ging Seymour Cray zum Chef von CDC Norris und sagte, er hätte eine Lösung für das Kühlungsproblem gefunden, aber er müsste mit dem Design von vorne starten. CDC war in einer wirtschaftlich schwierigen Lage. Die CDC 7600 verkaufte sich nicht so gut wie erwartet und der Rechner war nun schon überfällig. Norris sagte Cray, CDC könnte es sich nicht leisten komplett neu mit der CDC 8600 anzufangen. Seymour Cray müsse mit dem Design wie es ist weitermachen oder man würde das Projekt einstellen.

Seymour Cray bricht mit der CDC 8600 ab und gründet 1972 seine eigene Firma Cray Research, die 1976 die Cray 1 vorstellt. Die Entwicklung der CDC 8600 wurde dann 1972 abgebrochen, als immer deutlicher sichtbar würde, dass der Rechner nicht in absehbarer Zeit fertigstellt werden könnte. CDC veröffentlicht als nächsten Großrechner stattdessen 1974 die CDC 100 Star. Dieser von einem Konkurrenzteam entwickelte Rechner setzte erstmals Vektoroperationen ein, hatte aber einen noch ausgeprägteren CISC Befehlssatz (213 Befehle). Sie wurde aber zu einem kommerziellen Misserfolg, da sie eine Speicher-Speicher Architektur hatte. Das bedeutet, alle Vektoroperationen wurden vom Speicher geholt und die Ergebnisse direkt in den Speicher geschrieben. (Die Cray 1 arbeitete mit Vektorregistern). Durch die langsame Zugriffszeit der Ringkernspeicher hatten die Rechnungen daher eine hohe Latenzzeit, erst bei 50 Vektoroperationen war die Star 100 schneller als eine CDC 7600, die schon 5 Jahre alt. Die theoretische Maximalperformance von 100 MFLOPs wurde nicht annähernd erreicht. CDC machte ein Redesign, ersetzte den Ringkernspeicher durch schnellen Halbleiterspeicher und halbierte den Taktzyklus. Der Rechner kam als CDC 205 1980 neu heraus, konnte aber nicht gegen die Vormachtstellung der Cray 1 ankommen.

Seymour Cray verwandte bei den Cray 2+3 ähnliche Gehäuse. Auch diese bestanden aus Modulen mit Querverbindungen. Das Kühlproblem hatte er dahingehend gelöst, das der ganze Rechner in flüssigem Kühlmittel eingetaucht war. Erstaunlicherweise setzte er bei der Cray 2 auch langsamen Speicher ein (diesmal DRAM anstatt statischem Bipolarspeicher), wodurch der Rechner nicht seine Spitzenperformance erreichte.

Technische Daten

Parameter Wert
Entwicklung: 1968 bis 1972
Prozessoren: 4
Geschwindigkeit: 500 MIPS, 200 MFLOPS maximal, 62,5 MFLOPS (praktisch erreicht)
Gewicht: 875 kg (nur Module)
Stromverbrauch. etwa 375 kW
Flächenbedarf: etwa 16 m²
Speicher: 256 KWorte (Ringkernspeicher oder Halbleiterspeicher)
mit einer Zugriffzeit von 70 ns und einer Zykluszeit von 250 ns
8 GBit/s Transferrate
Zykluszeit: 8 ns
Architekturbreite. 64 Bit
Instruktionen: 79
Ein-/Ausgabeeinheiten 16 Kanäle, Transfer eines 64 Bit Worts in 40 ns pro Kanal

Referenzen

http://people.cs.clemson.edu/~mark/cdc8600.html

Preliminary 8600 Reference Manual

CDC 8600 architecture patent, US 3,833,889, 1974

CDC Oral History

Artikel erstellt am 22.9.2014

Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensläufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.

Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.

Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.

Mehr über das Buch auf dieser eigenen Seite.

Hier geht's zur Gesamtübersicht meiner Bücher mit direkten Links zum BOD-Buchshop. Die Bücher sind aber auch direkt im Buchhandel bestellbar (da ich über sehr spezielle Themen schreibe, wird man sie wohl kaum in der Auslage finden) und sie sind natürlich in den gängigen Online-Plattformen wie Amazon, Libri, Buecher.de erhältlich.


© des Textes: Bernd Leitenberger. Jede Veröffentlichung dieses Textes im Ganzen oder in Auszügen darf nur mit Zustimmung des Urhebers erfolgen.
Sitemap Kontakt Neues Hier werben Bücher vom Autor Buchempfehlungen Top 99