O Android é capaz de funcionar em três tipos diferentes de arquitetura de processador: Arm, Intel e MIPS. O primeiro é a arquitetura onipresente de hoje depois que a Intel abandonou suas CPUs para celulares, enquanto os processadores MIPS para telefones não são vistos há anos. Além disso, Arm é a arquitetura de CPU usada por todos os smartphones modernos nos ecossistemas Android e Apple. Os processadores Arm também estão chegando ao mercado de PCs por meio do Windows on Arm e da CPU M1 personalizada da Apple para Macs. Além disso, com a guerra de CPU Arm vs Intel prestes a esquentar muito, aqui está tudo o que você precisa saber sobre Arm vs x86.

Among Us e mais apps de iPhone estarão em Macs com Apple Silicon

Arm vs x86: Arquitetura da CPU explicada

A Unidade de Processamento Central (CPU) é o “cérebro” do seu dispositivo, mas não é exatamente inteligente. Uma CPU só funciona quando recebe instruções muito específicas – apropriadamente chamadas de conjunto de instruções – que diz ao processador para mover dados entre os registradores e a memória ou para realizar um cálculo usando uma unidade de execução específica (como multiplicação ou subtração). Além disso, blocos de hardware de CPU exclusivos requerem instruções diferentes. Eles tendem a aumentar com CPUs mais complexas e poderosas. Além disso, as instruções desejadas também podem informar o design do hardware, como veremos em breve.

Os aplicativos executados no seu telefone não são escritos nas instruções da CPU; isso seria uma loucura com os grandes aplicativos de plataforma cruzada de hoje que rodam em uma variedade de chips. Em vez disso, os aplicativos escritos em várias linguagens de programação de nível superior (como Java ou C ++) são compilados para conjuntos de instruções específicos para que sejam executados corretamente em CPUs Arm ou x86. Essas instruções são posteriormente decodificadas em operações de microcódigo dentro da CPU, que requer espaço de silício e energia. Se você deseja a CPU de menor potência, é fundamental manter o conjunto de instruções simples. No entanto, um desempenho mais alto pode ser obtido a partir de instruções e hardware mais complexos ao custo de energia. Esta é uma diferença fundamental entre as abordagens da Arm e da Intel para design de CPU.

Mais detalhes

Arm é baseado em RISC (Reduced Instruction Set Computing), enquanto Intel (x86) é CISC (Complex Instruction Set Computing). As instruções de CPU da Arm são razoavelmente atômicas, com uma correlação muito próxima entre o número de instruções e micro-ops. Além disso, o CISC, por comparação, oferece muito mais instruções, muitas das quais executam várias operações (como matemática otimizada e movimentação de dados). Isso leva a um melhor desempenho, mas mais consumo de energia decodificando essas instruções complexas.

Essa ligação entre as instruções e o design do hardware do processador é o que torna a arquitetura da CPU. Dessa forma, as arquiteturas de CPU podem ser projetadas para diferentes propósitos, como processamento extremo de números, baixo consumo de energia ou área mínima de silício. Esta é uma diferença chave quando olhamos para Arm vs x86 em termos de CPUs, já que o primeiro é baseado em menor potência, conjunto de instruções e hardware.

Arm vs x86: Arquiteturas de CPU modernas de 64 bits

Hoje, as arquiteturas de 64 bits são comuns em smartphones e PCs, mas nem sempre foi o caso. Os telefones não mudaram até 2012, cerca de uma década depois dos PCs. Em suma, a computação de 64 bits aproveita registros e endereços de memória grandes o suficiente para usar tipos de dados longos de 64 bits (1s e 0s). Além de hardware e instruções compatíveis, você também precisa de um sistema operacional de 64 bits, como o Android.

Os veteranos da indústria devem se lembrar da comoção quando a Apple lançou seu primeiro processador de 64 bits à frente de seus rivais Android. A mudança para 64 bits não transformou a computação do dia-a-dia. No entanto, é importante executar matemática de forma eficiente ao usar números de ponto flutuante de alta precisão. Os registros de 64 bits também melhoram a precisão da renderização 3D, a velocidade da criptografia e simplificam o endereçamento de mais de 4 GB de RAM.

Os PCs mudaram para 64 bits bem antes dos smartphones, mas não foi a Intel que cunhou a arquitetura x86-64 moderna (também conhecida como x64). Esse elogio pertence ao anúncio da AMD de 1999, que adaptou a arquitetura x86 existente da Intel. A arquitetura alternativa IA64 Itanium da Intel foi deixada de lado.

Mais detalhes

