Qual a velocidade de cada núcleo em um processador de núcleo duplo?

10

O meu Macbook possui um processador dual core de 2,4 GHz. Por ter dois núcleos separados, isso significa que ele pode executar duas funções ao mesmo tempo, certo?

Isso significa que cada núcleo é de aprox. 1,2 GHz cada (para 2,4 GHz combinados) ou na verdade são 2,4 GHz cada e, portanto, está funcionando efetivamente a 4,8 GHz?

Processadores de núcleo duplo (e quad) me confundem.

Josh Hunt
fonte
11
Vale ressaltar também que a frequência principal não é realmente um fator importante na determinação do número de operações / instruções que um processador pode realizar (atualmente).
precisa
Dois carros descendo a estrada a 80 km / h "correm efetivamente a 160 km / h"? Você não pode adicionar velocidades dessa maneira, não faz sentido.
David Schwartz

Respostas:

17

Cada núcleo é executado em 2,4 GHz.

Embora isso não signifique que seu sistema seja duas vezes mais rápido que um sistema de núcleo único de 2,4 GHz. O paralelismo tem (em princípio), no máximo, uma aceleração linear, mas, na realidade, é muitas vezes muito mais lento (embora ainda mais rápido que um único núcleo).

Joey
fonte
3
mais rápido que o núcleo único, exceto no caso bizarro de segmentação em python.
cobbal
Mesmo? Threading Python realmente atrasa o programa? Ou isso é apenas um exagero?
Stalepretzel
+1 - Você pode querer um breve resumo do paralelismo, mas não é essencial. Talvez com um gráfico bonito? :)
romandas
11
@stalepretzel: Muitas implementações python notáveis ​​têm algo chamado a, o Global Interlock Cacheque significa que apenas um thread pode modificar global (ou seja, estado compartilhado por vez). Isso realmente torna as coisas mais lentas ao tentar multithread, em muitos casos, na verdade, tornando o programa mais lento que a variedade single-threaded.
precisa
2

Johannes acima está correto ao falar sobre a frequência máxima de cada núcleo em um procesor multinúcleo. A classificação de frequência refere-se a cada núcleo. Portanto, um processador multi-core de 2,4 GHz normalmente executa cada processador na frequência máxima de 2,4 GHz. Existem duas exceções (uma muito comum e uma nova):

  • A frequência de um processador pode ser escalada dinamicamente com base no desempenho e no consumo de energia necessários para economizar energia quando a energia não é necessária ou para baixar a temperatura (P-State).
  • Além disso, os processadores recentes têm um recurso "Turbo", em que um núcleo roda mais rápido do que o avaliado quando outros núcleos não estão sendo usados ​​(Turbo Boost).
hanleyp
fonte
1

Para ser perfeitamente claro, ter vários núcleos NÃO acelera nenhum programa, a menos que tenha sido projetado especificamente para multi-threading.

O efeito de ter vários núcleos é:

Cada thread roda no máximo tão rápido quanto a velocidade do relógio principal. Além disso, o processamento paralelo permite que um aplicativo execute mais de um encadeamento de uma só vez.

Isso significa que, no máximo, seu poder de processamento será duplo, mas não em nenhum segmento.

John Gietzen
fonte
8
Isto é principalmente, mas não completamente, verdade. Os sistemas operacionais modernos são multithread, portanto, mesmo aplicativos de thread único podem obter ganhos de desempenho em hardware com vários núcleos, devido às chamadas do SO e à sobrecarga miscelânea que podem ser paralelizadas.
cunha
0

Sua pergunta é sobre CPUs Core 2, não Core i7. Observe, porém, que se você comprar um Core i7 920, verá que a CPU é um processador quad core rodando a 2,66 GHz. Isso significa que cada núcleo é executado em 2,66 GHz. No entanto, devido ao Turbo Boost do Core i7, a CPU pode realmente rodar a 2,8 GHz, principalmente se você estiver executando aplicativos single-threaded.

Como outros já apontaram, você não pode multiplicar a velocidade da CPU pelo número de núcleos para determinar o quão rápido é, apenas estou apontando que as coisas são realmente ainda mais confusas do que na geração atual de CPUs Intel .

ChrisInEdmonton
fonte