Vraag Waarom vertegenwoordigt x86 32bit wanneer x64 64bit vertegenwoordigt? [Gesloten]


Mijn vraag is waarom is de afkorting voor 32-bit x86 wanneer de afkorting voor 64-bit x64 is?

Ik vermoed dat het iets te maken heeft met de dagen 386s en 486s, toen de 32-bit processors allemaal eindigden in 86, maar toch waren er processors die niet op 86 eindigden en toch 32 bit waren?

Weet iemand de geschiedenis hiervan of kan hij mij een goede bron van informatie geven?

Bedankt


86
2017-10-06 14:48


oorsprong


wilde altijd deze +1 kennen voor onbewuste nieuwsgierigheid! - Gabriel Guimarães
Ik heb me dit vanmorgen gewoon afgevraagd! - Sean Howat
Ik denk dat de volledige term niet x64 maar x86_64 is - Kedare
IMHO, "x86" betekent niet (en heeft nooit bedoeld), gewoon elke generieke 32-bits architectuur. Daniel's antwoord hieronder geeft de geschiedenis. Er zijn veel andere 32-bits processors die beide gelijktijdig (of ouder) zijn dan de 80386, en een flink aantal zijn nog steeds in leven en goed op de markt van vandaag. De 68000-familie (gebruikt in de originele Macintosh) is bijvoorbeeld veel ouder dan de 8086. De roem van de PowerPC wanneer hij nieuw was, was krachtige ondersteuning voor emulatie voor zowel x86 als 68K. De ARM is 32-bits, moderner en ook heel gewoon. - RBerteig
Ik zie het niet als x64, ik schrijf het tenminste niet op die manier. Ik schrijf het als respectievelijk 32b en 64b. - vol7ron


antwoorden:


Waarschijnlijk omdat de x86-lijn al geruime tijd synoniem was met 32-bitprocessors, terwijl x64 specifiek een aanduiding voor 64 bit was, terwijl applicaties en besturingssystemen werden overgezet en nu zijn er softwaretoepassingen waarvoor de 64 bit-aanduiding nodig is om te worden uitgevoerd (zoals sommige VM-software).

Met andere woorden, het is meer marketing dan technologie.


32
2017-10-06 14:53



x86 komt uit de 8086, 286, 386, 486, 586, enz. Het had even gemakkelijk "* 86" kunnen zijn - gWaldo
En omdat x86 is ontstaan ​​met de 8086, heb ik nooit kunnen uitzoeken waarom het altijd met 32 ​​bits is geassocieerd. Zoals ik me herinner was de 8086 een 16-bits processor, die dubbele registers gebruikte om 32 bit geheugenadressen in te schakelen. Intel was in die tijd helemaal geen leider in het veld. BTW @gWaldo, je hebt de 80186 weggelaten. - John Gardeniers
Toeval. Van Wikipedia: "Zowel de architectuur als de fysieke chip werden daarom vrij snel ontwikkeld door een kleine groep mensen, en gebruikten dezelfde basis-microarchitectuurelementen en fysieke implementatietechnieken als gebruikt voor de iets oudere 8085 (en waarvoor de 8086 ook zou werken als een voortzetting). " Er was ook een 8087 en 8089. - Bart Silverstrim
Ja, ik heb de 80186 weggelaten omdat ik eerlijk gezegd niet meer wist of het een vrijgegeven product was (en ik voelde me te lui om het op te zoeken ...) - gWaldo
Dit antwoord heeft niets mis, maar ik denk oprecht dat Daniel's de geaccepteerde zou moeten zijn, omdat het veel gedetailleerder is. - Massimo


Nou, er was eens een chip met de naam 8086, met een goedkopere versie met de naam 8088 die werd gebruikt in een personal computer met de naam IBM PC. Een verbeterde versie van die chip werd gemaakt en 80186 genoemd, hoewel dat geen erg populaire versie was. Er werd toen echter een verbeterde verbeterde versie gemaakt en 80286 genoemd. Nu, dat was een erg populaire chip, vooral omdat het werd gebruikt in een computer met de naam IBM PC AT.

Later zag Intel, die de 8086, 8088, 80186 en 80286 chips maakte en verkocht, die allemaal een 16-bits architectuur hadden, de noodzaak om een ​​32-bits chip te maken om te concurreren met vergelijkbare aanbiedingen van anderen. Om te profiteren van zijn bestaande positie, kon de nieuwe chip software maken die gemaakt was voor de eerder genoemde chips. Uiteraard noemde Intel deze nieuwe chip de 80386.

