Direkt zum Inhalt

Taktlose Computer

Befreit vom Diktat einer zentralen Uhr, erbringen so genannte asynchrone Chips höhere Leistungen: Sie lassen jeden ihrer Schaltkreise laufen, so schnell er kann.


Wie schnell ist Ihr PC? Die Antwort auf diese Frage wird in einer Einheit ausgedrückt, die früher eigentlich nur für Rundfunk- und Fernsehsender gebraucht wurde: Gigahertz oder Milliarden Schwingungen pro Sekunde. So schnell tickt ein Kristall-Schwingkreis, der als eine Zentraluhr dient, im Inneren des Computers. Alles, was ein Computer tut, findet in winzigen Schritten statt, deren jeder nur eine milliardstel Sekunde lang dauern darf. Eine einfache Datenübertragung benötigt möglicherweise nur einen Schritt, eine Addition zweier Zahlen schon mehrere. Anfang und Ende jeder dieser elementaren Operationen werden durch die zeitgebenden Impulse der Uhr bestimmt.

Die meisten modernen Computer arbeiten synchron, das heißt, es gibt nur einen einzigen Zeitgeber. Dessen Signale werden durch ein spezielles Verteilungssystem zu den einzelnen Bauteilen des Prozessorchips verbreitet, ähnlich wie der Schlag einer Trommel durch die Luft allen Soldaten zu Gehör gelangt und so ihren Marschrhythmus bestimmt. Dass alle Teile des Chips im gleichen Takt sind, erleichtert dem Konstrukteur die Arbeit; denn nach jedem Takt befindet sich der gesamte Computer in einem definierten und berechenbaren Zustand.

Die Verwendung einer zentralen Uhr ist jedoch nicht unproblematisch. Die Laufgeschwindigkeit der Zeitsignale konnte nämlich mit dem Anwachsen der Rechengeschwindigkeit nicht Schritthalten. In der Zeit, die ein Signal von einem Ende des Chips zum anderen braucht, könnte ein moderner Transistor bereits mehrere elementare Arbeitsschritte vollenden. Damit dieser Geschwindigkeitsvorteil unter einem zentralen Taktgeber nicht verloren geht, ist sorgfältige Planung erforderlich – und ziemlich viel elektrische Leistung, die sich in einer entsprechenden Wärmeentwicklung bemerkbar macht. Wäre da nicht eine Alternative besser?

Genau nach solchen Alternativen sucht unsere Forschungsgruppe in den Laboratorien der Firma Sun Microsystems. Wie andere Gruppen auf der ganzen Welt erforschen wir Computersysteme, in denen jeder Teil nach seinem eigenen Takt arbeiten kann, statt von dem Rhythmus einer zentralen Uhr abzuhängen. Solche Systeme nennt man asynchron. Jeder Teil eines asynchronen Systems kann seine Taktzeiten nach Bedarf verlängern oder verkürzen, ähnlich einem Wanderer, der je nach Gelände langsamer oder schneller läuft. Einige Pioniere des Computerzeitalters, darunter der Mathematiker Alan M. Turing, arbeiteten schon in den frühen 1950er Jahren Entwürfe für asynchrone Maschinen aus. Diese Ideen wurden jedoch bald zu Gunsten von synchronen Computern verworfen, denn der gemeinsame Takt erleichtert die Konstruktion ungemein.

Anarchie ist nützlich

Inzwischen erfreuen sich asynchrone Systeme wachsender Beliebtheit. Wissenschaftler von den Universitäten Manchester (England) und Tokio sowie vom California Institute of Technology (Caltech) in Pasadena haben Prototypen von Mikroprozessoren gebaut. Einige Mikrochips in dieser Technik sind bereits in der kommerziellen Massenproduktion: ein datengesteuerter Medienprozessor, das ist ein Chip zur Bearbeitung von Grafik-, Video- und Audiodateien, von dem japanischen Elektronikhersteller Sharp sowie ein Mikrocontroller für Funkrufempfänger von Philips. Auch in sonst synchron arbeitender Umgebung tauchen allmählich asynchrone Elemente auf: Der kürzlich von Sun eingeführte Prozessor UltraSPARC IIIi enthält ein paar asynchrone Schaltkreise, die in unserer Gruppe entwickelt wurden.

