Qual é a diferença entre o MultiCore e o MultiProcessor? [duplicado]


Respostas:


28

Uma CPU , ou Unidade Central de Processamento, é o que normalmente é chamado de processador. Um processador contém muitas partes discretas, como um ou mais caches de memória para instruções e dados, decodificadores de instruções e vários tipos de unidades de execução para executar operações aritméticas ou lógicas.

Um sistema multiprocessador contém mais de uma CPU, permitindo que trabalhem em paralelo. Isso é chamado SMP, ou MultiProcessing simétrico.

A multi núcleo CPU tem vários núcleos de execução em uma CPU. Agora, isso pode significar coisas diferentes, dependendo da arquitetura exata, mas basicamente significa que um determinado subconjunto dos componentes da CPU é duplicado, para que vários "núcleos" possam trabalhar em paralelo em operações separadas. Isso é chamado CMP, multiprocessamento em nível de chip.

Por exemplo, um processador multicore pode ter um cache L1 separado e unidade de execução para cada núcleo, enquanto ele possui um cache L2 compartilhado para todo o processador. Isso significa que, embora o processador tenha um grande pool de cache mais lento, ele possui unidades de memória rápida e aritmética / lógica rápidas para cada um dos vários núcleos. Isso permitiria que cada núcleo realizasse operações ao mesmo tempo que os outros.

Há uma divisão ainda maior, chamada SMT , multithreading simultâneo. É aqui que um subconjunto ainda menor dos componentes de um processador ou núcleo é duplicado. Por exemplo, um núcleo SMT pode ter recursos duplicados de agendamento de encadeamentos, para que o núcleo pareça com dois "processadores" separados para o sistema operacional, mesmo que tenha apenas um conjunto de unidades de execução. Uma implementação comum disso é o Hyperthreading da Intel.

Assim, você pode ter um sistema multiprocessador, multicore e multithread. Algo como dois processadores de quatro núcleos com hyperthread daria a você 2x4x2 = 16 processadores lógicos do ponto de vista do sistema operacional.

Cargas de trabalho diferentes se beneficiam de configurações diferentes. Uma única carga de trabalho encadeada sendo executada em uma máquina de uso único se beneficia de um sistema muito rápido, de núcleo único / CPU. As cargas de trabalho que se beneficiam de sistemas altamente paralelizados, como configurações de SMP / CMP / SMT, incluem aquelas que têm muitas peças pequenas que podem ser trabalhadas simultaneamente ou sistemas que são usados ​​para muitas coisas ao mesmo tempo, como uma área de trabalho usada para navegar na web, jogar um jogo em Flash e assistir a um vídeo de uma só vez. Em geral, o hardware atualmente está tendendo cada vez mais a arquiteturas altamente paralelas, já que a maioria das velocidades brutas de CPU / núcleo são "suficientemente rápidas" para cargas de trabalho comuns na maioria dos modelos.


E o calor, qual configuração? Se você colocar muitos processadores em uma carcaça da CPU, o calor é muito concentrado em apenas um 'local' e requer melhores instalações de refrigeração, estou certo? Se isso for verdade, por que os fabricantes permanecem com esse design, apenas por custos? Ou existem outros problemas a serem superados ao usar núcleos separados?
Codebeat 5/09/17

18

Todos deram explicações suficientes. Ainda se você não entender. Veja isso:

texto alternativo


Duas consultas na imagem que você colocou nela 1) O que é APIC 2) O diagrama na última linha de células, para Multicore e Multiprocessador (2 diagramas na primeira e terceira colunas da última linha da grade) parece estar mesmo, exceto as linhas tracejadas / linhas sólidas / limites quadrados em torno da ALU. O que eles querem dizer?
goldenmean

