O tamanho do cache ou o número de núcleos são mais importantes ao avaliar o desempenho da CPU?

O tamanho do cache ou o número de núcleos são mais importantes ao avaliar o desempenho da CPU?

Estou comprando um laptop para meu filho usar na escola, então não precisa ser uma máquina de jogos. Já montei PCs do zero antes, mas já faz um tempo.

Percebi que várias máquinas básicas disponíveis estão equipadas com CPU dual-core ou single-core. Eu entendo que todas as outras coisas sendo iguais, a CPU dual-core provavelmente terá um desempenho melhor. No entanto, e se o núcleo único tivesse um cache L2 muito maior (digamos, 3 MB para o núcleo único versus 1 MB para o núcleo duplo)? Eu sei que isso também pode afetar significativamente o desempenho.

Entendo que outros componentes do sistema, como a velocidade da memória e o hardware gráfico, também afetarão o desempenho do sistema. Minha pergunta é: se eu tiver que escolher entre um núcleo de CPU extra ou mais cache, o que devo escolher?

Responder1

Cache da CPU

Menor cache da CPU resultará em uma maior probabilidade defalhas de cache, o que degradará significativamente o desempenho. Dito isto, outro núcleo inteiro permitirá que o computador execute pelo menos dois threads simultaneamente, por isso é uma troca quando você precisa escolher um em vez do outro.

Tamanho do cache da CPU versus taxa de falta

No gráfico acima, podemos ver que quando o tamanho do cache é superior a 1 MB, a probabilidade de perda de cache já é extremamente baixa e mostra retornos decrescentes com o aumento do tamanho do cache.

Núcleos de CPU

Núcleos extras de CPU, por outro lado, podem apresentar aumentos drásticos de velocidade quando os aplicativos aproveitam os múltiplos núcleos.

Para a maioria dos aplicativos do mundo real, o núcleo de execução extra proporcionará um melhor ganho de desempenho em relação ao cache extra. Tanto o tamanho do cache quanto a contagem de núcleos são de vital importância ao avaliar o desempenho de um computador, mas quando você está lidando com uma quantidade relativamente baixa de núcleos, núcleos extras geralmente proporcionam ganhos significativos de desempenho.

...

Responder2

Núcleo extra, fácil, para a maioria das aplicações. Você pode fazer o dobro dos cálculos em condições ideais. O cache ajuda, mas não duplica a velocidade.

Responder3

A escolha certa (dual-core vs capacidade de cache extra) depende dos aplicativos alvo que serão executados no laptop.

Os processadores dual core teoricamente reduzirão o tempo de execução pela metade em comparação com um processador single core. Contudo, na prática, a aceleração de 2x raramente é alcançada devido aos desafios de escrever aplicações paralelas. Lei de Amdahl(link)mostra que mesmo que a aplicação tenha 90% da execução perfeitamente paralelizada (uma tarefa desafiadora para aplicações grandes), a aceleração é de 1,82X em vez de 2X. A aceleração do segundo núcleo só diminuirá para aplicações que não sejam implementadas de maneira escalável.

Uma capacidade maior de cache L2 reduzirá a taxa de falhas nos caches, conforme mostrado na resposta de @Breakthrough. No entanto, a resposta atrai oincorretaconclusão do gráfico que a capacidade de cache além de 1 MB fornecerá apenas melhorias marginais. O ponto de retornos decrescentes depende da aplicação (particularmente, do tamanho do conjunto de trabalholink) do aplicativo. A maioria dos aplicativos provavelmente terá um tamanho de conjunto de trabalho superior a 1 MB e, portanto, caches maiores ajudarão a melhorar o desempenho, evitando acessos DRAM de longa latência (os processadores operam até 3 ordens de magnitude mais rápido que a memória principal).

Por fim, embora minha resposta possa parecer favorecer um cache maior em vez de um segundo processador, gostaria de salientar que a maioria dos currículos de ciência da computação modernos se concentra na introdução da programação paralela aos alunos. Portanto, os processadores multi-core fazem mais sentido, mesmo que não sejam claramente a melhor escolha em termos de desempenho.

Responder4

Eu recomendaria a máquina dual core em vez do single core.

Como o Windows basicamente faz muitas coisas ao mesmo tempo (por exemplo, você navega na web, enquanto um Windows Update é baixado e o antivírus verifica o arquivo recém-baixado), um sistema dual core é geralmente mais "responsivo" do que um único núcleo máquinas.

informação relacionada