Tegen die tijd waren er veel computers die verschillende versies van de Intel-chips gebruikten, en er waren ook niet-Intel-chips die compatibel waren met de Intel-chips. Dus mensen begonnen naar hen te verwijzen als 80x86.

Na een tijdje lanceerde Intel een nieuwe chip, maar het besloot om de 80 te laten vallen, dus werd het de 486 in plaats van 80486. Op dezelfde manier lieten mensen de "80" vallen vanaf de voorkant van "80x86" en noemden ze dit gewoon x86 .

Nu, ik ben er vrij zeker van dat sommigen zullen komen en zeggen dat Intel hun chips x86 brandmerkt op zo'n moment, wat ze deden, maar dat kan me niet schelen.

Het feit is dat het steeds groter wordende middencijfer 80x86 opleverde, en x86 kwam daaruit voort - zelfs als 80186 en 80286 geen 32 bits waren.

Dus, toen Intel uiteindelijk 64 bits werd, wat noemde het zijn nieuwe architectuur? Rechts! IA64! :-) Het hernoemde ook met terugwerkende kracht de x86 tot IA32, om zo te zeggen. Alleen IA64 was niet compatibel met x86, ik bedoel, IA32, dus iedereen negeerde het.

En toen kwam AMD, die besloot dat de markt een 64-bits CPU wilde die compatibel was, voor zover mogelijk, met de x86-familie. Als een marketing appeal noemden ze het de "x86-64" -familie, en ze waren enorm succesvol. Zozeer zelfs dat Intel uiteindelijk met tegenzin volgde met hun eigen 64-bits CPU op basis van x86.

Later, omdat mensen lui zijn, werd de x86-64 eenvoudigweg bekend als de x64.

Dus in antwoord op uw vraag, omdat x64 korter is dan x86-64.


172
2017-10-06 15:23



+1 voor een goede uitleg. - Gup3rSuR4c
Niet om te peuren, maar om volledig exact te zijn, heeft AMD nooit een 64 bit-chip op de markt gebracht. x64 of x86_64 waar AMD mee uitkwam werden 64 bit-extensies toegevoegd aan de x86-instructieset die Intel creëerde - dus x86_64 in tegenstelling tot Intel's Itanium (IA_64), wat een echte 64 bit-chip was die niet compatibel was met de x86-instructieset. - Jeremy Hajek
Bovendien geloof ik dat Intel te maken kreeg met handelsmerkproblemen, omdat ze alleen nummers gebruikten en geen reeks nummers konden markeren. Daarom zou wat de 80586 zou zijn de Pentium zijn geworden, een verzonnen naam die ze konden blijven gebruiken als handelsmerk. - cdkMoose
Ter verduidelijking: AMD noemde hun extensies AMD64 en Intel noemt hun (dat ze een licentie hebben van AMD) Intel64. Er zijn een paar subtiele verschillen (ze zijn niet 100% compatibel), dus de meeste OS-leveranciers gebruiken meestal de gemeenschappelijke subset. Op een Windows 2008-dvd wordt de installatiemap eigenlijk AMD64 genoemd (in tegenstelling tot I386 op 32-bits). Ik weet niet waar x86_64 vandaan komt: van AMD omdat het een extensie is naar x86 of van Unix-leveranciers die een neutrale term wilden. - Michael Stum♦
@Jeremy Hajek: AMD64 / x86_64 is een echt 64-bits chipontwerp, de 64-bits modus is geen emulatie en heeft geen invloed op de prestaties (en in feite is de 32-bits modus ervan ook geen emulatie). De chip heeft een 64-bits instructieset en 64-bits registers, waardoor deze 64-bits chip is. Ik weet niet waar je de indruk krijgt dat AMD nooit een 64-bit-chip heeft verkocht. Het is echter waar dat AMD nooit een 64-bit op de markt bracht die de compatibiliteit met een 32-bits chip verbreekt, zoals Intel deed met zijn IA64. - Lie Ryan


Van Wikipedia: De term x86 verwijst naar een reeks architecturen van instructiesets op basis van de Intel 8086-CPU.


14
2017-10-06 14:52





Technisch gezien verwijst x86 eenvoudigweg naar een familie van processors en de instructieset die ze allemaal gebruiken. Het zegt eigenlijk niets specifieks over datagroottes.