A Arm apresentou sua arquitetura ARMv8 de 64 bits em 2011. Em vez de estender seu conjunto de instruções de 32 bits, a Arm oferece uma implementação limpa de 64 bits. Para conseguir isso, a arquitetura ARMv8 usa dois estados de execução, AArch32 e AArch64. Como os nomes indicam, um é para executar código de 32 bits e outro para 64 bits. A beleza do design ARM é que o processador pode alternar perfeitamente de um modo para outro durante sua execução normal. Isso significa que o decodificador para as instruções de 64 bits é um novo design que não precisa manter a compatibilidade com a era de 32 bits, mas o processador como um todo permanece compatível com versões anteriores.

Arm’s Heterogeneous Compute venceu os dispositivos móveis

As diferenças arquitetônicas discutidas acima explicam parcialmente os sucessos e problemas atuais enfrentados pelos dois gigantes do chip. A abordagem de baixo consumo da Arm é perfeitamente adequada para os requisitos de energia térmica de design de 3,5 W (TDP) de dispositivos móveis, mas o desempenho aumenta para corresponder aos chips de laptop da Intel também. Enquanto isso, o típico Core i7 de 100W TDP da Intel ganha muito em servidores e desktops de alto desempenho, mas historicamente luta para ser escalonado abaixo de 5W. Veja a duvidosa programação do Atom.

Claro, não devemos esquecer o papel que os processos de fabricação de silício têm desempenhado na melhoria da eficiência energética na última década. Em termos gerais, transistores de CPU menores consomem menos energia. A Intel tem estado emperrada tentando superar seu processo interno de 14 nm de 2014. Naquela época, os chipsets dos smartphones mudaram de designs de 20 nm para 14, 10 e agora de 7 nm, com 5 nm esperados em 2021. Isso foi alcançado simplesmente alavancando a concorrência entre as fundições Samsung e TSMC.

No entanto, um recurso exclusivo da arquitetura da Arm foi particularmente útil para manter o TDP baixo para aplicativos móveis – computação heterogênea. A ideia é bastante simples: construir uma arquitetura que permita que diferentes partes da CPU (em termos de desempenho e potência) trabalhem juntas para melhorar a eficiência.

Mais detalhes

A primeira tentativa de Arm com essa ideia foi grande. LITTLE em 2011 com o grande Cortex-A15 e o pequeno núcleo Cortex-A7. A ideia de usar núcleos maiores de CPU fora de ordem para aplicativos exigentes e designs de CPU em ordem com eficiência de energia para tarefas em segundo plano é algo que os usuários de smartphones consideram natural hoje, mas foram necessárias algumas tentativas para resolver a fórmula. A Arm desenvolveu essa ideia com o DynamIQ e a arquitetura ARMAv8.2 em 2017, permitindo que diferentes CPUs fiquem no mesmo cluster, compartilhando recursos de memória para um processamento muito mais eficiente. DynamIQ também permite o design de CPU 2 + 6 que é cada vez mais comum em chips de gama média.

Os chips Atom rivais da Intel, sem computação heterogênea, não podiam se igualar ao equilíbrio de desempenho e eficiência da Arm. Demorou até 2020 para os projetos Foveros da Intel, Embedded Multi-die Interconnect Bridge (EMIB) e Hybrid Technolgy para produzir um design de chip competitivo – o Lakefield de 10 nm. Lakefield combina um único núcleo Sunny Cove de alto desempenho com quatro núcleos Tremont de baixo consumo de energia, junto com recursos gráficos e de conectividade. No entanto, mesmo este pacote é voltado para laptops conectados com um TDP de 7W, que ainda é muito alto para smartphones.

Hoje, Arm vs x86 é cada vez mais disputado no segmento de mercado de laptops TDP abaixo de 10W, onde a Intel aumenta e o Arm aumenta cada vez mais com sucesso. A notícia da Apple de que mudará para seus próprios chips Arm personalizados para Mac é um excelente exemplo do alcance de desempenho crescente da arquitetura Arm, graças em parte à computação heterogênea juntamente com otimizações personalizadas feitas pela Apple.

Núcleos e conjuntos de instruções personalizados do braço

Outra distinção importante entre Arm e Intel é que o último controla todo o seu processo do início ao fim e vende seus chips diretamente. A Arm simplesmente vende licenças. A Intel mantém sua arquitetura, design de CPU e até mesmo a fabricação totalmente interna. A Arm, em comparação, oferece uma variedade de produtos a parceiros como Apple, Samsung e Qualcomm. Eles vão desde designs de núcleo de CPU prontos para uso como o Cortex-A78, designs desenvolvidos em parceria por meio de seu programa Arm CXC e licenças de arquitetura personalizada que permitem que empresas como a Apple e Samsung construam núcleos de CPU personalizados e até mesmo façam ajustes no conjunto de instruções.

Construir CPUs personalizadas é um processo caro e complicado, mas feito corretamente pode levar a resultados poderosos. As CPUs da Apple mostram como o hardware personalizado e as instruções levam o desempenho do Arm para muito mais perto do x86 mainstream e até mais além. Embora os núcleos Mongoose da Samsung tenham sido mais controversos.

A Apple pretende substituir gradualmente as CPUs da Intel dentro de seus produtos Mac por seu próprio silício baseado em Arm. O Apple M1 é o primeiro chip neste esforço, alimentando o mais recente MacBook Air, Pro e o Mac Mini. O M1 apresenta algumas melhorias de desempenho impressionantes, sugerindo que os núcleos de alto desempenho do Arm são capazes de assumir o x86 em cenários de computação mais exigentes. Lembre-se, porém, de que as comparações da Apple são para CPUs do tipo laptop, em vez de desktops.

Mais detalhes

A arquitetura da Intel permanece na frente em termos de desempenho bruto no espaço de hardware do consumidor. Mas a Arm agora é muito competitiva em segmentos de produtos em que alto desempenho e eficiência energética continuam sendo fundamentais, o que inclui o mercado de servidores. No momento em que este artigo foi escrito, o supercomputador mais poderoso do mundo estava rodando em núcleos de CPU Arm pela primeira vez. Seu SoC A64FX foi projetado pela Fujitsu e o primeiro a executar a arquitetura Armv8-A SVE.

Compatibilidade de software

Arm vs x86: conjuntos de instruções, arquitetura e todas as principais diferenças explicadas
Arm vs x86: conjuntos de instruções, arquitetura e todas as principais diferenças explicadas – Foto: Reprodução/AndroidAuthority

Como mencionamos anteriormente, os aplicativos e softwares precisam ser compilados para a arquitetura de CPU em que são executados. O casamento histórico entre CPUs e ecossistemas (como Android no Arm e Windows no x86) significa que a compatibilidade nunca foi realmente uma preocupação, pois os aplicativos não precisavam ser executados em várias plataformas e arquiteturas. No entanto, o crescimento de aplicativos de plataforma cruzada e sistemas operacionais executados em arquiteturas de CPU múltiplas está mudando esse cenário.

Macs baseados em Arm da Apple, Chrome OS do Google e Windows on Arm da Microsoft são exemplos modernos em que o software precisa ser executado nas arquiteturas Arm e Intel. Compilar software nativo para ambos é uma opção para novos aplicativos e desenvolvedores que desejam investir na recompilação. Para preencher as lacunas, essas plataformas também contam com emulação de código. Em outras palavras, traduzir o código compilado para uma arquitetura de CPU para rodar em outra. Isso é menos eficiente e degrada o desempenho em comparação com aplicativos nativos, mas uma boa emulação é atualmente possível para garantir que os aplicativos funcionem.

Após anos de desenvolvimento, a emulação do Windows on Arm está em um estado muito bom para a maioria dos aplicativos. Os aplicativos Android são executados em Chromebooks Intel decentemente na maior parte também. A Apple tem sua própria ferramenta de tradução chamada Rosetta 2 para oferecer suporte a aplicativos Mac legados também. Mas, todos os três sofrem penalidades de desempenho em comparação com aplicativos compilados nativamente.

Arm vs x86: a palavra final

Durante a última década da rivalidade Arm vs x86, Arm ganhou como a escolha para dispositivos de baixo consumo de energia, como smartphones. A arquitetura agora também está avançando em laptops e outros dispositivos onde há demanda por maior eficiência de energia. Apesar de perder em telefones, os esforços de baixo consumo de energia da Intel também melhoraram ao longo dos anos, com Lakefield agora compartilhando muito mais em comum com os processadores Arm tradicionais encontrados em telefones.

Dito isso, o Arm e o x86 permanecem distintamente diferentes do ponto de vista da engenharia e continuam a ter pontos fortes e fracos individuais. No entanto, os casos de uso do consumidor entre os dois estão ficando confusos, à medida que os ecossistemas oferecem suporte cada vez mais às duas arquiteturas. No entanto, embora haja crossover na comparação Arm vs x86, é o Arm que certamente permanecerá a arquitetura de escolha para a indústria de smartphones no futuro previsível. A arquitetura também está se mostrando uma grande promessa para computação e eficiência de classe de laptop.

Fonte: AndroidAuthority

O que você achou da comparação Arm vs x86? Deixe seu comentário. Além disso, não se esqueça de entrar no nosso grupo do Telegram. É só clicar no botão “Canal do Telegram” no topo direito da página.