Nur wenige Computertechnologien der späten Siebziger haben bis heute überlebt. Eine bemerkenswerte Ausnahme: der Befehlssatz x86. ZDNet erklärt, wie er sich entwickelt hat, warum er wichtiger denn je ist - und wo die Reise hingeht.
Die x86 Instruction Set Architecture (ISA[1]) wird heute in mehr als 90 Prozent aller PCs und Server weltweit eingesetzt. Es gibt natürlich auch andere Befehlssätze, beispielsweise RISC (IBM Power und Sun Sparc) oder EPIC (Intel Itanium). Aber x86 gedeiht auch weiterhin gut - ernsthafte Konkurrenz ist nicht in Sicht, da dieser Befehlssatz eine ausreichende Leistung bietet und in den letzten fast 30 Jahren riesige Mengen Software dafür geschrieben wurden.
"Wenn man die Geschichte der elektronischen Datenverarbeitung betrachtet, ereignen sich große Umwälzungen, wenn dramatische neue Bedürfnisse zutage treten oder es Veränderungen am Markt gibt", sagt ein Professor für Informatik und Ingenieurswissenschaften am Massachusetts Institute of Technology (MIT[2]).
Bei x86 handelt es sich anscheinend um eine Ausnahmeerscheinung. Egal, ob nun die Erfindung des Browsers oder preiswerte Netzwerkcomputer das Ende des altehrwürdigen PCs einleiten sollten - Ingenieure fanden einen Weg, x86 an die Anforderungen anzupassen.
Kritiker sagen, dass x86 die Bürde auferlegt ist, überholte Funktionen und Software zu unterstützen, und dass Fortschritte hinsichtlich Energieeffizienz und Software-Entwicklung dem geopfert wurden. Der x86-Befehlssatz wurde erstmals 1978 zusammen mit dem 8086-Prozessor von Intel vorgestellt. Aufgrund der Methode, mit der er nach Speicheradressen sucht, galt er selbst damals nicht als die eleganteste Lösung auf dem Markt. So erzählt es zumindest Dean McCarron, Analyst bei Mercury Research. IBM entschied sich bei seinem neuen PC für eine geringfügig geänderte Version - den 8088 -, woraufhin die x86-Architektur an Boden gewann.
"Ursprünglich wurde an einen 8-Bit-Chip gedacht (die aktuellen Chips von Intel und AMD sind 64-Bit-CPUs), mit dem man Tabellenkalkulationen durchführen kann", sagt Phil Hester, CTO von AMD. Entsprechend bot das ursprüngliche Design unter anderem keine Unterstützung für eine ausreichende Zahl von Mehrzweckregistern, die in der modernen EDV nötig wären. Register sind kleine Sammelstationen für Daten, die auf Verarbeitung warten. Mehrzweckregister sind nützlich, da in ihnen entweder Daten oder auch Adressen abgelegt werden können, die auf Daten verweisen.
Als die Zahl der Nutzer von IBM-PCs und den Geräten von Klonherstellern anstieg, wurde der x86-Befehlssatz zum unersetzlichen Herzstück des PC-Marktes. Mitte der 1990er Jahre zementierte dann der mit x86-Chips erfolgte Einstieg von Intel in den Servermarkt die Vorherrschaft des Befehlssatzes. Heute verwenden mehr als 90 Prozent aller weltweit verkauften Server x86-Prozessoren von Intel oder AMD.
Intel und AMD haben es durch Erweiterungen geschafft, x86 aktuell zu halten. Zum Beispiel wurde die Grafikleistung Mitte der 90er mit den MMX- und SSE-Befehlen von Intel erhöht, und in diesem Jahrzehnt trugen die 64-Bit-Erweiterungen von AMD dazu bei, das Problem mit den Registern zu lösen. "Auf der Befehlsebene hat es riesige Veränderungen gegeben, nur der Name ist geblieben", so Rick Rashid, Senior Vice President bei Microsoft, der für die Forschungsabteilung des Unternehmens verantwortlich ist.
Mit jeder Erweiterung des x86-Befehlssatzes erhöht sich die Komplexität der Chips. Hinzu kommt, dass ältere Funktionen nicht gestrichen werden können, da ansonsten die Softwarekompatibilität in Gefahr wäre.
"Es gibt absolut keinen Grund dafür, die Architektur von Intel auch weiterhin derart komplex zu halten", meint Simon Crosby, CTO bei Xensource, einem Startup-Unternehmen aus dem Bereich Virtualisierungssoftware. "Es gibt keinen Grund dafür, nicht 60 Prozent der Transistoren vom Chip zu entfernen, von denen die meisten ausschließlich der Unterstützung älterer Funktionen dienen."
Crosby ist überzeugt: Wenn ein Chiphersteller festlegen würde, dass seine CPU ausschließlich Software unterstützt, die nach einem bestimmten Datum, etwa 1990 oder 1995, geschrieben wurde, wäre die Folge eine drastische Senkung der Kosten und des Energieverbrauchs. Das Problem liegt darin, dass sich tief im Inneren von Windows Codezeilen aus dem MS-DOS-Betriebssystem der frühen 80er Jahre befinden - und dieser Code beim Booten nach bestimmten Befehlen sucht.
Die Altlasten waren Teil der Motivation, die dem EPIC-Projekt von Intel und Hewlett-Packard zugrunde lag: ein Neuanfang, mit dem viele der Eigenheiten des x86-Befehlssatzes und die Unterstützung älterer Technologien entfallen würden und der eine moderne Grundlage für die nächsten 20 Jahre böte.
Statt x86 abzulösen, wurde EPIC aber zu einem Fehlschlag. Intel zielt mit den EPIC-basierten Itanium-Chips inzwischen nur noch auf das aus Sicht der Stückzahlen kleine Segement der High-End-Server. Probleme mit der Performance zu Beginn der Einführungsphase und fehlende Software hinderten Intel und HP daran, eine breite Marktbasis für den Prozessor zu schaffen.
Der Erfolg des Opteron mit dem auf 64 Bit aufgebohrten x86-Befehlssatz (den Intel später kopierte) war der Schlag, der EPIC und Itanium endgültig in den Markt für High-End-Server verbannte. In diesem Bereich kann sich die Investition in neue Itanium-Software eher lohnen. Die Masse jedoch bleibt bei x86. Also konnte selbst Intel, eines der einflussreichsten Unternehmen der Technologiebranche, die Software-Entwickler nicht von der Abkehr von x86 überzeugen.
Letztes Jahr sagte Intels CTO Justin Rattner, dass das Unternehmen keine Pläne habe, in absehbarer Zukunft einen neuen Befehlssatz zu entwickeln. Auch Rick Rashid von Microsoft teilte mit, dass seine Abteilung keinerlei Projekte verfolge, die mit konkurrierenden Befehlssätzen in Zusammenhang stehen - obwohl Microsoft in den Neunzigern mit Windows NT auch andere Technologien unterstützt hat.
Bleibt also alles beim Alten? Zwar erregt höhere Performance stets die Aufmerksamkeit der Software-Entwickler, es sei aber unwahrscheinlich, dass sich mit einem Neuanfang gegenüber x86 eine Verbesserung von mehr als 10 Prozent bei Leistung oder Energieverbrauch erreichen lasse, sagt Hester.
Eine derart geringe Leistungssteigerung werde keine dramatischen Bewegungen weg von x86 auslösen, sagte Pat Gelsinger, altgedienter Chipdesigner sowie Senior Vice President und General Manager der Digital Enterprise Group bei Intel. "Wir erreichen jedes Jahr eine Verdoppelung der Leistung" mit der bestehenden Architektur, auf der auch ältere Anwendungen immer noch laufen.
Die Fähigkeit der Chiphersteller, noch mehr Transistoren auf ihre Prozessoren zu packen, führt dazu, dass - anteilig betrachtet - immer weniger Transistoren für die Abwärtskompatibiliät geopfert werden. "Die Kompatibilität bringt Belastungen mit sich", so Gelsinger. "Aber der Gegenwert wiegt die entstehenden Kosten bei weitem auf."
Eine technologische Neuerung, die sich in diesem Zusammenhang als Joker erweisen könnte, ist die Einführung von Chips mit zwei oder mehr Rechenkernen. Die CPU-Hersteller haben sich auf Multi-Core-Prozessoren konzentriert, um die Probleme beim Energieverbrauch zu umgehen, die ein einzelner, hoch getakteter Kern verursacht. Momentan verwenden allerdings alle Kerne noch denselben Befehlssatz.
Einige Fachleute glauben, dass es zukünftig auch Hybridchips geben könnte: Auf einem Die (Siliziumplättchen) könnten kleinere, energieeffizientere Kerne Platz finden, die andere Befehlssätze verwenden und spezielle Aufgaben übernehmen, zum Beispiel Videoverarbeitung.
IBM geht mit seinem Cell-Prozessor in diese Richtung. Er ist das Herzstück der Playstation 3 von Sony. Beim Cell übernimmt ein Power-PC-Kern eine Art Aufsichtsfunktion für acht separate Recheneinheiten. Zukünftig würden in diesem Fall Chiphersteller einen x86-Kern zur Sicherstellung der Abwärtskompatibilität behalten und die nächste Generation komplexer Rechenoperationen spezieller Hardware überlassen, die dann auf x86 verzichten kann.
Die ersten Zeichen für diesen Wandel sind Projekte wie Fusion von AMD. Das Unternehmen plant die Integration von Grafikprozessor und CPU, berichtet McCarron. Bis 2010 könnten Prozessoren, die mehrere Kerne haben, auf denen verschiedene Befehlssätze laufen, seiner Einschätzung nach Realität sein.
Darauf sollte man sich aber nicht verlassen. "Ein Vorteil (des x86-Befehlssatzes) besteht darin, dass diese Architektur Entwicklungen zulässt. Wenn Probleme auftreten, wird sie einfach angepasst", so McCarron. "Letztendlich fiel deshalb die Wahl auf diese Architektur. Und damit alle Systeme zusammenarbeiten können, bleiben wir dabei."
URLs in diesem Artikel:
[1] = http:/
[2] = http:/