A Intel está se preparando para o que a empresa considera o “próximo passo importante” na evolução do conjunto de instruções da arquitetura x86 original (ISA). A empresa com sede em Santa Clara está expandindo o número de registros para operações x86 de propósito geral, ao mesmo tempo em que introduz um novo conjunto de instruções vetoriais abrangente com base no renomado ISA AVX-512.
Conforme explicado no site oficial da Intel para desenvolvedores, a arquitetura x86 agora é utilizada em data centers, computadores pessoais e em vários outros ambientes que requerem CPUs orientadas para o desempenho e cargas de trabalho computacionais pesadas. Originalmente introduzido em 1978 com a CPU 8086, o ISA x86 original apresentava apenas oito registros de propósito geral de 16 bits, que foram posteriormente duplicados em número e quadruplicados em tamanho.
Os registros desempenham um papel crítico em uma CPU, pois armazenam os bits de dados em que o processador trabalha ativamente em um determinado momento. É por isso que a Intel apresenta a tecnologia Extensões de Desempenho Avançado (APX) como um passo evolutivo significativo para o ISA x86. Ela expande todo o conjunto de instruções x86, concedendo acesso a mais registros e introduzindo novos recursos para melhorar o desempenho geral da CPU.
Leia também: Intel e ASUS juntas em acordo para sistemas NUC de 10ª a 13ª geração
De acordo com a Intel, a APX dobra o número de registros x86 de propósito geral de 16 para 32, fornecendo aos compiladores mais espaço para armazenar dados. Em comparação com um programa binário compilado para o ISA Intel x64 “baseline”, a corporação explica que o código compilado com APX contém “10% menos operações de carregamento e mais de 20% menos operações de armazenamento”.
Em termos simples, o acesso aos registros é mais rápido e consome “significativamente menos energia dinâmica” em comparação com operações complexas de carregamento e armazenamento. Essa eficiência aprimorada nos modelos futuros de CPU Intel poderia resultar em níveis de desempenho mais altos. A APX também expandirá o conjunto de instruções condicionais do ISA x86, que foi introduzido pela primeira vez com o processador Pentium Pro com as instruções CMOV/SET.
Essas instruções são amplamente utilizadas pelos compiladores atuais, e a APX aparentemente melhora as capacidades de previsão de ramificação das CPUs Intel. Segundo a Intel, os programadores podem aproveitar os recursos da APX simplesmente recompilando seu código, pois não são esperadas mudanças no código-fonte. A APX mais uma vez demonstra a vantagem das “codificações de instruções de comprimento variável do x86”, com novos recursos aprimorando todo o ISA por meio de “apenas mudanças incrementais” no silício subjacente para decodificação de instruções em hardware.
Além da APX, as futuras gerações de CPUs Intel incluirão o novo ISA AVX10. Essa tecnologia, como explicado no documento oficial, é uma nova implementação importante do conjunto de instruções vetoriais AVX-512 proposto pela Intel em 2013. O novo ISA estabelecerá um “conjunto comum e convergente de instruções vetoriais” em todas as arquiteturas de CPU Intel, tornando-o suportado em todos os processadores futuros, incluindo núcleos de desempenho (P-cores) e núcleos eficientes (E-cores).
A Intel introduziu inicialmente o suporte a instruções vetoriais AVX-512 em CPUs Core de 12ª geração para consumidores, mas eles só funcionavam em unidades P-core e foram posteriormente desativados inesperadamente com uma atualização de microcódigo do firmware. Entre outras coisas, as extensões vetoriais para o ISA x86 mostraram-se extremamente populares entre os desenvolvedores que tentam emular arquiteturas complexas de consoles modernos, como o PlayStation 3 (RPCS3).
A extensão AVX10 do ISA x86 oferecerá suporte a todas as extensões de instruções AVX (vetoriais) introduzidas anteriormente, com um comprimento máximo de registro vetorial de 256 bits. A versão inicial do AVX10 (AVX10.1) não incluirá novas instruções; seu único propósito é facilitar a transição do AVX-512 para a implementação adequada compatível com todos os núcleos (P-cores, E-cores) conhecida como AVX10.2.