Os caches do processador L1, L2 e L3 são todos feitos de SRAM? Se verdadeiro, por que L1 é mais rápido que L2 e L2 é mais rápido que L3? Não entendi essa parte quando li sobre eles.
Os caches do processador L1, L2 e L3 são todos feitos de SRAM? Se verdadeiro, por que L1 é mais rápido que L2 e L2 é mais rápido que L3? Não entendi essa parte quando li sobre eles.
Respostas:
Em geral , todos eles são implementados com SRAM.
(Os chips POWER e zArchitecture da IBM usam memória DRAM para L3. Isso é chamado DRAM incorporado porque é implementado no mesmo tipo de tecnologia de processo que a lógica, permitindo que a lógica rápida seja integrada no mesmo chip que a DRAM. o chip L3 usou a eDRAM; o POWER7 possui o L3 no mesmo chip que os núcleos de processamento.)
Embora eles usem SRAM, nem todos eles usam o mesmo design de SRAM. A SRAM para L2 e L3 é otimizada para tamanho (para aumentar a capacidade devido ao tamanho limitado do chip fabricável ou reduzir o custo de uma determinada capacidade), enquanto a SRAM para L1 tem mais probabilidade de ser 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 do 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 menor latência. 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 em altas capacidades porque a DRAM é fisicamente menor.
Outro fator é que a maioria dos caches L2 e L3 usa acesso serial de tags e dados, onde a maioria dos caches L1 acessa tags e dados em paralelo. Essa é uma otimização de energia (as taxas de perda de L2 são mais altas que as taxas de perda de L1, portanto, o acesso a dados é mais provável que seja desperdiçado trabalho; o acesso a dados de L2 geralmente requer mais energia - relacionado à capacidade -; e os caches de L2 geralmente têm maior associatividade o que significa que mais entradas de dados precisariam ser lidas especulativamente). Obviamente, ter que esperar a 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 falta L1 é confirmada, portanto, a latência da detecção de falta L1 é adicionada à latência total de acesso de L2.)
Além disso, o cache L2 está 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 longe.