Por que o x86 representa 32 bits quando o x64 representa 64 bits? [fechadas]

89

A minha pergunta é por que é a abreviação de x86 de 32 bits quando a abreviação de 64 bits é x64?

Acredito que tenha algo a ver com os dias de 386s e 486s, quando os processadores de 32 bits terminaram em 86, mas certamente havia processadores que não terminaram em 86 e ainda eram de 32 bits?

Alguém sabe a história disso ou pode me direcionar para uma boa fonte de informações?

Obrigado

    
por Simon Foster 06.10.2010 / 14:48

6 respostas

32

Provavelmente porque a linha x86 tornou-se sinônimo de processadores de 32 bits por algum tempo, enquanto x64 foi especificamente uma designação para 64 bits conforme os aplicativos e sistemas operacionais foram transicionados, e agora há aplicativos de software que exigem a designação de 64 bits para executar (como alguns softwares de VM).

Em outras palavras, é mais marketing do que tecnologia.

    
por 06.10.2010 / 14:53
176
Bem, antigamente havia um chip chamado 8086, com uma versão mais barata chamada 8088 que era usada em um computador pessoal chamado IBM PC. Uma versão melhorada desse chip foi feita e chamada 80186, apesar de não ser uma versão muito popular. No entanto, uma versão aprimorada melhorada foi feita, e chamada 80286. Agora, esse era um chip muito popular, em particular porque era usado em um computador chamado IBM PC AT.

Mais tarde, a Intel, que criou e vendeu os chips 8086, 8088, 80186 e 80286, todos com arquitetura de 16 bits, viu a necessidade de criar um chip de 32 bits para competir com outras semelhantes. Para tirar proveito de sua posição atual, ele tornou o novo chip capaz de rodar softwares feitos para os chips mencionados anteriormente. Naturalmente, a Intel chamou esse novo chip de 80386.

Até então, havia muitos computadores usando várias versões dos chips da Intel, e também havia chips não-Intel compatíveis com os da Intel. Então as pessoas começaram a se referir a eles como 80x86.

Depois de um tempo, a Intel lançou um novo chip, mas decidiu largar o 80, então ele se tornou o 486 ao invés do 80486. Da mesma forma, as pessoas estavam perdendo o "80" da frente do "80x86", e chamando isso de coisas apenas x86.

Agora, tenho certeza que alguns virão e dirão que a Intel vendeu suas fichas x86 em tal momento, o que eles fizeram, mas eu não ligo.

O fato é que o dígito do meio sempre crescente deu origem a 80x86, e x86 veio disso - mesmo que 80186 e 80286 não fossem 32 bits.

Então, quando a Intel finalmente chegou aos 64 bits, como se chamava sua nova arquitetura? Certo! IA64! :-) Ele também renomeou retroativamente o x86 para IA32, por assim dizer. Apenas o IA64 não era compatível com x86, ou seja, o IA32, então todos o ignoraram.

E então veio a AMD, que decidiu que o mercado queria uma CPU de 64 bits que fosse compatível, na medida do possível, com a família x86. Como um apelo de marketing, eles chamaram a família de "x86-64" e foram extremamente bem-sucedidos. Tanto que a Intel acabou seguindo de má vontade com seu próprio processador de 64 bits baseado no x86.

Mais tarde, porque as pessoas são preguiçosas, o x86-64 ficou conhecido simplesmente como x64.

Então, em resposta à sua pergunta, porque x64 é menor que x86-64.

    
por 06.10.2010 / 15:23
14

De Wikipedia : O termo x86 refere-se a uma família de arquiteturas de conjuntos de instruções baseadas no processador Intel 8086.

    
por 06.10.2010 / 14:52
3

Tecnicamente x86 simplesmente se refere a uma família de processadores e ao conjunto de instruções que todos eles usam. Na verdade, não diz nada específico sobre tamanhos de dados.

x86 começou como um conjunto de instruções de 16 bits para processadores de 16 bits (os processadores 8086 e 8088), então foi estendido para um conjunto de instruções de 32 bits para processadores de 32 bits (80386 e 80486) e agora foi estendido para um conjunto de instruções de 64 bits para processadores de 64 bits. Costumava ser escrito como 80x86 para refletir o valor de mudança no meio dos números do modelo do chip, mas em algum lugar ao longo da linha os 80 na frente foram descartados, deixando apenas x86.

Culpe o Pentium e seus descendentes por mudar a forma como os processadores foram nomeados e comercializados, embora todos os processadores mais novos que usam o conjunto de instruções x86 da Intel ainda sejam chamados x86, i386 ou i686 (o que significa que todos usam extensões de o conjunto de instruções original do 8086).

x64 é realmente o cara estranho aqui fora. O primeiro nome da extensão de 64 bits para o conjunto x86 foi chamado x86-64. Mais tarde, foi nomeado para AMD64 (porque a AMD foi a única a criar a extensão de 64 bits originalmente). A Intel licenciou o conjunto de instruções de 64 bits e nomeou sua versão EM64T. Ambos os conjuntos de instruções e os processadores que os utilizam ainda são considerados x86.

    
por 07.06.2012 / 05:50
3

x86 e x64 são os nomes das arquiteturas da cpu . Há mais em uma arquitetura de cpu do que apenas o número de bits por registro.

x64 leva é o nome porque o salto para 64 bits é a mudança maior na arquitetura a partir de x86, mas esse salto está longe da mudança somente .

x86 obtém seu nome do venerável processador e família 8086, que inclui 80286, 80368, 486, etc. Na época em que x86 foi estabelecido como um nome para a arquitetura, 32 bits por registro não eram considerados um recurso suficientemente importante para justificar a construção do nome.

    
por 07.10.2010 / 18:28
2

Bem, x64 nunca veio realmente de um conjunto de instruções ou de um fabricante de chips. Ele originalmente veio do Windows XP. A primeira edição de 64 bits do Windows recebeu o título Windows XP x64 . E eu acho que o termo x64 ficou preso de lá.

O moniker x86 vem do conjunto de instruções de 32 bits. Portanto, todos os x86 processadores (sem um líder 80 ) executam o mesmo conjunto de instruções de 32 bits (e, portanto, são todos compatíveis). Portanto, x86 se tornou um nome de fato para esse conjunto (e, portanto, 32 bits).

A extensão original de 64 bits da AMD no conjunto x86 foi denominada AMD64 . Mais tarde, a Intel licenciou, mas ainda assim o nome para o conjunto de instruções de x86 de 64 bits é normalmente AMD64 .

Mas principalmente é distinção de marca. Veja o que algumas distribuições diferentes do Sistema Operacional chamam cada sabor de 64 bits:

Então, basicamente, parece que o Linux prefere x86_64 , o BSD prefere amd64 e os outros x64 ...

Mas a grande coisa a se notar é que todos eles significam a mesma coisa para fins de marketing. Na sutileza, elas significam coisas diferentes (bem, amd64 significa algo diferente de x86_64 (a primeira é uma arquitetura específica de fornecedor e a segunda é o subconjunto de duas arquiteturas de fornecedores), mas x86_64 === x64 ), mas para qualquer um, exceto os programadores que escrevem em assembly ou código de máquina, ele realmente não faz um diferente ...

    
por 07.10.2010 / 12:50