Gostaria de saber qual é a diferença entre um computador dual core e um computador com 2 processadores na placa mãe .. Eu acho que é algo relacionado com os threads, mas eu não o entendo muito bem ..
fonte
Gostaria de saber qual é a diferença entre um computador dual core e um computador com 2 processadores na placa mãe .. Eu acho que é algo relacionado com os threads, mas eu não o entendo muito bem ..
Vários processadores permitem que o computador faça literalmente duas coisas ao mesmo tempo (em vez de aparentemente fazer duas coisas ao mesmo tempo, mas na verdade apenas alternando entre as tarefas com extrema rapidez).
Vários núcleos são iguais. A vantagem de vários núcleos sobre vários processadores é que eles compartilham alguns bits da CPU, por exemplo, o cache de segundo nível, o que possibilita que eles trabalhem ainda mais eficientemente se tiverem alguns dados compartilhados. Isso os torna muito mais baratos de fabricar. Uma única CPU de núcleo duplo também ocupa menos espaço do que duas CPUs de núcleo único, o que é um fator importante nos dias de hoje para todos que mudam para laptops.
Pode haver algumas diferenças de desempenho, mas nada é provável que você note.
Veja esta imagem que mostra a diferença entre Multi Processador, Hyper Threaded e Multi Core:
fonte
Você deve começar com artigos com vários núcleos e multithread na Wikipedia.
fonte
Bem, trata-se de dimensionar horizontalmente em vez de verticalmente. Antigamente, eles costumavam fazer com que as CPUs fossem cada vez mais rápidas. Com o tempo, a velocidade das CPUs aumentou de apenas um punhado de megahertz para super velocidades, chegando a 3 gigahertz. No entanto, quando a velocidade de 3 gigahertz foi atingida, os fabricantes de CPU encontraram um limite para o quão longe podiam aumentar a velocidade em um único núcleo de CPU.
Enquanto essa corrida de velocidade estava acontecendo, para os aplicativos que precisavam de mais energia (como servidores e farms de renderização CGI), as placas-mãe com CPU de vários soquetes foram introduzidas. Isso permitiu que mais de uma CPU (geralmente duas) fosse colocada na placa-mãe. Os sistemas operacionais que, quando capazes de utilizar várias CPUs ao mesmo tempo, podiam executar software que aproveitava esse recurso distribuindo a carga por essas duas CPUs, aumentando assim a velocidade de execução.
Avanço rápido para os dias atuais. O limite de velocidade da CPU é atingido e, em vez de escalar verticalmente (tornando-o mais rápido), os fabricantes de CPU começam a escalar horizontalmente, colocando vários núcleos em um único chip. Atualmente, os chips dual core são muito comuns e logo os quad core serão o padrão. Agora imagine que você colocou dois núcleos quádruplos em uma única placa-mãe. Isso significaria que o sistema operacional teria acesso a 8 CPUs, todas rodando em torno de 3 gigahertz.
Além de CPUs com vários núcleos, há também uma CPU com dois núcleos 'falsa' que usa uma tecnologia conhecida como 'hyper-threading'. Com o hyperthreading, a CPU emula a presença de duas CPUs quando, na realidade, existe apenas um núcleo real. A CPU sabe como fazer uso do que normalmente seria um tempo de inatividade agendando instruções de uma maneira específica, ganhando mais eficiência.
fonte
De uma perspectiva de desenvolvimento de software, há relativamente pouca diferença.
Alguns aplicativos multithread incorretamente gravados podem funcionar acidentalmente em um processador com vários núcleos, mas não em uma placa-mãe com vários processadores, mas eu não perderia muito sono com isso, já que ... bem ... estamos falando incorretamente software escrito.
A principal diferença entre os dois cenários para o mesmo número total de núcleos disponíveis (por exemplo, 1x processador de 4 núcleos vs. 2x processador de 2 núcleos) é que, no caso do cenário de vários processadores, normalmente há uma memória agregada maior largura de banda. Isso significa que, para qualquer carga de trabalho que consome muita memória, você pode se beneficiar melhor com o último. Observe, no entanto, que as primitivas de bloqueio podem ser um pouco mais lentas (dependendo da implementação do hardware); portanto, algoritmos que usam muita sincronização podem ter um desempenho pior no último.
Mesmo assim, eu não me preocuparia muito com a diferença, mesmo assim, porque se você trabalha em uma área em que essa diferença importa, provavelmente já o conhece (conhecimento específico do domínio).
fonte