L1, L2 ve L3 işlemci önbellekleri SRAM'den mi yapılmış? Doğruysa, L1 neden L2'den daha hızlı ve L2 L3'ten daha hızlı? Onları okurken bu kısmı anlamadım.
L1, L2 ve L3 işlemci önbellekleri SRAM'den mi yapılmış? Doğruysa, L1 neden L2'den daha hızlı ve L2 L3'ten daha hızlı? Onları okurken bu kısmı anlamadım.
Yanıtlar:
Genel olarak hepsi SRAM ile uygulanır.
(IBM'in POWER ve zArchitecture yongaları, L3 için DRAM belleği kullanır. Bu, gömülü DRAM olarak adlandırılır, çünkü mantıkla aynı tür işlem teknolojisinde kullanılır ve hızlı mantığın DRAM ile aynı yongaya entegre edilmesine olanak tanır. L3 yongası eDRAM kullanıyordu; POWER7, L3'ün işlem çekirdeği ile aynı çip üzerinde.)
SRAM kullansalar da hepsi aynı SRAM tasarımını kullanmazlar. L2 ve L3 için SRAM, boyut için optimize edilmiştir (sınırlı üretilebilir yonga boyutu verilen kapasiteyi artırmak veya belirli bir kapasitenin maliyetini azaltmak için), L1 için SRAM'ın hız için optimize edilmesi daha olasıdır.
Daha da önemlisi, erişim süresi depolamanın fiziksel boyutuyla ilgilidir. İki boyutlu bir düzende, fiziksel erişim gecikmesinin kabaca kapasitenin kare kökü ile orantılı olmasını bekleyebiliriz . (Düzgün olmayan önbellek mimarisi, daha düşük gecikme süresinde bir önbellek alt kümesi sağlamak için bundan yararlanır. Son Intel işlemcilerin L3 dilimleri benzer bir etkiye sahiptir; yerel dilimdeki bir vuruş önemli ölçüde daha düşük gecikme süresine sahiptir.) Bu efekt bir DRAM önbelleğini daha hızlı hale getirebilir DRAM fiziksel olarak daha küçük olduğu için yüksek kapasitelerde bir SRAM önbelleğine göre.
Diğer bir faktör, çoğu L2 ve L3 önbellek, çoğu L1 önbelleğin etiketlere ve verilere paralel olarak eriştiği etiketlere ve verilere seri erişim kullanmasıdır. Bu bir güç optimizasyonudur (L2 kayıp oranları L1 kayıp oranlarından daha yüksektir, bu nedenle veri erişiminin boşa harcanma olasılığı daha yüksektir; L2 veri erişimi genellikle kapasite ile ilgili daha fazla enerji gerektirir; ve L2 önbellekleri genellikle daha yüksek ilişkilendirilebilirliğe sahiptir yani daha fazla veri girişinin spekülatif olarak okunması gerektiği anlamına gelir). Açıkçası, verilere erişmeden önce etiket eşleşmesini beklemek zorunda kalmak, verileri almak için gereken süreyi artıracaktır. (L2 erişimi tipik olarak yalnızca bir L1 kaçırması onaylandıktan sonra başlar, bu nedenle L1 kaçırması algılama gecikmesi, L2'nin toplam erişim gecikmesine eklenir .)
Ek olarak, L2 önbellek yürütme motorundan fiziksel olarak daha uzaktır. L1 veri önbelleğinin yürütme motoruna yakın yerleştirilmesi (ortak L1 isabet durumu hızlı olacak şekilde) genellikle L2'nin daha uzağa yerleştirilmesi gerektiği anlamına gelir.