Direkt zum Inhalt

Rohe Chips

Die Rechenarbeit zum Projekt Oxygen wird der Raw-Mikrochip leisten. Seine internen elektrischen Verbindungen sind für verschiedene Aufgaben automatisch umprogrammierbar.


Computerleistung soll so allgegenwärtig und verfügbar sein wie die Luft zum Atmen; das ist die Idee des Projekts Oxygen. Um sie zu realisieren, muß die Architektur gegenwärtiger Computersysteme gründlich überdacht werden. Im Rahmen des Projekts "Raw" entwickeln meine Kollegen und ich am Informatiklabor des MIT einen vollkommen neuen Computerchip. Dieser "Raw-Chip" soll durch sein flexibles Design den Stand der Technik in Rechenleistung, Stromverbrauch und Preis-Leistungsverhätnis weit übertreffen. Da seine Verdrahtung durch Software veränderbar ist, kann er sich den Anforderungen jedes Anwendungsprogramms individuell anpassen.

Möglich wurde er durch die unaufhaltsame Miniaturisierung des Mikroprozessors. Im Jahre 1987 paßte ein Mikroprozessor mit etwa 100000 Transistoren, der etwa 20 Millionen Befehle pro Sekunde (MIPS) abarbeiten konnte, auf einen quadratzentimetergroßen Siliciumchip. Zehn Jahre später war der Platzbedarf auf ein Hundertstel gesunken, und in weiteren zehn Jahren, 2007, wird der gleiche Prozessor auf einem zehntel Quadratmillimeter Platz finden: ein Faktor 10000 in zwanzig Jahren. Wir treten in ein Zeitalter ein, in dem jeder Mikrochip Milliarden von Transistoren enthält. Das eröffnet uns erstaunliche Möglichkeiten.

Wir werden aber diese Chancen vergeuden, wenn wir im Prinzip dieselben Mikrochips bauen wie bisher, nur größer und komplizierter. Ein großes Tier hat ein anderes Verhältnis von Oberfläche zu Volumen als ein kleines und muß deswegen anders gebaut sein; ähnliche Skalierungsprobleme gibt es bei Mikrochips.

In den meisten PCs sitzt zwischen Hard- und Software die sogenannte instruction set architecture (ISA), das System der elementaren Maschinenbefehle. Ein solcher Befehl weist den Prozessor an, Daten von Speicherplätzen zu Rechenregistern zu holen, sie dort zu addieren, zu multiplizieren oder anderweitig zu bearbeiten und wieder in den Speicher zu legen. Eine Instruktion wie "ADD 7 1024 8" weist den Prozessor an, die Inhalte von Register 8 und Speicheradresse 1024 zu addieren und das Ergebnis nach Register 7 zu schreiben. Wo sich die Register und Speicherplätze auf dem Chip befinden, sagt der Befehl nicht ausdrücklich dazu. Das ergibt sich implizit aus der Hardware des Chips, ausgeführt in fester Verdrahtung oder einem sogenannten Datenbus.

Durch die Verkleinerung der Transistoren passen mehr und mehr Speicher- und Rechenregister auf dieselbe Chipfläche. Zugleich sinkt die Taktzeit des Prozessors, die Zeit, die er benötigt, um eine einfache Operation wie Addition auszuführen. Da die gegenwärtige Architektur aber Hardwareverbindungen zwischen jedem Speicherplatz und jedem Rechenregister erfordert, bleibt deren Länge und damit die Datenübertragungszeit stets proportional zum Chipdurchmesser, nimmt also nicht mit der Taktzeit ab. Trotz zunehmender Zahl an Bauteilen stößt der Chip irgendwann an eine Leistungsgrenze, weil er zu lange Leitungen hat. Überdies ist der Stromverbrauch wegen der elektrischen Verluste proportional der Leitungslänge. Es wird also nicht nur Zeit, sondern auch Energie verschwendet.

In einem gewissen Sine sind wir bereits an diese Leistungsgrenze gestoßen. In jedem PC steckt ein Mikroprozessor, aber wenn Sie seine Leistung voll ausschöpfen möchten, müssen Sie zusätzliche Steckkarten einfügen: für den Betrieb eines Modems, des Bildschirms, für Tonwiedergabe, Radioempfang, Gleitkommaarithmetik und so weiter. Das große Gehäuse dient nur dazu, alle diese Steckkarten unterzubringen.

Die Karten erbringen ihre Sonderleistungen, weil der Hardwaredesigner deren Verdrahtung sorgfältig von Hand auf den speziellen Zweck hin entworfen hat. Dadurch gelingt es, die Drähte so kurz zu halten, daß alle Signale rechtzeitig zum Ziel kommen. Dieser Entwurfsprozeß ist extrem aufwendig.

 

Das Problem der langen Leitung

Wie können wir diese Hürde umgehen? Indem wir von einer festen zu ei-ner softwareveränderlichen Verdrahtung übergehen (das Prinzip des field-programmable gate array, vergleiche Spektrum der Wissenschaft, August 1997, S. 44). Dazu genügt es, gewissermaßen nur kurze Drahtstücke von Knotenpunkt zu Knotenpunkt bereitzuhalten und an den Knotenpunkten Schalter zu instal-lieren, die ihrerseits durch Software zu betätigen sind. Die Schalter sind nichts weiter als logische Gatter: elementare Bausteine eines Mikrochips, und im Überfluß verfügbar. Wir müssen jetzt nur noch einen Compiler schreiben, der Anweisungen in einer gewöhnlichen Programmiersprache wie Fortran oder C++ in ein Verdrahtungsschema umwandelt.

