Mac PC

Emulação Rosetta 2 vs Windows x86 da Apple: tudo explicado

Rosetta 2 de Apple vs emulación Windows x86: todo explicado

A Apple fez história quando lançou os novos MacBooks com seu processador interno Apple M1 baseado em ARM, substituindo os processadores Intel depois de mais de uma década. Com uma transição tão grande, havia uma tarefa gigantesca na mão da Apple para manter a compatibilidade de aplicativos no M1. No entanto, parece que a Apple conseguiu isso por meio de sua poderosa camada de tradução – Rosetta 2. Já vimos como o Windows no ARM falhou em atrair usuários devido a problemas de compatibilidade com aplicativos x86. Então, o que torna o Rosetta 2 tão poderoso e por que a emulação do Windows x86 parece não ter essa promessa? Bem, para encontrar a resposta, vamos em frente e comparar a Emulação Rosetta 2 da Apple vs Windows x86 lado a lado.

Emulação Rosetta 2 vs Windows x86 da Apple: tudo o que você precisa saber

Aqui, mencionamos todas as seções que abordamos para que você possa encontrar facilmente todas as informações. Você pode clicar no link para mover-se facilmente entre as diferentes seções.

Como funciona o Rosetta 2 da Apple?

Após a introdução do Rosetta em 2006 durante a transição PowerPC-Intel, a Apple anunciou um Rosetta 2 muito aprimorado em 2020 para uma transição perfeita do Intel-Apple Silicon. Para os não iniciados, Rosetta 2 é o camada de tradução que permite usar aplicativos baseados em Intel em Apple Silicon Macs. Mas como essa poderosa camada de tradução funciona? Há pouca informação sobre este assunto, então tentaremos dissecar o Rosetta 2 e entender como o Rosetta 2 funciona.

Emulação Rosetta 2 da Apple vs Windows x86

Em primeiro lugar, o Rosetta 2 é uma camada de tradução, o que significa que traduz os conjuntos de instruções da arquitetura Intel x86 para a arquitetura Apple Silicon baseada em ARM. Quando digo conjunto de instruções, significa os comandos (também chamados de código de máquina em computação) necessários para executar um programa de uma arquitetura em outra. Desde As arquiteturas x86 e ARM são drasticamente diferentesessa tradução é necessária para o bom funcionamento dos aplicativos baseados em Intel.

Agora vem a pergunta: como essa tradução acontece e como a Rosetta está conseguindo executar aplicativos x86 pesados ​​em Macs ARM sem problemas? Você pode atribuir o motivo principal ao Compilador antecipado (AOT) que a Apple implantou no Rosetta 2. Anteriormente, com o Rosetta em 2006, a Apple estava usando apenas o compilador Just-in-time (JIT) para tradução binária estática. Agora, com o compilador AOT no Rosetta 2, a Apple Silicon é capaz de traduzir e compilar o código em tempo real por meio da tradução binária dinâmica.

Aplicativo em execução Rosetta 2

O que isso significa é que o Rosetta 2 agora usa o compilador AOT e JIT, dependendo do cenário. Mesmo antes de você abrir um aplicativo, o Rosetta 2 usa o compilador AOT durante a instalação do aplicativo para traduzir o código. Isso torna o aplicativo baseado em Intel comportar-se como um aplicativo Universal feito nativamente para o Apple Silicon. Nos casos em que os parâmetros não são conhecidos ou os valores serão gerados em tempo de execução, o Rosetta 2 utiliza JIT para tradução em tempo real.

Em conjunto, o Rosetta 2 é capaz de traduzir conjuntos de instruções x86 para código específico de ARM muito antes e de maneira mais rápida, reduzindo a diferença de desempenho entre aplicativos nativos universais e aplicativos baseados em Intel para uma margem estreita.

Como funciona a emulação do Windows x86?

Ao contrário da Apple, a Microsoft não adotou totalmente o ARM e houve um desenvolvimento lento nessa frente. A empresa até agora licenciou apenas alguns laptops Windows baseados em ARM, incluindo o Surface Pro X e alguns PCs sempre conectados da HP, Lenovo, etc. A principal razão por trás da lenta adoção de laptops Windows baseados em ARM é aparentemente o falta de suporte para aplicativos x86-64 bits (64 bits baseados em Intel) que cobrem a maior parte dos aplicativos modernos do Windows.