Nach unserer Überzeugung werden asynchrone Systeme immer populärer werden, sowie es gelingt, ihre Vorteile voll auszunutzen und ihre Bauweise zu vereinfachen. Es gibt schon beachtliche technische Erfolge zu verbuchen, aber der kommerzielle Erfolg lässt noch auf sich warten. Wir sind noch weit davon entfernt, die Möglichkeiten der Asynchronizität auszuschöpfen.

Worin besteht der potenzielle Nutzen asynchroner Systeme? Zunächst in der höheren Geschwindigkeit. In einem synchronen Chip muss die Taktfrequenz so gewählt werden, dass auch der langsamste unter allen denkbaren Elementarschritten in der Taktzeit vollendet wird. Wenn auch nur ein Schaltkreis eine volle Milliardstelsekunde für seinen Schritt braucht, kann der ganze Chip nicht schneller als mit einem Gigahertz betrieben werden. Auch wenn viele andere Schaltkreise im Chip wesentlich schneller fertig sind, müssen sie vor ihrer nächsten Aktion auf das zentrale Zeitzeichen warten. Im Gegensatz dazu nimmt sich ein Teil eines asynchronen Systems für jeden Vorgang genauso viel oder wenig Zeit, wie er tatsächlich benötigt. Komplizierte Operationen dauern länger als der Durchschnitt, einfache Schritte gehen schneller. Der nächste Schritt beginnt nicht erst, wenn das nächste Zeitzeichen eintrifft, sondern bereits wenn alle Vorbedingungen erfüllt sind. Dadurch hängt die Leistung des Gesamtsystems nur von der durchschnittlichen Bearbeitungsgeschwindigkeit ab und nicht von der des langsamsten Glieds.

Wann aber darf ein Bauteil losrechnen, wenn nicht auf Zeitzeichen? Woran merkt es, dass alle Vorbedingungen erfüllt, insbesondere alle Eingangsdaten beisammen sind? Dazu muss es sich mit seinen "Zulieferern" verständigen. Diese lokale Koordination verbraucht ebenfalls Zeit und Chipfläche. Wenn sich der Aufwand dafür in Grenzen hält, zum Beispiel weil die Zulieferer in unmittelbarer Nachbarschaft sitzen, kann ein asynchrones System im Durchschnitt schneller sein als ein getaktetes. Am deutlichsten kommt dieser Vorteil zum Tragen, wenn sehr unterschiedliche Bauteile auf einem Chip vereinigt sind und die langsamsten unter ihnen selten verwendet werden.

Die asynchrone Bauweise kann auch den Stromverbrauch eines Chips reduzieren. In der heutigen Generation großer, schneller synchroner Chips nehmen die Schaltkreise zur Verbreitung des Zeitsignals einen gehörigen Teil der Chipfläche ein und verbrauchen bis zu dreißig Prozent der elektrischen Gesamtleistung. Da die Uhr zudem im Dauerbetrieb läuft, erzeugt sie auf jeden Fall Wärme, ob nun der Chip nützliche Arbeit leistet oder nicht.

In asynchronen Systemen verbrauchen ruhende Elemente des Chips praktisch keine Energie. Das ist vor allem für Geräte im Batteriebetrieb eine wertvolle Eigenschaft, zahlt sich aber auch bei größeren Systemen aus, da sich der Kühlungsaufwand zum Schutz vor Überhitzung verringert. Eine Energieeinsparung ergibt sich in dem Ausmaß, in dem Teile des Systems nur sporadisch aktiv sind. So ist zum Beispiel eine Komponente für Gleitkomma-Arithmetik zwar in den meisten Computern vorhanden, aber über lange Zeiten unbeschäftigt.