2
@goldenmean: 1. APIC é en.wikipedia.org/wiki/… , é o que recebe interrupções de outros dispositivos e atos. Eu poderia explicar mais se você tiver algum conhecimento sobre o funcionamento interno do OperatingSystems 2) Bem, linha sólida significa que eles são dois chips / matrizes diferentes, como mostrado na primeira linha, e a linha tracejada mostra que ambos estão em um único chip ou die
garras

Isso deve indicado como "Tenha um olhar para esta imagem, ainda, se você não entender todos deram explicações suficientes"
Teoman shipahi

2

um processador multinúcleo contém dois ou mais núcleos em um pacote físico.

um sistema de processador mútuo é um sistema que contém mais de um processador físico. cada um desses processadores pode conter vários núcleos (como respondeu o WoodE).

como eles se comparam:
em um processador com vários núcleos, cada um dos núcleos geralmente é mais lento (em velocidade bruta) do que um processador rápido de núcleo único. Além disso, todos os núcleos nesse processador compartilham o mesmo barramento do sistema e a memória principal. No entanto, para a maioria das tarefas diárias, esse não é um problema perceptível e, para a maioria dos usuários, o sistema parecerá mais rápido, pois poderá executar tarefas mais simples ao mesmo tempo.

em um sistema com vários processadores, o desempenho será aumentado nos casos em que várias tarefas de alta intensidade estão sendo executadas. dependendo da placa-mãe, pode ser que cada processador tenha seu próprio barramento dedicado e / ou memória principal, permitindo que eles usem todos os recursos de cada um para essas tarefas.

um sistema multi-processador com vários processadores seria uma mistura dos prós e contras de cada um.

Além disso, à medida que se desenvolvem mais programas multi-thread (um programa capaz de instruir o processador a trabalhar em mais de uma tarefa por vez), as desvantagens de um processador com vários núcleos diminuem.


2

Do ponto de vista de desktop / laptop, o multiprocessador possui duas ou mais CPUs separadas em uma máquina.

O núcleo múltiplo possui vários núcleos de processamento no mesmo chip, essencialmente várias CPUs em um bit de silício. Para ser considerado multi-core, cada núcleo deve ser essencialmente uma CPU completa - o fato de que mesmo os primeiros chips Pentium tinham várias unidades de cálculo inteiro (permitindo um pipelining mais eficiente) não conta.

É claro que você poderia ter um arranjo de múltiplos núcleos com vários processadores, com mais de um processador com vários núcleos na mesma máquina.

Os prós e os contras podem ser complicados, pois há muitas variáveis ​​a serem consideradas, mas algumas diferenças notáveis ​​são:

  • refrigeração: uma CPU de dois núcleos geralmente produz menos calor residual do que duas unidades de núcleo único separadas da mesma especificação e requer apenas um dissipador de calor e ventilador, que geralmente são mais baratos (embora todo o calor esteja em um só lugar, não se espalhe dois, o que pode exigir soluções de refrigeração de alta tecnologia)
  • velocidade devido à localidade do cache: estando no mesmo chip, há oportunidades para tornar a coerência / compartilhamento do cache L2 (ou L3) mais eficiente, pois os núcleos não precisam se coordenar por uma distância maior em um barramento de memória externo
  • diferenças de custo devido à simplicidade: a solução multi-core não requer vários soquetes na placa-mãe e assim por diante

1

Em termos básicos, um processador multicore é um processador único com vários núcleos (o quad-core possui 4 núcleos, por exemplo), onde como sistema multiprocessador contém mais de um processador na placa-mãe (que também pode ser multicore).

Quando se trata de prós e contras de cada um, fica um pouco mais complicado.

Editar: correção ortográfica.



1

que eu saiba, um núcleo está dentro de um processador, então multi-core significaria um único processador forte, multiprocessador são múltiplos processadores em uma placa-mãe (eu acho que diminui os problemas de aquecimento ou talvez até uma carga compartilhada seja igual a um melhor desempenho) não tenho certeza, mas pelo que li, achei que era preciso

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.