Intel 64
Intel 64 ist diex64-Implementierung derIA-32-x86-Architektur vonIntel. Sie ermöglicht,direkt mehr als 4 GiBArbeitsspeicher zu adressieren. Die Befehlssatzerweiterung ist weitgehend zuAMD64 vonAMD kompatibel und basiert grundlegend auf dieser.
Frühere Bezeichnungen[1] waren „ExtendedMemory64Technology“, abgekürztEM64T, undIA-32e.
Geschichte
[Bearbeiten |Quelltext bearbeiten]Aufgrund des Markterfolges derAMD64-Prozessoren und der immer größer werdenden Menge von AMD64-Software entschied sich Intel, das schon seit längerem unter den CodenamenYamhill undClackamas Technology entwickelte Intel 64 (frühere Bezeichnungen waren IA32e oder EM64T) endgültig in dieNetBurst-Architektur zu integrieren. CPUs mit dieser Mikroarchitektur,Xeon-Prozessoren „Nocona“ ab Juni 2004, wurden damit in die Lage versetzt, die als AMD64 bekannten erweiterten x86-Befehle auszuführen, was die ursprüngliche 32-Bit-Architektur „Intel Architecture, 32 Bit“, kurzIA-32, zu einer 64-Bit-x86-Architektur (kurz x86-64 oderx64) machte.
Intel hatte sich lange Zeit gegen AMD64 ausgesprochen, da man die Stellung seiner eigenen 64-Bit-Itanium-Architektur „IA-64“ nicht gefährden wollte. Ging es nach Intel, so wäre die zur x86-Architektur inkompatible Itanium-Architektur als die exklusive 64-Bit-Architektur auf dem Markt eingeführt worden. Der Marketingname des Befehlssatzes wurde passend dazu als „Intel Architecture 64 (Bit)“[2] bezeichnet. Da AMD zwischenzeitlich viele namhafteOEM-Hersteller ins AMD64-Boot holen konnte und außerdem zu dieser Zeit der massive Umstieg auf 64-Bit in Desktop- und Workstation-Rechnern in vollem Gange war, gingen fast alle Beobachter davon aus, dass AMD64 in Zukunft die bedeutendste 64-Bit-Architektur werden würde. So musste dann auch Intel dem Druck des Marktes nachgeben, da unter anderem Microsoft nicht zwei 64-Bit-Versionen seines BetriebssystemsWindows 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.[3]
Auch die Linie derMobilprozessoren wurden mit den 2006 eingeführtenCore-2-Prozessoren um Intel 64 erweitert. Sie stellen die Abkehr von der NetBurst-Architektur dar und kamen auch in Desktop- und Server-Maschinen zum Einsatz.
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 vonCompilern undBetriebssystemen relevant.
- Den ersten Versionen der EM64T-Implementierung fehlten die Maschinenbefehle
LAHF
undSAHF
.[4] Relevant wurde dieser Umstand erst mit späteren Betriebssystemen wie etwaWindows abVersion 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 optionaleIOMMU-Einheit. Während bei AMD64-Prozessoren die IOMMU-Einheit, dieAMD-Vi genannt wird, immer vorhanden ist, fehlt sie bei einigen Prozessor-Modellen von Intel, wo sieVT-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 derKernel diese Fähigkeit in Software emulieren und die Daten zunächst in Puffer unterhalb der4-GiB-Grenze schreiben. Dies macht beispielsweiseLinux mit der Funktionsoftware bounce buffering (
SWIOTBL
, manuell per Kernel-Parameteriommu=soft
[5]).
CPUs mit Intel 64
[Bearbeiten |Quelltext bearbeiten]- Intel Pentium 4 (ab F-Modelle mit Prescott-Kern)
- Intel Pentium 4 Extreme Edition (ab Prescott-2M-Kern)
- Intel Pentium D
- Intel Pentium Extreme Edition
- Intel Celeron (ab Conroe-L Kern)
- Intel Celeron D
- Intel Celeron M (ab Merom-Kern)
- Intel Core 2 Duo, Core 2 Duo Extreme,Core 2 Quad, Core 2 Quad Extreme
- Intel-Core-i-Serie
- Intel Pentium Dual-Core (nicht Yonah-Kern (Sockel M))
- Intel Xeon (ab Nocona-Kern)
- Intel Atom (außer Z500- und N200-Serie)
Einzelnachweise
[Bearbeiten |Quelltext bearbeiten]- ↑Christof Windeck: EM64T heißt jetzt Intel 64. In:Heise online. 28. September 2006. Abgerufen am 6. Januar 2018.
- ↑Lin Chao: Intel Technology Journal Q4, 1999 – Preface. (PDF; 1,4 MB) In: Intel Technology Journal. Intel, 1999, S. 1, abgerufen am 21. Januar 2024 (englisch): „With the close of the year 1999, it is appropriate that we look forward to Intel's next generation architecture--the Intel Architecture (IA)-64. The IA-64 represents a significant shift for Intel architecture: it moves from 32-bits to 64-bits. Targeted for production in mid-2000, the Itanium™ processor will be the first IA-64 processor.“
- ↑Christof Windeck: Microsoft programmiert keine neue Itanium-Software mehr. In:Heise online. 6. April 2010. Abgerufen am 6. Januar 2018.
- ↑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;“
- ↑IOMMU SWIOTBL. In: Gentoo Linux Wiki. Abgerufen am 28. Februar 2018 (englisch).
Weblinks
[Bearbeiten |Quelltext bearbeiten]- Intels technische Dokumentation zu Intel 64 (englisch)
- Intels EM64T FAQ (englisch)
- Liste von Handbüchern, von Intel, über Intel 64 (englisch)
Betriebsmodi | Real Mode •Protected Mode •Virtual 8086 Mode •System Management Mode •Long Mode •Compatibility Mode |
Befehlssatzerweiterungen | x87 ⬝PAE ⬝NX ⬝AMD64/Intel 64 (x64) ⬝HTT ⬝VT-x/AMD-V/VIA VT ⬝3DNow! ⬝MMX ⬝SSE ⬝SSE2 ⬝SSE3 ⬝SSSE3 ⬝SSE4 ⬝SSE4a ⬝ |