Ein weiterer Vorteil: Asynchrone Systeme erzeugen weniger Radiowelleninterferenzen als synchrone. Letztere senden ein starkes Radiosignal mit der Taktfrequenz und deren Vielfachen aus. Damit Mobiltelefone, Fernseher und Flugzeug-Navigationssysteme, die auf derselben Frequenz arbeiten, nicht gestört werden, muss die Strahlung abgeschirmt oder – im Flugzeug – der Computer sogar ausgeschaltet werden. Dagegen verteilen die taktlosen Computerchips ihre Strahlung über einen breiten Frequenzbereich, sodass auf jede einzelne Frequenz weit weniger störende Energie entfällt.

Sowie synchrone Computer mit verschiedenen Takten zur Lösung einer Aufgabe zusammengeschaltet werden, ist die entstehende Verbundmaschine (ein Cluster, siehe Spektrum der Wissenschaft 03/2002, S. 88) "von Natur aus" asynchron und erfordert entsprechende Techniken. Um etwa Daten aus einem System mit einem Takt auf einen Computer mit einem anderen Takt zu übertragen, können sich Arbeitsprinzipien der asynchronen Chips nützlich machen.

Ein asynchrones System zu bauen ist zwar schwer; aber wenn man es einmal beherrscht, gewinnt man ganz neue Freiheiten. Die Abhängigkeiten unter den einzelnen Bauteilen müssen loser werden, damit ein asynchroner Chip überhaupt funktioniert; dadurch wird es aber auch einfacher, irgendein Bauteil durch eine schnellere Version zu ersetzen und so das ganze System zu beschleunigen. Will man hingegen ein getaktetes System schneller machen, muss man in der Regel jedes Einzelteil entsprechend verbessern.

Anarchie ist machbar

Um zu beschreiben, wie asynchrone Systeme funktionieren, verwenden wir gern das Bild von der Eimerkette. Ein getaktetes System ist wie eine Kette von Arbeitern, deren jeder nach dem Ticktack-Rhythmus der Uhr einen Eimer weitergibt oder annimmt. Bei "tick" gibt jeder seinen Eimer an den Nachfolger in der Kette weiter, bei "tack" nimmt er vom Vorgänger einen an . Der Rhythmus der Eimerkette wird bestimmt durch die Zeit, die der Langsamste braucht, um den schwersten Eimer zu bewegen. Selbst wenn fast alle Eimer leicht sind, so muss doch jeder in der Kette auf das nächste Zeitzeichen warten, bevor er den Eimer weitergeben kann.

Eine asynchrone Eimerkette wird durch lokale Kooperation und nicht durch eine universelle Uhr bestimmt. Wer gerade einen Eimer hält, gibt ihn an seinen Nachfolger weiter, sobald dieser die Hände frei hat. Dabei kann es passieren, dass einer auf den anderen warten muss. Wenn die meisten Eimer leicht sind, können sie recht schnell durch die Kette wandern. Wenn es gerade nichts zu transportieren gibt, kann sich jeder auch eine kleine Ruhepause gönnen. Ein langsames Glied in der Kette hält zwar immer noch den ganzen Betrieb auf; aber wenn man nur dieses eine Glied austauscht, läuft das System wieder zu seiner optimalen Geschwindigkeit auf.

