Publicidade

Skymont | Conheça a fundo os novos núcleos de eficiência da Intel

Por  • Editado por Jones Oliveira | 

Compartilhe:
Felipe Vidal/Canaltech
Felipe Vidal/Canaltech
Tudo sobre Intel

A Intel apresentou a nova arquitetura de núcleos Lion Cove, de desempenho, e Skymont, de eficiência, presente nos CPUs Intel Core Ultra 200. Especificamente no caso dos Skymont, a reestruturação visa sanar problemas ao executar alguns tipos de instruções, presentes desde a arquitetura Tremont para chips de baixo consumo que inspirou os E-core dos primeiros Alder Lake.

Uma das maiores vantagens da evolução dos núcleos de eficiência (núcleos-E / E-core) é que eles passam a conseguir rodar mais tarefas do pipelining de execução, reduzindo a dependência de hyperthreading em núcleos de desempenho. 

O Canaltech participou do Intel Tech Tour Taiwan 2024 na semana que antecedeu a Computex 2024. Durante o evento, a Intel apresentou as principais alterações da nova arquitetura de núcleos, ressaltando principalmente o que muda para melhorar a escalabilidade de núcleos nas novas gerações.

Canaltech
O Canaltech está no WhatsApp!Entre no canal e acompanhe notícias e dicas de tecnologia
Continua após a publicidade

Frontend mais amplo

Até os núcleos Crestmont, o frontend dos E-core contava com dois clusters de execução, com capacidade de decodificar até 32 bytes de até 3 instruções por ciclo. Nos novos núcleos Skymont, a Intel adicional um terceiro cluster, totalizando uma capacidade de 96 bytes de até instruções, aumento de 50% no fluxo de dados por ciclo computacional.

Em termos de quantidade de transistores, seria mais barato apenas ampliar a largura de execução adicionando uma via a mais em cada cluster, criando um arranjo de dois clusters com 4 vias. Entretanto, os conjuntos de instruções (ISA) x86 trabalham em sua maioria novos “galhos” — ou ramificações — de instrução a cada 6 instruções, e adicionar um novo cluster de 3 instruções faz mais sentido pensando no pipeline de execução.

Mais desempenho no branch prediction (predição de ramificações)

A predição de ramificações, ou branch prediction, é uma técnica de processamento que, como o nome já sugere, prevê quando uma instrução irá gerar ramificações condicionais, dependendo do tipo de instrução no pipeline. Ao entregar um frontend de execução maior, é preciso também melhorar o desempenho no sistema de branch prediction.

Nos núcleos Gracemont dos chips Alder Lake, o sistema trabalhava com duas janelas de 64 bytes para predição de ramificações, exigindo dois ciclos. Já nos núcleos Crestmont, da geração seguinte, a Intel ampliou a janela de checagem para 128 bytes, mas da forma como foi implementada, a nova janela acabou limitando o processo apenas a blocos de 128 bytes alinhados, também exigindo um ciclo adicional em caso de conjuntos desalinhados ou menores.

Continua após a publicidade

Nos novos núcleos Skymont, a Intel manteve a checagem de 128 bytes da geração anterior, mas quebrou a linha de cache em dois blocos de 64 bytes, permitindo alimentar o frontend de forma mais ágil, em menos ciclos e com latência reduzida.

Nanocode

Em linguagem de baixo nível, os microcódigos são conjuntos complexos de instruções que combinam diversas instruções individuais sequenciais ou subordinadas em um único código que entra no pipeline de execução. Até a geração Crestmont de E-cores, um cluster de execução era bloqueado de processar instruções isoladas e microcódigos simultaneamente, independentemente de haver pistas de execução disponíveis.

Continua após a publicidade

Isso porque a Intel limitava a capacidade dos núcleos de eficiência para executar microcódigos, gerando um gargalo de desempenho considerável. Nos núcleos Skymont, a Intel implementou o conceito de “nanocódigos”, que libera os recursos das linhas de execução para processar simultaneamente microcódigos ou instruções simples em qualquer um dos três clusters.

Vale lembrar que todas as etapas de um microcódigo são executadas sempre no mesmo thread do pipeline. Na prática, ainda é impossível executar instruções paralelas subordinadas a microcódigos, mas, em compensação, tarefas independentes podem rodar tranquilamente nas linhas de execução disponíveis.

A estratégia é similar à utilizada pela Apple nos chips M3, em ARM, e garante taxas de transferência e decodificação muito maiores, com melhor aproveitamento dos recursos computacionais e, principalmente, energéticos do núcleo.

Backend mais encorpado

Continua após a publicidade

Naturalmente, evoluir as camadas superiores da arquitetura também exige uma reformulação nas camadas de baixo nível, com a nova capacidade gerenciar até 8 micro-operações por ciclo computacional. Com isso, é possível alocar mais recursos no backend dos núcleos Skymont, permitindo acelerar os tempos de renomeamento de dados e gravação nos registradores, resultando em execuções mais rápidas.

