x86 gegen x64
Der wichtigste Unterschied zwischen x86 und x64 ist, dass ersteres die 32-Bit-Architektur und letzteres die 64-Bit-Befehlssatzarchitektur ist. Eine Befehlssatzarchitektur (ISA) ist ein sehr wichtiger Begriff, der für jede CPU gilt. Befehle, Speicheradressierung, Register und viele andere architektonische Abschnitte einer CPU werden von der ISA spezifiziert. x86 ist ein weltberühmter ISA, der 1978 von Intel mit dem 8086-Prozessor eingeführt wurde. Dann folgten verschiedene Erweiterungen und im Jahr 2000 erstellte AMD unter dem Namen AMD64 die Spezifikation, um den x86-Befehlssatz auf 64 Bit zu erweitern. Später haben auch andere Unternehmen wie Intel diese Spezifikation implementiert, und dieser AMD64 ist derjenige, der durch den Namen x64 identifiziert wird.
Was ist x86?
x86 ist eine Befehlssatzarchitektur, die von Intel mit dem berühmten 8086-Prozessor eingeführt wurde. 1978 führte Intel den 8086-Prozessor ein, der ein 16-Bit-Prozessor war. Später führten sie verschiedene Prozessoren wie 80186, 80286, 80386 und 80486 ein, und alle waren abwärtskompatibel mit dem ursprünglichen Befehlssatz, der im 8086-Prozessor verwendet wurde. Da alle diese Prozessoren mit der Nummer 86 enden, wurde die Befehlssatzarchitektur mit dem Namen x86 identifiziert. Mit der Einführung von 80386 wurde der x86-Befehl auf ein 32-Bit-System erweitert. Hier bedeutet 32 Bit, dass alle Register, der Speicherbus und der Datenbus 32 Bit groß sind. Dann kamen Pentium-Prozessoren als Pentium I, Pentium II, Pentium III, Pentium IV und alle folgten ebenfalls einer 32-Bit-Architektur. Aber verschiedene andere Erweiterungen sind der x86-Architektur passiert, wie das Hinzufügen von Anweisungen wie MMX, SSE und SSE2. Abgesehen davon wurden auch viele andere Verbesserungen vorgenommen. Dann wurde der x86-Befehlssatz auf einen 64-Bit-Befehlssatz erweitert und von diesem Punkt an als x64 bezeichnet, worauf wir im nächsten Abschnitt eingehen werden. Wie auch immer, im Allgemeinen bezieht sich x86 auf die 32-Bit-Architektur, die sich aus einer 16-Bit-Architektur entwickelt hat, die mit dem 8086-Prozessor aufkam.
8086 Prozessor
Was ist x64?
Ein 32-Bit-System kann nur 232 unterschiedliche Werte darstellen und daher ist die Speicheradressierung auf diese Anzahl von Adressen beschränkt. 232 Bytes entsprechen 4 GB und daher hatte x86 eine maximal adressierbare Speichergrenze von 4 GB. Um dies zu überwinden, wurden weitere Erweiterungen an der x86-Architektur vorgenommen. AMD führte um das Jahr 2000 herum eine solche Spezifikation ein, die die x86-Architektur auf 64 Bit erweiterte. Dieser wurde unter dem Namen AMD64 eingeführt. x64 ist ein anderer Name für diese AMD64-Architektur. Diese AMD64- oder x64-Architektur ist auch unter dem Namen x86_64 bekannt. Mit der 64-Bit-Architektur wurden alle Register 64-Bit und der Speicherbus und der Datenbus wurden ebenfalls 64-Bit. Jetzt können 264 unterschiedliche Werte adressiert werden, was eine enorme Obergrenze für den möglichen maximalen Speicher ergibt. AMD K8 war der erste Prozessor, der diese 64-Bit-Architektur implementierte. Dann übernahm auch Intel diese Architektur. Mit Intel Core-Prozessoren, die mit Intel Core 2 begannen, begann Intel, diese Architektur in ihren Prozessoren zu verwenden. Derzeit verwenden alle Intel-Prozessoren wie Core i3, Core i5 und Core i7 diese x64-Architektur. Es ist wichtig zu betonen, dass diese x64-Architektur immer noch abwärtskompatibel mit dem alten x86-Befehlssatz ist.
64-Bit-Prozessor
Was ist der Unterschied zwischen x86 und x64?
• x86 wurde ungefähr im Jahr 1978 eingeführt, während x64 erst im Jahr 2000 auf den Markt kam.
• x86 ist aus dem berühmten Intel 8086-Prozessor hervorgegangen und wurde daher von Intel eingeführt. Aber x64, das als Erweiterung von x86 kam, wurde von AMD eingeführt.
• Die x86-Architektur ist 32-Bit. (Die ersten x86-Prozessoren waren 16-Bit, aber in späteren Prozessoren wurde eine Erweiterung auf 32-Bit vorgenommen). x64-Architektur ist 64 Bit.
• Prozessoren mit x86-Befehlssatzarchitektur haben daher 32-Bit-Register, 32-Bit-Speicherbus und 32-Bit-Datenbus. Aber x64 hat 64-Bit-Register, 64-Bit-Speicherbus und 64-Bit-Datenbus.
• x86 hat eine Begrenzung des maximal adressierbaren Speichers, die eine Obergrenze von 4 GB (232 Bytes) ist. Aber auf x64-Systemen ist diese Grenze riesig, nämlich 264 Bytes.
• x64 ist eine Erweiterung von x86; daher ist es viel besser und leistungsfähiger als das alte x86.
• Werte, die in einem Register in einem x64-System gespeichert werden können, sind größer als Werte, die in einem x86-basierten Register gespeichert werden können. Daher kann x64 die Berechnung größerer Ganzzahlen viel schneller verarbeiten, da in einem solchen Fall nicht mehrere Register verwendet werden müssen, um den Wert aufzuteilen und wie in x86 zu speichern.
• x64 kann größere Daten parallel über den Datenbus übertragen. Das heißt, ein Datenbus mit 64 Bit kann 64 Bit parallel übertragen, während die x86-Architektur mit einem 32-Bit-Bus nur 32 Bit parallel übertragen kann.
Zusammenfassung:
x86 gegen x64
x86-Befehlssatzarchitektur ist 32 Bit, während x64-Befehlssatzarchitektur 64 Bit ist. x64 kam als Erweiterung der bestehenden x86-Architektur. Die Register, der Speicherbus und der Datenbus auf x86-Architekturen sind 32 Bit, während dies auf x64 64 Bit sind. Daher ist die maximal adressierbare Speichermenge in x64-Systemen sehr viel höher als in x86-Systemen.x86 wurde von Intel mit dem 8086-Prozessor eingeführt, der ein 16-Bit-Prozessor war, und mit der Zeit wurde dieser x86 auf 32 Bit erweitert. Später führte AMD die x64-Architektur ein, indem die vorhandene x86-Architektur erweitert wurde, und diese x64 ist vollständig abwärtskompatibel mit dem x86-Befehlssatz.