In einem Computer entspricht der Eimerkette eine so genannte Pipeline. Mit diesem – wenig treffenden – Wort bezeichnet man eine Einrichtung zur überlappten Befehlsausführung. Die Ausführung jeder Anweisung (Beispiel: "Addiere A und B und schreibe das Ergebnis nach C") wird in elementare Teilschritte zerlegt: im Beispiel die Anweisung aus dem Speicher holen, sie dekodieren, die Zahlen aus den Adressen A und B im Speicher holen, die Addition ausführen und die Summe in der Speicheradresse C abspeichern. Jeder Teilschritt (stage) entspricht einem Glied in der Eimerkette. Insbesondere wird jeder Teilschritt von einem speziellen Bauteil ausgeführt; sowie dieses mit seinem Anteil an der Arbeit fertig ist, kann es sich bereits dem nächsten Befehl zuwenden (Spektrum der Wissenschaft 05/2000, S. 26).

In einer getakteten Pipeline verbraucht jeder Teilschritt die gleiche Zeit, unabhängig von der Art der Aufgabe und der Größe der Zahlen. Eins und eins zusammenzuzählen dauert genauso lange wie die Addition von zwei dreißigstelligen Binärzahlen. Dagegen kann in einer asynchronen Pipeline die Dauer jedes Vorgangs von der Art der Operation, der Größe der Zahlen und dem Aufwand für den Speicherzugriff abhängen, so wie in der Eimerkette die leichten Eimer schneller wandern können als die schweren.

Bei asynchronen Systemen müssen sich mangels Zentraluhr die Schaltkreise untereinander ("lokal") koordinieren. In der Eimerkette muss sich jeder vor seiner Aktion vergewissern, dass sein Vorgänger einen Eimer abzugeben und sein Nachfolger die Hände frei hat. Entsprechend müssen die Schaltkreise einander Meldungen über ihren Zustand schicken. Ein Schaltkreis kann erst dann mit seiner Arbeit beginnen, wenn er selbst frei ist und seine Vorgänger ihre Arbeit für beendet erklären. Diese Informationen müssen durch eigens eingerichtete Schaltkreise verarbeitet werden. Die wichtigsten unter ihnen heißen "Rendezvous" und "Arbiter".

Ein Rendezvous-Element gibt an, wann das letzte von zwei oder mehr Eingangselementen bei dem Bauteil für einen speziellen Teilschritt eingetroffen ist. Zum Beispiel gibt ein Rendezvous-Element einem Schaltkreis, der eine Division auszuführen hat, erst dann das Startsignal, wenn an dessen Eingängen sowohl der Dividend (zum Beispiel 16) als auch der Divisor (sagen wir 2) anliegen. Daraufhin wird er die Division ausführen (mit dem Ergebnis 8) und dem nächsten Rendezvous-Schaltkreis mitteilen, wenn er damit fertig ist.

Eine Art von Rendezvous-Schaltkreis wird Muller-C-Element genannt, nach David Muller, einem mittlerweile eme-ritierten Professor der Universität von Illinois in Urbana-Champaign. Ein Muller-C-Element enthält zwei Eingänge und einen Ausgang. Wenn beide Eingänge den Wert 1 haben, dann hat auch der Ausgang diesen Wert. Sind beide Eingänge 0, so gilt dies auch für den Ausgang. In allen anderen Fällen bleibt das Ausgangssignal unverändert. Damit das Muller-C-Element als Rendezvous-Schaltkreis arbeiten kann, muss der Zustand seiner Eingänge so lange unverändert bleiben, bis das Element geschaltet hat und am Ausgang der zugehörige Zustand anliegt. Eine Kette von Muller-C-Elementen kann den Datenfluss entlang einer elektronischen Eimerkette regeln.

Unsere Forschungsgruppe hat vor kurzem einen neuartigen Rendezvous-Schaltkreis namens GasP vorgestellt. Er ist ein Abkömmling einer früheren Familie von Schaltkreisen, die auf Charles E. Molnar, unseren verstorbenen Kollegen von Sun Microsystems, zurückgeht. Molnar gab seiner Kreation den Namen asP*, was "asynchrones symmetrisches Puls-Protokoll" bedeutet (der Stern steht für "doppeltes P"). Wir fügten noch das G hinzu, weil einem tatsächlich die Luft wegbleiben kann (englisch gasp), wenn man sieht, wie schnell die Schaltkreise sind. Wir fanden, dass GasP-Module in Geschwindigkeit und Energieverbrauch den Muller-C-Elementen gleichwertig sind, jedoch besser zu normalen Daten-Signalspeichern passen und in komplexen Chipkonstruktionen weitaus vielseitiger einsetzbar sind.

