Ein Methusalem unter den Prozessor-Befehlssätzen Was ist x86?
Anbieter zum Thema
Auch in der schnelllebigen IT gibt es Instrumente und Verfahren, die sozusagen immer schon da waren. Der „x86“-Befehlssatz für Mikroprozessoren mit seinen über 40 Jahren Lebenszeit ist ein solcher Dauerläufer.

Das Akronym x86 steht für eine ursprünglich von Intel entwickelte und dann von weiteren Unternehmen (allen voran AMD) übernommene Mikroprozessor-Architektur. Die drei Zeichen signalisieren Beständigkeit hinsichtlich ihrer Verwendungsmöglichkeiten über Jahrzehnte hinweg, sind aber durchaus schillernd in dem, was sich technisch hinter ihnen verbirgt.
In erster Linie steht das Etikett x86 dafür, dass sich die derart „firmierenden“ Prozessoren in ihrem Befehlssatz gleichen - wenn auch alles andere als identisch sind - und im Prinzip eine Kompatibilität in die Vergangenheit gewährleisten. Programme, die auf einem älteren x86-Rechner laufen, können also auch auf Rechnern, die neuere x86-Prozessoren verwenden, eingesetzt werden. Zumindest tendenziell!
Dass eine solche Rückwärts-Kompatibilität nicht zum leistungsmäßigen Null-Tarif zu haben ist, ist klar. Neue Hardwareleistungsmerkmale können nicht von Programmen ausgenützt werden, die für eine x86-Generation geschrieben wurden, die diese Features noch nicht hatte.
Der Übergang von 32-Bit auf 64-Bit-Technik
Beim Übergang von der 32-Bit-Technologie auf eine 64-Bit-Technologie innerhalb der x86-Philosophie wird das besonders schmerzhaft erkennbar. Tatsächlich wollte Intel in den ersten Jahren des neuen Millenniums die Abwärts-Kompatibilität des x86 aufgeben, wurde aber durch erfolgreiche technologische Schachzüge des Konkurrenten AMD dazu gezwungen, die x86-Architektur in das 64-Bit-Zeitalter zu verlängern.
Wenn heute von x64 gesprochen wird, so ist das tatsächlich ein x86-64 Befehlssatz; das heißt: x86 mit zusätzlichen Registern und anderen Erweiterungen. Nachdem AMD einen Prozessor mit einem solchen Befehlssatz unter der Bezeichnung „amd64“ erfolgreich im Markt platzieren konnten, zog Intel nach und brachte 2005 einen Prozessor mit der Bezeichnung Intel 64 auf den Markt. Im Gegensatz zu der zu Anfang der Zweitausend-Nuller-Jahre entwickelten „Itanium“-Reihe, bei der der x86-Befehlssatz keine Rolle mehr spielte, war der Intel 64 wieder auf x86-Linie.
Alle Register, also derjenige Bereich des Arbeitsspeichers, der direkt mit dem Rechenwerk (arithmetic logic unit, ALU) zusammenspielt, haben beim amd64 eine Breite von 64 Bit. Wenn der Prozessor im 32-Bit-Kompatibilitätsmodus läuft, werden die oberen 32 Bit eines jeden Registers auf Null gesetzt, der Prozessor wird insofern künstlich heruntergebremst. Das ist der Preis, der für die Abwärtskompatibilität zu zahlen ist.
Der PC-Boom brachte den Durchbruch
Begonnen hat die x86-Geschichte im Jahre 1978 im Jahre 1978 mit dem Prozessor „8086“, für den sich recht bald das Akronym x86 einbürgerte. Dieser „Urahn“ der x86-Prozessoren hatte eine Verarbeitungsbreite von 16 Bit und löste die vorher eingesetzten 8-Bit-Maschinen ab („Intel 8080“), die nicht mit der x86-Architektur kompatibel sind.
Zunächst war der erste x86-Prozessor nur mäßig erfolgreich, den Durchbruch brachte dann der 1981 einsetzende Siegeszug des PC. Im ersten IBM-PC wurde nämlich eine reduzierte Version des 8086 namens „8088“ verbaut. Durch die nach 1981 einsetzende Flut der IBM-kompatiblen PC stieg der Bedarf an x86-Prozessoren exzessiv und die x86-Architektur wurde zum weltweiten De facto-Standard für PC-Mikroprozessoren. Viele Halbleiterhersteller bauten den x86 in Lizenz nach und die Firma AMD wurde neben Intel zu einem der beiden Innovatoren in der Weiterentwicklung dieser Architektur.
Mit dem „80386“ brachte Intel 1985 den ersten 32-Bit-Prozessor im x86-Design (Details siehe unter „Ergänzendes zum Thema“) auf den Markt, erst Ende des letzten Jahrtausends kam dann die 64-Bit-Ära mit dem schon erwähnten Wettlauf zwischen AMD und Intel um die Befehlssatz-Architektur der Zukunft: x86 plus Erweiterungen oder etwas Neues, das war damals die Frage (siehe: oben)
Die Einheit von Hardware und Software
Seit der Einführung des Pentium-Prozessors in der ersten Hälfte der 1990er Jahre gingen Intel und AMD zunehmend zu Wortmarken bei der Benennung ihrer Mikroprozessoren über: „Pentium“, „Itanium“, „Celeron“, „Opteron“ und „Athlon“ beispielsweise), in erster Linie deshalb, weil sich Wortmarken im Gegensatz zu Ziffernfolgen markenrechtlich schützen lassen. Das Akronym x86 blieb dennoch all die Jahrzehnte erhalten, erhielt durch die neue Namenssystematik der Halbleiter-Hersteller vermutlich sogar noch mehr Aufmerksamkeit.
In einzigartiger Weise verbinden sich im Übrigen in der x86-Architektur der Hardware- und der Software-Aspekt der Computertechnologie, denn in einer Befehlssatz-Architektur sind die Halbleiter-Verdrahtung (Hardware) und der Maschinen- beziehungsweise Assembler-Code, der die Verdrahtung mit flexiblen Inhalten strukturiert (Software) eine Einheit. Die strikte Zweiteilung von „harter und weicher Ware“ ist auf dieser elementaren Gestaltungs-Ebene im Grunde noch gar nicht vorhanden.
Trotzdem: Das Akronym x86 allein gibt dem Anwender kaum Informationen darüber, welche Maschinenbefehle eine Software enthalten muss, damit sie auf einem bestimmten Prozessor läuft. So ist beispielsweise nicht von vornherein klar, ob die 64-Bit-Variante von „Windows“ tatsächlich auf einem älteren 64-Bit-x86-Prozessor mit amd64 oder Intel-64-Erweiterung läuft, wenn beispielsweise die Funktionen CMPXCHG16b, PrefetchW und LAHF/SAHF fehlen. Unter Linux kann es ähnliche „Lauf-Hindernisse“ geben, wenn beispielsweise der Prozessor (beispielsweise der „Pentium M“) kein PAE-Flag hat.
Über 40 Jahre Kompatibilität
Zugegeben: Im x86-Umfeld sind die verschiedenen Bezeichnungen oft ärgerlich verwirrend. Der Wirrwarr rührt nicht zuletzt aus dem scharfen Wettbewerb der x86-Platzhirsche Intel und AMD: so bezeichnet Intel die nicht x86-kompatible Itanium-Architektur mit „IA“ (Intel Architecture)-64, AMD bezeichnet dagegen seine x86-kompatible 64-Bit-Architektur mit amd64. IA-64 und amd64 sind also offensichtlich zwei Paar Stiefel, obwohl die Benennung etwas anderes suggeriert.
Letztlich sind diese Wirrnisse aber unwesentlich gegenüber dem technischen Charme des jetzt über vier Jahrzehnte währenden Kompatibilitätsversprechens der x86-Architektur. So sind beispielsweise auch 40 Jahre nach der Einführung des legendären 8086- Prozessors auch neueste Multi-Core-Prozessoren wie der Prozessor „Intel Core i7-8086K“ noch 8086-kompatibel und somit echte „Urenkel“ des großen Ahnen.
(ID:46683417)