Considerações sobre a tecnologia multicore.
Os processadores com múltiplos núcleos surgiram a partir da necessidade de reduzir o consumo de energia e redução do calor dissipado. Com o grande aumento de frequência que os CPU estavam atingindo, seria difícil um sistema de refrigeração que acompanhasse a necessidade deles.
Então os fabricantes optaram pela construção de mais núcleos de processamento com frequências menores. Em um processador existem diversas partes e cada uma delas possui uma função especifica, porem a mais importante delas é o núcleo, pois ele executa a maior parte do trabalho de processamento.
Para proporcionar ao usuário um sistema multi-tarefa, os sistemas operacionais utilizam o processador executando pequenos trechos de cada programa, esses trechos são denominados Thread. Como o processador alterna rapidamente na execução da thread, o usuário entende que todos os programas estão sendo executados ao mesmo tempo.
Daí vem o impressionante desempenho que os processadores multicore possuem mesmo tendo freqüências menores. Ambos os núcleos são capazes de processar simultaneamente mais de uma thread, apesar de cada núcleo trabalhar em frequência menor, esse processamento em paralelo garante desempenho igual ou superior.
Mas é também possível que estes núcleos sejam utilizados também para executar simultaneamente thread de um mesmo sistema. Para isso é necessário que os programas sejam desenvolvidos baseado em MultiThred, ou seja é necessário que o programa esteja preparado para que suas threads possam ser executadas simultaneamente, sem que tenham dependência entre si. Se um programa e desenvolvido baseado em multithread, ele poderá usufruir de todo o desempenho de um processador