Buridans Esel

Ein Arbiter erfüllt eine weitere für asynchrone Computer wichtige Aufgabe. Er ist wie ein Verkehrspolizist an einer Kreuzung, der entscheidet, welches Auto als nächstes durchfahren darf. Liegt nur eine Anforderung vor, so gibt der Arbiter sofort den entsprechenden Vorgang frei und stellt später eingehende Anforderungen zurück, bis die erste erledigt ist. Gehen jedoch zwei Anforderungen gleichzeitig ein, so muss der Arbiter (daher der Name, "Schiedsrichter") entscheiden, welcher er zuerst stattgeben soll.

Typische Anwendung ist der gleichzeitige Zugriff zweier Prozessoren aufden gemeinsam genutzten Speicher. Der Arbiter bringt diese Zugriffe in eine Reihenfolge, sodass zu jedem Zeitpunkt nur ein Prozessor Zugang hat. Damit wird garantiert, dass nie zwei Aktionen gleichzeitig im Gange sind, ebenso wie der Verkehrspolizist Unfälle verhindert, indem er an einer Kreuzung niemals zwei Autos auf Kollisionskurs fahren lässt.

Arbiter-Schaltkreise erfüllen perfekt die Bedingung, zu einem Zeitpunkt nie mehr als einer Anforderung stattzugeben. Allerdings ist es unmöglich, einen Schaltkreis zu bauen, der in jedem Konfliktfall in einer festgelegten Zeitspanne zu einer Entscheidung kommt. Heutige Arbiter-Schaltkreise fällen ihre Entscheidungen sehr schnell: im Durchschnitt innerhalb von ein paar Hundert Picosekunden (billionstel Sekunden). Treffen die Anfragen jedoch sehr dicht nacheinander ein, benötigen sie gelegentlich doppelt so lange, in sehr seltenen Fällen sogar die zehnfache Zeit.

Ein Arbiter befindet sich in diesem Fall in dem Dilemma von Buridans Esel. Nach einer Parabel, die Buridan, einem französischen Philosophen des 14. Jahrhunderts, zugeschrieben wird, verhungert ein Esel, der genau in der Mitte zwischen zwei Heuhaufen steht, da er unfähig ist zu entscheiden, von welchem Heuhaufen er fressen soll. Etwas weniger dramatisch kennen wir das aus dem Alltag, etwa wenn zwei Leute, die gleichzeitig eine Tür erreichen, sich nicht einigen können, wer als Erster durchgeht. Dabei kommt es auf die Reihenfolge überhaupt nicht an. Buridans Esel würde vom linken Heuhaufen so gut satt werden wie vom rechten; er muss eben nur die Pattsituation aufbrechen.

Genau das tut ein Arbiter-Schaltkreis. Wie eine Flip-Flop-Schaltung hat er zwei stabile Zustände, die den beiden Entscheidungsmöglichkeiten entsprechen. Man kann sie sich als die Nordsee und das Mittelmeer vorstellen. Jede Anfrage an den Arbiter drückt den Schaltkreis in Richtung des einen oder des anderen stabilen Zustands, so wie ein Hagelkorn, das auf die Alpen fällt, entweder nord- oder südwärts rollt und am Ende in einem der Meere aufgeht. Zwischen diesen stabilen Zuständen muss es jedoch eine metastabile Trennlinie geben. Fällt ein Hagelkorn direkt auf diese Wasserscheide, kann es noch einen Moment auf dem Grat balancieren, bevor es endgültig zum Mittelmeer oder zur Nordsee hinabfällt. Treffen zwei Anfragen im Abstand von wenigen Picosekunden beim Arbiter-Schaltkreis ein, so verharrt er möglicherweise ebenfalls kurze Zeit in diesem metastabilen Zustand, bevor er das Patt aufbricht und einen seiner stabilen Zustände erreicht.

