X86-ArchitekturDie x86-Architektur bezeichnet eine Befehlssatzarchitektur, die von Intel 1978 mit dem 16-Bit-Mikroprozessor 8086 eingeführt wurde. Die ersten Nachfolger wurden 80186, 80286 usw. genannt,[1] in den 1980er-Jahren war daher von der 80x86-Architektur die Rede.[2][3] Auch die Intel-eigene Bezeichnung iAPX 86 wurde nur in den 1980er Jahren genutzt. Die Prozessorarchitektur und die damit verbundenen Befehlssätze werden vorrangig von den Chip-Herstellern Intel und AMD weiterentwickelt. Mit jeder Prozessorgeneration wird damit auch die x86-Architektur als Gesamtes vorangetrieben. Sie war mit dem Intel 80386 bereits 1985 eine 32-Bit-Architektur, die von Intel später explizit als IA-32 (für Intel Architecture, 32 Bit) bezeichnet wurde. Da sich Ziffernkombinationen nicht markenrechtlich schützen lassen, gingen Intel und die meisten Mitbewerber nach Einführung des 80486 dazu über, Wortmarken zu verwenden. Seit Erscheinen des Intel Pentium 1993 folgen die Produktnamen der Prozessoren daher nicht mehr dem 80x86-Namensschema, das jedoch in der abgekürzten Form, also mit weggelassener „80“ am Anfang, weiterhin für alle späteren x86-Prozessoren als Bezeichnung für die Kompatibilität der Prozessorarchitektur Verwendung findet: So werden beispielsweise die Prozessorreihen der 2000er und 2010er Jahre, von Intel neben dem Pentium auch Prozessoren der Marke Celeron und Xeon, von AMD-Prozessoren der Marke Athlon und Opteron, als Prozessoren der x86-Architektur nach wie vor auch als x86-Prozessoren bezeichnet. x86-Prozessoren sind im Allgemeinen rückwärts-kompatibel, sodass neuere Prozessoren zu den jeweils älteren voll kompatibel bleiben, während Software, die Erweiterungen neuerer Generationen nutzt, auf älteren Prozessoren nicht funktioniert.[4][3] Die x86-Architektur war lange die weltweit verbreitetste Befehlssatzarchitektur, da sie ein wesentliches Plattform-Merkmal der IBM-PC-kompatiblen Computer darstellt.[2] In den 2010er und 2020er konnte jedoch die Arm-Architektur aufholen, sodass einige Bereiche mittlerweile zu Arm übergewechselt sind oder schon immer dort waren (Smartphones, Tablets).[5][6] Mit der Befehlssatzerweiterung AMD64 wurde die x86-Architektur 2003 – damals synonym mit „IA-32“ – zur 64-Bit-Architektur. Intel selbst ist mit Intel 64 2005 nachgezogen, das zu AMD64 kompatibel ist. Moderne 64-Bit-x86-Prozessoren bzw. „x64-Prozessoren“ wurden teils weiterhin als zur IA-32-Architektur zugehörig bezeichnet, was u. a. auch mit der von Intel bereits für die Itanium-Architektur verwendeten Bezeichnung „IA-64“ zu tun hatte: IA-64 ist keine x86-Architektur, und 64-Bit-x86 konnte daher auch nicht mit IA-64 bezeichnet werden. Um x86-32 und x86-64 voneinander unterscheiden zu können, wurde in Anlehnung an „x86“ für den 64-Bit-Modus die Bezeichnungen „x64“ oder „x86-64“ eingeführt. Die retronyme Bezeichnung „x32“ ist in Anlehnung an „x64“ entstanden, aber eher selten anzutreffen, denn es bezeichnet entweder einen 32-Bit-x86-Prozessor(-Modus) oder die 32-Bit-Adressierung auf einem im 64-Bit-Modus laufenden x64-Prozessor.[7] GeschichteDie x86-Architektur wurde 1978 mit Intels erstem Prozessor mit 16-Bit-Architektur, dem Intel 8086, eingeführt, der die älteren 8-Bit-Prozessoren Intel 8080 und 8085 ablösen sollte. Obwohl der 8086 anfangs nicht sonderlich erfolgreich war, stellte IBM 1981 einen Computer vor, der eine abgespeckte Variante des 8086, den 8088, als Hauptprozessor verwendete: der IBM Personal Computer. Durch den enormen Erfolg des „IBM PC“ und seiner zahlreichen Nachbauten, der sogenannten IBM-PC-kompatiblen Computer, wurde die x86-Architektur innerhalb weniger Jahre zu einer der erfolgreichsten Prozessorarchitekturen der Welt und ist es bis heute geblieben. Außer Intel haben auch andere Hersteller über die Jahre x86-kompatible Prozessoren in Lizenz produziert, darunter Cyrix, Centaur (beide heute VIA Technologies), NEC, UMC, Harris, Texas Instruments, IBM, IDT und Transmeta. Der nach Intel größte Hersteller x86-kompatibler Prozessoren war und ist aber das Unternehmen AMD, das neben Intel zu einer treibenden Kraft bei der Weiterentwicklung des x86-Standards geworden ist. Intel entwickelte den 8086/8088 in der Zeit der zu Ende gehenden 8-Bit-Ära. Mit dem 80386 führte Intel dann bereits 1985 den ersten x86-Prozessor mit 32-Bit-Architektur ein. Heute ist die auf dem i386 aufbauende 32-Bit-x86-Architektur unter dem Namen IA-32 bekannt; sie ist sozusagen die Erweiterung der Befehlssätze von 8086 und 80286 auf 32 Bit, schließt deren Befehlssätze aber vollständig mit ein. Die 32-Bit-Ära war der bisher längste und lukrativste Abschnitt der x86-Geschichte, wobei sich IA-32 – maßgeblich unter Intels Federführung – permanent weiterentwickelte. Die 64-Bit-Ära brach für x86 auf Initiative von AMD ab 1999 an: unter der Bezeichnung „x86-64“ entwickelte AMD eine 64-Bit-Befehlssatzerweiterung auf Basis der bestehenden x86-Architektur „IA-32“ – als Gegenmodell zur von Intel und HP gemeinsam 64-Bit-Itanium-Produktlinie, die von Intel mit IA-64 bezeichnet wurde, aber zu x86 inkompatibel war. AMDs x86-64 hingegen war mit der bisherigen x86-Architektur vollständig kompatibel. Bei der Veröffentlichung des AMD Opteron 2003 änderte AMD den Namen der 64-Bit-Erweiterung allerdings in „AMD64“ um, und als Intel 2005 mit einer dazu kompatiblen Erweiterung, schließlich „Intel 64“ genannt, nachzog, erhielt die 64-Bit-x86-Architektur unterschiedliche Bezeichnungen: neben x86-64 (was allerdings auch AMDs Entwicklungsname von AMD64 vor der Veröffentlichung war) wurde von Microsoft und Sun die Verkürzung x64 eingeführt. Außer Intel 64, das spezifisch den 64-Bit-Befehlssatz von Intel-x86-Prozessoren bezeichnet, wird daher sowohl AMD64 als auch x86-64 und x64 als Synonym für die 64-Bit-x86-Architektur genutzt. Spätestens seit Ende der 2000er Jahre ist allerdings davon auszugehen, dass auch unter den Bezeichnungen x86-Prozessor oder -Architektur und IA-32 (bzw. IA32) ein 64-Bit-System gemeint ist.[7] NomenklaturDie x86-Architektur hat sich von einer 16-Bit- zu einer 32-Bit- und schließlich zu einer 64-Bit-Architektur weiterentwickelt. Die Nomenklatur ist historisch gewachsen und die Bezeichnung „x86“ alleine steht daher meist für die zum jeweiligen Zeitpunkt aktuell in Verwendung stehende Variante.
Probleme ergeben sich im historischen Kontext. So kann „x86“ einerseits die gesamte Architektur seit dem 8086 bezeichnen, wurde aber lange Zeit als Synonym für die von Intel in den 1990er eingeführte „Intel Architecture, 32-Bit“ bzw. kurz IA-32 genutzt, weil 32-Bit-x86-Prozessoren damals der Standard waren. Beispielsweise wurde „x86“ auch für den 32-Bit-Modus seit dem i386 und damit zur Abgrenzung von „x64“ genutzt, was sich beispielsweise im Betriebssystem Microsoft Windows (Windows Vista bis Windows 10) wiederfindet, das in der 32-Bit-x86-Version die Bezeichnung „x86-basierter Prozessor“ nutzt, in der 64-Bit-x86-Version „x64-basierter Prozessor“.[8] Für Systeme ab den 2000er Jahren bezeichnet x86 alleine daher üblicherweise die 32-Bit-x86-Architektur ab dem i386. Für historische Zwecke hat sich retronym die Bezeichnung x86-16 für die 16-Bit-x86-Architektur etabliert.[9] Die in Anlehnung an IA-32 entstandene Bezeichnung „IA-16“ (für Intel Architecture, 16-Bit) fand keine weite Verbreitung. Historische Systeme der 1980er bis Anfang der 1990er Jahre, wie beispielsweise die auf PC-kompatiblem DOS laufenden allerersten Versionen von Windows, verstehen unter „x86“ alleine ohnehin meist 16-Bit-x86, können aber teilweise bereits den damals meist noch „i386“ genannten 32-Bit-Modus nutzen, wenn dieser vorhanden ist. In den 1990ern wurde durch das DOS Protected Mode Interface unter DOS und Windows 3.x zunehmend mindestens ein 80386 vorausgesetzt, obwohl große Teile der Software immer noch den 16-Bit-Modus verwendete. Moderne Betriebssysteme der 1990er hingegen waren bereits reine 32-Bit-Systeme, wie beispielsweise OS/2 ab Version 2.0 und Windows NT, boten jedoch Laufzeitumgebungen für bestehende 16-Bit-x86-Software. PC-Unix-Systeme wie 386BSD (später NetBSD, FreeBSD und OpenBSD) und das in den 1990ern entwickelte Linux konnten nur 32-Bit-Programme ausführen und nutzen daher „x86“ und „i386“ als Synonym für IA-32. Für 64-Bit-x86 hat sich sowohl „x64“ als auch „x86-64“ (oder „x86_64“) etabliert. Aber auch die Bezeichnung „AMD64“ (oder „amd64“ in Kleinschreibung) bezieht sich aus Software-Sicht ebenfalls auf 64-Bit-x64 im Allgemeinen (und nicht spezifisch auf die x64-Implementierung von AMD):[7] So läuft „Windows x64“ oder „Linux amd64“ auf x86-Prozessoren von allen Herstellern, die einen kompatiblen 64-Bit-Modus bieten, also neben Intel und AMD auch z. B. VIA. Benennung nach BefehlssatzerweiterungDa sich der Befehlssatz ständig erweiterte, kann man nur von einem minimal erforderlichen Befehlssatz ausgehen, wenn man von einer x86-Befehlssatzarchitektur spricht – oder vom jeweils aktuellen Stand, mit allen möglichen Erweiterungen. In diesem Punkt ist die Bezeichnung „x86“ sehr uneindeutig. Bei der Benennung hat sich daher eine gewisse Konvention herausgebildet, die durch die geschichtliche Entwicklung begründet ist.
Während die Befehlssatzarchitektur x86 die ungenaueste Bezeichnung darstellt, zeichnen die gelisteten genaueren Benennungen jedoch immer noch nicht präzise die vorhandenen (von einer Software benötigten) Maschinenbefehle bzw. den genauen integrierten Befehlssatz im Prozessor aus. Unter Linux hatte sich etwa die Angabe „i686-pae“ für den Pentium‑II-Befehlssatz mit Physical Address Extension durchgesetzt. So gab es beispielsweise von GNU Parted je ein 32-Bit-ISO-Abbild für „i486“ und für „i686-pae“ – hat ein Prozessor kein PAE-Flag (wie z. B. der erste Pentium M), musste man auf die i486-Variante zurückgreifen. Auch unter Microsoft Windows ist nicht klar, ob die 64-Bit-Variante auch tatsächlich auf einem älteren 64-Bit-x86-Prozessor (mit AMD64- oder Intel-64-Erweiterung) läuft, da ab Windows 8.1 zusätzlich zur x64-Befehlssatzerweiterung die Funktionen DesignDie x86-Architektur verwendet einen Complex Instruction Set Computer (CISC) genannten Befehlssatz mit variabler Instruktionslänge. Speicherzugriffe in Wortgröße sind auch auf nicht Wort-ausgerichtete Speicheradressen erlaubt. Wörter werden in der Byte-Reihenfolge little-endian gespeichert. Leichte Portierbarkeit von Intel-8085-Assemblercode war eine treibende Kraft der Architekturentwicklung. Dies bedingte einige nicht optimale und im Nachhinein problematische Designentscheidungen. Heutige x86-Prozessoren sind hybride CISC/RISC-Prozessoren, denn sie übersetzen den x86-Befehlssatz zunächst in Mikro-Instruktionen konstanter Länge des Reduced Instruction Set Computer, auf die moderne mikro-architektonische Optimierungen angewendet werden können. Die Übergabe erfolgt zunächst an sogenannte Reservierungsstationen, das heißt an kleine Puffer, die den verschiedenen Rechenwerken vorgeschaltet sind. Der erste hybride x86-Prozessor war der Intel Pentium Pro. Real ModeDie Intel 8086 und 8088 hatten 14 16-Bit-Register. Vier von ihnen (
Auf jedes Register konnte mittels zwei separater Bytes zugegriffen werden (das hohe Byte in Im Real Mode ist der Speicherzugriff „segmentiert“. Dies geschieht, indem die Segmentadresse um vier Bits nach links geschoben wird und ein Offset addiert wird, so dass eine 20-Bit-Adresse entsteht. Der gesamte Adressraum im Real Mode ist also 220 Byte (1 Megabyte), was 1978 sehr viel war. Es gibt zwei Adressierungs-Modi: near und far (engl. für nah und fern). Im Far Mode werden sowohl das Segment als auch der Offset angegeben. Im Near Mode wird nur der Offset angegeben, und das Segment wird einem Register entnommen. Für Daten ist dies In diesem Schema können unterschiedliche Segment/Offset-Paare auf dieselbe absolute Adresse zeigen. Wenn Zusätzlich hatte der 8086 64 kB von 8bit-I/O-Adressraum (alternativ auch 32 kB mit 16 bit) sowie einen hardwareunterstützten Stack von ebenfalls 64 kB. Nur Wörter (zwei Byte) können auf dem Stack abgelegt werden. Der Stack wächst zu niedrigeren Adressen hin und Protected und Enhanced ModeDer Intel-80286-Prozessor kannte einen weiteren Arbeitsmodus, den „Protected Mode“. Durch Integration einer Memory Management Unit (MMU, „Speicherverwaltungseinheit“) auf dem Chip konnten im Protected Mode bis zu 16 MB Speicher adressiert werden. Ein spezielles MMU-Register zeigt dabei auf eine Segmenttabelle im Hauptspeicher, in der die 24-Bit-Basisadressen der Segmente festgelegt wurden. Die Segmentregister dienten dann lediglich als Index in diese Segment-Tabelle. Zusätzlich konnte jedem Segment einer von vier Privilegienstufen zugeordnet werden. Insgesamt bedeuteten diese Neuerungen eine Verbesserung. Allerdings war Software für den Protected Mode inkompatibel mit dem Real Mode des 8086-Prozessors. Der Intel 80386 brachte den wahrscheinlich größten Sprung für die x86-Architektur. Mit Ausnahme des „Intel i386SX“, der nur 24-Bit-Adressierung unterstützte und einen 16-Bit-Datenbus hatte, waren alle i386-Prozessoren vollständig 32-Bit-fähig – Register, Instruktionen, E/A-Raum und Speicher. Bis zu 4 GB Speicher konnten angesprochen werden. Dazu wurde der Protected Mode zum „32-Bit-Enhanced-Mode“ erweitert. Wie auf dem 80286 wurden auch im Enhanced Mode die Segmentregister als Index in einer Segmenttabelle verwendet, die die Aufteilung des Speichers beschrieb. Allerdings konnten in jedem Segment 32-Bit-Offsets verwendet werden. Dies führte zum sogenannten „Flat Memory Model“, bei dem jedem Prozess nur noch ein 4-GB-Datensegment und ein 4-GB-Codesegment zur Verfügung gestellt wird. Beide Segmente beginnen ab der Adresse Die grundlegende Architektur des i386-Prozessors wurde zur Basis aller weiteren Entwicklungen in der x86-Architektur und retronym IA-32 bezeichnet. Alle späteren 32-Bit-x86-Prozessoren funktionieren nach dem Prinzip des Intel 80386. Der bis dato separate mathematische Koprozessor 80387 wurde ab der nächsten CPU, dem Intel 80486, direkt in den Prozessor integriert (mit Ausnahme des 486SX, welcher keinen Coprozessor besitzt). Mit diesem Coprozessor konnten Gleitkommaberechnungen in Hardware durchgeführt werden. Ohne ihn mussten diese auf Berechnungen mit ganzen Zahlen abgebildet werden (Emulation). Nicht nur werden so recht viele Befehle pro Gleitkommaoperation benötigt, auch treten dabei häufig Schleifen und Verzweigungen auf, sodass Gleitkommaoperationen ohne den Coprozessor vergleichsweise sehr langsam ausgeführt wurden. Register
MMX und 3DNow!1996 führte Intel die Multi-Media-Extension-Technik (MMX) ein. MMX definierte acht neue Single-Instruction-Multiple-Data-Register (SIMD-Register) von 64 bit Breite, die allerdings denselben Speicherplatz wie die Register der Gleitkommaeinheit (floating point unit, FPU) benutzten. Dies verbesserte zwar die Kompatibilität zu bestehenden Betriebssystemen, die beim Umschalten zwischen verschiedenen Anwendungen weiterhin nur die altbekannten FPU-Register sichern mussten. Aber zwischen MMX und FPU musste aufwendig umgeschaltet werden. Dazu kam, dass MMX auf Integer-Operationen beschränkt war und lange Zeit von den Compilern nicht richtig unterstützt wurde. Insbesondere Microsoft tat sich schwer, den hauseigenen Compiler wenigstens mit Unterstützung für MMX-intrinsische Funktionen auszustatten. MMX wurde daher nur relativ selten verwendet, am ehesten noch für 2D-Videobearbeitung, Bildbearbeitung, Videowiedergabe usw. 1997 erweiterte AMD den MMX-Befehlssatz um Operationen für Gleitkommazahlen mit einfacher Genauigkeit und nannte die so entstandene Technik 3DNow!. Dies löste zwar nicht die Compiler-Probleme, aber 3DNow! ließ sich im Unterschied zu MMX für 3D-Spiele verwenden, die auf schnelle Gleitkomma-Operationen angewiesen sind. Spieleentwickler und Hersteller von 3D-Grafikprogrammen verwendeten 3DNow!, um die Anwendungsperformance auf AMDs K6- und Athlon-Prozessoren zu verbessern. Streaming SIMD Extensions
1999 brachte Intel mit dem Pentium-III-Prozessor den Befehlssatz Streaming SIMD Extensions (SSE). Wie AMD fügte Intel hauptsächlich Gleitkomma-SIMD-Befehle hinzu. Des Weiteren schuf man für SSE eine separate Funktionseinheit auf dem Prozessor mit acht neuen 128-Bit-Registern (XMM0 bis XMM7), die sich nicht mehr mit den Gleitkommaregistern überlagerten. Da diese neuen Register aber auch bei einem Kontextwechsel vom Betriebssystem gesichert werden müssen, wurde eine Sperre im Hauptprozessor implementiert, die erst von SSE-fähigen Betriebssystemen freigeschaltet werden muss, um die SSE-Register in Anwendungsprogrammen verfügbar zu machen. AMD-Prozessoren unterstützten anfänglich nur die 64-Bit-Befehle der Erweiterung, welche in der MMX-Funktionseinheit arbeiteten, da die separate Funktionseinheit komplett fehlte. Ein Großteil dieser Befehle arbeitet nur mit Daten vom Typ Integer, deshalb existiert auch die Bezeichnung ISSE, wobei I für Integer steht. Ab dem Athlon-XP-Prozessor wird SSE komplett unterstützt. Die Streaming SIMD Extensions 2 (SSE2), von Intel 2001 mit dem Pentium 4 eingeführt, fügten erstens weitere Ganzzahlbefehle für die SSE-Register hinzu und zweitens 64-Bit-SIMD-Gleitkomma-Befehle. Erstere machten MMX fast obsolet, und letztere erlaubten auch konventionellen Compilern, SIMD-Instruktionen zu verwenden. Daher wählte AMD mit der Einführung der 64-Bit-Erweiterung SSE2 als integralen Bestandteil der AMD64-Architektur aus, sodass alle 64-Bit-x86-Prozessoren diese Erweiterung unterstützen (AMD-Prozessoren ab Athlon 64). Mit der Prescott-Revision des Pentium 4 lieferte Intel ab 2004 die Streaming SIMD Extensions 3 (SSE3) aus, die hauptsächlich Speicher- und Threadmanagement-Instruktionen liefert, um die Leistung von Intels Hyper-Threading-Technik zu steigern. AMD beherrscht seit den Athlon-64-Prozessoren mit den Kernen Venice und San-Diego ebenfalls den Befehlssatz SSE3. Siehe auch: Supplemental Streaming SIMD Extensions 3, Streaming SIMD Extensions 4, SSE4a und Streaming SIMD Extensions 5 64 BitUm das Jahr 2002 erreichte der Speicherausbau moderner x86-Rechner die durch die 32-Bit-Adressengröße bedingte Adressierungsgrenze der x86-Befehlssatzarchitektur von 4 GB. Zwar hatte Intel mit der Physical Address Extension bereits mit dem Pentium Pro eine Möglichkeit eingeführt, mehr als 4 GB Arbeitsspeicher zu adressieren, allerdings war dessen Nutzung programmtechnisch aufwendig und der pro Prozess nutzbare Speicher blieb auch so nach wie vor auf maximal 4 GB beschränkt. Intel wollte ursprünglich den Sprung auf 64 bit mit einer neuen Prozessorarchitektur namens Itanium vollziehen und bezeichnete diese daher als „Intel Architecture 64-Bit“ (IA-64). Die Itanium-Architektur konnte sich allerdings nur als Nischenprodukt im Marktsegment der Server und Workstations etablieren. AMD hingegen erweiterte ab 1999 die bestehende 32-Bit-x86-Prozessorarchitektur „Intel Architecture 32bit“ – IA-32 bzw. 32-Bit-x86 ab dem i386 – auf 64 bit und nannte diese Erweiterung während der Entwicklung „x86-64“, bei der Veröffentlichung 2003 schließlich AMD64. Intel übernahm große Teile dieser Erweiterung unter der Bezeichnung Intel 64 (ab 2005). 64-Bit-x86-Prozessoren beruhen daher auf AMD64, Intel 64 ist dazu weitestgehend kompatibel. Als allgemeine Bezeichnung dafür hat sich x64 durchgesetzt, teilweise auch der ursprüngliche Entwicklungsname x86-64. VirtualisierungObwohl die Virtualisierung eines x86-Prozessors aufgrund der umfassenden Architektur aufwendig ist, gibt es mehrere Produkte, die einen virtuellen x86-Prozessor zur Verfügung stellen, darunter VMware und Hyper-V oder auch Open-Source-Software wie Xen oder VirtualBox. Hardwareseitige Virtualisierung gibt es auch als Erweiterung, sie wird bei Intel „VT-x“ (für Virtualization Technology), bei AMD „AMD-V“ genannt. AVX – Advanced Vector ExtensionsIm Jahr 2008 sollten die SIMD-Erweiterungen nach MMX, SSE 1 bis 4 wieder erweitert werden und Intel schlug die Advanced Vector Extensions (AVX) vor. AVX wurde erstmals 2011 in der Intel-Sandy-Bridge-Mikroarchitektur realisiert. Gegenüber SSE wurde die Wortbreite für Daten und Register auf 256 bit verdoppelt. Es kamen viele neue Befehle hinzu, die als 256-Bit-Erweiterungen der SSE-Befehle verwendet werden können. Mit der nächsten Überarbeitung der Mikroarchitektur, der Intel-Haswell-Mikroarchitektur, wurde AVX wieder um neue Befehle erweitert, fortan AVX-2 genannt, und kann fast alle SSE-Befehle in einer 256-Bit-Erweiterung bieten. Da im High-Performance-Computing mittlerweile die Energieeffizienz immer wichtiger wird und das SIMD-Konzept Fortschritte ermöglicht, wurde für die Intel Xeon Phi genannten Rechenbeschleunigerkarten (ebenfalls 2013) AVX nochmals komplett überarbeitet, die Daten- und Registerbreite auf 512 bit verdoppelt und die Anzahl der Register auf 32 verdoppelt. Diese Erweiterung nennt Intel „AVX-512“. Sie besteht aus mehreren spezifizierten Gruppen von neuen Befehlen, die nicht alle gleich realisiert werden. Die zweite Xeon-Phi-Generation („Knights Corner“) erhielt die „Foundation“-, die dritte Generation („Knights Landing“) 2016 zusätzlich „CD“-, „ER“- und „PF“-Erweiterungen. Für die für 2017 angekündigte Skylake-Xeon-Server-Generation EP/EX wurde AVX-512 ebenfalls angekündigt. Weblinks
Einzelnachweise
|