Qual é a diferença entre os processadores ARM e x86?
ARM processadores (como o nome indica) foram projetados principalmente com a idéia de economizar energia em mente. Eles consomem menos energia, o que os torna mais populares em smartphones e outros dispositivos móveis, onde a duração da bateria é muito importante. Os processadores x86 são projetados originalmente para serem usados em desktops, laptops e servidores. A diferença de desempenho entre CPUs ARM e x86 pode ser vista em benchmarks como Geekbench ou Geekbench 3.
processadores ARM são normalmente de 32 bits e os processadores x86 são de 64 bits. Isto não quer dizer que você não possa comprar um processador ARM de 64 bits, mas o contrário é mais incomum. Na verdade, provavelmente isso nunca aconteceria porque uma arquitetura maior permite conjuntos de instruções mais complexos, velocidade de execução mais rápida, etc.
A principal diferença entre esses dois é a arquitetura do conjunto de instruções (ISA), que basicamente descreve o que o processador pode fazer e como ele o faz. Uma explicação muito simplificada de ISA seria como esta: O X86 usa registros inteiros para armazenar números enquanto o ARM usa memória para armazená-los. Por exemplo, se um valor inteiro armazenado no registro tem seu bit de sinal ligado, então o processador assumirá que o número é negativo, a menos que especificado de outra forma. Se esse número é armazenado na memória, o processador não pode assumir nada sobre seu sinal a menos que você o diga explicitamente para.
Outra diferença entre ARM e X86 é o endereçamento na memória. Isso significa simplesmente que os processadores x86 são capazes de endereçar mais de 4 GBs de RAM enquanto o ARM está limitado a cerca de 1-3 GBs, dependendo da arquitetura específica do conjunto de instruções que eles usam. A Intel lançou processadores dual-core e até mesmo quad-core, mas como o x86 não pode endereçar mais do que 4GBs de RAM, esses chips ainda têm problemas para acessar toda a memória de uma só vez (o que é particularmente problemático quando se usa Windows). Além disso, em um sistema de 64 bits, cada programa estará rodando em um espaço de endereços separado, portanto ter espaço suficiente para múltiplos programas também se torna um problema. No entanto, a introdução do Windows 8 deve ajudar a corrigir esses problemas, pois ele tem versões de 64 bits e pode endereçar mais de 4GBs de RAM.
Outra diferença entre ARM e x86 é a forma como as instruções são executadas. Em um processador x86, as instruções são primeiro decodificadas em micro-operações o que torna as coisas mais rápidas mas este processo leva tempo (chamado de latência). Em outras palavras, há um atraso antes que um comando seja realmente executado em um sistema x86, ao contrário de um processador ARM onde as instruções são diretamente traduzidas para o código da máquina sem qualquer tipo de estágio de decodificação. Isto também significa que haverá alguma latência em geral quando se lida com código novo ou não otimizado; entretanto, esta questão não afeta todos os programas igualmente.
Artigos semelhantes
- Por que os processadores ARM são mais eficientes em termos de energia (desempenho/watt) do que os processadores x86?
- Qual é a diferença real entre as arquiteturas x86, ARM e MIPS?
- Qual é a diferença entre Intel x86 vs ARM Memory Management?
- Existe alguma diferença entre um SO Android rodando em um processador baseado em ARM e um processador baseado em x86?