Intel 64

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Intel 64 ist die x64-Implementierung der IA-32-x86-Architektur von Intel, die es u. a. ermöglicht, direkt mehr als 4 GiB Arbeitsspeicher zu adressieren. Die Befehlssatzerweiterung ist weitestgehend zu AMD64 von AMD kompatibel.

Frühere Bezeichnungen[1] waren „Extended Memory 64 Technology“, abgekürzt EM64T, und IA-32e.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Aufgrund des Markterfolges der AMD64-Prozessoren und der immer größer werdenden Menge von AMD64-Software entschied sich Intel, das schon seit längerem unter den Codenamen Yamhill und Clackamas Technology entwickelte Intel 64 (frühere Bezeichnungen waren IA32e oder EM64T) endgültig in die NetBurst-Architektur zu integrieren. So wurden CPUs mit Netburst-Architektur in die Lage versetzt, die als AMD64 bekannten erweiterten x86-Befehle auszuführen.

Auch die Linie der Mobilprozessoren wurde mit dem Intel Core 2 um Intel 64 erweitert. Die Prozessoren der Core-2-Linie kommen mit der Abkehr von der NetBurst-Architektur auch in Desktop- und Server-Maschinen zum Einsatz.

Intel hatte sich lange Zeit gegen AMD64 ausgesprochen, da man die Stellung seiner eigenen 64-Bit-Architektur IA-64 nicht gefährden wollte. Man musste dann aber dem Druck des Marktes nachgeben, da unter anderem Microsoft nicht zwei 64-Bit-Versionen seines Betriebssystems Windows für Client-Systeme pflegen wollte. Bereits ausgelieferte IA-64-Versionen von Windows-Client-Systemen wurden nach dem Umschwenk auf Intel 64 nicht mehr weiterentwickelt. Seit April 2010 wurde auch die Neuentwicklung der Server-Software für die IA-64-Architektur eingestellt, was auf eine sinkende Nachfrage zurückzuführen ist.[2]

Unterschiede zu AMD64[Bearbeiten | Quelltext bearbeiten]

Einige Maschinenbefehle verhalten sich bei Intel 64 anders als bei AMD64 oder sind überhaupt nicht vorhanden. Die Details der Unterschiede zu AMD64 sind jedoch hauptsächlich für Entwickler von Compilern und Betriebssystemen relevant.

  • Den ersten Versionen der EM64T-Implementierung fehlten die Maschinenbefehle LAHF und SAHF.[3] Relevant wurde dieser Umstand erst mit späteren Betriebssystemen wie etwa Windows ab Version 8.1, da diese nunmehr diese 64-Bit-Maschinenbefehle voraussetzen. (Die 32-Bit-Version von Windows läuft jedoch weiterhin, mit den sich daraus ergebenden Einschränkungen.)
  • Ein weiterer Unterschied zwischen AMD64- und Intel-64-CPUs ist die bei Intel 64 optionale IOMMU-Einheit. Während bei AMD64-Prozessoren die IOMMU-Einheit, die AMD-Vi genannt wird, immer vorhanden ist, fehlt sie bei einigen Prozessor-Modellen von Intel, wo sie VT-d heißt. Dies führt dazu, dass keine direkten Speicherzugriffe (DMA) von Geräten, die keine 64-Bit-Adressierung unterstützen (vor allem 32-Bit-PCI-Geräte) auf Speicherbereiche oberhalb von 4 GiB möglich sind. Stattdessen muss der Kernel diese Fähigkeit in Software emulieren und die Daten zunächst in Puffer unterhalb der 4-GiB-Grenze schreiben. Dies macht beispielsweise Linux mit der Funktion software bounce buffering (SWIOTBL, manuell per Kernel-Parameter iommu=soft[4]).

CPUs mit Intel 64[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Christof Windeck: EM64T heißt jetzt Intel 64. In: Heise online. 28. September 2006. Abgerufen am 6. Januar 2018.
  2. Christof Windeck: Microsoft programmiert keine neue Itanium-Software mehr. In: Heise online. 6. April 2010. Abgerufen am 6. Januar 2018.
  3. Bestofmedia Team: Upgrading And Repairing PCs 21st Edition: Processor Specifications. IA-32e 64-Bit Extension Mode (x64, AMD64, x86-64, EM64T). Tom's Hardware, 14. Oktober 2013, S. 5, abgerufen am 6. Januar 2018 (englisch): „Note: Early versions of EM64T-equipped processors from Intel lacked support for the LAHF and SAHF instructions used in the AMD64 instruction set. However, Pentium 4 and Xeon DP processors using core steppings G1 and higher completely support these instructions;“
  4. IOMMU SWIOTBL. In: Gentoo Linux Wiki. Abgerufen am 28. Februar 2018 (englisch).

Weblinks[Bearbeiten | Quelltext bearbeiten]