www.wikidata.de-de.nina.az
Die CDC 6600 war das Flaggschiff der Grossrechnersysteme aus der CDC 6000 Serie der Control Data Corporation 2 3 Allgemein als erster erfolgreicher Supercomputer angesehen ubertraf sie den vorherigen Rekordhalter der Branche die IBM 7030 Stretch um den Faktor drei 4 5 Mit einer Leistung von bis zu drei MegaFLOPS 6 7 war die CDC 6600 von 1964 bis 1969 schnellster Computer der Welt bis sie diesen Status an ihren Nachfolger die CDC 7600 verlor 8 Grund und Aufriss der CDC 6600 mit BemassungDie CDC 6600 Hinter der Systemkonsole befinden sich zwei Arme des kreuzformigen Gehauses mit geoffneten Verkleidungen Innen sind einzelne Module zu sehen Die Halterungen der Module sind angelenkt um die dahinter liegenden Halterungen zuganglich zu machen Jeder Arm der Maschine hatte bis zu vier solcher Halterungen Rechts sieht man das Kuhlsystem Systemkonsole eines CDC 6600 Systems Bei diesem fortschrittlichen Design ersetzten Bildschirme und Tastatur die an damaligen Systemkonsolen ublichen Hunderte von Schaltern und Kontrollleuchten Die softwaregesteuerten Bildschirme dienten zur Textanzeige in drei wahlbaren Schriftgrossen und vermochten auch einfache Grafiken zu zeichnen Im Gegensatz zu modernen Rastergrafik Bildschirmen hatte die Konsole zwei Vektorbildschirme in deren Font 1 bestand jede Glyphe aus einer Reihe von Vektoren Autovervollstandigung von Schlusselworten erlaubte eine schnellere Befehlseingabe Viele Exemplare wurden an verschiedene Kernwaffen Labors geliefert und einige fanden ihren Weg in die Computerlabors der Universitaten Eine CDC 6600 ist im Computer History Museum in Mountain View Kalifornien ausgestellt Die einzige noch lauffahige Maschine der CDC 6000 Serie wurde am Living Computers Museum Labs in Seattle restauriert und kann dort online genutzt werden 9 Inhaltsverzeichnis 1 Geschichte und Wirkung 2 Beschreibung 3 Peripherieprozessoren Eigenschaften 4 Befehlssatz Architektur 4 1 Modelle 4 2 Zentralprozessor CP 4 3 Speicherorganisation 4 4 Peripherieprozessoren PPs 4 5 Wortlangen Zeichen 4 6 Physisches Design 5 Betriebssystem und Programmierung 6 CDC 7600 7 Literatur 8 Weblinks 9 EinzelnachweiseGeschichte und Wirkung Bearbeiten Hauptartikel Control Data Corporation Die ersten Produkte von CDC basierten auf den bei ERA entwickelten Maschinen die Seymour Cray nach seinem Wechsel zu CDC aktualisieren musste Nach einer experimentellen Maschine namens Little Character 10 wurde 1960 die CDC 1604 ausgeliefert einer der ersten kommerziellen Computer auf Transistorbasis und eine der schnellsten Maschinen auf dem Markt Das Management zeigte sich erfreut und plante eine neue Serie von Maschinen die starker auf die geschaftliche Nutzung zugeschnitten waren Sie sollten beispielsweise Anweisungen fur die Zeichenverarbeitung und das Speichern von Datensatzen enthalten Cray war an einem solchen Projekt nicht interessiert und setzte sich zum Ziel eine neue Maschine zu produzieren die 50 mal schneller als die 1604 sein sollte Als er gebeten wurde einen detaillierten Bericht uber die Plane in einem und funf Jahren in der Zukunft zu erstellen schrieb er zuruck sein Funfjahresziel sei den grossten Computer der Welt zu produzieren der grosste seinerzeit synonym mit der schnellste und sein Einjahresplan lautete ein Funftel des Weges geschafft zu haben Nach Umzug in ein neues Buro in der Nahe des ursprunglichen CDC Hauptquartiers begann sein Kernteam mit hochwertigen Versionen der billigen Transistoren zu experimentieren die Cray bei der 1604 verwendet hatte Nach langen Versuchen stellten sie fest dass sich Transistoren auf Germanium Basis einfach nicht viel schneller betreiben liessen als bei der 1604 Die Business Maschine die das Management ursprunglich wollte und die sich jetzt als CDC 3000 Serie formierte reizte sie so weit aus wie moglich Als Losung entschied Cray dann mit den damals neuen Silizium basierten Transistoren von Fairchild Semiconductor zu arbeiten die gerade auf den Markt kamen und eine dramatisch verbesserte Schaltleistung boten In dieser Zeit wuchs CDC von einem Startup zu einem grossen Unternehmen und Cray wurde zunehmend frustriert uber die seiner Ansicht nach lacherlichen Managementanforderungen Die Situation spitzte sich zu als sich 1962 die neue CDC 3600 der Produktionsreife naherte und genau das zu werden schien was die Geschaftsleitung wollte und als sie es wollte Cray sagte schliesslich dem CEO von CDC William Norris dass sich etwas andern musse sonst wurde er das Unternehmen verlassen Norris fand dass er zu wichtig sei um ihn zu verlieren und gab Cray grunes Licht ein neues Labor einzurichten wo immer er wollte Nach kurzer Suche entschloss sich Cray in seine Heimatstadt Chippewa Falls Wisconsin zuruckzukehren wo er ein Stuck Land kaufte und ein neues Labor eroffnete Obwohl dies zu einer langeren Verzogerung bei der Konstruktion seiner neuen Maschine fuhrte begann die Entwicklung im neuen Labor ohne Eingriffe des Managements rasch Zu dieser Zeit wurden die neuen Transistoren ziemlich zuverlassig und mit ihnen gebaute Module funktionierten meist auf Anhieb einwandfrei Die 6600 nahm Gestalt an wobei Cray mit Jim Thornton Systemarchitekt und heimlichem Genie der 6600 zusammenarbeitete Die ersten CDC 6600 wurden 1965 an Livermore und Los Alamos ausgeliefert Sie wurden schnell zu einem unentbehrlichen System in wissenschaftlichen und mathematischen Rechenkreisen wobei Systeme an das Courant Institute of Mathematical Sciences das CERN 11 das Lawrence Radiation Laboratory 12 und viele andere geliefert wurden Insgesamt wurden etwa 50 Exemplare ausgeliefert 13 nach anderen Quellen uber 100 Cray wandte sich sofort ihrem Nachfolgemodell zu das als CDC 7600 ausgeliefert werden sollte und setzte sich dafur das Zehnfache der Leistung der 6600 als Ziel Die spateren CDC Cyber 70 und 170 Computer waren der CDC 6600 im Gesamtdesign sehr ahnlich und nahezu vollstandig abwartskompatibel Die 6600 war dreimal schneller als die vorherige Rekordhalterin die IBM 7030 Stretch dies alarmierte IBM Der damalige CEO Thomas J Watson Jr schrieb ein Memo an seine Mitarbeiter Letzte Woche hat Control Data das 6600 System angekundigt Ich verstehe dass im Labor das das System entwickelt nur 34 Personen arbeiten einschliesslich des Hausmeisters Davon sind 14 Ingenieure und 4 Programmierer Wenn ich diese bescheidenen Anstrengungen mit unseren umfangreichen Entwicklungsaktivitaten vergleiche kann ich nicht nachvollziehen warum wir unsere branchenfuhrende Position verloren haben indem wir jemand anderes den leistungsstarksten Computer der Welt anbieten lassen Crays Antwort war sardonisch Es scheint als hatte Mr Watson seine eigene Frage beantwortet 14 15 Beschreibung BearbeitenTypische Maschinen dieser Zeit verwendeten eine einzige CPU um das gesamte System zu betreiben 16 Ein typisches Programm lud zuerst Daten in den Hauptspeicher haufig unter Verwendung von vorgefertigtem Bibliothekscode verarbeitete sie und schrieb sie dann zuruck Diese vielfaltigen Aufgaben erforderten einen umfangreichen Befehlssatz und damit eine komplexe CPU Dies wiederum implizierte eine grosse CPU was zu Signalverzogerungen fuhrte wahrend Informationen zwischen ihren einzelnen Modulen flossen Diese Verzogerungen begrenzten die Leistung der Maschine sie konnte nur mit einer Taktrate arbeiten die es den Signalen erlaubte rechtzeitig das nachste Modul erreichten Cray wahlte einen anderen Ansatz Zu dieser Zeit liefen CPUs in der Regel langsamer als der Arbeitsspeicher an den sie angeschlossen waren Beispielsweise benotigte ein Prozessor 15 Zyklen um zwei Zahlen zu multiplizieren wahrend fur jeden Speicherzugriff nur ein oder zwei erforderlich waren Dies bedeutete dass der Arbeitsspeicher wahrend eines erheblichen Zeitanteils inaktiv war Es war diese Leerlaufzeit die die 6600 ausnutzte Die CDC 6600 verwendete einen vereinfachten Hauptprozessor der so ausgelegt war dass er mathematische und logische Operationen moglichst schnell ausfuhren konnte Dazu musste er so klein wie moglich gebaut werden um die Lange der Verkabelung und die damit verbundenen Signalverzogerungen zu verringern Dies fuhrte zum meist kreuzformigen Hauptgehause der Maschine in dem die Leiterplatinen fur die CPU nahe der Mitte angeordnet waren Die CPU wurde von zehn Peripherieprozessoren unterstutzt die zur Ein Ausgabe und zum Datentransfer an die CPU dienten Die 6600 verwendete ein 60 Bit Wort und eine Einerkomplement Darstellung von Ganzzahlen was spatere CDC Maschinen bis in die spaten 1980er Jahre beibehielten Damit waren sie neben der UNIVAC 1100 2200 und einigen DSPs die letzten Systeme mit einer derartigen Architektur Anstatt wie andere CPUs alle Rechen und Steueraufgaben zu erledigen fuhrten die 6600 CPUs nur Arithmetik und Logikoperationen aus Dies ermoglichte eine viel kleinere CPU die mit einer hoheren Taktrate arbeiten konnte In Kombination mit der hoheren Schaltgeschwindigkeit der Siliziumtransistoren ubertraf das neue CPU Design alle damals verfugbaren Alternativen bei weitem Das neue Design lief mit 10 MHz 100 ns Takt etwa zehnmal schneller als andere Maschinen auf dem Markt Der einfache Prozessor war nicht nur schneller sondern fuhrte auch Befehle in weniger Taktzyklen aus Beispielsweise konnte die CPU eine Multiplikation in zehn Zyklen durchfuhren Peripherieprozessoren Eigenschaften BearbeitenDie CPU hatte dabei nur einen eingeschrankten Befehlssatz aus einfachen Instruktionen Wahrend typische CPUs der Ara uber einen komplexen Befehlssatz verfugten der auch Anweisungen fur alle normalen Housekeeping Aufgaben wie Speicherzugriff und Ein Ausgabe umfasste implementierte Cray diese Befehle bei der 6600 stattdessen in separaten einfacheren Peripherieprozessoren PPs die ausschliesslich fur solche Aufgaben vorgesehen waren Dadurch kam die CPU mit einem viel kleineren Befehlssatz aus Dies war die erste Implementation dessen was spater als Reduced Instruction Set Computer RISC bezeichnet wurde Durch den parallelen Betrieb von CPU Peripherieprozessoren PPs und E A wurde die Leistung der Maschine erheblich gesteigert Normalerweise hatte eine Maschine mit mehreren Prozessoren auch viel mehr gekostet Der Schlussel zum Design der 6600 bestand darin die PPs so einfach wie moglich zu gestalten Sie basierten auf der einfachen 12 Bit CDC 160 A die viel langsamer als die CPU lief Daten sammelte und uber dedizierte Hardware mit hoher Geschwindigkeit als Bursts in den Hauptspeicher ubertrug Die 10 PPs wurden virtuell implementiert nur einen Prozessor gab es als Hardware 17 Dieser arbeitete mit 10 PP Registersatzen zusammen die die 10 PP Instanzen reprasentierten ahnlich modernen Multithreading Prozessoren und als barrel Fass bezeichnet wurden Bildlich gesprochen drehte sich das barrel schrittweise wobei umlaufend jeder PP Registersatz uber einen slot der PP CPU zugeordnet wurde Die CPU fuhrte den Befehl des jeweiligen PP ganz oder teilweise aus woraufhin sich das barrel wieder drehte und der CPU den Registersatz Zustand des nachsten PP zuordnete Es waren mehrere Umdrehungen des barrel erforderlich um eine Anweisung abzuarbeiten Eine vollstandige barrel Drehung dauerte 1000 Nanosekunden 100 Nanosekunden pro PP und eine Anweisung benotigte eine bis funf Umdrehungen oder noch mehr im Fall eines Datenubertragungsbefehls Befehlssatz Architektur BearbeitenDie 6600 CPU wurde man heute als RISC System bezeichnen bei dem der Prozessor fur vergleichsweise einfache Befehle ausgelegt ist die nur uber begrenzten und genau definierten Speicherzugriff verfugen Viele andere Maschinen verwenden komplexe Anweisungen beispielsweise Abruf eines Operanden aus dem Speicher und dessen Addition in ein Register durch einen einzelnen Maschinenbefehl Bei der 6600 erforderte das Laden des Werts aus dem Speicher einen eigenen Befehl und das Hinzufugen einen zweiten Theoretisch war die Verarbeitung durch die zusatzlichen Speicherzugriffe zwar langsamer doch dies wurde dadurch aufgewogen dass in gut angeordnetem Code mehrere Befehle gleichzeitig verarbeitet werden konnten Diese Vereinfachung zwang Programmierer auch dazu sich ihrer Speicherzugriffe sehr bewusst zu sein und daher sorgfaltig zu codieren um sie so weit wie moglich zu reduzieren Modelle Bearbeiten Die CDC 6000 Serie umfasste vier Grundmodelle die CDC 6400 die CDC 6500 die CDC 6600 und die CDC 6700 Sie unterschieden sich nur in ihren CPUs bei denen es sich um zwei Arten handelte die 6400 CPU und die 6600 CPU Die 6400 CPU hatte eine einzige umfassende Recheneinheit und keine getrennten Rechenwerke Daher konnten sich die Ausfuhrungszeiten der Anweisungen nicht uberschneiden Wenn beispielsweise in einer 6400 CPU eine Additionsanweisung unmittelbar auf eine Multiplikationsanweisung folgte konnte die Addition erst gestartet werden wenn die Multiplikation beendet war so dass die Gesamtausfuhrungszeit der beiden Anweisungen die Summe ihrer einzelnen Ausfuhrungszeiten war Dagegen hatte die 6600 CPU mehrere Rechenwerke die gleichzeitig arbeiten konnten d h parallel was es der CPU ermoglichte die Ausfuhrungszeiten der Befehle zu uberlappen Eine 6600 CPU konnte beispielsweise im nachsten CPU Zyklus nach dem Beginn eines Multiplikationsbefehls bereits mit der Ausfuhrung eines Additionsbefehls beginnen vorausgesetzt naturlich dass das Ergebnis der Multiplikation kein Operand der Addition war daher war die Gesamtausfuhrungszeit der beiden Befehle einfach die langere Ausfuhrungszeit des Multiplikationsbefehls Die 6600 CPU hatte auch einen sogenannten instruction stack Anweisungsstapel eine Art Befehlscache der dadurch zur Erhohung des CPU Durchsatzes beitrug dass die CPU Leerlaufzeit verringert wurde die durch das Warten auf den Speicher beim Nachladen von Anweisungen verursacht wurde Die beiden Arten von CPUs waren befehlskompatibel so dass ein Programm das auf einer der beiden lauffahig war genauso auch auf der anderen lief auf der 6600 CPU jedoch schneller In der Tat waren alle Modelle der 6000er Serie untereinander vollstandig kompatibel Die CDC 6400 hatte eine CPU eine 6400 CPU die CDC 6500 hatte zwei CPUs beide 6400 CPUs die CDC 6600 hatte eine CPU eine 6600 CPU und die CDC 6700 hatte zwei CPUs eine 6600 CPU und eine 6400 CPU Zentralprozessor CP Bearbeiten Register der CDC 6 0059 17 00 Bitposition Operandenregister 60 Bit X0 Register 0X1 Register 1X2 Register 2X3 Register 3X4 Register 4X5 Register 5X6 Register 6X7 Register 7Addressregister 18 Bit A0 Adresse 0 A1 Adresse 1 A2 Adresse 2 A3 Adresse 3 A4 Adresse 4 A5 Adresse 5 A6 Adresse 6 A7 Adresse 7Inkrementregister 18 Bit B0 alle Bits Null Inkrement 0 B1 Inkrement 1 B2 Inkrement 2 B3 Inkrement 3 B4 Inkrement 4 B5 Inkrement 5 B6 Inkrement 6 B7 Inkrement 7Der Zentralprozessor Central Processor CP und der Hauptspeicher der Maschinen 6400 6500 und 6600 hatten eine Wortlange von 60 Bit Der CP hatte acht Allzweck 60 Bit Register X0 bis X7 acht 18 Bit Adressregister A0 bis A7 und acht 18 Bit Inkrement Register B0 bis B7 B0 wurde von der Hardware permanent auf Null gehalten Viele Programmierer fanden es nutzlich B1 auf 1 zu setzen und es auf ahnliche Weise als Festwert zu behandeln Es gab keine CP Anweisungen fur die Ein und Ausgabe diese wurden uber Peripherieprozessoren PP siehe unten ausgefuhrt Auch gab es keine eigenen Opcodes zum Laden oder Speichern zwischen Hauptspeicher und Registern Dies geschah vielmehr als Nebeneffekt der Zuordnung zu bestimmten A Registern Durch Setzen von A1 bis A5 wurde das Wort an dieser Speicheradresse in X1 bis X5 geladen durch Setzen von A6 oder A7 wurde ein Wort von X6 oder X7 gespeichert Mit A0 waren keine Nebenwirkungen verbunden Eine separate Hardware Lade Speichereinheit die stunt box fuhrte die tatsachliche Datenbewegung unabhangig von der Operation des Befehlsstroms durch so dass andere Operationen bereits abgeschlossen werden konnten wahrend noch auf den Speicher zugegriffen wurde dies erforderte im besten Fall acht Zyklen Der 6600 CP enthielt zehn parallele Funktionseinheiten mit denen mehrere Anweisungen gleichzeitig bearbeitet werden konnten Heute ist dies als superskalares Prozessordesign bekannt aber seinerzeit war es einzigartig Im Gegensatz zu den meisten modernen CPU Designs wurden funktionale Einheiten nicht per Pipeline verbunden Die Funktionseinheit war belegt wenn ihr eine Anweisung erteilt wurde und blieb es fur die gesamte Zeit die zur Ausfuhrung dieser Anweisung erforderlich war Im Gegensatz dazu wurde bei den Rechenwerken der CDC 7600 das Pipelining eingefuhrt Im besten Fall konnte alle 100 ns ein Befehl an ein Rechenwerk erteilt werden Das System las und decodierte Anweisungen aus dem Speicher so schnell wie moglich im Allgemeinen schneller als sie ausgefuhrt werden konnten und leitete sie zur Verarbeitung an die Rechenwerke weiter Dies waren Gleitkommamultiplikation zwei Instanzen Gleitkommadivision Gleitkommazahladdition lange Ganzzahladdition Inkrementierer zwei Instanzen fuhrte Laden Speichern des Speichers aus Verschiebung Boolesche Logik VerzweigungGleitkommaoperationen hatten in dieser Architektur einen hohen Stellenwert Die CDC 6600 und Verwandte waren praktisch als einzige in der Lage eine 60 Bit Gleitkomma Multiplikation in einer Zeit vergleichbar mit der fur eine Verzweigung durchzufuhren 60 Bit Festkomma Addition und Subtraktion wurden in der Long Add Unit ausgefuhrt wobei negative Zahlen durch ihr Einerkomplement dargestellt wurden Die Festkomma Multiplikation wurde als Sonderfall in der Gleitkomma Multiplikationseinheit durchgefuhrt War der Exponent Null so fuhrte die FP Einheit eine 48 Bit Gleitkomma Multiplikation mit einfacher Genauigkeit durch und loschte den oberen Teil mit dem Exponenten was ein 48 Bit Integer Ergebnis lieferte Die Ganzzahldivision wurde von einem Makro ausgefuhrt das in Gleitkommazahlen und zuruck konvertierte 18 Zuvor ausgefuhrte Anweisungen wurden in einem Cache von acht Wortern gespeichert dem stack Stapel In Stack Sprunge waren schneller als Out of Stack Sprunge da kein Speicherabruf erforderlich war Der stack wurde durch eine unbedingte Sprunganweisung geloscht so dass unbedingte Sprunge an Schleifenenden ublicherweise als bedingte Sprunge geschrieben wurden die immer erfolgreich waren Das System verwendete einen 10 MHz Takt mit einem Vierphasensignal Eine Gleitkommamultiplikation dauerte zehn Zyklen eine Division 29 und die Gesamtleistung unter Berucksichtigung von Speicherverzogerungen und anderen Problemen betrug etwa 3 MFLOPS Mit den besten verfugbaren Compilern konnten FORTRAN Programme gegen Ende der Maschinengeschichte mit einer Dauerleistung von etwa 0 55 MFLOPS rechnen Speicherorganisation Bearbeiten Benutzerprogramme konnten nur einen zusammenhangenden Bereich des Hauptspeichers verwenden Der Teil des Speichers auf den ein laufendes Programm Zugriff hatte wurde von den Registern RA Relative Address und FL Field Length bestimmt auf die das Benutzerprogramm keinen Zugriff hatte Wenn ein Anwenderprogramm versuchte ein Wort im Hauptspeicher an der Adresse a zu lesen oder zu schreiben uberprufte der Prozessor zunachst ob a zwischen 0 und FL 1 lag War dies der Fall so griff der Prozessor auf das Wort im Hauptspeicher unter der Adresse RA a zu Dieser Vorgang wurde als base bound relocation bezeichnet Jedes Anwenderprogramm sah den Hauptspeicher als einen zusammenhangende Block von Wortern mit der Lange FL beginnend mit der Adresse 0 tatsachlich konnte sich das Programm irgendwo im physischen Speicher befinden Mit dieser Technik konnte jedes Anwenderprogramm vom Betriebssystem im Hauptspeicher verschoben werden solange das RA Register seine Position im Speicher widerspiegelte Ein Anwenderprogramm das versuchte auf Speicher ausserhalb des zulassigen Bereichs zuzugreifen d h mit einer Adresse die nicht kleiner als FL ist loste einen Interrupt aus und wurde vom Betriebssystem beendet In diesem Fall erstellte das Betriebssystem moglicherweise einen Core Dump der den Inhalt des Programmspeichers aufzeichnete und in einer Datei speicherte so dass der Entwickler des Programms erfahren konnte was geschehen war Man beachte den Unterschied zu virtuellen Speichersystemen in diesem Fall muss sich der gesamte adressierbare Speicherplatz eines Prozesses im Hauptspeicher befinden muss zusammenhangend sein und seine Grosse darf nicht grosser sein als die tatsachliche Speicherkapazitat Mit Ausnahme der ersten sieben Exemplare der CDC 6000 Serie konnten alle Gerate mit einem optionalen Extended Core Storage ECS System konfiguriert werden ECS wurde aus einer anderen Art von Kernspeicher hergestellt als der Hauptspeicher verdrahtet mit nur zwei Drahten pro Kern im Gegensatz zu funf Drahten fur jenen Dadurch war er zwar langsamer als der Hauptspeicher aber wirtschaftlicher zu fertigen Da er sehr breite Ubertragungen durchfuhrte war seine sequentielle Ubertragungsrate dieselbe wie die des Hauptspeichers Eine 6000 CPU konnte Blockspeicherubertragungen direkt zwischen dem Programm oder Betriebssystem eines Benutzers und der ECS Einheit durchfuhren Es wurden breite Datenpfade verwendet daher war dies eine sehr schnelle Operation Ahnlich wie beim Hauptspeicher wurden die Speichergrenzen beim ECS vom Betriebssystem mit einem Relativadresse Feldlange Mechanismus verwaltet ECS konnte fur eine Vielzahl von Zwecken verwendet werden etwa fur Benutzerdaten Arrays die fur den zentralen Speicher zu gross waren zum Speichern haufig verwendeter Dateien zur Auslagerung und sogar als Kommunikationspfad in einem Multi Mainframe Komplex Peripherieprozessoren PPs Bearbeiten Um die Housekeeping Aufgaben zu erledigen die in anderen Designs der CPU zugewiesen waren baute Cray zehn weitere Prozessoren ein die teilweise auf seinem fruheren Computer CDC 160 A basierten Diese Computer Peripheral Processors oder PPs genannt waren eigenstandige Vollcomputer wurden jedoch fur E A Aufgaben und das Ausfuhren des Betriebssystems optimiert Wesentliche Teile des Betriebssystems liefen auf den PPs sodass die Leistung des Zentralprozessors grosstenteils fur Benutzerprogramme verfugbar blieb Nur die PPs hatten Zugriff auf die E A Kanale Einer der PPs war fur die Gesamtsteuerung der Maschine zustandig einschliesslich der Steuerung des Programms das auf der Haupt CPU ausgefuhrt wurde wahrend den anderen verschiedenen E A Aufgaben zugewiesen waren Wenn das CP Programm eine Betriebssystemfunktion ausfuhren musste stellte es eine Anforderung an eine bestimmte Speicherstelle Referenzadresse 1 die von PP0 uberwacht wurde 19 Falls erforderlich wies PP0 einen anderen PP zu um den erforderlichen Code zu laden und um die Anfrage zu bearbeiten Der PP loschte dann RA 1 um das CP Programm uber die Beendigung der Aufgabe zu informieren Die besondere Rolle des PP0 bei der Steuerung der Maschine war ein potentieller Single Point of Failure da im Falle seiner Fehlfunktion die gesamte Maschine ausfallen konnte selbst wenn die neun anderen PPs und die CPU noch ordnungsgemass funktionierten Cray behob diese Schwachstelle beim Design des Nachfolgemodells 7600 dadurch dass hier jeder PP der Controller sein konnte und die CPU einem anderen diese Rolle zuweisen konnte Jeder PP verfugte uber einen eigenen Speicher mit 4096 12 Bit Wortern dieser Speicher diente sowohl zur E A Pufferung als auch zur Programmspeicherung Dagegen nutzten die zehn PPs einen gemeinsamen Prozessor in einer Konfiguration mit der Bezeichnung barrel and slot Dies bedeutete dass der slot Prozessor einen Befehlszyklus des ersten PP dann einen Befehlszyklus des zweiten usw in einem Round Robin Verfahren ausfuhrte Dies geschah sowohl aus Kostengrunden als auch weil fur den Zugriff auf den CP Speicher 10 PP Taktzyklen erforderlich waren Wenn ein PP auf den CP Speicher zugriff waren die Daten verfugbar wenn der PP das nachste Mal seine slot Zeit erhielt Wortlangen Zeichen Bearbeiten Der Zentralprozessor hatte 60 Bit Worter die Peripherieprozessoren dagegen 12 Bit Worter CDC benutzte den Begriff Byte fur 12 Bit Einheiten die von PP verwendet werden Die Zeichenlange war 6 Bit und die Anweisungen des CP waren entweder 15 Bit oder 30 Bit mit einem vorzeichenbehafteten 18 Bit Adressfeld wobei das letztere einen direkt adressierbaren Speicherplatz von 128K Wortern des Zentralspeichers ermoglichte Modern in 8 Bit Bytes ausgedruckt waren dies 0 94 MB Der vorzeichenbehaftete Charakter der Adressregister begrenzte ein einzelnes Programm auf 128K Worter Spatere CDC 6000 kompatible Maschinen konnten einen Hauptspeicher von 256K oder mehr Wortern haben wenn das Budget dies zuliess aber die einzelnen Benutzerprogramme waren immer noch auf 128K Worter beschrankt CPU Anweisungen mussten an einer Wortgrenze beginnen wenn sie Ziel einer Sprunganweisung oder eines Subroutine Rucksprungs waren sodass manchmal No Op Befehle erforderlich waren um die letzten 15 30 oder 45 Bits eines Wortes aufzufullen Erfahrene Assembler Programmierer konnten ihre Programme optimieren indem sie diese No Op Bereiche mit anderen Anweisungen fullten die spater im Programm benotigt wurden Die 6 Bit Zeichen in einer als CDC Display Code bezeichneten Codierung 20 21 konnten zum Speichern von bis zu 10 Zeichen in einem Wort verwendet werden Sie erlaubten einen Zeichensatz von 64 Zeichen ausreichend fur alle Grossbuchstaben Ziffern und einige Satzzeichen und jedenfalls um FORTRAN zu schreiben oder finanzielle oder wissenschaftliche Berichte zu drucken Tatsachlich wurde der CDC Display Code in zwei Varianten eingesetzt 64 Zeichen und 63 Zeichen Der 64 stellige Zeichensatz hatte den Nachteil dass zwei aufeinanderfolgende Doppelpunkt Zeichen als Zeilenende interpretiert wurden wenn sie am Ende eines 10 Byte Wortes standen Eine spatere Variante genannt 6 12 Display Code wurde auch in den Timesharing Systemen KRONOS und NOS verwendet um den kompletten ASCII Zeichensatz weitgehend kompatibel mit alterer Software zu nutzen 22 Da es keinerlei Anweisungen zur Adressierung von Bytes gab musste man Code schreiben um Zeichen in Worter zu packen und zu verschieben Die sehr grossen Worter und die vergleichsweise geringe Speicherkapazitat fuhrten dazu dass Programmierer haufig Speicher einsparten indem sie Daten auf Bitebene in Worter packten Aufgrund der grossen Wortlange und mit 10 Zeichen pro Wort war es oft schneller mehrere Worter gleichzeitig zu verarbeiten als sie zu entpacken zu verarbeiten und neu zu packen Beispielsweise war der CDC COBOL Compiler bei der Verarbeitung von Dezimalfeldern mit dieser Technik recht gut Derartige Techniken werden heutzutage haufig in den Multimedia Anweisungen aktueller Prozessoren verwendet Physisches Design Bearbeiten nbsp Ein CDC 6600 Logikmodul mit 64 Siliziumtransistoren in Cordwood Technik Die Koaxialstecker sind Testanschlusse Das Modul wurde uber die Frontplatte durch Warmeleitung gekuhlt Die CDC 6600 enthielt fast 6 000 solcher Module 23 Die Maschine war in einem Gehause in Form eines Pluszeichens untergebracht mit einer Pumpe und einem Warmetauscher in den aussersten 46 cm der vier Arme Gekuhlt wurde mit Freon das in der Maschine zirkulierte und Warme an eine externe Kuhlwasserversorgung weiterleitete Jeder Arm konnte vier Chassis mit einer Dicke von jeweils 20 cm aufnehmen die in der Nahe der Mitte angelenkt waren und sich wie ein Buch offnen liessen Die Kreuzung des Plus war mit Kabeln gefullt die die Chassis miteinander verbanden Die Chassis waren von eins mit allen zehn PPs und ihren Speichern sowie den zwolf eher minimalen E A Kanalen bis 16 nummeriert Der Hauptspeicher fur die CPU war auf viele Chassis verteilt In einem System mit nur 64K Wortern des Hauptspeichers wurde einer der Arme des Plus weggelassen Die Logik der Maschine wurde in Module mit einer Grosse von etwa 6 4 cm im Quadrat und einer Dicke von 2 5 cm verpackt Jedes Modul hatte einen Stecker 30 Stifte zwei vertikale Reihen zu je 15 an der Ruckseite und sechs Testanschlusse an der Vorderseite Das Modul wurde zwischen zwei Aluminiumkuhlplatten platziert um Warme abzuleiten Es bestand aus zwei parallelen Leiterplatten wobei die Komponenten entweder auf einer der Leiterplatten oder zwischen den beiden Leiterplatten montiert waren Dies ergab eine sehr hohe Packungsdichte im Allgemeinen nicht zu reparieren aber mit guten Warmeubertragungseigenschaften und als englisch cordwood construction bekannt Betriebssystem und Programmierung BearbeitenEs gab einen wunden Punkt bei der Entwicklung des 6600 Betriebssystems nicht eingehaltene Termine Die Maschinen hatten ursprunglich ein sehr einfaches Ablaufsteuerungssystem namens COS Chippewa Operating System das man auf der Grundlage des fruheren CDC 3000 Betriebssystems schnell zusammengewurfelt hatte um irgendetwas zum Systemtest vor Auslieferung lauffahig zu haben Die Maschinen sollten jedoch mit einem viel leistungsstarkeren System namens SIPROS Simultaneous Processing Operating System ausgeliefert werden das in der System Sciences Division des Unternehmens in Los Angeles entwickelt wurde Die Kunden waren von der Funktionsliste von SIPROS beeindruckt und viele liessen SIPROS in ihre Liefervertrage eintragen SIPROS erwies sich als grosses Fiasko Die Zeitplane fur die Entwicklung rutschten weiter ab und kosteten CDC erhebliche Gewinne in Form von Bussgeldern fur Lieferverzogerungen Nach einigen Monaten des Wartens mit sonst versandfertigen Maschinen wurde das Projekt schliesslich abgebrochen Die Programmierer die an COS gearbeitet hatten hatten wenig Vertrauen in SIPROS und hatten weiter an der Verbesserung von COS gearbeitet Die Betriebssystementwicklung wurde dann in zwei Lager aufgeteilt Die CDC sanktionierte Entwicklung von COS wurde im Softwareentwicklungslabor von Sunnyvale Kalifornien durchgefuhrt Viele Kunden erhielten schliesslich ihre Systeme mit dieser Software ausgeliefert die damals als SCOPE Supervisory Control Of Program Execution bekannt war SCOPE Version 1 war im Wesentlichen ein deassembliertes COS SCOPE Version 2 unterstutzte neue Gerate und Dateisysteme SCOPE Version 3 umfasste Unterstutzung fur permanente Dateien EI 200 Remote Batch Unterstutzung und INTERCOM Time Sharing Unterstutzung SCOPE hatte immer erhebliche Zuverlassigkeits und Wartbarkeitsprobleme nbsp SCOPE 3 1 der CDC 6000 Serie erstellt sich selbst wahrend es auf dem Desktop CYBER Emulator ausgefuhrt wirdDie Untergrund Entwicklung von COS fand im Montagewerk in Arden Hills Minnesota statt MACE Greg Mansfield and Dave Cahlander Executive wurde grosstenteils von einem einzelnen Programmierer ausserhalb der Geschaftszeiten geschrieben wenn Maschinen verfugbar waren Der Funktionsumfang war im Wesentlichen derselbe wie bei COS und SCOPE 1 Das fruhere COS Dateisystem wurde beibehalten die Codemodularitat wurde jedoch erheblich verbessert um die Zuverlassigkeit des Systems und die Anpassungsfahigkeit an neue Speichergerate zu verbessern Zwar war MACE nie ein offizielles Produkt jedoch vermochten viele Kunden es sich bei CDC zu verschaffen Die inoffizielle MACE Software wurde spater anstelle des offiziellen SCOPE Produkts als Grundlage fur das nachste CDC Betriebssystem KRONOS ausgewahlt das nach dem griechischen Gott der Zeit benannt wurde Man sagt dass Dave Mansfield die Bibliothek der Universitat von Minnesota anrief und nach einem alten Wort fragte das Zeit bedeutet Er schrieb Kronos anstelle von Chronos auf Der Haupt Vermarktungsgrund war die Entwicklung des TELEX Timesharing Features und des BATCHIO Remote Batch Features Kronos verwendete weiterhin das COS SCOPE 1 Dateisystem und fugte eine permanente Dateifunktion hinzu Als Versuch die Betriebssystemprodukte SCOPE und Kronos zu vereinheitlichen wurde NOS Network Operating System entwickelt NOS sollte das einzige Betriebssystem fur alle CDC Maschinen sein eine Tatsache die CDC stark bewarb Viele SCOPE Kunden waren weiterhin softwareabhangig von der SCOPE Architektur sodass CDC sie einfach in NOS BE Batch Environment umbenannte und behaupten konnte dass alle Benutzer NOS ausfuhrten In der Praxis war es viel einfacher die Kronos Codebasis zu andern um SCOPE Funktionen hinzuzufugen als umgekehrt Im Umfeld des Montagewerks wurden auch andere Betriebssysteme hergestellt die niemals fur den Kunden bestimmt waren Dazu gehorten die Engineering Tools SMM fur Hardware Tests und KALEIDOSCOPE fur Software Smoke Tests Ein weiteres von CDC Aussendiensttechnikern haufig zum Testen verwendetes Tool war MALET Maintenance Application Language for Equipment Testing mit dem Komponenten und Gerate nach Reparaturen oder Servicearbeiten durch Ingenieure einem Stresstest unterzogen wurden Bei den Testbedingungen wurden haufig Festplattenpakete und Magnetbander verwendet die absichtlich mit Fehlern versehen waren um festzustellen ob die Fehler von MALET und dem Techniker erkannt wurden nbsp NOS 1 3Die Namen SCOPE und COMPASS wurden von CDC sowohl fur die CDC 6000 Serie einschliesslich der 6600 als auch fur die CDC 3000 Serie verwendet COMPASS hiessen die Assemblersprachen in beiden Familien 24 25 SCOPE wurden die Betriebssysteme der Serien 3000 und 6000 genannt 26 CDC 7600 BearbeitenDie CDC 7600 sollte ursprunglich auch mit den vorhandenen Maschinen der 6000er Serie vollstandig kompatibel sein Sie wurde ursprunglich als CDC 6800 bezeichnet Wahrend der Entwicklung stellten die Entwickler jedoch fest dass die Beibehaltung vollstandiger Kompatibilitat mit den vorhandenen Maschinen der 6000er Serie die mogliche Leistungssteigerung einschranken wurde und beschlossen die Kompatibilitat fur die Leistung zu opfern Wahrend die CPU der CDC 7600 im Wesentlichen befehlskompatibel mit den CPUs 6400 und 6600 war und Code Portabilitat auf der Quelltext Ebene der hoheren Programmiersprache ermoglichte war die Hardware der CDC 7600 insbesondere die ihrer Peripheral Processor Units PPUs ganz anders Die CDC 7600 benotigte ein anderes Betriebssystem Dies erwies sich als Segen da die Konstrukteure einige der Merkmale des 6000er Designs verbessern konnten beispielsweise die vollstandige Abhangigkeit des letzteren von Peripherieprozessoren PPs insbesondere dem ersten PP0 genannt um den Betrieb des gesamten Computersystems einschliesslich der CPU zu steuern Im Gegensatz zur 6600 CPU konnte die CPU der CDC 7600 ihren eigenen Betrieb steuern Tatsachlich wurden die Maschinen der 6000er Serie mit dieser Funktion nachgerustet Literatur BearbeitenControl Data 6400 6500 6600 Computer Systems Reference Manual Revision H Control Data Corporation St Paul MN 21 Februar 1969 archive org abgerufen am 7 Oktober 2019 James E Thornton Considerations in Computer Design Leading up to the Control Data 6600 Control Data Corporation 1963 abgerufen am 7 Oktober 2019 James E Thornton Parallel operation in the Control Data 6600 In AFIPS Proc FJCC pt 2 26 pp 33 40 Jahrgang 1964 microsoft com abgerufen am 7 Oktober 2019 James E Thornton Design of a Computer The Control Data 6600 Scott Foresman and Co Glenview IL 1970 LCCN 74 096462 bitsavers org PDF abgerufen am 7 Oktober 2019 Ralph Grishman Assembly language programming for the control data 6000 series and the Cyber 70 series 1974 bitsavers org PDF abgerufen am 7 Oktober 2019 Speed and Power Understanding Computers Time Life Books 1990 ISBN 0 8094 7586 3 Weblinks BearbeitenNeil R Lincoln Reminiscences of computer architecture and computer design at Control Data Corporation Charles Babbage Institute University of Minnesota 1975 abgerufen am 7 Oktober 2019 Organisierte Diskussion moderiert von Neil R Lincoln uber Computer Architektur und Design bei der Control Data Corporation CDC mit 18 CDC Ingenieuren Robert Moe Wayne Specker Dennis Grinna Tom Rowan Maurice Hutson Curt Alexander Don Pagelkopf Maris Bergmanis Dolan Toth Chuck Hawley Larry Krueger Mike Pavlov Dave Resnick Howard Krohn Bill Bhend Kent Steiner Raymon Kort and Lincoln Zu den Diskussionsthemen zahlen CDC 1604 CDC 6600 CDC 7600 CDC 8600 CDC STAR 100 und Seymour Cray Gordon Bell A Seymour Cray Perspective In Seymour Cray Lecture Series University of Minnesota 10 November 1997 abgerufen am 7 Oktober 2019 CDC 6600 s Five Year Reign Computer History Museum 2003 abgerufen am 7 Oktober 2019 The 6600 had 400 000 transistors and more than 100 miles of wiring Bebilderter Uberblick Einzelnachweise Bearbeiten Eine Probe dieser eigentumlichen Schrift findet sich auf der Titelseite von James E Thornton Design of a Computer The Control Data 6600 Scott Foresman and Co Glenview IL 1970 LCCN 74 096462 bitsavers org PDF abgerufen am 7 Oktober 2019 Andrew R L Cayton Richard Sisson Chris Zacher The American Midwest An Interpretive Encyclopedia 2006 ISBN 0 253 00349 0 Alexander Smith CDC 6600 Historical Interlude From the Mainframe to the Minicomputer Part 2 IBM and the Seven Dwarfs They Create Worlds Abgerufen am 7 Oktober 2019 Making a World of Difference Engineering Ideas into Reality National Academy of Engineering 2014 ISBN 0 309 31265 5 Designed by Seymour Cray the CDC 6600 was almost three times faster than the next fastest machine of its day the IBM 7030 Stretch Andreas Sofroniou Expert Systems Knowledge Engineering for Human Replication 2013 ISBN 1 291 59509 0 In 1964 Cray s CDC 6600 replaced Stretch as the fastest computer on Earth Sebastian Anthony The History of Supercomputers In ExtremeTech 10 April 2012 abgerufen am 7 Oktober 2019 CDC 6600 Computer Encyclopaedia Britannica abgerufen am 7 Oktober 2019 Gordon Bell A Seymour Cray Perspective In Seymour Cray Lecture Series University of Minnesota 10 November 1997 abgerufen am 7 Oktober 2019 The 7600 design lasted longer than any other supercomputer design It had the highest performance of any computer from its introduction in 1969 till the introduction of the Cray 1 in 1976 CDC 6500 Living Computers Museum Labs abgerufen am 7 Oktober 2019 Control Data Corporation Little Character Prototype Computer History Museum abgerufen am 7 Oktober 2019 The CDC 6600 arrives at CERN In CERN Timelines 14 Januar 1965 abgerufen am 7 Oktober 2019 Lawrence and His Laboratory ch 6 Bumper Crop Lawrence Berkeley Laboratory 1996 abgerufen am 7 Oktober 2019 CDC 6600 16 Januar 1998 archiviert vom Original am 4 Januar 2001 abgerufen am 7 Oktober 2019 Mark D Hill Norman P Jouppi Gurindar S Sohi Hrsg Readings in Computer Architecture Morgan Kaufmann 1999 ISBN 1 55860 539 8 S 11 An exact image of the memo appears in Thomas J Watson Memorandum 28 August 1963 abgerufen am 7 Oktober 2019 Mark Smotherman Dag Spicer IBM s Single Processor Supercomputer Efforts In CACM Band 53 Nr 12 Dezember 2010 ISSN 0001 0782 S 28 30 acm org abgerufen am 7 Oktober 2019 Hardware Reference Manual Revision M In Control Data 6000 Series Computer Systems Nr 60100000 Control Data Corporation St Paul MN 20 Juni 1971 S 4 3 4 4 trailing edge com PDF abgerufen am 7 Oktober 2019 Control Data 6400 6500 6600 Computer Systems Reference Manual Revision H Control Data Corporation St Paul MN 21 Februar 1969 archive org abgerufen am 7 Oktober 2019 Diese Beschreibung gilt fur fruhe Versionen der CDC Software spatere Versionen nutzten den Befehl Central Exchange jump XJ um den Verwaltungsaufwand fur Funktionen zu mindern die vollstandig im CP ausgefuhrt werden konnten Die Bezeichnung Display Code wurde ahnlich mit CDC in Verbindung gebracht wie EBCDIC ursprunglich mit IBM assoziiert wurde Andere in der Computerindustrie benutzte Ausdrucke waren BCD und SIXBIT letzterer bevorzugt von DEC DEC PDP Character Codes University of Miami archiviert vom Original am 11 Marz 2019 abgerufen am 7 Oktober 2019 KRONOS 2 1 Time Sharing User s Reference Manual Revision B In Control Data Cyber 70 Series Models 72 73 74 6000 Series Computer Systems Nr 60407600 Control Data Corporation St Paul MN 1 Mai 1974 bitsavers org PDF abgerufen am 7 Oktober 2019 Speed and Power Understanding Computers Time Life Education 1990 ISBN 0 8094 7587 1 S 17 H D Pridmore COMPASS Programming Training Manual In 3100 3200 3300 3500 Computer Systems Nr 60184200 Control Data Corporation St Paul MN 1967 archive org PDF abgerufen am 7 Oktober 2019 COMPASS Reference Manual Revision C In 3600 Computer Systems Nr 60184200 Control Data Corporation St Paul MN Dezember 1967 bitsavers org PDF abgerufen am 7 Oktober 2019 CDC delivered an early version of their SCOPE operating system for the 3600 Ernest J Henley Jeffery Lewins Hrsg Advances in Nuclear Science and Technology Volume 9 Academic Press New York 1976 ISBN 0 12 029309 9 S 309 eingeschrankte Vorschau in der Google Buchsuche VorgangerAmtNachfolgerIBM 7030 StretchWorld s most powerful computer 1964 1968CDC 7600 Abgerufen von https de wikipedia org w index php title CDC 6600 amp oldid 232812279