Eine Computerflotte namens Fleet

Neulinge im Geschäft der Arbiter-Konstruktion versuchen häufig, selbst diese nur gelegentlich vorkommenden Verzögerungen mit scharfsinnigen Tricks zu vermeiden. Ein beliebter Fehler ist es, mit Hilfe eines zusätzlichen Schaltkreises das Hängenbleiben in einem metastabilen Zustand zu erkennen und daraufhin den Arbiter in Richtung einer bestimmten Entscheidung zu zwingen. Das ist so, als wollte man Buridans Esel darauf dressieren, dass er, wenn es schwierig wird, stets vom linken Heuhaufen frisst. Damit hat das arme Tier jedoch drei Wahlmöglichkeiten statt zwei: links fressen, rechts fressen oder die Situation als schwierig erkennen und daher links fressen. Auch ein gut dressierter Esel würde verhungern, wenn er sich zwischen den letzten beiden Möglichkeiten nicht entscheiden kann. Oder, um im geografischen Bild zu bleiben: Man kann die Wasserscheide mit einer Schaufel etwas verlegen, aber nicht abschaffen. Die Metastabilität ist unvermeidlich, jedoch können gut konstruierte Arbiter-Schaltkreise sicherstellen, dass praktisch alle Verzögerungen sehr kurz sind. Ein moderner Arbiter-Schaltkreis hat eine durchschnittliche Schaltzeit von 100 Picosekunden. Verzögerungen von 400 Picosekunden sind seltener als einmal in zehn Stunden Betriebszeit zu erwarten. Die Wahrscheinlichkeit von Verzögerungen nimmt exponentiell mit deren Länge ab: Auf eine Denkpause von 800 Picosekunden müsste man im Durchschnitt eine Milliarde Jahre warten.

Unsere Gruppe bei Sun Microsystems konzentriert sich auf schnelle asynchrone Systeme. Dabei haben wir gelernt, dass Geschwindigkeit häufig durch Einfachheit der Konstruktion zu Stande kommt. Anfänglich wollten wir eine Pipeline mit zwei entgegengesetzten Datenflüssen bauen – wie zwei parallele Eimerketten, die in entgegengesetzten Richtungen arbeiten. Es würden sich also lauter Paare von "Wassertransporteuren" von Angesicht zu Angesicht gegenüber stehen; jeder empfängt seine Eimer vom linken Nachbarn und reicht sie zum rechten Nachbarn weiter; gleichzeitig soll aber das jeweilige Gegenüber auf den aktuellen Eimer zugreifen können.

Diese sehr schwere Aufgabe ist nur lösbar, wenn an jedem Glied der doppelten Kette ein Arbiter den Zugriff auf den aktuellen Eimer regelt. Für die Forschung erwies sich dieses Projekt als sehr nützlich; es gab eine Menge zu lernen über Koordination und Datenverkehrsregelung, und wir bauten auch erste Testchips, um die Zuverlässigkeit unserer Arbiter-Schaltkreise zu demonstrieren.

Vor kurzem stürzten wir uns auf ein neues Forschungsvorhaben: eine Datenverarbeitungsstruktur namens "Fleet" ("Flotte"). Den Namen haben wir nicht nur gewählt, weil er sich auf "speed" reimt, sondern weil wir die Recheneinheiten als Schiffe verstehen, die innerhalb eines Flottenverbandes eigenständig ihre jeweilige Aufgabe erfüllen. Das System Fleet koordiniert die Aktionen der Flotte, indem es über ein asynchrones Netzwerk Daten von Schiff zu Schiff schickt.

