segunda-feira, 8 julho, 2024
spot_img
Mais

    Últimos Posts

    spot_img

    Diferenças entre processadores x86 e ARM

    Os processadores controlam todos os outros componentes de um PC, e hoje em dia as arquiteturas mais comuns são a x86 e ARM. As unidades de processamento x86 utilizam instruções complicadas para gerenciar um PC, sendo necessário mais camadas e interfaces entre o comando e o efeito, enquanto as unidades de processamento ARM utilizam instruções reduzidas, mais próximas da linguagem binária.

    Além disso, enquanto as unidades de processamento x86 operam com peças independentes conectadas à placa-mãe por barramentos, as ARM incluem todo o hardware em um mesmo sistema. Para compreender melhor as principais diferenças entre essas arquiteturas, é preciso primeiro compreender como elas surgiram.

    3 diferenças entre Unidades de Processamento X86 e ARM

    A arquitetura x86 foi criada pela Intel em 1978, como uma evolução dos processadores Intel 8086 e 8088. Possivelmente o maior diferencial dessa arquitetura, além das evoluções de hardware, foi a introdução da retrocompatibilidade com aplicações nativas de processadores 8086.

    Paralelamente, estudos da Universidade da Califórnia (UC Berkeley) indicavam que chips com projetos mais simples, utilizando menos instruções predefinidas, poderiam ter desempenho até superior aos x86. Motivada por esses estudos e adaptando o projeto Berkeley RISC, plataforma utilizada pela Universidade para o ensino de programação de baixo nível, a Acorn Computers desenvolveu o primeiro processador ARM em 1985.

    Em 1993, a Apple firmou uma parceria com a Acorn para evoluir os núcleos ARM, resultando nos primeiros palmtops Apple Newton. Este foi o produto que Steve Jobs utilizou de base para criar os iPhones, com processadores Apple A4 baseados em núcleos ARM Cortex-A8 e que alimenta o segmento mobile da empresa desde então.

    1. Conjuntos de instruções: CISC x RISC

    De forma bastante resumida, para utilizar qualquer tipo de computador, de PCs gamer a SmartTVs, o sistema operacional e outros aplicativos necessitam interagir com a CPU para solicitar que cada peça execute a função para qual foi projetada. Para isso, as unidades de processamento contam com ações predefinidas que eles podem executar: os conjuntos de instruções.

    Com a chegada das Unidades de Processamento x86, todos os processadores com essa arquitetura utilizavam os mesmos conjuntos complexos de instruções (CISC) para interface entre hardware e software. As instruções mais complexas possibilitaram introduzir controladores independentes para cada componente do PC, como armazenamento, som e placa de vídeo, que necessitam de mais ciclos do CPU para serem executadas.

    Isso viabilizou a utilização de componentes modulares, possibilitando atualizações pontuais, aumentando a longevidade dos PCs domésticos. Dessa forma, até hoje as Unidades de Processamento modernos podem executar os mesmos programas dos primeiros processadores x86, com máquinas virtuais apenas emulando os hardwares e barramentos antigos, mas, essencialmente, mantendo os mesmos tipos de comandos.

    Por sua vez, as Unidades de Processamento ARM (Advanced RISC Machine) são fabricadas em padrão de SoC (System-on-a-Chip), com todos os componentes e controladores embarcados em um mesmo circuito integrado. Por isso, elas conseguem trabalhar com conjuntos reduzidos de instruções (RISC), mais simples e próxima da linguagem de máquina, que geralmente utilizam apenas um ciclo do CPU para serem executadas.

    2. Placas com conectores x SoC

    Sem alguns subterfúgios e adaptações, unidades de processamento ARM não conseguiriam rodar os mesmos softwares de máquinas x86. Isto limita inclusive a capacidade de trabalhar nas atuais conformidades de placas-mãe com barramentos separados e controladores dedicados para cada componente.

    Essa é justamente a principal razão dos dispositivos da Apple com processadores M1 — baseados em ARM — em diante não oferecerem soluções de upgrade de memória ou armazenamento. Todos esses componentes são soldados diretamente na PCB, sem portas de expansão.

    A necessidade de interagir com controladores independentes e placas com portas modulares para cada hardware adicional exige que as Unidades de Processamento x86 utilizem padrão CISC, enquanto as ARM, com controladores integrados em um mesmo circuito, podem trabalhar com instruções reduzidas.

    3. Desempenho x Eficiência

    Como mencionado, as Unidades de Processamento x86 foram projetadas para serem compatíveis com hardwares anteriores em termos de conjuntos de instruções e melhorar a escalabilidade de computadores pessoais. Isso permite que essas Unidades de Processamento executem tarefas mais complexas e intensas, ao direcionar fluxos de trabalho para outros componentes com controladores dedicados.

    O principal problema dessa arquitetura é que, por si só, ela consome muito mais energia, exatamente por ser mais intensa. Além disso, diversos hardwares independentes trabalhando no limite de suas capacidades também aumentam o consumo total do sistema.

    As Unidades de Processamento ARM surgiram para atuar em circuitos integrados de baixo consumo energético e alta especialização de tarefas. Essa especialização faz com que os chips ARM sejam extremamente mais eficientes nos processos para que foram projetados, mas limita sua capacidade de realizar outras operações.

    Como as instruções dos processadores ARM são reduzidas e mais próximas da linguagem de máquina (assembly), a programação para essas plataformas é mais complexa, mas garante uma carga de trabalho mais otimizada e específica para o processador. Isso resulta em um consumo de energia muito menor quando comparado aos x86.

    Por essa razão, sistemas voltados para atividades especializadas e que dependem de altíssima eficiência energética, como servidores de IA e HPC (Computação de Alto Desempenho), costumam utilizar processadores ARM, como as Unidades de Processamento Amazing Grace da Nvidia.

    Evolução das arquiteturas de software

    No entanto, as arquiteturas de softwares também evoluíram consideravelmente na última década. Os primordiais chips ARM para PCs dependiam de sistemas operacionais projetados exclusivamente para eles, como o Windows RT e Ubuntu ARM, enquanto hoje Windows 10 e 11 já conseguem rodar aplicações x86 em chips ARM não modificados por meio de emulações.

    Com a introdução de módulos de IA aos processadores domésticos, essas soluções via software tendem a ficar ainda mais otimizadas, a ponto de a arquitetura ARM ser cogitada com uma substituta em potencial para a x86, mesmo em computadores pessoais.

    Teoricamente, com softwares mais avançados e eficientes em realizar a interface entre processadores ARM e aplicações mais complexas, é possível criar sistemas com todos os benefícios dessa arquitetura, entre tamanho, eficiência energética e cargas de trabalho mais otimizadas em PCs mais versáteis.

    O único ponto que, até o momento, ainda é um fator limitante para adotar amplamente essa arquitetura é a questão da escalabilidade dos componentes. Sem controladores dedicados, pode ser mais difícil garantir a possibilidade de trocar peças como placas de vídeo e memória RAM em computadores com Unidades de Processamento ARM.

    spot_img

    Últimas Postagens

    spot_img

    Não perca

    Brasília
    céu limpo
    15.5 ° C
    15.5 °
    15.5 °
    63 %
    1kmh
    0 %
    seg
    28 °
    ter
    29 °
    qua
    30 °
    qui
    29 °
    sex
    22 °

    3.144.87.133
    Você não pode copiar o conteúdo desta página!