Frage Warum repräsentiert x86 32bit, wenn x64 64bit darstellt? [geschlossen]


Meine Frage ist, warum ist die Kurzschrift für 32-Bit x86, wenn die Kurzschrift für 64-Bit x64 ist?

Ich nehme an, dass es etwas mit den Tagen 386s und 486s zu tun hat, als die 32-Bit-Prozessoren alle in 86 endeten, aber sicherlich gab es Prozessoren, die nicht in 86 endeten und immer noch 32-Bit waren?

Kennt jemand die Geschichte davon oder kann mich zu einer guten Informationsquelle führen?

Vielen Dank


86
2017-10-06 14:48


Ursprung


wollte immer dieses +1 für unbewusste Neugier wissen! - Gabriel Guimarães
Ich habe mich gerade heute Morgen selbst gefragt! - Sean Howat
Ich denke, der vollständige Begriff ist nicht x64, sondern x86_64 - Kedare
IMHO, "x86" bedeutet nicht (und hat nie gemeint) nur irgendeine generische 32-Bit-Architektur. Daniels Antwort gibt die Geschichte. Es gibt viele andere 32-Bit-Prozessoren, die gleichzeitig (oder älter) als die 80386 sind, und einige sind noch am Leben und gut auf dem Markt heute. Die 68000-Familie (die im ursprünglichen Macintosh verwendet wird) ist beispielsweise viel älter als die 8086. Der PowerPC-Anspruch auf Ruhm, wenn neu, war eine starke Emulation-Unterstützung sowohl für x86 als auch für 68K. Der ARM ist 32-Bit, moderner und auch sehr verbreitet. - RBerteig
Ich sehe es nicht als x64, zumindest schreibe ich es nicht so. Ich schreibe es als 32b bzw. 64b. - vol7ron


Antworten:


Wahrscheinlich, weil die x86-Zeile schon seit einiger Zeit Synonym für 32-Bit-Prozessoren wurde, während x64 speziell eine Bezeichnung für 64-Bit war, als Anwendungen und Betriebssysteme umgestellt wurden, und jetzt gibt es Softwareanwendungen, die die 64-Bit-Bezeichnung benötigen (wie einige VM-Software).

Mit anderen Worten, es ist mehr Marketing als Technologie für den Grund.


32
2017-10-06 14:53



x86 kommt von den 8086, 286, 386, 486, 586 usw. Es hätte genauso leicht "* 86" sein können - gWaldo
Und da x86 mit dem 8086 entstanden ist, konnte ich nie herausfinden, warum es immer mit 32 Bit verbunden ist. Wie ich mich erinnere, war der 8086 ein 16-Bit-Prozessor, der doppelte Register verwendete, um 32-Bit-Speicheradressierung zu ermöglichen. Intel war in diesen Tagen bei weitem nicht führend in diesem Bereich. BTW @gWaldo, du hast den 80186 weggelassen. - John Gardeniers
Zufall. Aus Wikipedia: "Sowohl die Architektur als auch der physikalische Chip wurden daher von einer kleinen Gruppe von Menschen ziemlich schnell entwickelt und verwendeten die gleichen grundlegenden Mikroarchitekturelemente und physikalischen Implementierungstechniken wie für den etwas älteren 8085 (für den auch der 8086 funktionierte) als Fortsetzung). " Es gab auch eine 8087 und 8089. - Bart Silverstrim
Ja, ich habe den 80186 weggelassen, weil ich mich ehrlich gesagt nicht daran erinnern konnte, ob es ein veröffentlichtes Produkt war (und ich fühlte mich zu faul, um nachzusehen ...) - gWaldo
Diese Antwort hat nichts Falsches, aber ich denke ehrlich, dass Daniels akzeptiert werden sollte, da es viel detaillierter ist. - Massimo


Nun, es gab einmal einen Chip namens 8086, mit einer billigeren Version namens 8088, die in einem PC namens IBM PC verwendet wurde. Eine verbesserte Version dieses Chips wurde hergestellt und 80186 genannt, obwohl das keine sehr populäre Version war. Jedoch wurde dann eine verbesserte Version gemacht und 80286 genannt. Nun, das war ein sehr beliebter Chip, insbesondere weil er in einem Computer namens IBM PC AT verwendet wurde.

Später sah Intel, das die 8086-, 8088-, 80186- und 80286-Chips, die alle eine 16-Bit-Architektur hatten, erstellte und verkaufte, die Notwendigkeit, einen 32-Bit-Chip zu erzeugen, um mit ähnlichen Angeboten anderer zu konkurrieren. Um seine etablierte Position zu nutzen, wurde der neue Chip in die Lage versetzt, Software für die zuvor genannten Chips zu betreiben. Natürlich nannte Intel diesen neuen Chip den 80386.

