O tamanho do cache ou o número de núcleos é mais importante ao avaliar o desempenho da CPU?


9

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

Percebi que várias máquinas de nível de entrada disponíveis estão equipadas com uma CPU de núcleo duplo ou de núcleo único. Entendo que todas as outras coisas iguais à CPU de núcleo duplo provavelmente terão 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 vs. 1 MB para o núcleo duplo)? Eu sei que isso também pode afetar significativamente o desempenho.

Entendo que outros componentes do sistema, por exemplo, 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?


2
Também depende do seu cenário de caso de uso. O software que você está usando (o que eles fazem e como são programados) pode ter um grande impacto sobre o que proporcionará melhor desempenho. Por exemplo, no passado, os Celerons mais rápidos costumavam ser melhores para navegação na web e jogos casuais, enquanto os P4s mais lentos eram melhores para jogos de compressão e 3D.
Synetech

@ Synetech, bem, é claro que ele quis dizer aplicativos típicos deste ano + 3 anos. Aplicativos antigos não importam.
Pacerier 19/09/17

Respostas:


12

Cache da CPU

Um cache mais baixo da CPU resultará em uma maior probabilidade de falhas no cache , o que prejudicará significativamente o desempenho. Dito isto, outro núcleo inteiro permitirá que o computador execute pelo menos dois threads simultaneamente, portanto é uma troca quando você precisa escolher um sobre o outro.

Tamanho do cache da CPU vs. taxa de erros

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

Núcleos da CPU

Núcleos extras da CPU, por outro lado, podem mostrar aumentos drásticos de velocidade quando os aplicativos tiram vantagem dos 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. O tamanho do cache e 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.

...


Era mais ou menos o que eu pensava ... mas não tinha certeza de onde você obteria retornos decrescentes com o cache. Obrigado!
David

Sou eu ou o eixo X do gráfico está bastante errado? 4-1 = 3; 16-4 = 12; 64-16 = 48 etc, mas todos são representados com a mesma distância. Mas acho que os dados apresentados no gráfico ainda estão corretos, não é? Também percebi que o eixo Y também tem isso.
Utku

@Utku, o eixo xe o eixo y usam escalas logarítmicas, com o eixo x usando a base 2 e o eixo y usando a base 10.
Break

6

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.


3

A escolha certa (capacidade de cache extra versus núcleo duplo) depende dos aplicativos de destino que serão executados no laptop.

Os processadores de núcleo duplo teoricamente reduzirão o tempo de execução pela metade em comparação com um processador de núcleo único. No entanto, na prática, a aceleração de 2x raramente é alcançada devido aos desafios de escrever aplicativos paralelos. A lei de Amdahl (link) mostra que, mesmo que o aplicativo tenha 90% da execução perfeitamente paralelizado (uma tarefa desafiadora para aplicativos grandes), a velocidade é de 1,82X em vez de 2X. A aceleração do segundo núcleo diminuirá apenas para aplicativos que não são implementados de maneira escalável.

Uma capacidade maior de cache L2 reduzirá a taxa de erros nos caches, conforme mostrado na resposta de @Breakthrough. No entanto, a resposta tira a conclusão incorreta do gráfico de que a capacidade de cache além de 1 MB fornecerá apenas melhorias marginais. O ponto de retornos decrescentes depende do aplicativo (particularmente, do link do tamanho do conjunto de trabalho ) do aplicativo. É provável que a maioria dos aplicativos tenha tamanho de conjunto de trabalho além de 1 MB e, portanto, caches maiores ajudarão a melhorar o desempenho, evitando acessos DRAM de longa latência (os processadores operam até três ordens de magnitude mais rapidamente que a memória principal)

Finalmente, embora minha resposta possa parecer favorecer um cache maior em relação a um segundo processador, gostaria de salientar que o currículo mais moderno de CS se concentra na introdução de programação paralela para os alunos. Portanto, os processadores com vários núcleos fazem mais sentido, embora não sejam claramente a melhor escolha em termos de desempenho



1

Eu recomendaria a máquina dual core sobre o single core.

Como o Windows está basicamente fazendo muito ao mesmo tempo (por exemplo, você navega na Web, enquanto o Windows Update é baixado e o antivírus está verificando o arquivo recém-baixado), um sistema dual core é mais "responsivo" do que um único núcleo máquinas


0

O tamanho do cache é importante, pois reduz a probabilidade de perda do cache. A falta de cache 'é cara porque a CPU precisa acessar a memória principal para acessar o endereço de memória, isso leva muito mais tempo e, portanto, resulta em um computador mais lento.

O número de núcleos também é importante, pois quanto mais núcleos, mais processos podem ser executados ao mesmo tempo. Isso significa que várias instruções podem ser executadas em paralelo, resultando em um computador mais rápido.

Como você pode ver, ambos são bastante críticos e a otimização de ambos é importante, embora, por experiência pessoal, um chip com processador de vários núcleos seja mais benéfico que um cache maior, se você precisar otimizar apenas uma coisa ...

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.