A partir de agora, os laptops Windows baseados em ARM suportam apenas aplicativos nativos criados no conjunto de instruções ARM e aplicativos baseados em Intel de 32 bits que são executados por meio da emulação do Windows x86. Você pode concluir que A emulação do Windows x86 tem sido um gargalo para uma transição suave para ARM. Chegando à pergunta, por que a Microsoft não consegue fazer algo como o Rosetta 2 no Windows 10?

Emulação Rosetta 2 vs Windows x86 da Apple: tudo explicado
IrfanView rodando através do emulador x86 no Windows 10X

Bem, para responder à sua pergunta, ele já faz. Ao contrário da percepção popular, A Microsoft realmente usa a mesma abordagem que o Rosetta— traduzindo os binários para código de máquina por meio de sua camada WOW64. De acordo com um documento da Microsoft de 2018, “A camada WOW64 do Windows 10 permite que o código x86 seja executado na versão ARM64 do Windows 10. A emulação x86 funciona compilando blocos de instruções x86 em instruções ARM64 com otimizações para melhorar o desempenho. Um serviço armazena em cache esses blocos de código traduzidos para reduzir a sobrecarga de tradução de instruções e permitir a otimização quando o código for executado novamente.”

Além disso, em setembro de 2020, a Microsoft anunciou que um nova emulação x86 está chegando para laptops Windows baseados em ARM no próximo ano. Além disso, é também trará suporte para aplicativos de 64 bits baseados em Intel em silício ARM. Quanto ao compilador, há muito pouca informação sobre este assunto. No entanto, sabe-se que A Microsoft tem usado JIT para tradução e compilação em tempo real. Teremos que esperar e ver o que o novo emulador x86 tem na loja quando for lançado no próximo ano.

Emulação do Rosetta 2 vs Windows x86 da Apple: desempenho de tradução

Embora a nova emulação do Windows x86 deva chegar no próximo ano, existem alguns outros problemas que tornam a tradução do x86 no Windows muito mais lenta que o Rosetta. Em primeiro lugar, o macOS tem que suportar apenas duas arquiteturas: ARM de 64 bits e x86 de 64 bits. A Apple acabou com o suporte a aplicativos de 32 bits em 2019. Em comparação, o Windows no ARM oferece suporte à arquitetura ARM de 32 bits e 64 bits; x86 de 32 bits e x86 de 64 bits que será lançado no próximo ano. Com essa sobrecarga de recursos, é difícil tornar a tradução mais rápida.

Emulação Rosetta 2 da Apple vs Windows x86

Em seguida, o Windows tem que manter a compatibilidade com versões anteriores com milhares de programas, plugins, ferramentas, bibliotecas desatualizadas e outros enfeites. Considerando que, o controle rígido da plataforma da Apple garante que os desenvolvedores estejam sempre na estrutura moderna para desenvolver aplicativos, o que, por sua vez, ajuda a fazer uma transição tão grande. Além disso, como a Apple já fez uma transição bem-sucedida de PowerPC para Intel Macs (2006-2009) no passado, ela tem uma experiência muito melhor para puxar algo assim.

Emulação Rosetta 2 vs Windows x86 da Apple: tudo explicado

Por fim, a diferença de desempenho entre o Snapdragon 8cx da Qualcomm (encontrado em laptops ARM baseados em Windows) e o Apple M1 é significativo. Mesmo o mais recente Snapdragon 888 está pelo menos uma geração atrás do Apple A14 Bionic. Há boas notícias embora. A Qualcomm anunciou a próxima iteração do processador de desktop – o Snapdragon 8cx Gen 2 5G – em setembro, e estará disponível em laptops Windows baseados em ARM no próximo ano. A combinação de um novo chip e emulação aprimorada pode fazer o truque para a Microsoft.

Emulação Rosetta 2 da Apple vs Windows x86: Qual é o vencedor?

É claro que o Rosetta 2 é bastante poderoso e a Apple fez um trabalho fantástico ao trazer suporte a aplicativos para programas baseados em Intel. Atualmente, o Windows em ARM pode não parecer tão promissor, mas dado o anúncio da Microsoft do novo método de emulação, certamente aumenta a esperança para os usuários do Windows. Resta saber se a Microsoft supera a Apple no próximo trimestre. De qualquer forma, isso é tudo de nós. Se você tiver alguma dúvida, comente abaixo e nos avise.

Similar Posts

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *