L2 vs. Velocidade e desempenho do cache da CPU L3

5

Nos últimos anos, olhando para as CPUs da Intel, houve uma mudança do cache L2 de tamanho grande para o cache L3 de tamanho grande. Muito disso é devido a ter mais núcleos na CPU e querer compartilhar o cache entre eles (uma vantagem L3).

Mas supondo que eu tenha um único aplicativo encadeado e eu quero comparar a velocidade que eu tenho rodando em 2 CPUS diferentes que compartilham a mesma velocidade de clock:

  1. uma CPU com 6MB de cache L2 @ 3.1Ghz (por exemplo, Core 2 Duo E8500)

  2. uma CPU com 6MB de cache L3 @ 3.1Ghz (por exemplo, Core i5 2400)

Desconsiderando os efeitos do turbo boost e os fatores DDR mais rápidos, Parece que o primeiro processador (mais antigo) deve executar muito mais rápido (já que está mais próximo do núcleo), não?

Outra pergunta que me interessa, antigamente, nos primeiros dias de cache L2 em CPUs, parece-me que o cache L2 é acessado com metade da velocidade do clock da CPU, isso ainda é verdade hoje? e a velocidade L3?

    
por thedrs 25.01.2011 / 08:26

3 respostas

4

Depende. Se o loop interno do seu programa se encaixar no cache L1 de ambas as CPUs e as velocidades de memória forem as mesmas, você não vejo muita diferença.

Se o loop interno se encaixa no cache de 6MB L2, mas não se encaixa no cache L2 da CPU com 6MB de cache L3, então o programa será mais rápido na CPU mais antiga com o maior cache L2.

Mas, em geral, a parte do loop interno de um programa é muito pequena.

    
por 08.02.2011 / 09:16
2

A Intel usa uma nova tecnologia de cache chamada "Smart Cache", então duvido que quaisquer comparações entre modelos atuais e CPUs de anos atrás estejam em igualdade de condições. Tenha em mente que eu acho que "Smart Cache" é apenas uma tecnologia Intel; A AMD usa algo chamado "Balanced Smart Cache".

Wikipedia info:

Smart Cache is a level 2 or level 3 cache method for multiple execution cores invented by Intel. It shares the cache among cores (CPU Core or GPU). In comparison to a dedicated cache per core the overall cache miss rate decreases in times where not all cores need equally much cache space. Consequently a single core can use the full level 2 cache or level 3 cache, if the other cores are inactive. Furthermore the shared cache makes it faster to share memory among different execution cores.

    
por 22.01.2013 / 16:50
0

Com relação à segunda parte da questão, sim, ainda é verdade em algum grau. L1 é mais rápido que L2 e L3 é mais lento que L2. Mas eu não chamaria isso de "meia-frequência", já que o design da CPU varia muito.

Também acho que o Core i5 será mais rápido quase sempre, porque o tamanho do cache é importante, mas também é importante a velocidade do cache e a taxa de falhas, assim como o design geral da CPU.

    
por 22.01.2013 / 14:14