Wir nennen dieses Konstruktionsprinzip "Raw" ("roh"), weil die Chips, in einem übertragenen Sinne, nicht mehr gebacken werden (im Wortsinne schon): Die Verdrahtung wird nicht bei der Herstellung eingeprägt, sondern der Manipulation durch Software zugänglich gemacht. Dadurch paßt der Computer im Prinzip seine Struktur an jede Anwendung an – ein radikaler Bruch mit bestehenden Architekturen.

Der Aufbau des Raw-Chips ist denkbar einfach. Er besteht aus einem sehr großen Schachbrettmuster aus gleichartigen Feldern, deren jedes eine gewisse Menge Rechen- und Speichereinheiten beherbergt. Vor allem aber gehören zu jedem Feld Schalter, die seine elektrischen Verbindungen zu den Nachbarfeldern bestimmen.

Wenn auf dem Chip ein Progamm läuft, wird in jedem Taktschritt durch eine Reihe geeigneter Anweisungen zunächst bestimmt, welches Feld mit welchem durch eine Leitung verbunden wird; dann erst fließen die Daten, und die Operationen werden ausgeführt. Das maßgeschneiderte Stromflußschema verdrahtet den Chip im Prinzip für jede Anwendung aufs neue (Bild links).

Wie vermeidet man nun, daß lange Leitungswege den Betrieb aufhalten? Indem man sie in kürzere Teilstücke zerlegt. Der Compiler regelt den Datenfluß so, daß ein Signal nicht mehr den ganzen Weg während eines Taktzyklus durchmessen muß, sondern nur noch bis zu einem dafür eingerichteten Zwischenregister. Dadurch werden wir um das Jahr 2010 eine Taktrate von 10 bis 15 Gigahertz statt der heute bestenfalls 500 Megahertz erreichen. Ein Signal benötigt dann zwar mehrere Taktzyklen für eine vollständige Reise, aber in jedem Teilstück des Wegs kann ein Signal unterwegs sein. Beim Empfänger kommt also – bei geeigneter Programmierung – ein Signal pro Taktzyklus an und kann weiterverarbeitet werden: Die Durchsatzrate ist dieselbe wie bei einer einzigen kurzen Leitung.

Zusätzlich wird der Compiler versuchen, die Felder, die Daten untereinander auszutauschen haben, dicht beieinander zu legen, so daß die Daten nur wenige Zwischenhalte einlegen müssen.

Nachdem Leiterbahnen das kostbarste Gut auf einem Chip sind, sollte man sie nicht dafür verschwenden, nur jeweils zwei Punkte miteinander zu verbinden. Vielmehr möchten wir den Verkehr zwischen jeweils zahlreichen Speichereinheiten einerseits und Recheneinheiten andererseits bündeln – wie auf einer Autobahn. An der Einfahrt zu dieser Miniatur-Datenautobahn sitzt ein logisches Gatter, das als Multiplexer arbeitet, das heißt im Reißverschlußverfahren immer nur ein Signal pro Zeittakt auf die Reise schickt.

Schließlich veranstaltet der Compiler in Abhängigkeit vom Anwendungsprogramm eine Art Reiseroutenplanung, um Staus zu vermeiden. Da die Leiterbahnen des Chips durch Software kontrolliert werden, nennen wir sie auch gern "weiche Drähte" (soft wires).

Ein großer Vorzug dieser Konstruktion ist die Fähigkeit zur schnellen Übertragung massiver Datenströme, wie zum Beispiel Video- oder Sensorinformationen, zum Ort ihrer Verarbeitung im Chip; das bedeutet wesentlich höhere Leistungsfähigkeit und niedrigeren Stromverbrauch, als gegenwärtig realisierbar ist. Verglichen zu heutigen Mikroprozessoren wird unser neuer Raw-Chip zehnmal so viele – etwa 1000 – Anschlüsse haben, durch die Daten hinein- und herausfließen können.

Der Raw-Chip soll in das Handy 21 eingebaut werden (siehe die vorigen Beiträge) und ihm seine große Vielseitigkeit verleihen. Einen Compiler für den Chip haben wir schon geschrieben, bevor das Bauteil überhaupt existiert; wir simulieren dessen Funktion auf einem konventionellen Computer.

So haben wir ein UKW-Radio für einen Raw-Chip mit 128 Feldern programmiert. Unsere Ergebnisse lassen vermuten, daß es etwa zehnmal so schnell laufen wird wie auf einem herkömmlichen Mikroprozessor. Einige unserer Studenten erzielten eine Verbesserung um einen weiteren Faktor zehn, indem sie die Programmierung des Raw-Chips Stück für Stück von Hand anstatt mittels Compiler vornahmen. Jetzt geht es darum, einen Compiler zu schreiben, der die durch Handprogrammierung erzielte hundertfache Verbesserung automatisch erbringt.

Falls wir damit Erfolg haben, könnte der Raw-Chip zum Universalprozessor werden, der alle Spezialanwendungen gleich mit abdeckt. Ohne allzugroße Übertreibung können wir sagen, daß es in ein paar Jahrzehnten nur noch drei Arten von Chips auf der Welt geben wird: Raw-Chips, Speicherchips – und natürlich Kartoffelchips.


Aus: Spektrum der Wissenschaft 12 / 1999, Seite 70
© Spektrum der Wissenschaft Verlagsgesellschaft mbH
12 / 1999

Dieser Artikel ist enthalten in Spektrum der Wissenschaft 12 / 1999

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!