Zum Forum
Passwort vergessen?
Noch keinen Account?
lexikon
Hauptseite
Zufälliger Artikel
Diskussion
Diskussion : X86-Prozessor
Links
Forum
Portale
Reisen
Versicherung
Inhaltsverzeichnis
Hauptmenü
Home
Editorial
Bildung
E-Learning
Fremdsprachen
Magazin
Wissen
Wörterbücher
Enzyklopädien
Expertendienste
Wissenswertes
Praktische Ratgeber
--------------------------
Biologie
Chemie
Computer
Film/ Theater
Geografie
Geschichte
Jura
Kunst
Literatur
Mathematik
Medizin
Musik
Philosophie
Physik/ Astronomie
Politik
Psychologie
Religionen
Sport
Umwelt
Wirtschaft
Reisen
Lexikon
Versicherung
Suchen
Schnellsuche
Suchmaschinen
Metasuchmaschinen
Webkataloge
News
Treffpunkt
Chat
Forum
Suche
Schnellsuche
Sitemap
Kontakt
Impressum
X86-Prozessor
Stichpunkte
Allgemein
Vorlage:Falscher Titel x86 bezeichnet den Befehlssatz einer von der Firma Intel entwickelten Mikroprozessor-Architektur
Die x86-Architektur ist nach den Prozessoren der 8086/8088 Reihe benannt
mit der sie 1978 eingeführt wurde
Die ersten Nachfolgeprozessoren wurden später mit 80186
80286 etc. benannt
Da sich Ziffernkombinationen nicht markenrechtlich schützen lassen
aber das alte Nummernschema blieb als Name der ganzen Familie erhalten
Wortmarken wie Pentium zu verwenden
gingen Intel und die meisten Mitbewerber nach Einführung des Intel 80486 dazu über
Intel selbst nennt die Architektur heute IA-32 als Abürzung für Intel Architecture
"Verbergen") 1 Geschichte 2 Design 2.1 Real Mode 2.2 Protected und Enhanced Mode 2.3 MMX 2.4 3DNow! 2.5 SSE 2.6 SSE2 2.7 SSE3 2.8 64 Bit 2.9 Virtualisierung 3 Hersteller 4 Weblinks [Bearbeiten]
32-bit. Inhaltsverzeichnis showTocToggle("Anzeigen"
Geschichte
Die x86-Architektur wurde 1978 mit der Intel 8086 CPU eingeführt
die den älteren Prozessor Intel 8008 ablöste
dem Intel 4004 abstammte
der seinerseits von Intels erstem Mikroprozessor
Drei Jahre später wurde die vereinfachte Variante Intel 8088 zur Standard-CPU des IBM-PC
Durch den enormen Erfolg des IBM-kompatiblen PCs in den letzten 20 Jahren wurde die x86-Architektur die am weitesten verbreitetste und kommerziell erfolgreichste CPU-Architektur der Welt
IBM
NEC Corporation
darunter Cyrix (heute VIA Technologies)
IDT und Transmeta
Auch andere Hersteller haben über die Jahre x86-kompatible CPUs produziert
Der nach Intel zweitgrößte Hersteller dieser Prozessoren ist AMD
AMD ist inzwischen neben Intel zur zweiten treibenden Kraft bei der Weiterentwicklung des x86-Standards geworden
Intel entwickelte die Architektur 1978 in der 16 Bit-Ära
Bis 1985 war sie mit Einführung der Intel 80386 und der IA-32-Standards zu einer 32-Bit-Architektur geworden; IA-32 ist der 32-Bit-Teil der x86-Standards
während dem IA-32 ständig durch Intel fortentwickelt wurde
Die 32-Bit-Ära war der bis jetzt längste und lukrativste Geschichtsabschnitt
2003 brach für x86 die 64-Bit-Ära an
sondern von AMD eingeführt
Diesmal wurde die Architekturerweiterung allerdings nicht von Intel
Der x86-Standard für 64 Bit heißt AMD64
Die von Intel in der Itanium-Produktlinie verwendete IA-64-Architektur hat mit IA-32/x86 nichts zu tun und ist eine komplett separate Neuentwicklung
die keine Spuren der x86-Technik enthält. [Bearbeiten]
Design
Die x86-Architektur verwendet einen CISC-Befehlssatz mit variabler Instruktionslänge
Speicherzugriffe in Wortgröße sind auf unalignierte Speicheradressen erlaubt
Wörter werden in Little Endian-Richtung gespeichert
Rückwärtskompatibilität war eine treibende Kraft der Architekturentwicklung
Dies bedingte einige suboptimale und andernfalls nicht zu rechtfertigende Designentscheidungen
auf die moderne mikro-architektonische Techniken angewendet werden können. [Bearbeiten]
Heutige x86-Prozessoren übersetzen den x86-Befehlssatz zunächst in eher RISC-ähnliche Mikro-Instruktionen
Real Mode
Die Intel 8086 und 8088 hatten 14 16-Bit-Register
BX
CX
DX) waren Mehrzweck-Register (zusätzlich hatte jedes noch eine Sonderfunktion; so konnte zum Beispiel nur CX als Zähler mit der loop-Instruktion verwendet werden)
Vier von ihnen (AX
Auf jedes Register konnte als zwei separate Bytes zugegriffen werden (das hohe Byte in BX unter dem Namen BH
das niederwertige Byte als BL)
DS
Zusätzlich gibt es vier Segmentregister (CS
SS
und ES)
Mit ihnen wird eine Speicheradresse gebildet
und BP kann auf einen anderen Platz im Stack oder Speicher zeigen
Von den zwei Zeigerregistern zeigt SP auf das Ende des Stacks
Zwei Index-Register (SI und DI) können in ein Array zeigen
Außerdem gibt es das Flag-Register
overflow
zero usw. enthalten kann
der auf die gegenwärtige Instruktion zeigt
und den Instruction Pointer (IP)
das Flags wie carry
Im Real Mode ist der Speicherzugriff "segmentiert"
indem die Segmentadresse um 4 Bit nach links geschoben wird und ein Offset addiert wird
so dass eine 20-Bit-Adresse entsteht
Dies geschieht
was 1978 sehr viel war
Der gesamte Adressraum im Real Mode ist also 220 Bit (1 Megabyte)
Es gibt zwei Adressierungs-Modi: near und far (englisch 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 DS
für Code CS und für 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 können zwei 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
mehr als 4 Segmente auf einmal zu haben
Außer der Doppelung macht dieses Schema es auch unmöglich
DS und SS wichtig für die korrekte Programmfunktion
Des Weiteren sind CS
und nur ES kann woanders hinzeigen
Das Schema sollte Kompatibilität mit der Intel 8085 bewahren und hat einer ganzen Generation von Programmierern Kopfschmerzen bereitet
und einen hardwareunterstützten Stack von ebenfalls 64K
Zusätzlich hatte die i8086 64K von 8-Bit-I/O-Adressraum (alternativ auch 32K mit 16 Bit)
Nur Wörter (2 Byte) können auf dem Stack abgelegt werden
Der Stack wächst nach unten
Auf seinen "Boden" zeigt SS:SP
Es gibt 256 Interrupts
die sowohl von Hardware als auch Software ausgelöst werden können
Die Interrupts können kaskadieren und benutzen den Stack
um die Rücksprungadresse zu speichern. [Bearbeiten]
Protected und Enhanced Mode
den Protected Mode
kannte allerdings noch einen weiteren Arbeitsmodus
in dem bis zu 16 MB Speicher adressiert werden konnten
Auch die Intel 80286 unterstützte den Real Mode
Dabei wurde in den Segmentregistern lediglich ein Index einer Segment-Tabelle abgelegt
um eine absolute Adresse zu erhalten
Die Segment-Tabelle stellte eine 24-Bit-Basisadresse zur Verfügung
zu der der gewünschte Offset addiert werden konnte
Zusätzlich konnte jedem Segment einer von vier Privilegien-Levels zugeordnet werden ("Ringe" genannt)
Insgesamt bedeuteten diese Neuerungen eine Verbesserung
Allerdings war Software für den Protected Mode inkompatibel mit dem Real Mode des i8086-Prozessors
Die Intel 80386 brachte den wahrscheinlich größten Sprung für die x86-Architektur
Mit Ausnahme des Chips Intel 80386SX
Instruktionen
E/A-Raum und Speicher
waren alle 386er vollständig 32-Bit - Register
der nur 24-Bit-Adressierung unterstützte und einen 16-Bit-Datenbus hatte
Bis zu 4 Gigabyte Speicher konnten angesprochen werden
Dazu wurde der Protected Mode zum 32-Bit-Enhanced Mode erweitert
Wie auf der 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
Zusätzlich unterstützte der Enhanced Mode Paging
durch den virtueller Speicher verwendet werden konnte
einen Mechanismus
Es wurden keine neuen Mehrzweck-Register hinzugefügt
Allerdings wurden bis auf die Segmentregister alle Register auf 32 Bit verbreitert
aus SI wurde ESI usw
Das erweiterte Register AX hieß fortan EAX
Die grundlegende Architektur des 386er-Prozessors (auch IA-32 genannt) wurde zur Basis aller weiteren Entwicklungen in der x86-Architektur
Bis heute funktionieren alle x86-kompatiblen CPUs nach dem Prinzip der i80386
Der separate Mathe-Coprozessor 80387 wurde ab der nächsten CPU Intel 80486 direkt in den Prozessor integriert
Mit dem Mathe-Co konnten Fließkommaberechnungen durchgeführt werden
wie sie zum Beispiel in wissenschaftlichen und Grafikdesign-Anwendungen benötigt werden. [Bearbeiten]
MMX
1996 führte Intel die MMX-Technologie ein (Matrix Math Extensions
besonders vom Marketing aber auch häufig Multi-Media Extensions tituliert)
die allerdings auf den Stack der FPU gemappt waren
MMX definierte 8 neue SIMD-Register von 64 Bit Breite
Zwischen MMX und FPU musste aufwendig umgeschaltet werden
dass MMX auf Integer-Operationen beschränkt war und lange Zeit von den Compilern nicht richtig unterstützt wurde
Dazu kam
Insbesondere Microsoft tat sich schwer
den hauseigenen Compiler wenigstens mit Unterstützung für MMX-Intrinsics auszustatten
MMX wurde daher nur relativ selten verwendet
am ehesten noch für 2D-Videobearbeitung. [Bearbeiten]
3DNow!
1997 erweiterte AMD den MMX-Befehlssatz um Fließkomma-Operationen und nannte die so entstandene Technik 3DNow!
die auf schnelle Fließkomma-Operationen angewiesen sind
Dies löste zwar nicht die Compiler-Probleme
aber 3DNow! ließ sich im Unterschied zu MMX für 3D-Spiele verwenden
Spieleentwickler und Hersteller von 3D-Grafikprogrammen verwendeten 3DNow!
um die Anwendungsperformance auf AMDs K6- und Athlon-Prozessoren zu verbessern. [Bearbeiten]
SSE
1999 brachte Intel mit dem Pentium III-Prozessor den SSE-Befehlssatz
Wie AMD fügte Intel hauptsächlich Fließkomma-SIMD-Befehle hinzu
so dass man nicht mehr die FPU für SIMD zweckentfremden musste. [Bearbeiten]
Desweiteren schuf man für SSE eine separate Funktionseinheit auf dem Prozessor mit 8 neuen 128-Bit-Registern (XMM0 bis XMM7)
SSE2
von Intel 2001 mit dem Pentium 4 eingeführt
fügte erstens weitere Integer-Instruktionen für die SSE-Register hinzu und zweitens 64-Bit-SIMD-Fließkomma-Instruktionen
SSE2
Erstere machten MMX fast obsolet
SIMD-Instruktionen zu verwenden. [Bearbeiten]
und letztere erlaubten auch konventionellen Compilern
SSE3
Mit der Prescott-Revision des Pentium IV lieferte Intel ab 2004 SSE3 aus
um die Leistung von Intels Hyperthreading-Technologie zu steigern. [Bearbeiten]
das hauptsächlich Speicher- und Threadmanagement-Instruktionen liefert
64 Bit
Seit etwa dem Jahr 2002 begann die x86-Architektur
einige ihrer durch die 32-Bit-Wortlänge bedingten Designlimits zu erreichen
aber der virtuelle Speicher pro Task musste generell auf 2 bzw. höchstens 3 GB beschränkt bleiben
mehr als 4 GB Arbeitsspeicher anzusprechen
Insbesondere war es nur mit Tricks möglich
Intel wollte ursprünglich den Sprung auf 64 Bit nur mit einer zu x86 inkompatiblen Architektur vollführen
die man IA-64 nannte und heute hauptsächlich im Server-Markt platziert
die vorhandene x86-Architektur auf 64 Bit zu erweitern
und nannte das Produkt AMD64
Hauptkonkurrent AMD wählte dagegen den Ansatz
den AMD64-Befehlssatz auch in eigene Produkte zu integrieren
Durch den Erfolg der AMD64-Prozessoren sah sich Intel genötigt
Bei Intel firmiert die Technologie unter dem Namen EM64T. [Bearbeiten]
Virtualisierung
da die Architektur nicht den Anforderungen von Popek und Goldberg genügt
Die Virtualisierung eines x86-Prozessors ist schwierig
darunter VMware und Microsoft Virtual PC als auch Open Source Software wie Xen
die einen virtuellen x86-Prozessor zur Verfügung stellen
Trotzdem gibt es mehrere kommerzielle Produkte
dass effizientere Virtualisierung möglich wird. [Bearbeiten]
dass zukünftige x86-Prozessoren so verbessert werden
Sowohl Intel als auch AMD gaben bekannt
Hersteller
darunter: Intel AMD Chips and Technologies Cyrix IBM IDT National Semiconductor NEC NexGen Rise Technologies SGS-Thomson SiS Texas Instruments Transmeta UMC VIA Siehe auch: Liste der Mikroprozessoren von Intel
hergestellt und verkauft
64-Bit
ALU
Liste der x86er-Koprozessoren
32-Bit
x86-kompatible Prozessoren wurden von vielen Firmen entwickelt
PowerPC [Bearbeiten]
Weblinks
INTEL (http://www.intel.com/) AMD (http://www.amd.com/) VIA (http://www.via.com.tw/) Transmeta (http://www.transmeta.com/) Rise Technology (http://www.rise.com/) ca:X86 da:X86 en:X86 es:X86 fr:X86 hu:X86 ja:80x86 nl:X86 instructieset pl:X86 sk:X86 ru:X86
[X] Schliessen
Dieser Artikel basiert auf dem Artikel
X86-Prozessor
aus der freien Enzyklopädie
wikipedia
und steht unter der
GNU Lizenz für freie Dokumentation
. In der wikipedia ist eine
Liste der Autoren
verfügbar.
Japan flag medium.png
Accelerated Graphics Port
Congo democratic flag medium.png
Direct Memory Access
[ Zurück ]
Inhalt Lexikon:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
1
2
3
4
5
6
7
8
9
Chat
|
Lexikon
|
Reisen
|
Versicherung
|
Forum
|
Kontakt