Unsere Arbeit am Projekt Fleet führte zu einer Reihe von Entdeckungen. Wir wollten Schnelligkeit, und daraufhin konstruierten wir die ersten GasP-Schaltkreise. Wir wollten bestimmte Daten von einer Pipeline in die andere lenken, wie Autos an einem Autobahnkreuz, und daraufhin entwickelten wir eine größere Familie von GasP-Schaltkreisen, die wie ein dichtes Autobahnnetz wirken. Auf ihnen erreicht die Datenübertragung die doppelte Geschwindigkeit wie in getakteten Systemen.

Zur Messung dieser Geschwindigkeit schalten wir unsere Elemente zu einem Ring zusammen, auf dem unsere Daten laufen wie auf der Autorennbahn. Die Zeit für eine vollständige Runde ist um einiges einfacher zu messen als die viel kürzere Zeit, die der Durchlauf durch ein Element benötigt.

Allmählich gelangen von uns gebaute Chips auch in kommerzielle Computerprodukte von Sun. Der Prozessorchip UltraSPARC IIIi enthält asynchrone Zwischenspeicher, die Daten aus Speicherchips entgegennehmen. Dies ist die einfachste und schnellste Technik, um die unterschiedlichen Signallaufzeiten zu und von den Speicherchips zu kompensieren, die verschieden weit vom Prozessor entfernt liegen.

Mittlerweile wächst die Zuversicht der Produktdesigner von Sun, dass asynchrone Elemente zu vernünftigen Kosten herstellbar und überprüfbar sind, zuverlässig funktionieren und wesentliche Vorteile bieten: Geschwindigkeit, Flexibilität, Energieersparnis und geringere Störstrahlung.

Sun ist mit diesem Forschungsprogramm keineswegs allein. Eine Gruppe bei Philips in den Niederlanden hat ein asynchrones Fehlerkorrektur-Bauteil für einen digitalen Kompaktkassettenspie-ler entwickelt sowie eine asynchrone Version eines populären Mikrocontrollers für Funkrufempfänger. Energieverbrauch und Störstrahlung sind so gering, dass neben dem Computer (dem Mikrocontroller) auch ein empfindlicher Radioempfänger in dem winzigen Gerät Platz findet. Dieser Erfolg ist maßgeblich auf die Verwendung einer Programmiersprache namens Tangram zurückzuführen, welche die Hardwareplanung wesentlich vereinfacht und damit auch die Produktentwicklung beschleunigt.

Außerdem zeigen die Experimente, die in Manchester, am Caltech und bei Philips durchgeführt wurden, dass asynchrone Mikroprozessoren im Prinzip mit ihren getakteten Kollegen kompatibel sind. Sie können auch an Peripheriegeräte ohne spezielle Programme oder Schnittstellenadapter angeschlossen werden.

Herausforderung asynchrone Zukunft

Die Befreiung vom Diktat der Zentraluhr eröffnet ungeahnte Möglichkeiten – und bereitet ungeahnte Probleme. Da jeder Teil des Systems seinen eigenen, unvorhersehbaren Takt hat und alle zugleich aktiv sind, können deren Aktionen in irgendeiner Reihenfolge stattfinden. Diese Aktionen mitsamt möglichen Kollisionen – etwa konkurrierenden Speicherzugriffen – sind ungefähr so schwierig zu überblicken und zu beherrschen wie ein Schulhof voller Kinder. Mit der Zahl der aktiven Elemente wächst die Anzahl der möglichen Systemzustände exponentiell an: die so genannte Zustandsexplosion. Wie kann man dieses Chaos bewältigen?

Einige neue Theorien schaffen Abhilfe. Man braucht sich nicht um alle möglichen Abfolgen von Vorgängen zu kümmern, wenn man für das Kommunikationsverhalten jedes Schaltkreises gewisse Einschränkungen festlegt. Auf dem Schulhof entspräche das der Vermeidung von Unfällen, indem man den Kindern gewisse potenziell gefährliche Verhaltensweisen verbietet.

