O que são encadeamentos e o que eles fazem no processador?

26

Eu estava olhando as estatísticas para o processador Intel Pentium e5700 .

Tem dois núcleos e dois segmentos. O que os encadeamentos fazem pelo processador? Existe alguma relação entre o número de núcleos e o número de threads? Qual é a finalidade dos tópicos para o sistema em geral?

    
por impossible3 30.08.2011 / 17:24

2 respostas

21

A contagem de núcleos é o número físico de núcleos no próprio molde da CPU, enquanto a contagem de encadeamentos é o número de encadeamentos de aplicativos individuais que podem ser executados simultaneamente na própria CPU. Sem qualquer hardware adicional ou especial, isso é sempre igual à contagem do núcleo.

Alguns processadores da Intel têm um recurso chamado hyperthreading , que permite que um sistema operacional veja o dobro da quantidade de núcleos lógicos por núcleo físico. Isso permite que o sistema operacional programe e execute o dobro da quantidade de encadeamentos simultaneamente, portanto, no caso da CPU que eu vinculei acima, há quatro núcleos físicos, mas oito lógicos (para que você possa executar oito encadeamentos simultaneamente). p>

Cada aplicativo individual em execução no sistema operacional é single-threaded ou multi-threaded (pense em cada thread como um "sub-aplicativo"). Os aplicativos de encadeamento único requerem apenas um encadeamento para serem executados na CPU, enquanto os aplicativos de vários encadeamentos têm muitos encadeamentos secundários sendo executados simultaneamente. Núcleos adicionais, ou hyper-threading, permitem que mais encadeamentos de aplicativos sejam executados simultaneamente de uma só vez.

Isso permite que aplicativos multi-thread (sem <> threaded) rodem muito mais rápido, já que mais de um thread pode rodar de uma vez na CPU.

Apenas uma observação final, o hyperthreading melhora o desempenho de alguns aplicativos multithread especificamente otimizados para ele (já que ainda há metade do número de núcleos físicos, pois há lógica). Em alguns casos, os aplicativos podem ser executados mais rapidamente com o hyperthreading desativado (embora muitos aplicativos façam se beneficiarem dele). Independentemente do hyperthreading, um aumento no número de núcleos físicos irá sempre beneficiar aplicativos multiencadeados.

    
por 30.08.2011 / 17:34
9

Um "núcleo" representa um subconjunto físico real de um processador que pode, por si só, manipular o processamento, enquanto um "encadeamento" é quantos processos reais o processador pode manipular de uma só vez. A Intel desenvolveu uma tecnologia que eles chamam de "hyper-threading", uma técnica que permite que um núcleo físico (que normalmente seria capaz de lidar apenas com um thread de cada vez) seja capaz de lidar com dois threads simultaneamente.

Um thread é uma tarefa que o processador deve manipular, para uma explicação simples, você pode assumir que cada aplicativo aberto (como paint, notepad, media player) tenha seu próprio thread ... agora isso não significa que você só pode abrir 2 aplicativos de uma só vez, simplesmente porque o processador e o sistema operacional funcionam tão rápido em 'switching threads' para lidar com as necessidades de cada aplicativo aberto. Você experimentará apenas um melhor desempenho com mais núcleos, porque agora você pode distribuir todo o trabalho para mais processadores principais.

Por exemplo, meu computador de trabalho tem um i7 nele. O i7 tem 4 núcleos físicos, mas cada núcleo pode fazer "hyper-threading", que permite a este processador lidar com 8 threads de uma só vez. Então, se eu abrir o gerenciador de tarefas, verei 8 caixas para a escala de desempenho do processador.

Uma regra geral é que mais núcleos físicos são melhores que mais threads. Então, se você estivesse comparando um processador que tivesse 4 núcleos e 4 threads, seria melhor que 2 núcleos 4 threads. Mas quanto mais threads seu processador puder suportar, melhor será o desempenho enquanto estiver executando multitarefas e para alguns aplicativos muito intensivos (edição de vídeo, CAD, CAM, Compressão, Criptografia, etc) por si só usará mais de um núcleo de cada vez. p>     

por 30.08.2011 / 17:45

Tags