İşlemci önbelleği L1, L2 ve L3 SRAM?


Yanıtlar:


12

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.


Mükemmel cevap. Ancak L2 kaçırılma oranlarının L1 kaçırılma oranlarından daha yüksek olduğu ifadesine katılmıyorum. Bellek hiyerarşisinde daha aşağı hareket ettikçe, daha az özlem sağlayan ancak daha fazla gecikme sağlayan daha büyük yapılarımız var.
Harshavardhan Ramanna

@HarshavardhanRamanna Evet kapasite artışı ve ilişkilendirilebilirlik oranı kaçırmaya yardımcı olur, ancak daha düşük seviyeler filtre erişimine sahiptir (tüm bir bloğun L2'den geleneksel olarak aktarılması, blok içindeki kısa vadeli uzamsal konumu filtreler; isabet sadece L2'de bir erişim için geçerliyken, bloğun kendisinin ek erişim için L1'de isabetler sağlaması muhtemeldir). Toplam özledim oranı (örneğin iyi bir% 80 isabet oranı ile bir L2 ve% 95 isabet oranı ile bir L1 toplam% 99 isabet oranı alır) iner.
Paul A. Clayton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.