Qual é a diferença entre proc multicore e sistema multiproc?

18

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 ..

banimento
fonte

Respostas:

19

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.

John Fouhy
fonte
2
Não apenas ocupando menos espaço, mas também gerando menos calor (usando menos energia) e exigindo apenas um ventilador.
CarlF 17/08/11
13

Veja esta imagem que mostra a diferença entre Multi Processador, Hyper Threaded e Multi Core:

insira a descrição da imagem aqui

garras
fonte
2

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.

Lucas
fonte
3
-1: Esta resposta tem muitas imprecisões. (1) 3 GHz não é um "limite de velocidade"; existem processadores que funcionam em frequências mais altas que 3 GHz. O limite do fabricante de CPU foi a instalação de processadores de alto desempenho em um envelope de energia sustentável. (2) Seu segundo parágrafo implica que as placas-mãe com várias CPUs foram introduzidas porque o "limite de velocidade" foi atingido. De fato, as placas-mãe com soquetes múltiplos eram cerca de 5 a 10 anos antes (talvez até mais, não consigo encontrar uma data exata em que os servidores de PC se tornaram multi-core).
26909 hanleyp
Sei que não está 100% correto e tentei manter minha resposta nos termos do leigo. É apenas uma versão simplificada, para que as pessoas entendam qual é a diferença. Tenho certeza de que quando as pessoas realmente querem conhecer os meandros, elas investigam mais por si mesmas. O parágrafo 2 começa com o significado "Enquanto isso", enquanto as CPUs são fabricadas, as placas-mãe com CPU multi-soquete mais rápidas foram criadas (há cerca de 10 anos).
26410 Luke
Isso é legal. Eu só queria salientar o que acho que precisava de esclarecimentos. Desfarei meu voto, mas não posso, a menos que você edite a resposta de alguma forma.
26510 hanleyp
Fico feliz em fazer alterações, mas o que exatamente você quer que eu mude? Que existem CPUs que chegam a 3,2 gigahertz ou talvez um pouco mais? Você pode esclarecer por favor?
26410 Luke
2
-1: Você explica por que estamos vendo sistemas multicore, mas não foi isso que o interlocutor perguntou. Você não explicou a diferença entre vários núcleos e vários processadores.
31415 John Fouhy
1

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).

jerryjvl
fonte