Contents

Um guia completo para otimizar seu processador Intel Core

Uma das maiores diferenças entre as CPUs para PC Intel e AMD é a inclusão do Thread Director. Esta tecnologia estreou nos processadores Intel Core de 12ª geração. Especificamente, nos primeiros processadores a terem núcleos heterogêneos. Sua principal função é ajudar o sistema operacional a atribuir corretamente as diferentes aplicações e seus processos. Neste artigo explicaremos seus segredos.

O compromisso com dois tipos de núcleos em cada CPU com IPC diferentes é uma das decisões mais controversas da Intel nos últimos anos. Ao comentar como funciona o Thread Director Não vamos avaliar se é uma ideia melhor ou pior, mas sim focaremos exclusivamente em como funciona ao mesmo tempo em que quebramos alguns mitos.

O que é o Thread Director?

/images/Intel-Thread-Director.jpg

Quando a Intel lançou seu Core 12 para PC, encontrou um problema: no PC, até então, ninguém havia lançado uma CPU com vários núcleos de desempenho e arquitetura diferentes entre eles. Essa prática, embora comum em SoCs Arm para celulares, não é comum em computadores domésticos. Esta situação fez com que os diferentes sistemas operacionais não tivessem uma atribuição de processos que levasse em consideração as diferenças de potência entre os diferentes núcleos da CPU.

Sob o nome de Thread Director, a Intel desenvolveu uma solução para o problema. Existem muitos mitos sobre esta solução até agora. Então nada melhor do que descartar os mais conhecidos.

-Thread Director Ele não substitui a tarefa do sistema operacional de gerenciar recursos e decidir quais núcleos os diferentes processos de aplicativos são executados. -Também não é uma peça especial de hardware no sentido de que não é uma unidade dedicada.

Então na realidade é um programa que está localizado na própria CPU e cujo trabalho é avaliar os diferentes processos a serem executados em nosso PC. Depois disso, oferece ao sistema operacional as informações necessárias para que ele possa atribuir corretamente os processos aos diferentes recursos da CPU.

Como funciona o Thread Director

/images/Thread-Director-Como-Funciona.jpg

Para entender como funciona o Thread Director Devemos ter em mente que ele faz isso de maneira muito semelhante à execução especulativa. Ou seja, ele executa o processo em um dos núcleos em uma thread separada e totalmente isolada. No caso do Intel Core baseado na arquitetura Alder Lake e Raptor Lake, em um dos threads de execução dos P-Cores. Por outro lado, começando pelo Meteor Lake, ele utiliza um dos E-Core de baixo consumo localizado no SoC e, portanto, distante do Compute Tile para esta tarefa.

Thread Director não apenas analisa e mede cada instrução separadamente, mas também o custo computacional do algoritmo que deve ser executado. Ou seja, leva em consideração a notação “0” que indica o custo computacional na execução do referido processo. Para que os leigos que estão lendo isto entendam melhor. Nem todos os programas têm o mesmo custo computacional, mas ele evolui. É por isso que o Thread Director não olha apenas a lista de instruções, ele executa o processo temporariamente. Os resultados são armazenados em um endereço de memória específico, atribuído à variável assembler IA32_THREAD_FEEDBACK-CHAR que inclui três informações:

-A classe ID do processo em questão, no total são quatro diferentes:-0: o processo pode ser executado sem problemas nos P-Cores como nos E-Cores. -1: O processo funciona muito melhor se atribuído a P-Cores. -2: Recomenda-se que o processo seja movido para os E-Cores. -3: existem aqueles processos que são compostos por loops de custo exponencial, longas esperas e que acabam afetando o resto.

-Seu desempenho, medido em um número de 0 a 255. -Eficiência energética, medida num número de 0 a 255.

Com base nessas informações, o sistema operacional atribui os diferentes processos aos núcleos correspondentes, desde que seja compatível com o Thread Director e, portanto, esteja qualificado para executar essa função.

Para que serve a pontuação?

/images/Thead-Director-Como-Funciona-2.jpg

Hoje, as CPUs possuem uma infinidade de núcleos, porém, a atribuição não pode ser dividida apenas no tipo de núcleo, mas também na carga de trabalho que cada um deles possui. Graças à pontuação dada pelo Thread Director , não apenas o sistema operacional sabe que tipo de núcleo usar , mas também em qual deles atribuir o trabalho. O objetivo? Evite deixar núcleos não utilizados ao executar um aplicativo. Claro, existem certas exceções em termos de operação. Principalmente pelo fato do conjunto de instruções não ser o mesmo entre E-Cores e P-Cores. Portanto, se apenas uma dessas instruções for encontrada durante o processo de avaliação, ela será automaticamente atribuída ao tipo de kernel correspondente.

Thread Director não direciona nada

/images/Intel-Core-13-Portatiles-Raptor-Lake-Mobile.jpg

Apesar de ser referido como um processador “multitarefa”, este termo é um tanto enganoso, pois não gerencia ativamente múltiplas tarefas ou aplicativos em execução simultaneamente. Em vez disso, depende do sistema operacional subjacente para determinar quais núcleos devem ser utilizados para processos específicos. É essencial reconhecer este fato, visto que quando um aplicativo entra em segundo plano, o sistema operacional ajusta a alocação de recursos de acordo.

Ao operar o Blender para renderizar uma cena tridimensional enquanto mantém o aplicativo aberto sem interrupção, o Windows pode perceber a natureza menos significativa desta tarefa específica, alocando menos recursos do sistema para ela. Conseqüentemente, esses recursos poderiam ser direcionados para outras aplicações ou processos executados simultaneamente. Por exemplo, um indivíduo pode notar um programa mais leve em execução nos núcleos primários da unidade central de processamento devido à sua presença em primeiro plano, enquanto uma tarefa mais pesada normalmente consumiria mais poder computacional quando executada em segundo plano.

Thread Director É um nome um tanto enganador, pois é o sistema operacional que se encarrega de direcionar para onde vão os recursos das diferentes aplicações. Simplesmente, esta função pode fazer isso de forma mais eficiente, mas para fazer isso o software deve estar ciente da existência desta solução Intel.

O futuro do Lago Meteoro

/images/Mejoras-Thread-Director-Meteor-Lake.jpg

O Thread Director em Meteor Lake passa por uma grande mudança. Em vez de rodar em um dos P-Cores incluídos no Compute Tile, seu trabalho É realizado pelos E-Cores de baixo consumo no SOC Tile. Este SoC é aquele que realmente tem acesso à RAM, pois possui dentro do controlador de memória integrado da CPU.

A avaliação dos processos dentro do System on Chip (SOC) Tile é realizada pelos E-Cores de baixa potência, cada um executando o Thread Director. A determinação de resolver ou não o processo rapidamente através desses núcleos depende de fatores como a natureza da tarefa em questão. Quando considerado apropriado para resolução dentro dos E-Cores, esta é executada de forma eficiente. Caso contrário, o processo é passado para o Compute Tile para processamento posterior, semelhante às gerações anteriores.

Em outras palavras, a afirmação de que o Thread Director no Meteor Lake deve lidar com três tipos de núcleo distintos é enganosa. Desde que as tarefas menos exigentes sejam abordadas de forma expedita antes da sua chegada aos núcleos primários da CPU, esta afirmação perde a sua validade.

*️⃣ Link da fonte: