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

9

Estou comprando um laptop para meu filho usar na escola, por isso não precisa ser uma máquina de jogos. Eu juntei PC's do zero antes, mas faz um tempo.

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

Eu entendo que outros componentes do sistema, por ex. a velocidade de 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?

    
por David 01.08.2011 / 20:53

6 respostas

11

Cache da CPU

O menor cache da CPU resultará em uma maior probabilidade de erros de cache , o que prejudicará significativamente o desempenho. Dito isto, outro núcleo inteiro permitirá que o computador execute pelo menos dois threads simultaneamente, por isso é um compromisso quando você tem que escolher um sobre o outro.

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

Núcleos da CPU

Os núcleos extras de CPU, por outro lado, podem mostrar aumentos drásticos de velocidade quando os aplicativos aproveitam os vários núcleos.

Para a maioria dos aplicativos do mundo real, o núcleo de execução extra fornecerá um ganho melhor no 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 pesar o desempenho de um computador, mas, quando se lida com uma quantidade relativamente baixa de núcleos, os núcleos extras geralmente proporcionam ganhos significativos de desempenho.

...

    
por 01.08.2011 / 21:20
6

Extra core, 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.

    
por 01.08.2011 / 20:55
2

É difícil comparar AMD e Intel. Uma AMD dual core de 2 GHz não é o mesmo que uma Intel dual core de 2 GHz.

Aqui estão os benchmarks para ambos.

link

link

Agora, descubra se um grande número é bom ou ruim.

    
por 01.08.2011 / 21:18
2

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

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 a aplicação tenha 90% da execução perfeitamente paralelizada (uma tarefa desafiadora para grandes aplicações) a aceleração é de 1.82X em vez de 2X. A aceleração do segundo núcleo só diminuirá para aplicativos que não são implementados de maneira escalonável.

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

Por fim, embora minha resposta possa soar como o favorecimento de 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 aos alunos. Portanto, processadores multi-core fazem mais sentido, mesmo que não sejam claramente a melhor escolha em termos de desempenho

    
por 05.12.2017 / 23:22
1

Eu recomendaria a máquina dual core sobre o núcleo único.

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

    
por 01.08.2011 / 21:11
0

O tamanho do cache é importante, pois reduz a probabilidade de ocorrer um erro no cache. Cache miss 'são caras porque a CPU tem que ir para 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 houver, mais processos poderão 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 otimizar ambos é importante, embora por experiência pessoal, um chip de processador multi-core é mais benéfico que um cache maior se você precisar otimizar apenas uma coisa ...

    
por 15.08.2011 / 05:24