Diferença entre núcleo e processador

Core vs Processor
 

A diferença entre processador e núcleo pode ser um tópico intrigante, se você não conhece o computador. Processador ou CPU é como o cérebro do sistema de computador. É responsável por todas as funções principais, como operações aritméticas, lógicas e de controle. Um processador tradicional, como um processador Pentium, possui apenas um núcleo dentro do processador, mas os processadores modernos são processadores com vários núcleos. Um processador multinúcleo possui vários núcleos dentro do pacote do processador, onde um núcleo é a unidade computacional mais básica de um processador. Um núcleo pode executar apenas uma instrução de programa por vez (pode executar várias se houver capacidade de hiperencadeamento), mas um processador composto de vários núcleos pode executar várias instruções simultaneamente, dependendo do número de núcleos.

O que é um processador?

O processador também conhecido como Unidade Central de Processamento (CPU) é a parte mais importante de um sistema de computador responsável pela execução das instruções do programa. Essas instruções envolvem operações aritméticas, lógicas, de controle e de entrada e saída. Tradicionalmente, um processador consiste em um componente chamado Unidade Aritmética e Lógica (ALU), responsável por todas as operações aritméticas e lógicas e outro componente chamado Unidade de Controle (CU), responsável por todas as operações de controle. Além disso, possui um conjunto de registros para armazenar valores. Tradicionalmente, um processador pode executar apenas uma instrução por vez. Os processadores que possuem apenas um núcleo são chamados de processadores de núcleo único. A série Pentium é um exemplo para processadores de núcleo único.

Em seguida, foram introduzidos processadores com vários núcleos, onde um único processador tinha vários processadores conhecidos como núcleos. Portanto, um processador de núcleo duplo possui dois núcleos dentro do processador e um processador de quatro núcleos possui quatro núcleos. Portanto, um processador multicore é como um pacote que possui vários processadores chamados núcleos. Esses processadores multicore podem executar várias instruções simultaneamente, dependendo do número de núcleos.
Um processador além dos núcleos, também possui a interface que conecta o dispositivo ao mundo exterior. Um processador multicore também possui a interface que conecta todos os núcleos ao mundo externo. Além disso, ele possui um cache de último nível, conhecido como cache L3, que é comum a todos os núcleos. Além disso, um processador pode conter um controlador de memória e um controlador de entrada e saída, mas dependendo da arquitetura, às vezes eles podem estar localizados no chipset que está fora do processador. Além disso, alguns processadores possuem unidades de processamento gráfico (GPU), onde uma GPU também é composta por núcleos pequenos e menos poderosos.

O que é um Core?

Um núcleo é o componente computacional básico de um processador. Vários núcleos juntos formam um processador. Um núcleo consiste em várias partes básicas. A Unidade Aritmética e Lógica é responsável por realizar todas as operações aritméticas e lógicas. A Unidade de Controle é responsável por todas as operações de controle. O conjunto de registros armazena os valores temporariamente. Se um núcleo não possui o recurso chamado hyper-threading, ele pode executar apenas uma instrução de programa por vez. No entanto, os núcleos modernos possuem uma tecnologia chamada hyper threading, na qual um núcleo possui unidades funcionais redundantes que os tornam capazes de executar várias instruções paralelamente. Dentro de um núcleo, existem dois níveis de caches chamados cache L1 e cache L2. L1 é o mais próximo, o mais rápido, mas o menor. O cache L2 é posterior ao cache L1, onde é um pouco grande, mas mais lento que o L1. Esses caches são memórias mais rápidas que armazenam dados de e para a RAM (RAM) do computador para fornecer acesso mais rápido e eficiente.

Qual é a diferença entre Processor e Core?

• Um núcleo é a unidade computacional mais básica de um processador. Um processador é composto de um ou mais núcleos. Os processadores de tradição tinham apenas um núcleo, enquanto os processadores modernos têm vários núcleos.

• Um núcleo consiste em uma ULA, UC e um conjunto de registros.

• Um núcleo consiste em dois níveis de caches chamados L1 e L2, que existem em cada núcleo.

• Um processador consiste em um cache que é compartilhado por núcleos de chamada chamados cache L3. É comum a todos os núcleos.

• Um processador, dependendo da arquitetura, pode consistir em um controlador de memória e um controlador de entrada / saída.

• Certos pacotes de processadores consistem em unidades de processamento gráfico (GPU) também.

• Um núcleo que não possui hiperencadeamento pode executar apenas uma instrução por vez, enquanto um processador multicore composto por vários núcleos pode executar várias instruções paralelamente. Se um processador for composto de 4 núcleos que não suportam hyper threading, ele poderá executar 4 instruções ao mesmo tempo.

• Um núcleo com tecnologia hyper-threading possui unidades funcionais redundantes para que possam executar várias instruções ao mesmo tempo. Por exemplo, um núcleo com 2 threads pode executar 2 instruções ao mesmo tempo, portanto, um processador com 4 desses núcleos pode executar instruções 2x2 paralelas. Esses encadeamentos geralmente são chamados de núcleos lógicos e o gerenciador de tarefas do Windows geralmente mostra o número de núcleos lógicos, mas não os núcleos físicos.

Resumo:

Processador vs Core

Um núcleo é a unidade computacional mais básica de um processador. Um processador multicore moderno consiste em vários núcleos, mas os primeiros processadores tinham apenas um núcleo. Um núcleo consiste em sua própria ALU, CU e seu conjunto de registros. Um processador é feito de um ou mais desses núcleos. Um pacote de processador também contém as interconexões que fazem a interface dos núcleos para o exterior. Dependendo da arquitetura, um processador também pode conter uma GPU, controlador IO e um controlador de memória integrados. Um processador dual core possui 2 núcleos e um processador quad core possui 4 núcleos, como o próprio nome sugere. Um núcleo pode executar apenas uma instrução de cada vez (poucas se houver hiperencadeamento), mas um processador multicore pode executar instruções paralelas, pois cada núcleo age como uma CPU independente.

Cortesia de imagens:

  1. Diagrama de blocos de um módulo Bulldozer completo, mostrando 2 grupos inteiros de Shigeru23 (CC BY 3.0)