Noch leidet die Technik der asynchronen Computer unter den Kinderkrankheiten einer jungen Technologie: Es gibt keine ausgereifte Design-Software, keine allgemein akzeptierten Prüfverfahren und zu wenig ausgebildete Fachleute. Eine ständig wachsende Forschergemeinschaft macht zwar gute Fortschritte, doch das Gesamt-Investitionsvolumen ist äußerst mager im Vergleich zu dem, was für getaktete Systeme aufgewendet wird. Wir sind jedoch davon überzeugt, dass der unaufhaltsame Fortschritt bei Geschwindigkeit und Komplexität von integrierten Schaltkreisen der asynchronen Technik einen unwiderstehlichen Vorteil verschaffen wird. Ob dieser Durchbruch eher in einem großen Konzern oder in einem jungen Unternehmen mit unkonventionellen Ideen stattfinden wird, ist noch nicht abzusehen.

Der Trend ist jedoch unausweichlich: In den kommenden Jahrzehnten werden asynchrone Bauelemente die Hauptrolle spielen. Damit wird es auch keine einfache Antwort mehr auf die Frage geben: Wie schnell ist Ihr PC?

Literaturhinweise


Principles of Asynchronous Circuit Design: A Systems Perspective. Von Jens Sparsø und Steve Furber (Hg.). Kluwer, 2001.

Asynchronous Circuits and Systems. Sonderheft von Proceedings of the IEEE, Februar 1999.

Micropipelines: The Turing Award Lecture. Von Ivan E. Sutherland in: Communications of the ACM, Bd. 32, Nr. 6, S. 720, Juni 1989.


In Kürze: Asynchrone Systeme


- Die meisten modernen Computer arbeiten synchron: Alle Vorgänge werden durch die Taktsignale eines winzigen Kristalloszillators in der Maschine koordiniert. Neuerdings beschäftigt sich die Forschung auch mit dem Bau asynchroner Systeme, die Daten ohne vorgegebenen Takt verarbeiten.

- In asynchronen Systemen wird ein geordneter Datenfluss statt durch den Taktgeber durch Schaltkreise zur lokalen Koordination hergestellt. Die zwei wichtigsten dieser Schaltkreise heißen Rendezvous und Arbiter.

- Die potenziellen Vorteile asynchroner Systeme bestehen in höherer Geschwindigkeit, niedrigerem Energieverbrauch und geringerer Störstrahlung. Sie werden sich mit der zunehmenden Komplexität integrierter Schaltkreise durchsetzen.

Aus: Spektrum der Wissenschaft 12 / 2002, Seite 60
© Spektrum der Wissenschaft Verlagsgesellschaft mbH
12 / 2002

Dieser Artikel ist enthalten in Spektrum der Wissenschaft 12 / 2002

Lesermeinung

Beitrag schreiben

Wir freuen uns über Ihre Beiträge zu unseren Artikeln und wünschen Ihnen viel Spaß beim Gedankenaustausch auf unseren Seiten! Bitte beachten Sie dabei unsere Kommentarrichtlinien.

Tragen Sie bitte nur Relevantes zum Thema des jeweiligen Artikels vor, und wahren Sie einen respektvollen Umgangston. Die Redaktion behält sich vor, Leserzuschriften nicht zu veröffentlichen und Ihre Kommentare redaktionell zu bearbeiten. Die Leserzuschriften können daher leider nicht immer sofort veröffentlicht werden. Bitte geben Sie einen Namen an und Ihren Zuschriften stets eine aussagekräftige Überschrift, damit bei Onlinediskussionen andere Teilnehmer sich leichter auf Ihre Beiträge beziehen können. Ausgewählte Lesermeinungen können ohne separate Rücksprache auch in unseren gedruckten und digitalen Magazinen veröffentlicht werden. Vielen Dank!

  • Infos