64-Bit-Prozessor (AMD64 / iA-64)

Die 64 Bit beziehen sich auf den physisch ansprechbaren Adressraum des Arbeitsspeichers. Bei 32 Bit sind das maximal 4 GByte, die sich direkt und ohne Umwege ansprechen lassen. Doch bei den meisten Motherboards ist schon bei etwas über 3 GByte Schluss. Bei einem 32-Bit-Betriebssystem lohnt es sich nicht, mehr als 3 GByte Arbeitsspeicher einzubauen. Bei einer normalen Nutzung ist das auch gar nicht notwendig. Für einen Server dagegen sind 4 GByte viel zu wenig. Dort ist der Speicherbedarf viel größer. Deshalb setzt man hier schon länger 64-Bit-Prozessoren ein.
Wenn man bedenkt, dass sich der Speicherbedarf alle paar Jahre verdoppelt, dann erkennt man schnell, dass hier ein echter Bedarf an 64 Bit besteht.

iA-32/x86-Architektur

Die Bezeichnung iA-32 entstand zur Abgrenzung gegenüber der iA-64-Architektur. Davor wurde sie noch als x86-Architektur bezeichnet. Sie wurde mit dem 80386 von Intel eingeführte, der den 16-Bit-Befehlssatz seiner Vorgänger erweiterte. iA-32 zeichnet sich dadurch aus, dass jeder neue Prozessor zu seinen Vorgängern abwärtskompatibel war. Bereits vorhandene Programme können ohne Berücksichtigung von Geschwindigkeit und Speicher ausgeführt werden. Der Erfolgsfaktor der x86-Architektur ist die Kompatibilität und Austauschbarkeit. Computer-Besitzer können Software und Hardware fast beliebig nachrüsten.
Irgendwann wurde der Adressraum von iA-32 zu klein. Der Bedarf nach mehr Speicher ist im Laufe der Zeit gewachsen. Doch der größte Engpass liegt bei der Registergröße bzw. -anzahl.

iA-64 von Intel/HP

iA-64 ist die 64-Bit-Architektur von Intel und HP und wird unter anderem im Itanium von Intel eingesetzt. Mit der 32-Bit-Architektur (iA-32/x86) hat sie nichts mehr zu tun.
Bei iA-64 sind sehr viele neue Register dazugekommen, die alle 64 Bit breit sind. Genau genommen sind sie sogar 65 Bit breit. Das 65ste Bit hat die Bezeichnung "Not a Thing". Es kennzeichnet Registerwerte, die spekulativ in das Register geladen wurden. Bei den insgesamt 128 Registern braucht es dann auch keine Spezialregister mehr. Selbstverständlich eignen sich diese Register auch für die 8-Bit- oder 16-Bit-Verarbeitung. Mehr Register ist vor allem eine Anforderung, wenn Befehle und Daten parallel verarbeitet werden sollen.
Vor allem der große Adressraum ist bei der 64-Bit-Architektur interessant. Doch das bedeutet nicht, dass die Verarbeitungsseite 64 Bit breit ist. Das kann auch wesentlich weniger sein.
Viele typische Rechenoperationen beherrschen die iA-64-Prozessoren gar nicht mehr. Bestimmte Funktionen, wie Division, Wurzel und Sinus muss der Compiler per Softwarebibliothek bereitstellen. Das ist jedoch kein Nachteil. Üblicherweise arbeiten Gleitkommaeinheiten bei diesen Befehlen mit einem Software-Algorithmus, der fest im Mikrocode eingebrannt ist. Diese Recheneinheiten sind während der Berechnung belegt. Die Software-Bibliothek ermöglicht es dem Compiler die Funktionen zu optimieren. Ein weiterer Vorteil ist die Möglichkeit einen Bug per Software-Update aus der Welt zu schaffen.
Intel stattete iA-64 mit einer Hardware-Emulation und PC-Virtualisierung aus, um sie zu iA-32 voll kompatibel zu machen. Dabei werden sogar Eigenheiten, wie das A20-Gate und DMA unterstützt. Für das Betriebssystem Windows ist diese Unterstützung sinnvoll. Für Linux ist es unnötig.
Ein Nachteil von iA-64 ist der verschwenderische Umgang mit Ressourcen. Prädikation und Spekulation beschäftigen viele Einheiten auch dann, wenn sie nicht gebraucht werden. Die Prozessoren auf Basis von iA-64 verbrauchen deshalb sehr viel Strom und heizen den Prozessor auf. Die Zukunftsfähigkeit einer Prozessor-Generation ohne energiesparende Architektur ist allerdings sehr begrenzt.

AMD64 von AMD

Während Intel mit seinem 64-Bit-Konzept radikal mit bestehenden Prozessor-Architekturen brach, vollzog AMD die Erweiterung von 32 auf 64 Bit in nur sehr kleinen Schritten. Dabei kam ein bezahlbarer 64-Bit-Prozessor auf den Markt, die aber nicht alle einen physischen Adressraum von 64 Bit hatten.
Mit der 64-Bit-Erweiterung von AMD läuft 32-Bit-Software im Kompatibilitätsmodus fast ungestört weiter. Sie profitiert sogar von den vielfältigen Verbesserungen. Für Programmierer der Betriebssysteme ist es ein Leichtes die Änderungen für die Speicherverwaltung vorzunehmen.
AMD integrierte einen Speichercontroller, der normalerweise im Chipsatz seine Arbeit verrichtet. Der Vorteil, der Zugriff auf den Arbeitsspeicher wird um einige Takte verkürzt. Neben der Bandbreite zum Speicher ist auch die Latenzzeit wichtig. Die Ausführungsgeschwindigkeit von Anwendungen hängt in erheblichem Maße von der Wartezeit ab, wenn die Daten aus dem Speicher nicht nacheinander folgen, sondern verteilt im Speicher liegen.

Der Erfolg von AMD64 war so groß, dass Intel diesen Teil von AMD lizenzierte und in seine eigenen Prozessoren einbaute.

EPIC - Exlici Parallel Instruction Computing

Moderne Prozessoren verteilen die anstehenden Aufgaben auf viele parallel arbeitende Einheiten. Während anfangs eine sehr komplexe Hardware jedes mal aufs Neue jeden Befehl analysiert und versucht diesen parallel auszuführen, macht bei EPIC diese Arbeit der Compiler. Er hat die Aufgabe, mit allen Mitteln den Code möglichst optimal in parallel ausführbare Befehlsketten zu zerlegen.
Dabei müssen einige Regeln beachtet werden. In der IA-64-Architektur besteht eine Befehlskette aus drei Befehlen zu je 41 Bit. Dazu kommen noch 5 Bit, die Auskunft über die Befehle geben und Informationen über das Ende der Parallelität enthalten. Zwischen den parallel ausgeführten Befehlen dürfen keine Abhängigkeiten bestehen. Ist das doch der Fall, unterbricht der Prozessor den Programmablauf.
Eine wichtige Eigenschaft von EPIC ist die Prädikation. Mit deren Hilfe kann der Compiler bedingte Programmverzweigungen vermeiden. Solche Verzweigungen führen bei falscher Sprungvorhersage dazu, dass sie Verzögerungen im Ablauf hervorrufen.

Übersicht: 64-Bit-Prozessoren (Auszug)

Weitere verwandte Themen:

Teilen:

Computertechnik-Fibel

Die Computertechnik-Fibel, das Computer-Buch

Das will ich haben!