ARM VS x86, explicando as diferenças

Com a recente entrada da NVIDIA no ramo das CPUs e a adoção do método ARM, decidi fazer uma pequena pesquisa, comparando as arquiteturas, demonstrando suas vantagens e desvantagens.

x86-64

São os nossos conhecidos processadores Intel e AMD.

Em informática, x86 ou 80×86 é o nome genérico dada à família de processadores baseados no Intel 8086, da Intel Corporation.

A arquitetura é chamada x86 porque os primeiros processadores desta família eram identificados somente por números terminados com a seqüência “86”.

Em outras palavras podemos dizer que o x86 termo refere-se a uma família de arquitetura do conjunto de instruções, baseado no Intel 8086.

Intel%20QD8086-2%20-%20haut.jpg

Intel 8086, o primeiro x86

Derivando dessa arquitetura, a AMD desenvolveu o x86-64, um grande conjunto de instruções que permitiu maior espaço de endereçamento, possibilitando ler uma maior quantidade de memória RAM, entre outras implementações.

Wikipédia

phenom-die.jpg

Die de um Phenom X86-64

ARM

A sigla ARM vem de Advanced Risc Machine, nome da empresa criada para licenciar a fabricação de processadores nessa tecnologia. A diferença dos processadores ARM para os x86-64, usados em PC’s, é que os ARM são projetados para terem consumo mínimo de energia, baixo aquecimento, sem muita perda de poder de processamento.

arm-processor.jpg

Por incrível que pareça, os processadores ARM são os mais utilizados no mundo, estão presentes desde fornos de microondas até sistemas de controle embutidos, brinquedos, HD’s, enfim, tudo que precisa ser pequeno, gastar pouca energia e processar informações de forma eficiente.

Como eles conseguem isso?

Primeiro, criando uma arquitetura muito mais simples que os processadores x86. Os x86 possuem vários estágios para processamento, ou seja, enquanto uma parte carrega uma instrução na memória, outra parte processa os dados que essa instrução vai receber, outra aloca memória cache para receber a saída, outra prevê os outros de que essa instrução vai precisar ser concluída, etc. Até juntar tudo e dar o resultado. Eles possuem também um programa interno (microcode) implementador das instruções, permitindo que as mesmas possam ser melhoradas pelo fabricante. Tudo isso torna o x86 muito rápido e eficiente, porém faz com que ele gaste mais espaço físico e consuma mais energia.

ARM%2032nm%20die%20420.JPG

Die de um ARM

Já os ARM não possuem esse microcode, possuem menos estágios de processamento (em geral 3 a 8, contra 16 a 32 nos x86), entre outras simplificações. Mas para compensar a perda de desempenho gerada pela simplificação da arquitetura, os ARM possuem algumas soluções que tornam a execução dos códigos mais eficiente.

O conjunto de instruções é capaz de processar (em certos casos) mais dados por instrução. Como exemplo:

Você quer comparar os valores A e B, e se A for menor que B, somar 1 em A.

Num x86 você usaria uma instrução para comparar e outra instrução para somar. No ARM existem instruções condicionais, ou seja, tarefas com a comparação já embutida. Isso torna o código mais “denso”, com instruções que desempenham mais de uma função ao mesmo tempo. Por essas razões, programas para PC não podem rodar em ARM, pois as instruções de máquina são diferentes. Mas pode-se, por exemplo, pegar o código do Winamp (com algumas alterações devido ao Sistema Operacional) compilar para ARM, tendo assim o Winamp em um Pocket PC. Ou seja, cada vez mais, o que vem separando um PC de um PPC é a arquitetura e não a aplicação, pois esses pequeninos estão cada vez mais dando conta do recado.

Gostou? Nos ajude compartilhando!
Postado por
Notícias sobre games, jogos e tecnologia!
Siga em:
VEJA TAMBÉM
Assine nosso Newsletter
Assine nossa newsletter e receba nossa seleção de conteúdo sobre games e entretenimento diretamente em seu email.
DEIXE SEU COMENTÁRIO
Gostou? Discordou? Comente! Sua opinião vale ouro e nos ajuda a melhorar cada vez mais!
SELEÇÕES ESPECIAIS
Das pérolas escondidas aos grandes sucessos, confira nossas listas e descubra novos games!
Img de rastreio
Localize algo no site!