Outra novidade dos novos núcleos é o canal maior para “aposentar” dados, que se traduz em limpar registradores para executar novas funções após a tarefa anterior ter sido concluída e os dados finais utilizados. Originalmente, os núcleos Crestmont contavam com apenas 8 canais para saída de micro-operações, e a nova arquitetura dobra esse valor para 16 canais.

Além de acelerar a entrada e saída de dados nos novos núcleos, a Intel ainda aumentou a capacidade entradas no buffer de instruções em 40%, passando de 256 entradas para impressionantes 416. Por fim, na geração anterior, os E-cores contavam com apenas 12 portas de execução de instruções, contra 26 nos novos núcleos Skymont, permitindo ao Intel Thread Director alocar as instruções mais rapidamente para as portas disponíveis.

Continua após a publicidade

Execuções Vetoriais e de Pontos Flutuantes

Contudo, o maior limitador dos núcleos-E anteriores é, sem dúvidas, a ineficiência para realizar operações vetoriais e de pontos flutuantes (FP). O problema é recorrente em todos os chips de baixo consumo da Intel e, inclusive, foi um dos responsáveis pelo insucesso da família Atom de CPUs fora do nicho de sistemas embarcados.

Isso porque, operações vetoriais e FP consumiam muita energia em arquiteturas de transistores anteriores, entre 10 nm e 7 nm, invalidando o propósito da criação de núcleos eficientes, justamente para reduzir o consumo. A partir das novas litografias de 4 nm, a eficiência energética é muito maior, possibilitando altas velocidades de transferência sem, obrigatoriamente, resultar em unidades lógicas aritméticas (ALU) maiores e de maior consumo.

Continua após a publicidade

Inclusive, essa é uma das razões que possibilitou à Intel optar por desativar o hyperthread nos núcleos Lion Cove de desempenho. Com a nova arquitetura Skymont, os E-cores conseguem realizar operações que, até então, eram automaticamente direcionadas para threads dos P-core, mesmo que não fossem, necessariamente, instruções exigentes, mas que apenas eram incompatíveis com os núcleos Crestmont ou anteriores.

Para fins de comparação, o fluxo de vazão (throughput) de dados vetoriais e de pontos flutuantes dos núcleos Skymont é de quatro vias de 128 bits. O throughput é equiparável à dos núcleos de desempenho Cortex X2 da arquitetura ARM, presentes nos processadores Snapdragon 8

Subsistema de memória melhorado

Continua após a publicidade

Nos núcleos de eficiência anteriores, o gerenciamento de memória da CPU suportava apenas duas cargas de 128-bit por ciclo computacional. Uma última, mas não menos importante, melhoria é o novo subsistema de memória com suporte a 3 cargas de 128-bit por ciclo no Cache L1.

Além disso, já fora do die do CPU, os núcleos Skymont têm largura de banda de 128 bytes por ciclo computacional com a cache L2, dobro da velocidade da geração anterior. Mesmo que cada núcleo ainda esteja limitado trabalhar com 64 bytes por ciclo, alocar mais informações simultaneamente na cache L2 otimiza o direcionamento de instruções em tarefas que utilizam múltiplos threads.

Isso também contribui para que os novos E-cores substituam sem prejuízo a ausência de hyperthread dos P-core Lion Cove em projetos específicos. Tanto por isso a Intel dobrou o volume de cache L2 de 2 MB para 4 MB nos novos núcleos Skymont.  

Continua após a publicidade

O processo de tradução de endereçamento é um aspecto essencial em processadores CISC, pois representa a capacidade entradas que podem ser traduzidas de endereços virtuais, na memória, para endereços físicos, nos registradores. Ainda como parte do novo subsistema de memória, os núcleos Skymont sobem de 3 mil para 4 mil o número de entradas possíveis no sistema de tradução de endereçamento.

Maior escalabilidade de núcleos

A arquitetura desagregada de núcleos adotada pela Intel com os processadores Alder Lake, desde sempre, visava facilitar a escalabilidade de componentes a cada geração. No entanto, pelo próprio princípio da Lei de Amdahl, existe um limite para o ganho de desempenho apenas acrescentando mais núcleos ou threads.

Continua após a publicidade

Por mais que a estratégia tenha funcionado relativamente bem até agora, elas atingiram um nível de saturação nos chips Meteor Lake que exigia uma abordagem ainda mais modularizada para avançar. 

Sendo assim, por mais que algumas escolhas de design dos núcleos Skymont e Lion Cove representem “passos para trás”, modificando projetos maduros e bem estabelecidos, elas são essenciais para avançar daqui para frente.