64-bit CPU Architecture
x86 tradicionalmente visa o desempenho de pico sobre tudo o resto, o que é uma diferença chave com os processadores Arm que visam uma melhor eficiência energética. No mundo de hoje, temos arquitecturas de 64 bits em geral nos smartphones e PCs. Esta mudança não veio tão rápido, foi por volta de 2012 que os telefones também fizeram a transição, mas isto não mudou a forma como usamos os dispositivos, apenas os fez lidar melhor com as coisas. Hoje ambas as arquiteturas suportam 64-bit mas é mais relevante nos smartphones.
PCs mudaram para 64-bit bem antes dos smartphones, mas não foi a Intel que cunhou a arquitetura x86-64 moderna (também conhecida como x64). Essa distinção pertence ao anúncio da AMD de 1999, que adaptou a arquitetura x86 existente da Intel.
ARM Architecture
ARM é baseada em RISC (Reduced Instruction Set Computing) enquanto que a Intel (x86) é baseada em CISC (Complex Instruction Set Computing). As instruções da CPU do Arm são razoavelmente atômicas, com uma correlação muito próxima entre o número de instruções e microops. A CISC, por comparação, oferece muito mais instruções, muitas das quais executam múltiplas operações (tais como matemática otimizada e movimentação de dados). Isto leva a um melhor desempenho, mas mais consumo de energia decodificando estas instruções complexas.
Arm introduziu sua arquitetura ARMv8 64-bit em 2011. Em vez de estender seu conjunto de instruções de 32 bits, 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 implicam, um é para executar código 32-bit e outro para 64-bit. A beleza do design do ARM é que o processador pode trocar sem problemas de um modo para o outro durante sua execução normal. Isto 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, ainda assim o processador como um todo permanece retrocompatível.
A vitória do ARM no ecossistema móvel
As diferenças arquitetônicas discutidas acima explicam parcialmente os sucessos e problemas atuais enfrentados pelos dois chips behemoths. A abordagem de baixa potência do braço é perfeitamente adequada para os requisitos de potência de projeto térmico (TDP) de 3,5W do celular, mas o desempenho também é escalonado para corresponder aos chips de laptop da Intel. Enquanto isso, o Core i7 de 100W TDP típico da Intel ganha muito em servidores e desktops de alto desempenho, mas historicamente luta para descer abaixo de 5W.
Uma característica única da arquitetura Arm tem sido particularmente fundamental para manter o TDP baixo para aplicações móveis, computação heterogênea. A idéia é simples o suficiente, construir uma arquitetura que permita que diferentes partes da CPU (em termos de desempenho e potência) trabalhem juntas para melhorar a eficiência. O Multiprocessamento Heterogêneo (HMP) já é grande no espaço Android, veja chips como o Snapdragon 810, Exynos 7420 ou Helio X20, mas o Heterogêneo Compute (HC) é a próxima evolução.
Vejam, os processadores podem ser desenhados para realizar certas tarefas de forma mais eficiente, mas um único desenho luta para ser grande em tudo. Sua CPU típica pode ser boa em processamento serial, enquanto uma GPU pode lidar com fluxos de dados paralelos e um DSP é mais bem otimizado para triturar números com alta precisão em tempo real. Com uma gama maior de opções para escolher, a teoria é que escolher o melhor processador para qualquer tarefa específica resultará em melhor desempenho e eficiência energética.
O computador mais rápido do mundo na hora de escrever é baseado em ARM!
Fugaku é agora o supercomputador mais rápido do mundo. Como parte do projeto TOP500, o computador Fugaku do Japão foi classificado como o mais rápido do mundo e é alimentado com o processador A64FX. A Fugaku está localizada no RIKEN Center for Computational Science em Wakō, Japão.
Compatibilidade de software
Aplicações e software têm que ser compilados para a arquitetura de CPU em que rodam, historicamente os ecossistemas como o Android no Arm ou o Windows no x86 não têm problemas rodando em múltiplas plataformas ou arquiteturas. Os Macs baseados em Arm da Apple, o sistema operacional Chrome do Google e o Windows on Arm da Microsoft são todos exemplos modernos onde o software precisa ser executado em ambas as arquiteturas Arm e Intel. A compilação de software nativo para ambos é uma opção para novos aplicativos e desenvolvedores dispostos a investir na recompilação. Para preencher as lacunas, estas plataformas também contam com a emulação de código. Em outras palavras, a tradução do código compilado para uma arquitetura de CPU para rodar em outra. Isto é menos eficiente e degrada a performance em comparação com aplicações nativas, mas atualmente é possível uma boa emulação para garantir que as aplicações funcionem.
Após anos de desenvolvimento, a emulação do Windows on Arm está em um estado bastante bom para a maioria das aplicações. Os aplicativos Android rodam em Intel Chromebooks decentemente para a maioria das aplicações também. Teremos que esperar e ver se os Macbooks Arm rodam também.
Espero que você tenha gostado do artigo e tenha conseguido a informação que queria dele se assim me seguir para mais posts como este no futuro. Estou a fazer o meu melhor para fornecer informações valiosas para todos os que o procuram.