Diskussion:X64

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 8. Februar 2022 um 10:36 Uhr durch imported>Y2kbug(217280) (→‎Lemma: Aw).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Lemma

Nach einem Edit auf AMD64, nämlich diesem, wäre x86-64 richtiger als x64. Ist das so? Ich stelle das mal so in den Raum. Ich denke, dass es belegt ist, dass

  • x86-64 (auch x86_64), amd64 (auch AMD64), Intel 64 (auch EM64T) und x64 für alle praktischen Belange praktisch ident zu behanden sind, wobei
  • x64 eindeutig für alle 64-Bit-x86-Implementierungen (also AMD64 und Intel 64) steht,
  • x86-64 im allgemeinen für beide steht (jedoch als der Entwicklungsname von AMD64 auch für die Implementierung von AMD im Speziellen, je nach Sichtweise),
  • AMD64 (auch in Kleinschreibung amd64, sowie als x86-64, je nach Sichtweise) für die spezifische x64-Implementierung von AMD,
  • Intel 64 (bzw. EM64T, auch IA-32e) für die spezifische x64-Implementierung von Intel.

Aber: wie sollte nun das Lemma heißen? ‣Andreas 20:37, 10. Feb. 2020 (CET)

Hallo Andreas, ich halte das Lemma für optimal.
Unter »Intel 64« wird allgemein nicht konkret die IA-32e-Impl. (= AMD64-by-Intel) verstanden.
Unter »x86-64« wird explizit nicht konkret die AMDs Impl. verstanden; oftmals wird das konkret in Verbindung mit Intel-CPUs genannt.
Unter »x64« wird immer der Oberbegriff an AMD64-zugrundeliegenden Impl. verstanden.
LG, ℳ웃79 23:44, 29. Feb. 2020 (CET)
Ich empfinde »x64« dagegen nur als einen „Marketing-Schwachsinn“ ;) … und somit die schlechteste Wahl.
Die Architektur hieß zunächst »x86-64«, das zeigt auch gut an, wo sie herkommt.
Wenn man AMD als Entwickler herausstellen will, wäre »AMD64« gut.
Zumal »x32« „seit kurzem“ tatsächlich existiert, aber neuer ist als »x64« X32_(ABI). (nicht signierter Beitrag von Born2webdesign (Diskussion | Beiträge) 10:57, 5. Okt. 2020 (CEST))
Ich ebenfalls – die einzige wirklich schlechte Bezeichnung ;) Ein Artikel über eine CPU-Architektur, mit einem Namen, den es „gar nicht gibt“ … :::(nicht signierter Beitrag von 2A02:810D:8240:878:6C12:7FF:FEAC:925F (Diskussion) 02:04, 8. Feb. 2022 (CET))
Siehe unten: wir können in der Wikipedia nicht andere Namen verwenden, wenn wir die, die es bereits gibt, nicht mögen. Zu bewerten, ob eine Bezeichnung schlecht ist oder nicht, obliegt sicher nicht einer Enzyklopädie.
Die CPU-Architektur heißt "x86". Eine CPU-Architektur "x64" gibt es tatsächlich nicht – es gibt nur eine Erweiterung der x86-Architektur mit der Bezeichnung "x64", bzw. wie es in der Einleitung steht, wird der 64-Bit-Betriebsmodus der x86-Architektur als "x64" bezeichnet. Der Begriff wurde ja gerade eingeführt, um die Verwirrung zu vermeiden. Dass es bei ARM einfacher ist – dort heißt es dann ARM64 – liegt wohl auch daran, dass es keine so lange und komplizierte Geschichte hat wie x86...
Andreas 11:36, 8. Feb. 2022 (CET)
x86-64 ist der Entwicklungsname von AMD64, siehe also den entsprechnden Artikel.
Wer allgemein über 64-Bit-x86 informiert werden will, erhält mit x64 einen Artikel, der sowohl auf AMD64 als auch auf Intel 64 verweist. Dass x86-64 eine Weiterleitung auf x64 ist, liegt nur daran, dass das weit mehr Sinn macht als direkt auf AMD64 weiterzuleiten.
Long story short: wer irgendwo x64-64, x64, 64-Bit-IA-32 oder amd64 liest, meint so gut wie immer den generellen 64-Bit-Modus, nicht den speziellen von AMD oder von Intel. Was die Urheberschafft betrifft: es ist eigentlich egal ob von Intel oder von AMD, denn x86-Prozessor heißt ja auch nicht „Intel x86“, obwohl die x86-Architektur von Intel erfunden wurde.
Dass es dennoch zwei unterschiedliche Artikel AMD64 und Intel 64 gibt, liegt daran, dass die beiden Prozessorhersteller die Modi ein klein wenig unterschiedlich implementiert haben.
Andreas 14:40, 5. Okt. 2020 (CEST)
p.s. x32 ist entweder gleichbedeutend mit IA-32 im 32-Bit-Modus (des i386), oder es meint das 32-Bit-ABI innerhalb des 64-Bit-Betriebsmodus von x64. x32 als ABI läuft demnach im 64-Bit-Long-Mode, es ist kein 32-Bit-Prozess. Weil viele Datentypen aber ohnehin auf jeder Prozessor-Architektur unterschiedlich groß sind, ist es auch möglich, die Standard-Datentypen im 64-Bit-Modus der x86-Architektur auf 32-Bit zu kürzen – das Resultat ist ein 64-Bit-Programm, das teilweise 32-Bit-breite Adressen verwendet. Siehe z.B. dieses Dokument von Oracle, das die C-Datentyp-Modelle LP64 und ILP32 gegenüberstellt: nur long und pointer sind bei x32 32 statt wie bei IP64 64 Bits breit, alle anderen Datentypen bleiben gleich groß.
Der eigentliche Vorteil von x32 ergibt sich daraus, wie AMD den 64-Bit-Betriebsmodus Long Mode gegenüber dem 32-Bit-x86 (IA-32 im 32-Bit-Betriebsmodus Protected Mode) verändert hat. Im Long Mode stehen nämlich doppelt soviele Register zur Verfügung. Bei den meisten anderen Architekturen ist dies nicht der Fall, beispielsweise bei PowerPC. Weil der PowerPC im 32-Bit-Modus genau so viele Register hat wie im 64-Bit-Modus, kann man ein Programm einfach als 32-Bit-Programm kompilieren, und man erspart sich dadurch unter Umständen bis zu 40% Speicherverbrauch (manche Quellen schreiben auch 30%, siehe Debian). Bei x86 geht das aber mit den im 32-Bit-Modus nur halb so vielen Registern einher, sodass das Programm nicht nur weniger Speicher verbraucht, sondern auch in der Leistung eingeschränkt wird.
Dadurch ist auf x86 ein 32-Bit-Programm immer langsamer als wenn es als 64-Bit-Programm kompiliert wird. Das ist auf PowerPC genau umgekehrt: ein 64-Bit-Programm ist dort langsamer als ein 32-Bit-Programm, weil jede Variable, die sonst nur 4 Bytes (32-Bit) groß ist, bei 64-Bit doppelt so viel Speicher braucht, also 8 Bytes. Der Kopiervorgang von 4 Bytes in den bzw. aus dem Speicher ist aber schneller als die doppelte Menge an Bytes zu kopieren. x32 macht nun genau das auch auf x86, über den Kunstgriff eines ABIs.
Weil aber x32 so gar nichts mit x64 zu tun hat (so wie auch IA-64 so gar nichts mit IA-32 zu tun hat), denke ich, dass x64 insgesamt die allgemeinere Bezeichnung ist, verlichen mit x86-64 oder gar amd64, die eher für AMD64 stehen. Obwohl natürlich x86-64 auch allgemein verwendet wird, wie auch amd64. Gerade um Missverständnisse zu vermeiden, wurde x64 erfunden.
Andreas 15:12, 5. Okt. 2020 (CEST)