Diferença entre o download do i386 e o amd64?

141

Qual é a diferença entre o download padrão do i386 e o download do amd64 do Ubuntu 11.04? No momento, estou executando o i386 em uma máquina AMD. Meu sistema funcionaria melhor com o download do amd64? (minha máquina estava rodando o Windows 7 64bit, mas eu deixei de olhar para isso antes de instalar o Ubuntu).

    
por Rob 24.07.2011 / 01:57

5 respostas

140

i386 refere-se à edição de 32 bits e amd64 (ou x86_64) refere-se à edição de 64 bits para processadores Intel e AMD.

Entrada i386 da Wikipédia:

  

O Intel 80386, também conhecido como i386, ou apenas 386, foi um microprocessador de 32 bits lançado pela Intel em 1985 ... Isso é chamado de x86, IA-32 ou arquitetura i386, dependendo do contexto.

Entrada x86_64 da Wikipédia:

  

x86-64 é uma extensão do conjunto de instruções x86. Ele suporta espaços de endereçamento virtuais e físicos vastamente maiores do que os possíveis no x86, permitindo que os programadores trabalhem convenientemente com conjuntos de dados muito maiores ... Depois de lançar a arquitetura sob o nome "x86-64", a AMD renomeou o AMD64 ... x86 -64 ainda é usado por muitos na indústria como um termo neutro de fornecedor, enquanto outros, notavelmente Sun Microsystems (agora Oracle Corporation) e Microsoft, usam x64.

Mesmo se você tiver uma CPU Intel, você deve usar o AMD64 para instalar 64 bits em seu computador (ele usa os mesmos conjuntos de instruções).

Eu recomendo usá-lo. Para a maior parte você não notará a diferença, mas para grandes cargas de trabalho (como edição de vídeo, jogos, etc), o computador terá um desempenho mais rápido (o computador tem a capacidade de calcular 2 + 2 + 2 = 6 em vez de ter que fazer 2 + 2 = 4 + 2 = 6 em um exemplo). No mundo do Windows, um sistema operacional de 32 bits não permitirá que você use mais de 3.5 GB de RAM em seu computador (mesmo que você tenha 8!). Você precisaria usar um sistema operacional de 64 bits para usar toda a RAM. No Linux, no entanto, não existe esse limite (obrigado, Uri).

Independentemente disso, o mundo mudou de 32 bits e está lá apenas para suportar máquinas mais antigas que são incapazes de executar 64 bits.

    
por user6658 24.07.2011 / 02:00
38
  

A arquitetura recebeu o nome da AMD porque a AMD a inventou, com o   Athlon 64. Da mesma forma, a arquitetura i386 de 32 bits é nomeada   386 processador da Intel, porque foi o primeiro de seu tipo, mas i386   também funcionará em processadores AMD. Então sim, você pode usar essa imagem ISO.

Fonte: link

    
por Mitch 31.05.2012 / 23:00
8

sim, você pode instalar o amd64 bit no processador Intel de 64 bits. A AMD inventou o processador de conjunto de instruções x86-64 bits para que o nome seja apenas um tributo à AMD.

    
por Roney Thomas 31.05.2012 / 23:23
6

Sim, você pode usar isso .ISO. amd64 refere-se à arquitetura. A AMD foi a primeira a criar uma CPU de 64 bits, então acredito que ela foi nomeada na época e o nome ficou preso. Parece um pouco confuso, mas amd64 significa apenas 64 bits.

    
por reverendj1 31.05.2012 / 22:59
6

A diferença entre amd64 e i386 é que amd64 é 64-bit enquanto i386 é 32 bits . Esta é a largura (em bits) dos registros disponíveis no núcleo.

Basicamente, o maior número que um processador de 32 bits pode processar de uma só vez é pouco mais de 4,29 bilhões, enquanto um núcleo de 64 bits pode lidar com um pouco mais de 18,44 bilhões de bilhões.

Os núcleos em PCs modernos são capazes de se comportar como um processador de 64 ou 32 bits, dependendo da versão do sistema operacional que você instalou.

O código de 64 bits tende a ser executado mais rapidamente que o código de 32 bits porque pode lidar com números maiores em andamento ou porque os núcleos de 64 bits têm mais registros para armazenar mais coisas sem precisar colocar coisas na memória externa . Embora não haja garantia de que o código de 64 bits funcionará mais rapidamente se o código não tiver sido gravado para aproveitar os recursos extras do processador.

A compilação em um sistema de 32 bits produzirá código diferente de um sistema de 64 bits. Você pode provar isso compilando o código assembly nos dois sistemas. Assumindo que seu arquivo C é myfile.c , tente gcc -S myfile.c em ambos os sistemas e compare myfile.s

O código bem escrito para um sistema de 32 bits deve ser compilado e executado em um sistema de 64 bits, mas nem todo código é bem escrito. Muitos programadores fazem suposições sobre o sistema que podem não ser verdadeiras: como largura de registro ou ordem de byte.

Sem acesso ao seu código-fonte, é difícil ver qual é o problema, mas um segmenation fault indica que foi feita uma tentativa de acessar a memória que não pertence ao programa. Isso pode, por exemplo, indicar que mem_ptr é um ponteiro de 32 bits que é bom em um sistema de 32 bits, mas precisa ser um ponteiro de 64 bits em um sistema de 64 bits.

    
por Warren Hill 18.03.2013 / 14:24