x86 begon als een 16-bits instructieset voor 16-bits processors (de 8086- en 8088-processors) en werd vervolgens uitgebreid naar een 32-bits instructieset voor 32-bits processors (80386 en 80486) en is nu uitgebreid naar een 64-bits instructieset voor 64-bits processors. Het werd geschreven als 80x86 om de veranderende waarde in het midden van de chipmodelnummers weer te geven, maar ergens langs de lijn werd de 80 aan de voorkant weggelaten, waardoor er slechts x86 overblijft.

Geef de schuld aan de Pentium en het is nageslacht voor het veranderen van de manier waarop processors werden genoemd en op de markt gebracht, hoewel alle nieuwere processors die Intel's x86-instructieset gebruiken nog steeds worden aangeduid als x86, i386 of i686-compatibel (wat betekent dat ze allemaal uitbreidingen van de originele 8086 gebruiken) instructie set).

x64 is echt de vreemde eend in de bijt hier. De eerste naam voor de 64-bit extensie voor de x86-set werd x86-64 genoemd. Het werd later genoemd naar AMD64 (omdat AMD oorspronkelijk de 64-bit extensie had verzonnen). Intel heeft de 64-bits instructieset in licentie gegeven en hun versie EM64T genoemd. Zowel instructiesets als de processors die ze gebruiken, worden allemaal nog steeds beschouwd als x86.


3
2018-06-07 05:50



x86-64 is weer een leveranciersneutrale term met AMD64 en EM64T. De nummer 80 was er altijd in het onderdeelnummer, maar na 80186 werd het eenvoudiger om slechts 186 te zeggen tegen 8086 vs. 386. Pentium werd nooit officieel 586 of 80586 genoemd in zijn onderdeelnummers (cpu-world.com/sspec/Pentium.html); de i586- en i686-termen waren slechts gebaseerd op het CPU-"familie" -veld van hoe de CPU's zichzelf meldden. - Peter Cordes


x86 en x64 zijn de namen van de cpu architecturen. Er is meer aan een cpu-architectuur dan alleen het aantal bits per register.

x64 takes is name omdat de sprong naar 64 bits de is grootste verandering in de architectuur van x86, maar die sprong is ver van de enkel en alleen verandering.

x86 krijgt zijn naam van de eerbiedwaardige 8086-processor en -familie, waaronder 80286, 80368, 486, enz. Op het moment dat x86 tot stand kwam als een naam voor de architectuur, werd 32 bits per register niet als een belangrijk genoeg kenmerk beschouwd om de bouw te rechtvaardigen het in de naam.


3
2017-10-07 18:28





Goed, x64 kwam nooit echt van een instructieset of chipfabrikant. Het kwam oorspronkelijk uit Windows XP. De eerste 64-bits editie van Windows kreeg de titel Windows XP x64. En ik denk dat de term x64 vast van daar.

De x86 moniker komt uit de 32bit-instructieset. Dus allemaal x86 processors (zonder een leidende 80) voert dezelfde 32 bit-instructieset uit (en is daarom allemaal compatibel). Zo x86 is een defacto naam geworden voor die set (en dus 32 bit).

AMD's originele 64 bit extensie op de x86 set was called AMD64. Intel heeft het later gelicenseerd, maar zelfs nog steeds de naam voor de 64 bit x86 instructieset is meestal AMD64.

Maar meestal is het merkonderscheid. Hier is wat een paar verschillende grote besturingssystemen distributies noemen elke 64 bit smaak:

Dus eigenlijk lijkt het erop dat Linux de voorkeur geeft x86_64, BSD geeft de voorkeur amd64 en de anderen x64...

Maar het belangrijkste om op te merken is dat ze allemaal hetzelfde betekenen voor marketingdoeleinden. In subtiliteit bedoelen ze verschillende dingen (nou ja, amd64 betekent iets anders dan x86_64 (de eerste is een leverancierspecifieke architectuur en de tweede is de subset van twee architecturen van leveranciers), maar x86_64 === x64), maar voor iedereen behalve programmeurs die schrijven in assembly- of machine-code maakt het echt niet anders ...


2
2017-10-07 12:50



Alle huidige x64 is eigenlijk AMD-64 sinds IA64 is overleden. - Overmind
@Overmind: x64 en IA-64 waren altijd afzonderlijke dingen. IA-64 heeft geen enkele relatie met x86 of x86-64. (Behalve dat vroege IA-64-implementaties een x86-kern bevatten om compatibele redenen, omdat Intel ...) - Peter Cordes
Ja dat is correct. Maar "het is dood, Jim". - Overmind