www.wikidata.de-de.nina.az
Die x86 Architektur bezeichnet eine Befehlssatzarchitektur englisch Instruction Set Architecture kurz ISA die von Intel 1978 mit dem Mikroprozessor 8086 eingefuhrt wurde Die ersten Nachfolgeprozessoren wurden mit 80186 80286 usw benannt 1 in den 1980er Jahren war daher von der 80x86 Architektur die Rede 2 3 spater wurde die 80 am Anfang weggelassen Auch die Intel eigene Bezeichnung iAPX bzw iAPX 86 fur 80x86 wurde nur in den 1980er Jahren und nur von Intel genutzt Die x86 Architektur erweiterte sich seither mit jeder Prozessorgeneration und war mit dem 80386 1985 bereits eine 32 Bit Architektur die explizit auch als i386 bezeichnet wurde Der i486 war der letzte Prozessor von Intel der diesem Schema folgte als x86 Prozessor werden jedoch auch die alle spateren Prozessoren der x86 Architektur bezeichnet die Namen verwenden z B Athlon Celeron Opteron oder Xeon Die Prozessorarchitektur und die damit verbundenen Befehlssatze wurden vorrangig von den Chip Herstellern Intel und AMD weiterentwickelt Sie ist im Allgemeinen ruckwarts kompatibel sodass neuere Prozessoren zu den jeweils alteren voll kompatibel bleiben wahrend Software die Erweiterungen neuerer Generationen nutzt auf alteren Prozessoren nicht funktioniert 4 3 Die x86 Architektur gilt als die weltweit verbreitetste Befehlssatzarchitektur da sie in allen IBM PC kompatiblen Computern bzw deren Nachfolgern sog Windows PCs als Plattform Verwendung findet 2 Wahrend der Entwicklung des Itanium benannte Intel die x86 Architektur die damals eine 32 Bit Architektur war retronym in Intel Architecture 32 bit um abgekurzt IA 32 Auch die retronyme Bezeichnung IA 16 fur die 16 Bit Architektur des 8086 80286 ist bekannt fand aber keine breite Verwendung 5 Hingegen wurden die alten Bezeichnungen x86 und i386 fur 32 Bit x86 weiterhin genutzt Die Architektur des unabhangig entwickelten und nicht kompatiblen Itanium bezeichnete Intel IA 64 was auch deshalb zu Verwechslungen fuhren kann weil AMD mit der 2003 erstmals verfugbaren 64 Bit Befehlssatzerweiterung AMD64 die Befehlssatzarchitektur IA 32 ebenfalls zur 64 Bit Architektur gemacht hat Intel selbst ist mit Intel 64 2005 nachgezogen dabei ist Intel 64 zu AMD64 kompatibel Moderne 64 Bit x86 Prozessoren sind somit weiterhin als zur IA 32 Architektur zugehorig zu bezeichnen was seither jedoch uneindeutig ist Um 32 und 64 Bit voneinander unterscheiden zu konnen wurde in Anlehnung an x86 fur den 64 Bit Modus die Bezeichnungen x64 fur x86 mit 64 Bits eingefuhrt 6 Die retronyme Bezeichnung x32 fur x86 mit 32 Bits ist eher selten anzutreffen und obendrein uneindeutig da es sich entweder um einen 32 Bit x86 Prozessor Modus oder um 32 Bit Adressierung auf einem im 64 Bit Modus laufenden 64 Bit Prozessor handeln kann Da sich Ziffernkombinationen nicht markenrechtlich schutzen lassen gingen Intel und die meisten Mitbewerber nach Einfuhrung des 80486 dazu uber Wortmarken zu verwenden Inhaltsverzeichnis 1 Geschichte 2 Nomenklatur 2 1 Benennung nach Befehlssatzerweiterung 3 Design 3 1 Real Mode 3 2 Protected und Enhanced Mode 3 2 1 Register 3 3 MMX und 3DNow 3 4 Streaming SIMD Extensions 3 5 64 Bit 3 6 Virtualisierung 3 7 AVX Advanced Vector Extensions 4 Weblinks 5 EinzelnachweiseGeschichte BearbeitenDie x86 Architektur wurde 1978 mit Intels erster 16 Bit CPU dem 8086 eingefuhrt der die alteren 8 Bit Prozessoren 8080 und 8085 ablosen sollte Obwohl der 8086 anfangs nicht sonderlich erfolgreich war stellte IBM 1981 einen PC vor der eine abgespeckte Variante des 8086 den 8088 als CPU verwendete 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 CPU Architekturen der Welt und ist es bis heute geblieben Ausser Intel haben auch andere Hersteller uber die Jahre x86 kompatible CPUs in Lizenz produziert darunter Cyrix Centaur beide heute VIA Technologies NEC UMC Harris TI IBM IDT und Transmeta Der nach Intel grosste Hersteller x86 kompatibler Prozessoren war und ist aber das Unternehmen AMD das neben Intel heute zu einer treibenden Kraft bei der Weiterentwicklung des x86 Standards geworden ist Intel entwickelte den 8086 1978 in der Zeit der zu Ende gehenden 8 Bit Ara Mit dem 80386 fuhrte Intel dann bereits 1985 die erste x86 CPU mit einer 32 Bit Architektur ein Heute ist diese Architektur unter dem Namen IA 32 bekannt als 32 Bit Architektur auch unter der Bezeichnung i386 sie ist sozusagen die Erweiterung der Befehlssatze von 8086 und 80286 auf 32 Bit schliesst deren Befehlssatze aber vollstandig mit ein Die 32 Bit Ara war der bisher langste und lukrativste Abschnitt der x86 Geschichte wobei sich IA 32 massgeblich unter Intels Federfuhrung permanent weiterentwickelte Die 64 Bit Ara brach fur x86 ab 1999 an diesmal aber auf Initiative von AMD Der 64 bittige x86 Standard erhielt die Bezeichnung x64 oder x86 64 wurde von AMD 2003 als AMD64 eingefuhrt und unter dem Namen Intel 64 2005 auch von Intel ubernommen Die von Intel und HP in der Itanium Produktlinie verwendete IA 64 Architektur hat mit IA 32 inklusive x64 nichts zu tun Sie ist eine Neuentwicklung die ausser einer x86 Emulation nur in der altesten Itanium Baureihe keine Spuren der x86 Technik enthalt Dagegen ist IA 32 mit der 64 Bit Erweiterung x64 weiterhin vollstandig abwartskompatibel zu 32 und 16 Bit x86 Nomenklatur BearbeitenDie x86 Architektur hat sich von einer 16 Bit zu einer 32 Bit und schliesslich zu einer 64 Bit Architektur weiterentwickelt Die Nomenklatur ist historisch gewachsen und die Bezeichnung x86 alleine steht daher meist fur die zum jeweiligen Zeitpunkt aktuell in Verwendung stehende Variante Bezeichnungen Architekturx86 x86 16 16 Bit x86 Architektur des 8086IA 32 x86 32 i386 i686 32 Bit x86 Architektur des 80386x64 x86 64 amd64 64 Bit x86 Architektur des OpteronProbleme ergeben sich im historischen Kontext So kann x86 etwa auch die gesamte Architektur seit dem 8086 bezeichnen aber nicht immer denn es wurde auch zur Unterscheidung der 64 Bit Erweiterung x64 fur die 32 Bit Erweiterung seit dem i386 genutzt Dies findet sich beispielsweise im Betriebssystem Windows Windows Vista bis Windows 10 das in der 32 Bit x86 Version die Bezeichnung x86 basierter Prozessor nutzt in der 64 Bit x86 Version x64 basierter Prozessor 7 Die allerersten Versionen von Windows waren DOS basierte grafische Aufsatze und damit ebenfalls wie PC kompatibles DOS 16 Bit Versionen die ab Windows 386 2 0x einige der Vorzuge von 80386 Prozessoren nutzen konnten und in spateren Versionen auch voraussetzten Fur Systeme ab den 2000er Jahren bezeichnet x86 alleine daher ublicherweise die 32 Bit x86 Architektur ab dem i386 Fur historische Zwecke hat sich retronym die Bezeichnung x86 16 fur die 16 Bit x86 Architektur etabliert 8 Historische Systeme z B von Anfang der 1990er Jahre verstehen unter x86 alleine meist 16 Bit x86 konnen aber teilweise auch den 32 Bit Modus nutzen wenn dieser vorhanden ist z B DPMI unter DOS Windows 3 x Siehe auch IA 32 Nomenklatur und x64 Bezeichnungen Benennung nach Befehlssatzerweiterung Bearbeiten Da sich der Befehlssatz standig erweiterte kann man nur von einem minimal erforderlichen Befehlssatz ausgehen wenn man von einer x86 Befehlssatzarchitektur spricht oder vom jeweils aktuellen Stand mit allen moglichen 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 begrundet ist Jahr erste Benennung Alternative Benennungen Befehlssatz Betriebsmodi1972 IA 8 Intel Architecture 8 Bit inoffizielle retronyme Bezeichnung des 8 Bit 8080 dem Vorgangermodell des 8086 Diese Befehlssatzarchitektur istnichtx86 kompatibel 1978 8086 80x86 x86 Prozessoren und Befehlssatzarchitekturen die mit dem Intel 8086 und 8088 kompatibel sind Real Mode1982 80286 i286 Prozessoren und Befehlssatzarchitekturen die mit dem 80286 kompatibel sind zusatzlich 16 Bit Protected ModeIA 16 x86 x86 16 Intel Architecture 16 Bit wenig verwendete retronyme Bezeichnung von 16 Bit x86 durch Intel also dem Befehlssatz des 8086 Real Mode und des 80286 16 Bit Protected Mode Die Bezeichnung x86 beinhaltet in jedem Fall auch den 16 Bit Prozessor Modus Real Mode und ist gebrauchlicher als IA 16 zur eindeutigen Unterscheidung findet sich retronym teils x86 16 1985 i386 IA 32 x86 32 32 Bit Befehlssatzerweiterung und Adressierung die mit dem 80386 eingefuhrt wurde zusatzlich 32 Bit Protected Mode Virtual 8086 Mode1989 i486 Prozessoren und Befehlssatzarchitekturen die mit dem 80486 inklusive des mathematischen Koprozessors i486DX kompatibel sind x87 8087 80x87 Die Gleitkommaeinheit FPU als separater mathematischer Koprozessor fur den 8086 8088 8087 den 80286 80287 und den i386 80387 bzw i387 Ab dem i486DX ist die Gleitkommaeinheit Teil des Prozessors mit Ausnahme des i486SX 80487 bzw i487 die letzte separate FPU 1993 i586 Prozessoren und Befehlssatzarchitekturen die mit dem Pentium kompatibel sind wie i386 und i486 neue optionale SIMD Funktionen1995 i686 P6 Prozessoren und Befehlssatzarchitekturen die mit dem Pentium Pro 1995 oder Pentium II 1997 kompatibel sind Der Pentium II unterstutzt bereits die MMX Erweiterung weshalb i686 oft zusatzlich die Vektor beschleunigungs befehle nutzt wenn diese vorhanden sind IA 32 x32 x86 32 Intel Architecture 32 Bit retronyme Bezeichnung von 32 Bit x86 also dem Befehlssatz des 80386 32 Bit Protected Mode x32 ist eine retronyme Bezeichnung fur 32 Bit x86 abgeleitet von x64 fur 64 Bit x86 ist jedoch nicht weit verbreitet und ausserdem uneindeutig da es auch eine 32 Bit Adressierung innerhalb des x64 Modus gibt wie das x32 ABI unter Linux x86 32 wird manchmal zur Bezeichnung eines 32 Bit Prozessors verwendet in Anlehnung an x86 64 fur 64 Bit x86 Prozessoren x64 die ebenfalls zu IA 32 zahlen 2003 amd64 x86 64 Prozessoren und Befehlssatzarchitekturen die mit dem 64 Bit Befehlssatz AMD64 des Opteron und Athlon 64 kompatibel sind Diese beinhalten zumindest die Befehlssatzerweiterungen MMX SSE und SSE2 sowie x87 und das NX Bit Im 32 Bit Modus des Long Mode fehlt der Virtual 8086 Mode Legacy Mode wie i386 Long Mode 64 Bit Mode und 32 Bit Compatibility Mode SIMD Erweiterungenx64 x86 64 amd64 x64 wurde von Microsoft und Sun zur Unterscheidung von reinem 32 Bit x86 zu 64 Bit x86 also IA 32 mit AMD64 oder Intel 64 eingefuhrt Die Abkurzung x32 steht auch fur die 32 Bit Adressierung innerhalb des 64 Bit Long Mode und ist dabei Teil von x64 64 Bit x86 Wahrend die Befehlssatzarchitektur x86 die ungenaueste Bezeichnung darstellt zeichnen die gelisteten genaueren Benennungen jedoch immer noch nicht prazise die vorhandenen von einer Software benotigten Maschinenbefehle bzw den genauen integrierten Befehlssatz im Prozessor aus Unter Linux hatte sich etwa die Angabe i686 pae fur den Pentium II Befehlssatz mit PAE durchgesetzt So gab es beispielsweise von GParted je ein 32 Bit ISO Abbild fur i486 und fur i686 pae hat ein Prozessor kein PAE Flag wie z B der erste Pentium M musste man auf die i486 Variante zuruckgreifen Auch unter Windows ist nicht klar ob die 64 Bit Variante auch tatsachlich auf einem alteren 64 Bit x86 Prozessor mit AMD64 oder Intel 64 Erweiterung lauft da ab Windows 8 1 zusatzlich zur x64 Befehlssatzerweiterung die Funktionen a href Compare and swap html title Compare and swap CMPXCHG16b a a href 3DNow html title 3DNow PrefetchW a und LAHF SAHF vorhanden sein mussen 9 Design BearbeitenDie x86 Architektur verwendet einen CISC Befehlssatz mit variabler Instruktionslange Speicherzugriffe in Wortgrosse sind auch auf nicht Wort ausgerichtete Speicheradressen erlaubt Worter werden in Little Endian Richtung 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 ubersetzen den x86 Befehlssatz zunachst in RISC Mikro Instruktionen konstanter Lange auf die moderne mikro architektonische Optimierungen angewendet werden konnen Die Ubergabe erfolgt zunachst an sogenannte Reservierungsstationen das heisst an kleine Puffer die den verschiedenen Rechenwerken vorgeschaltet sind Der erste hybride x86 Prozessor war der Pentium Pro Real Mode Bearbeiten Die Intel 8086 und 8088 hatten 14 16 Bit Register Vier von ihnen AX BX CX DX waren Mehrzweck Register Zusatzlich hatte jedes noch eine Sonderfunktion AX engl accumulator register diente als bevorzugtes Ziel fur Rechenoperationen BX engl base register diente zur Adressierung der Anfangsadresse einer Datenstruktur CX engl count register diente als Zahler fur Schleifen loop Instruktion und Verschiebeoperationen DX engl data register diente als Datenregister fur den zweiten Operanden Auf jedes Register konnte mittels zwei separater Bytes zugegriffen werden das hohe Byte in BX unter dem Namen BH das niederwertige Byte als BL Von den zwei Zeigerregistern zeigt SP StackPointer auf das oberste Element des Stacks und BP BasePointer kann auf einen anderen Platz im Stack oder Speicher zeigen haufig wird BP als Zeiger auf einen Funktionsrahmen verwendet Die beiden Index Register SI SourceIndex und DI DestinationIndex konnen fur Blockoperationen oder zusammen mit SP oder BP als Index in einem Array benutzt werden Zusatzlich gibt es die vier Segmentregister CS Codesegment DS DataSegment SS StackSegment und ES ExtraSegment mit denen jeweils die Basisadresse fur ein 64 kB grosses Speichersegment festgelegt wird Ausserdem gibt es das Flag Register das Flags wie carry overflow zero usw enthalten kann und den Instruction Pointer IP der auf die gegenwartige Instruktion zeigt Im Real Mode ist der Speicherzugriff segmentiert Dies geschieht indem die Segmentadresse um 4 Bit 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 fur 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 Fur Daten ist dies DS fur Code CS und fur den Stack SS Wenn DS zum Beispiel A000h und SI 5677h ist zeigt DS SI auf die absolute Adresse DS 16 SI A5677h In diesem Schema konnen unterschiedliche Segment Offset Paare auf dieselbe absolute Adresse zeigen Wenn DS A111h und SI 4567h ist zeigt DS SI ebenfalls auf die obige Adresse A5677h Das Schema sollte die Portierbarkeit von Intel 8085 Code erleichtern doch erschwerte es letztlich die Arbeit der Programmierer Zusatzlich hatte der i8086 64 kB von 8 Bit I O Adressraum alternativ auch 32 kB mit 16 Bit sowie einen hardwareunterstutzten Stack von ebenfalls 64 kB Nur Worter 2 Byte konnen auf dem Stack abgelegt werden Der Stack wachst zu niedrigeren Adressen hin und SS SP zeigt auf das zuletzt auf den Stack gelegte Wort die niedrigste Adresse Es gibt 256 Interrupts die sowohl von Hardware als auch Software ausgelost werden konnen Die Interrupts konnen kaskadieren und benutzen den Stack um die Rucksprungadresse zu speichern Protected und Enhanced Mode Bearbeiten Hauptartikel Protected Mode Der Intel 80286 Prozessor kannte einen weiteren Arbeitsmodus den Protected Mode Durch Integration einer MMU engl Memory Management Unit fur 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 Zusatzlich konnte jedem Segment einer von vier Privilegien Levels zugeordnet werden Ringe genannt Insgesamt bedeuteten diese Neuerungen eine Verbesserung Allerdings war Software fur den Protected Mode inkompatibel mit dem Real Mode des 8086 Prozessors Der Intel 80386 brachte den wahrscheinlich grossten Sprung fur die x86 Architektur Mit Ausnahme des Intel i386SX der nur 24 Bit Adressierung unterstutzte und einen 16 Bit Datenbus hatte waren alle i386 Prozessoren vollstandig 32 Bit fahig 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 fuhrte zum sogenannten Flat Memory Model bei dem jedem Prozess nur noch ein 4 GB Datensegment und ein 4 GB Codesegment zur Verfugung gestellt wird Beide Segmente beginnen ab der Adresse 0 und sind 4 GB gross Die eigentliche Speicherverwaltung wird dann nur noch durch das ebenfalls mit dem 80386er eingefuhrte Paging durchgefuhrt einem Mechanismus der den gesamten Speicher in gleich grosse Teile engl Pages also Speicherseiten einteilt und pro Prozess eine beliebige Abbildung zwischen logischen und physischen Adressen ermoglicht was die Realisierung von virtuellem Speicher stark vereinfacht hat Es wurden keine neuen Mehrzweck Register hinzugefugt Allerdings wurden bis auf die Segmentregister alle Register auf 32 Bit verbreitert Das erweiterte Register AX hiess fortan EAX aus SI wurde ESI usw Zwei neue Segmentregister namens FS und GS kamen noch hinzu Die grundlegende Architektur des i386 Prozessors wurde zur Basis aller weiteren Entwicklungen in der x86 Architektur und retronym IA 32 bezeichnet Alle spateren 32 Bit x86 Prozessoren funktionieren nach dem Prinzip des Intel 80386 Der bis dato separate mathematische Koprozessor 80387 wurde ab der nachsten CPU dem Intel 80486 direkt in den Prozessor integriert mit Ausnahme des 486SX welcher keinen Coprozessor besitzt Mit diesem Coprozessor konnten Gleitkommaberechnungen in Hardware durchgefuhrt werden Ohne ihn mussten diese auf Berechnungen mit ganzen Zahlen abgebildet werden Emulation Nicht nur werden so recht viele Befehle pro Gleitkommaoperation benotigt auch treten dabei haufig Schleifen und Verzweigungen auf sodass Gleitkommaoperationen ohne den Coprozessor vergleichsweise sehr langsam ausgefuhrt wurden Register Bearbeiten AX EAX RAX Akkumulator BX EBX RBX Basis CX ECX RCX Zahler DX EDX RDX Daten Allzweck SI ESI RSI Quellindex Zeichenketten DI EDI RDI Zielindex Zeichenketten SP ESP RSP Stapelzeiger BP EBP RBP Stapelsegment Anfangsadresse IP EIP RIP BefehlszeigerMMX und 3DNow Bearbeiten Hauptartikel Multi Media Extension und 3DNow 1996 fuhrte Intel die MMX Technik ein englisch Matrix Math Extensions besonders vom Marketing aber auch haufig Multi Media Extensions tituliert MMX definierte 8 neue SIMD Register von 64 Bit Breite die allerdings denselben Speicherplatz wie die Register der Floating Point Unit FPU benutzten Dies verbesserte zwar die Kompatibilitat 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 beschrankt war und lange Zeit von den Compilern nicht richtig unterstutzt wurde Insbesondere Microsoft tat sich schwer den hauseigenen Compiler wenigstens mit Unterstutzung fur MMX Intrinsics auszustatten MMX wurde daher nur relativ selten verwendet am ehesten noch fur 2D Videobearbeitung Bildbearbeitung Videowiedergabe usw 1997 erweiterte AMD den MMX Befehlssatz um Gleitkomma Operationen fur Gleitkommazahlen einfacher Genauigkeit und nannte die so entstandene Technik 3DNow Dies loste zwar nicht die Compiler Probleme aber 3DNow liess sich im Unterschied zu MMX fur 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 Bearbeiten Zuwachs an Instruktionen uberschlagen Befehlssatz InstruktionenAnzahl Summex86 Basis 80 80MMX 57 140SSE 70 200SSE2 144 350SSE3 13 360SSSE3 16 380SSE4 54 430SSE5 47 480 Hauptartikel Streaming SIMD Extensions 1999 brachte Intel mit dem Pentium III Prozessor den SSE Befehlssatz Wie AMD fugte Intel hauptsachlich Gleitkomma SIMD Befehle hinzu Des Weiteren schuf man fur SSE eine separate Funktionseinheit auf dem Prozessor mit 8 neuen 128 Bit Registern XMM0 bis XMM7 die sich nicht mehr mit den Gleitkommaregistern uberlagerten Da diese neuen Register aber auch bei einem Kontextwechsel vom Betriebssystem gesichert werden mussen wurde eine Sperre in der CPU implementiert die erst von SSE fahigen Betriebssystemen freigeschaltet werden muss um die SSE Register in Anwendungsprogrammen verfugbar zu machen AMD Prozessoren unterstutzten anfanglich nur die 64 Bit Befehle der Erweiterung welche in der MMX Funktionseinheit arbeiten da die separate Funktionseinheit komplett fehlte Ein Grossteil dieser Befehle arbeitet nur mit Daten vom Typ Integer deshalb existiert auch die Bezeichnung ISSE wobei I fur Integer steht Ab dem Athlon XP Prozessor wird SSE komplett unterstutzt SSE2 von Intel 2001 mit dem Pentium 4 eingefuhrt fugte erstens weitere Ganzzahlbefehle fur 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 wahlte AMD mit der Einfuhrung der 64 Bit Erweiterung SSE2 als integralen Bestandteil der AMD64 Architektur aus sodass alle 64 Bit x86 Prozessoren diese Erweiterung unterstutzen AMD Prozessoren ab Athlon64 Mit der Prescott Revision des Pentium 4 lieferte Intel ab 2004 SSE3 aus das hauptsachlich 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 SSSE3 SSE4 SSE4a und SSE5 64 Bit Bearbeiten Hauptartikel x64 Um das Jahr 2002 erreichte der Speicherausbau moderner x86 Rechner die durch die 32 Bit Adressengrosse bedingte Adressierungsgrenze der x86 Befehlssatzarchitektur von 4 GB Zwar hatte Intel mit PAE bereits mit dem Pentium Pro eine Moglichkeit eingefuhrt 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 beschrankt Intel wollte ursprunglich 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 32 Bit IA 32 bzw 32 Bit x86 ab dem i386 auf 64 Bit und nannte diese Erweiterung wahrend der Entwicklung x86 64 bei der Veroffentlichung 2003 schliesslich AMD64 Intel ubernahm grosse 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 dafur hat sich x64 durchgesetzt teilweise auch der ursprungliche Entwicklungsname x86 64 Virtualisierung Bearbeiten Hauptartikel x86 Virtualisierung Obwohl die Virtualisierung eines x86 Prozessors aufgrund der umfassenden Architektur aufwendig ist gibt es mehrere Produkte die einen virtuellen x86 Prozessor zur Verfugung 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 Intel VT fur Virtualization Technology bei AMD AMD Virtualization genannt AVX Advanced Vector Extensions Bearbeiten Hauptartikel Advanced Vector Extensions Im Jahr 2008 sollten die SIMD Erweiterungen nach MMX SSE 1 4 wieder erweitert werden und Intel schlug AVX vor AVX wurde erstmals 2011 in der SandyBridge Mikroarchitektur realisiert Gegenuber SSE wurde die Wortbreite fur Daten und Register auf 256 Bit verdoppelt Es kamen viele neue Befehle hinzu die als 256 Bit Erweiterungen der SSE Befehle verwendet werden konnen Mit der nachsten Uberarbeitung der Mikroarchitektur der 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 ermoglicht wurde fur die Intel Xeon Phi genannten Rechenbeschleunigerkarten ebenfalls 2013 AVX nochmals komplett uberarbeitet 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 zusatzlich CD ER und PF Erweiterungen Fur die fur 2017 angekundigte Skylake Xeon Server Generation EP EX wurde AVX 512 ebenfalls angekundigt Weblinks Bearbeitensandpile org Umfangreiches Archiv fur x86 bezogene Dokumentation Assembler x86 Befehlslisten OpCode und Beschreibungen i8086 de 8086 88 Assembler BefehlsreferenzEinzelnachweise Bearbeiten Matthew Justice How Computers Really Work A Hands On Guide to the Inner Workings of the Machine No Starch Press 2021 ISBN 978 1 71850 066 2 Ch 7 Computer Hardware S 124 englisch eingeschrankte Vorschau in der Google Buchsuche The name comes from Intel Corporation s naming convention for its processors each ending in 86 beginning with the 8086 released in 1978 and continuing with the 80186 80286 80386 and 80486 After the 80486 or more simply the 486 Intel began branding its CPUs with names such as Pentium or Celeron these processors are still x86 CPUs despite the name change a b Hermann Hinsch Elektronik Ein Werkzeug fur Naturwissenschaftler Springer Verlag 1996 ISBN 978 3 540 61360 2 13 5 Die Intel Mikroprozessoren 80X86 S 270 eingeschrankte Vorschau in der Google Buchsuche Den weltweit grossten Einsatz haben die Prozessoren der Intel 80X86 Familie da sie die CPU in den IBM kompatiblen Personal Computern PCs bilden a b Bright Siaw Afriyie Introduction to Computer Fundamentals 2 Auflage Trafford Publishing 2006 ISBN 1 4120 5089 8 3 Computer CPU S 83 englisch eingeschrankte Vorschau in der Google Buchsuche Modern CPUs are downwardly compatible with earlier CPUs of the same series which means that they can run programs designed for earlier CPUs For example Pentium Pro can run programs written for all microprocessors from 80x86 series Matthew Justice How Computers Really Work A Hands On Guide to the Inner Workings of the Machine No Starch Press 2021 ISBN 978 1 71850 066 2 Ch 7 Computer Hardware S 124 englisch eingeschrankte Vorschau in der Google Buchsuche The term x86 refers to a set of related architectures Over time new instructions have been added to the x86 architecture but each generation has tried to retain backward compatibility This generally means that software developed for an older x86 CPU runs on a newer x86 CPU but software built for a newer x86 CPU that takes advantage of new x86 instructions won t be able to run on older x86 CPUs that don t understand the new instructions Rask Ingemann Lambertsen Re New back end ia16 16 bit Intel x86 In gcc patches gcc gnu org mailing list 1 August 2007 abgerufen am 20 November 2016 englisch It is also clear from the search results that outside of Intel IA16 or IA 16 means the 16 bit x86 family members i8086 i80286 and IA32 or IA 32 means x86 family members starting with the i80386 Christof Windeck 64 Bit Namen In Heise online 28 April 2008 Abgerufen am 19 November 2016 Zitat In Bezug auf x86 Prozessoren mit 64 Bit Erweiterung meinen x86 64 AMD64 EM64T Intel 64 und x64 praktisch dasselbe Tim Aschermann Unterschied zwischen x64 und x86 In Chip 10 Januar 2017 abgerufen am 14 Mai 2021 Ob Sie ein x64 oder x86 Prozessor verbaut haben konnen Sie in der Systemsteuerung unter dem Menupunkt System und Sicherheit und anschliessend unter dem Punkt System herausfinden Questions tagged x86 16 Online Community In Stack Overflow Abgerufen am 14 Mai 2021 englisch For programming and or microarchitecture questions about the 16 bit x86 Intel CPUs including the 8088 8086 and later chips running in 16 bit mode Windows 8 Systemanforderungen Microsoft abgerufen am 20 November 2016 VBefehlssatzerweiterungen der x86 Architektur 16 Bit 32 Bit IA 32 64 Bit x64 Betriebsmodi Real Mode Protected Mode Virtual 8086 Mode System Management Mode Long Mode Compatibibility ModeBefehlssatzerweiterungen x87 PAE NX AMD64 Intel 64 x64 HTT VT x AMD V VIA VT 3DNow MMX SSE SSE2 SSE3 SSSE3 SSE4 SSE4a SSE5 F16C AVX CLMUL AES FMA TSX BMI MPX SGXAMD Geschichte AMDs Liste der Mikroprozessoren von AMD Ordering Part Numbers OPN Mikroarchitekturen Am29000 Am286 Am386 Am486 5x86 K5 K6 K6 2 K6 III K7 K8 K8L K9 K10 Bobcat Bulldozer Jaguar Steamroller Puma Zen Zen Zen 2 Zen 3 Zen 3 Zen 4 nbsp Technologien AMD64 AMD V HSA Mantle live Quad FX QuantiSpeed Turbo CoreRyzen Server Epyc 7001 Naples Epyc 7002 Rome Epyc 7003 Milan Epyc 9004 Genoa Bergamo Siena Desktop Ryzen 1000 Summit Ridge 2000 Pinnacle Ridge Ryzen 3000 Matisse Ryzen 5000 Vermeer Ryzen 7000 Raphael Workstation HEDT Threadripper 1000 Whitehaven 2000 Colfax Threadripper 3000 Castle Peak Threadripper 5000 Chagall Mobil Ryzen 2000 Raven Ridge 3000 Picasso Ryzen 4000 Renoir Ryzen 5000 Lucienne Ryzen 5000 Cezanne Ryzen 6000 Rembrandt Ryzen 7040 Phoenix Ryzen 7045 Dragon Range Embedded Ryzen V1000 Snowy Owl V1000B Great Horned Owl Ryzen Embedded V2000 R2000 Ryzen Embedded V3000 Ryzen Embedded 5000Fusion APUs Desktopauch in Notebooks Llano K10 Trinity Richland Piledriver Kaveri Steamroller Carrizo Bristol Ridge Excavator MobilSubnotes Tablets Ontario Zacate Bobcat Kabini Temash Jaguar Beema Mullins Puma Embedded Ontario G SerieOpteron Server Opteron K8 Opteron K9 Opteron K10 Opteron Bulldozer Opteron Piledriver Phenom Desktop Phenom Phenom IIMobil Phenom IIAthlon Desktop Athlon K7 Athlon XP Athlon 64 FX Athlon 64 X2 Athlon X2 Athlon IIMobil Athlon XP M Mobile Athlon 64 Athlon 64 X2 Athlon X2 Athlon IIServer Athlon MPTurion Mobil Turion 64 Turion 64 X2 Turion X2 Turion IISempron Desktop Sempron K7 Sempron K8 Mobil Mobile SempronDuron Desktop DuronMobil Mobile DuronGeode Embedded GX LX NX NX 2001Alchemy Embedded AlchemyChipsatze 690 Serie 700 Serie 800 Serie 900 Serie AM4 Chipsatze STRX4 ChipsatzeAMD FX Liste der AMD K10 Prozessoren Desktop nbsp Intel ProzessorenListe aller Prozessoren ab 1970 alle Modellnummern von 2004 bis 2009 Vor x86 Prozessoren Desktop 4004 4040 8008 8080 8085iAPX 86 bis zur 4 Generation Desktop 8086 8088 80186 80188 80286 80386 i386 80486 i486 Overdrive VersionenPentium Serie Desktop Pentium MMX Pentium II Pentium III Pentium 4 Pentium 4 XE Pentium D Pentium XE Pentium Dual Core Overdrive VersionenMobil Mobile Pentium 4 Pentium M Pentium Dual CoreServer Pentium ProCeleron Serie Desktop Celeron P6 Celeron NetBurst Celeron D Celeron Core Celeron Dual CoreMobil Mobile Celeron Celeron MCore Serie Desktop Core Core Solo Core Duo Core 2 Core i Core MXeon Serie ii Server Xeon P6 Xeon NetBurst Xeon Core Xeon Nehalem Xeon Sandy Bridge Xeon Ivy Bridge Xeon Haswell Xeon Broadwell Xeon Skylake Xeon Kaby Lake Xeon Coffee Lake Xeon Cascade Lake Xeon Ice Lake Xeon Sapphire Rapids Atom Serie Desktop Atomx86 kompatible SoCs Desktop Quark EdisonNicht x86 Prozessoren Desktop iAPX 432 i860 i960 Itanium Itanium 2 XScaleWeitere Listen Celeron Pentium Core 2 Core i Abgerufen von https de wikipedia org w index php title X86 Architektur amp oldid 235784035