Bis dahin gab es viele Computer mit verschiedenen Versionen der Intel-Chips, und es gab auch Nicht-Intel-Chips, die mit den Intel-Chips kompatibel waren. Also haben die Leute angefangen, sie als 80x86 zu bezeichnen.

Nach einer Weile startete Intel einen neuen Chip, aber es entschied sich, die 80 fallen zu lassen, so dass es die 486 anstelle von 80486 wurde. Ebenso ließen Leute die "80" von der Vorderseite von "80x86" fallen und nannten diese Sachen nur x86 .

Nun, ich bin mir ziemlich sicher, dass einige kommen werden und sagen, dass Intel ihre Chips zu dieser und jener Zeit x86 brandmarkte, was sie taten, aber das ist mir egal.

Tatsache ist, dass die stetig ansteigende mittlere Stelle 80x86 verursachte, und x86 kam daraus - auch wenn 80186 und 80286 keine 32 Bits waren.

Also, als Intel schließlich 64 Bit ging, wie nannte es seine neue Architektur? Recht! IA64! :-) Es hat das x86 übrigens sozusagen rückwirkend in IA32 umbenannt. Nur IA64 war nicht kompatibel mit x86, ich meine, IA32, also ignorierten alle es.

Und dann kam AMD, der entschied, dass der Markt eine 64-Bit-CPU wollte, die soweit wie möglich mit der x86-Familie kompatibel war. Als Marketing-Appeal nannten sie es die "x86-64" -Familie, und sie waren sehr erfolgreich. So sehr, dass Intel widerwillig mit ihrer eigenen 64-Bit-CPU auf Basis von x86 folgte.

Später, weil die Leute faul sind, wurde das x86-64 einfach als x64 bekannt.

Also, als Antwort auf Ihre Frage, weil x64 kürzer als x86-64 ist.


172
2017-10-06 15:23



+1 für eine großartige Erklärung. - Gup3rSuR4c
Nicht umsonst, aber um genau zu sein, hat AMD nie einen 64-Bit-Chip vermarktet. x64 oder x86_64, die AMD herausgebracht hat, waren 64-Bit-Erweiterungen, die zum x86-Befehlssatz von Intel hinzugefügt wurden - daher x86_64 im Gegensatz zu Intels Itanium (IA_64), das ein echter 64-Bit-Chip war, der mit dem x86-Befehlssatz nicht kompatibel war. - Jeremy Hajek
Darüber hinaus glaube ich, dass Intel mit Markenproblemen konfrontiert wurde, weil sie nur Zahlen verwendeten und Sie keine Zahlenfolge kennzeichnen konnten. Aus diesem Grund wurde die 80586 zum Pentium, einem erfundenen Namen, den sie weiterhin als Marke verwenden könnten. - cdkMoose
Zur Verdeutlichung: AMD nannte seine Erweiterungen AMD64, und Intel nennt ihre Intel64-Intel-Calls (die sie von AMD lizenzierten). Es gibt ein paar subtile Unterschiede (sie sind nicht 100% kompatibel), daher verwenden die meisten OS-Anbieter normalerweise das gemeinsame Subset. Auf einer Windows 2008-DVD heißt der Installationsordner eigentlich AMD64 (im Gegensatz zu I386 auf 32-Bit). Ich weiß nicht woher x86_64 kommt: Von AMD, da es eine Erweiterung zu x86 oder von Unix-Anbietern ist, die einen neutralen Begriff haben wollten. - Michael Stum♦
@ Jeremy Hajek: AMD64 / x86_64 ist ein echtes 64-Bit-Chip-Design, sein 64-Bit-Modus ist keine Emulation und hat keine Auswirkungen auf die Leistung (und tatsächlich ist sein 32-Bit-Modus auch keine Emulation). Der Chip hat einen 64-Bit-Befehlssatz und 64-Bit-Register, was ihn zu einem 64-Bit-Chip macht. Ich weiß nicht, woher man den Eindruck hat, dass AMD nie einen 64-Bit-Chip vermarktet. Es stimmt jedoch, dass AMD nie ein 64-Bit-Produkt auf den Markt brachte, das die Kompatibilität mit 32-Bit-Chips sprengt, wie es Intel mit seinem IA64 getan hat. - Lie Ryan


Von Wikipedia: Der Begriff x86 bezieht sich auf eine Familie von Befehlssatzarchitekturen, die auf der Intel 8086 CPU basieren.


14
2017-10-06 14:52





Technisch bezieht sich x86 einfach auf eine Familie von Prozessoren und den Befehlssatz, den sie alle verwenden. Es sagt eigentlich nichts über Datengrößen aus.

x86 begann als 16-Bit-Befehlssatz für 16-Bit-Prozessoren (die 8086- und 8088-Prozessoren), wurde dann auf einen 32-Bit-Befehlssatz für 32-Bit-Prozessoren (80386 und 80486) erweitert und jetzt auf erweitert ein 64-Bit-Befehlssatz für 64-Bit-Prozessoren. Früher wurde es als 80x86 geschrieben, um den sich ändernden Wert in der Mitte der Chipmodellnummern wiederzugeben, aber irgendwo entlang der Linie wurde die 80 in der Front weggelassen, so dass nur x86 übrig blieb.

Tadeln Sie den Pentium und seine Nachkommen für die Änderung der Art, wie Prozessoren benannt und vermarktet wurden, obwohl alle neueren Prozessoren, die Intels x86-Befehlssatz verwenden, immer noch als x86-, i386- oder i686-kompatibel bezeichnet werden (was bedeutet, dass alle Erweiterungen des ursprünglichen 8086 verwenden) Befehlssatz).

x64 ist wirklich der merkwürdige Mann hier draußen. Der erste Name für die 64-Bit-Erweiterung des x86-Satzes wurde x86-64 genannt. Es wurde später zu AMD64 benannt (weil AMD ursprünglich die 64-Bit-Erweiterung entwickelt hatte). Intel lizenzierte den 64-Bit-Befehlssatz und nannte seine Version EM64T. Beide Befehlssätze und die Prozessoren, die sie verwenden, werden immer noch als x86 betrachtet.


3
2018-06-07 05:50



x86-64 ist wieder ein herstellerunabhängiger Begriff mit AMD64 und EM64T. Die führende 80 war immer in der Teilenummer, aber nach 80186 wurde es leichter gesagt, einfach 186 vs. 8086 vs. 386 zu sagen. Pentium wurde nie offiziell 586 oder 80586 in seinen Teilenummern genannt (cpu-world.com/sspec/Pentium.html); Die Begriffe i586 und i686 basierten nur auf dem CPUID- "Familien" -Feld, wie sich CPUs meldeten. - Peter Cordes


x86 und x64 sind die Namen der CPU Architekturen. Zu einer CPU-Architektur gehört mehr als nur die Anzahl der Bits pro Register.

x64 Takes ist Name, weil der Sprung zu 64 Bits ist größte Veränderung in der Architektur von x86, aber dieser Sprung ist weit von der nur Veränderung.

x86 erhält seinen Namen von dem ehrwürdigen 8086-Prozessor und seiner Familie, zu der 80286, 80368, 486 usw. gehörten. Als sich x86 als Name für die Architektur etablierte, wurden 32 Bit pro Register als nicht wichtig genug angesehen, um das Bauen zu rechtfertigen es in den Namen.


3
2017-10-07 18:28





Gut, x64 kam nie wirklich von einem Befehlssatz oder Chip-Hersteller. Es stammt ursprünglich von Windows XP. Die erste 64-Bit-Edition von Windows erhielt den Titel Windows XP x64. Und ich schätze den Begriff x64 steckte von dort.

Das x86 Moniker kommt aus dem 32-Bit-Befehlssatz. So alles x86 Prozessoren (ohne einen führenden 80) Führen Sie den gleichen 32-Bit-Befehlssatz aus (und sind somit alle kompatibel). So x86 ist ein Defacto-Name für diesen Satz (und damit 32 Bit) geworden.

AMDs ursprüngliche 64-Bit-Erweiterung auf der x86 Satz wurde aufgerufen AMD64. Intel lizensierte es später, aber auch noch der Name für das 64 Bit x86 Befehlssatz ist in der Regel AMD64.

Aber meistens ist es Markenunterscheidung. Hier sind einige der wichtigsten Betriebssystem-Distributionen, die alle 64-Bit-Varianten aufrufen:

Im Grunde scheint es, dass Linux es bevorzugt x86_64BSD bevorzugt amd64 und die Anderen x64...

Aber das Wichtigste ist, dass sie alle dasselbe für Marketingzwecke bedeuten. In Feinheit meinen sie verschiedene Dinge (naja, amd64 bedeutet etwas anderes als x86_64 (Ersteres ist eine herstellerspezifische Architektur und letzteres die Teilmenge von zwei Herstellerarchitekturen), aber x86_64 === x64), aber für jeden außer Programmierer, die in Assembler- oder Maschinencode schreiben, macht es wirklich keinen Unterschied ...


2
2017-10-07 12:50



Alle aktuellen x64 ist tatsächlich AMD-64 seit IA64 starb. - Overmind
@Overmind: x64 und IA-64 waren immer getrennte Dinge. IA-64 ist völlig unabhängig von x86 oder x86-64. (Außer, dass frühe IA-64-Implementierungen einen x86-Kern für Compat-Gründe enthalten, weil Intel ...) - Peter Cordes
Ja, das ist richtig. Aber "es ist tot, Jim". - Overmind