Você não pode "usar" diretamente todos os núcleos em um computador quad-core, no sentido de fazê-los executar uma única tarefa simultaneamente. Eis o porquê e como tirar o máximo proveito de uma CPU de vários núcleos:
CPUs multi-núcleo e distribuição de tarefas: *
núcleos vs. threads: Uma CPU quad-core possui quatro unidades de processamento físico. Cada núcleo pode lidar com um encadeamento separado (um único fluxo de instruções). As CPUs modernas geralmente têm * hiperthreading * (ou smt - multithreading simultâneo), o que permite que cada núcleo * simule * dois threads. Isso pode ajudar na multitarefa, mas não oferece a verdadeira execução paralela para uma única tarefa.
*
software e paralelismo: Para que um programa utilize todos os núcleos, ele precisa ser projetado para ser *multithreaded *. O sistema operacional distribuirá o trabalho entre os núcleos disponíveis.
*
Nem todas as tarefas beneficiam: Muitos aplicativos não foram projetados para utilizar completamente vários núcleos. Tarefas simples, como processamento de texto ou navegação na Web, não terão um aumento significativo de desempenho de ter vários núcleos.
Como tirar o máximo proveito de uma CPU multi-núcleo: 1.
Execute o software multithread: Procure programas conhecidos por serem multithread. Exemplos incluem:
* Software de edição de vídeo
* Aplicações de renderização 3D
* Jogos com física avançada ou gráficos
* Alguns navegadores da web e suítes de produtividade
2.
Gerenciador de tarefas/Monitor de Recursos: Seu sistema operacional provavelmente tem uma ferramenta para monitorar o uso da CPU. Você pode ver se seus programas estão realmente utilizando vários núcleos.
3.
Considerações de hardware: Verifique se sua RAM, armazenamento e outros componentes estão à altura da tarefa. Um gargalo em qualquer parte do sistema pode limitar os benefícios de vários núcleos.
4.
Otimize as configurações: Alguns sistemas e aplicativos operacionais têm configurações que afetam o uso e a alocação do núcleo da CPU. Explore essas opções.
Pontos importantes: *
não é uma bala mágica: Ter vários núcleos não significa que tudo funcionará mais rápido. Algumas tarefas simplesmente não podem ser paralelas com eficiência.
*
Concentre -se na experiência do usuário: O objetivo é fazer com que seu computador pareça responsivo e eficiente, não apenas para usar todos os núcleos.
*
Matérias de eficiência: Mesmo que um programa use vários núcleos, ele precisa ser bem otimizado para usá-los de maneira eficaz.
Exemplo: Imagine que você está cozinhando uma refeição com vários pratos. Você tem um fogão de quatro queimadores. Cada queimador representa um núcleo.
*
Tarefa simples (núcleo único): Água fervente para massas só precisa de um queimador.
*
Tarefa complexa (multi-core): A preparação de um assado, legumes e molho utiliza simultaneamente todos os quatro queimadores.
Quanto mais complexa a refeição, mais benefícios você obtém ao ter vários queimadores. Da mesma forma, programas mais exigentes se beneficiam mais de vários núcleos.