Cache de processador L1, L2 e L3 são todos feitos de SRAM?

9

Os caches de processador L1, L2 e L3 são todos feitos de SRAM? Se for verdade, porque L1 é mais rápido que L2 e L2 é mais rápido que L3? Eu não entendi essa parte quando li sobre eles.

    
por Acaz Souza 04.03.2014 / 16:33

1 resposta

12

Em geral eles são todos implementados com SRAM.

(os chips POWER e zArchitecture da IBM usam memória DRAM para L3. Isso é chamado de DRAM incorporada porque é implementado no mesmo tipo de tecnologia de processo que a lógica, permitindo que lógica rápida seja integrada ao mesmo chip da DRAM. o L3 sem chip usou o eDRAM; o POWER7 tem o L3 no mesmo chip dos núcleos de processamento.)

Embora eles usem SRAM, nem todos usam o mesmo design SRAM . A SRAM para L2 e L3 é otimizada para tamanho (para aumentar a capacidade dada a capacidade de fabricação limitada ou reduzir o custo de uma determinada capacidade), enquanto a SRAM para L1 é mais otimizada para velocidade.

Mais importante, o tempo de acesso está relacionado ao tamanho físico do armazenamento. Com um layout bidimensional, pode-se esperar que a latência de acesso físico seja aproximadamente proporcional à raiz quadrada da capacidade. (A arquitetura de cache não uniforme explora isso para fornecer um subconjunto de cache com latência mais baixa. As fatias L3 dos processadores Intel recentes têm um efeito semelhante; um hit na fatia local tem latência significativamente menor.) Esse efeito pode tornar um cache DRAM mais rápido do que um cache SRAM com alta capacidade, porque a DRAM é fisicamente menor.

Outro fator é que a maioria dos caches L2 e L3 usa o acesso serial de tags e dados, onde a maioria dos caches L1 acessam tags e dados em paralelo. Esta é uma otimização de energia (as taxas de perda de L2 são mais altas do que as de L1, portanto, o acesso a dados é mais provável de ser um trabalho desperdiçado; o acesso a dados L2 geralmente requer mais energia relacionada à capacidade); o que significa que mais entradas de dados teriam que ser lidas especulativamente). Obviamente, ter que esperar pela correspondência da tag antes de acessar os dados aumentará o tempo necessário para recuperar os dados. (O acesso L2 também normalmente só começa depois que uma falha L1 é confirmada, então a latência da detecção de falta L1 é adicionada à latência de acesso total de L2.)

Além disso, o cache L2 é fisicamente mais distante do mecanismo de execução. Colocar o cache de dados L1 próximo ao mecanismo de execução (para que o caso comum de ocorrência de L1 seja rápido) geralmente significa que L2 deve ser colocado mais distante.

    
por 04.03.2014 / 17:19

Tags