Intel'in Haswell'i (ya da en azından Iris Pro 5200 GPU'yu içeren ürünlerin) ve IBM'in POWER7 ve POWER8'lerinin hepsinde gömülü DRAM, "eDRAM" var.
EDRAM'ın yakın zamana kadar yaygın olmamalarına neden olan önemli bir konu, DRAM imalat işleminin doğal olarak mantıksal işlemlerle uyumlu olmamasıdır, dolayısıyla eDRAM istendiğinde ilave adımların dahil edilmesi (maliyeti artıran ve verimi düşüren) olması gerekir. Bu nedenle, bu ekonomik dezavantajı telafi etmek için onu dahil etmek istemek için zorlayıcı bir sebep olmalıdır. Alternatif olarak, DRAM, bağımsız olarak üretilen ancak daha sonra CPU ile aynı pakete entegre edilen ayrı bir kalıp üzerine yerleştirilebilir. Bu, ikisini tamamen entegre bir şekilde üretmekte güçlük çekmeden yerelliğin faydalarının çoğunu sağlar.
Diğer bir sorun da, DRAM'ın, güç uygulanırken içeriğini süresiz olarak saklamadığı için SRAM'a benzememesidir ve okunması, daha sonra geri yazılması gereken depolanan verileri de tahrip eder. Bu nedenle, periyodik olarak ve her okumadan sonra yenilenmelidir. Üstelik, bir DRAM hücresi bir kapasitöre dayandığından, bir sonraki yenileme işlemi belirli bir süre geçmeden önce sızıntının değerini bozmayacağı şekilde yeterince doldurmak veya boşaltmak. Bu şarj süresi sadece bir mandal olan SRAM ile gerekli değildir; sonuç olarak CPU ile aynı hızda çalışabilirken, DRAM makul güç tüketimini korurken yaklaşık 1 GHz ile sınırlandırılmıştır. Bu, DRAM'ın SRAM'den daha yüksek bir doğal gecikme süresine sahip olmasına neden olur; bu da düşük özledim oranının karşılığını alacağı en büyük önbelleklerin tümü için kullanılmaya değmez hale getirir.
Ayrıca, gecikme söz konusu olduğunda, zorluğun büyük bir kısmı fiziksel mesafe sinyallerinin hareket etmesi gerektiğidir. Işık, 3 GHz'lik bir CPU'nun saat döneminde yalnızca 10 cm seyahat edebilir. Tabii ki, sinyaller kalıp boyunca düz çizgiler halinde hareket etmiyor ve yayılma gecikmelerine neden olan tamponlama ve havalandırmaya duyulan ihtiyaç nedeniyle ışık hızına yakın bir şeye yaymıyorlar. Bu nedenle, 1 saatlik gecikme döngüsünü sürdürmek için bir belleğin bir CPU'dan uzakta olabileceği maksimum mesafe, kullanılabilir alana yerleştirilebilecek bellek miktarını sınırlayan en fazla birkaç santimetredir. Intel'in Nehalem işlemcisi, L2 önbellek kapasitesini Penryn'e kıyasla kısmen düşürdü, bu da gecikmesini arttırdı, bu da daha yüksek performansa yol açtı. * Gecikmeyi çok fazla önemsemezsek, hafızayı paketlemeye gerek yok,
Ayrıca, önbellek isabet oranının çoğu iş yükü için çok yüksek olduğu belirtilmelidir: hemen hemen tüm pratik durumlarda% 90'ın üzerinde ve% 99'un üzerinde bile. Bu yüzden, ölüme daha büyük hatıralar eklemenin faydası, özlülüklerin bu yüzde birkaçının etkisinin azaltılmasıyla sınırlıdır. Kurumsal sunucu pazarı (POWER gibi) için tasarlanan işlemciler tipik olarak çok büyük önbelleklere sahiptir ve karlı bir şekilde eDRAM'ı içerebilir, çünkü birçok kurumsal iş yükünün büyük çalışma kümelerini barındırmak yararlıdır. Haswell GPU'yu desteklemeli çünkü dokular geniş ve önbellekte kalmıyor. Bunlar, tipik önbellek hiyerarşileri tarafından çok iyi bir şekilde sunulan tipik masaüstü veya HPC iş yükleri değil, bugün eDRAM için kullanım durumlarıdır.
Yorumlarda ortaya çıkan bazı sorunları ele almak için:
Bu eDRAM önbellekleri, ana bellek yerine kullanılamaz çünkü L4 kurban önbellekleri olarak tasarlanmıştır. Bu, uçucu ve etkin bir şekilde adreslenebilir oldukları anlamına gelir; böylece, içinde depolanan veriler belirli bir yerde bulundukları gibi ele alınmaz ve herhangi bir zamanda atılabilir. Bu özelliklerin doğrudan haritalandırılması ve kalıcı olması RAM'in gerekliliği ile bağdaştırılması zordur, ancak bunları değiştirmek önbellekleri amaçlarına yararsız hale getirecektir. Elbette, mikrodenetleyicilerde yapıldığı gibi, daha geleneksel bir tasarımın anılarını gömmek mümkündür, ancak düşük gecikme, ana bellekte olduğu kadar önbellekte olduğu kadar yararlı olmadığı için, bu, büyük anıları olan sistemler için haklı değildir. veya bir önbellek eklemek daha değerli bir teklif.
Gigabayt sırasına göre kapasiteye sahip çok büyük önbelleklerin olasılığı ile ilgili olarak, bir önbellek yalnızca uygulama için çalışan çalışma setinin büyüklüğünde olmalıdır. HPC uygulamaları terabayt veri kümeleriyle ilgilenebilir, ancak iyi zamansal ve mekansal konumlara sahipler ve bu nedenle çalışma kümeleri tipik olarak çok büyük değil. Büyük çalışma kümelerine sahip uygulamalar örneğin veritabanları ve ERP yazılımıdır, ancak bu tür iş yükü için optimize edilmiş işlemciler için yalnızca sınırlı bir pazar vardır. Yazılım gerçekten ihtiyaç duymadıkça, daha fazla önbellek eklemek çok hızlı bir şekilde azalan getiri sağlar. Son zamanlarda, işlemcilerin ön satın alma talimatlarını aldıklarını gördük, bu nedenle önbelleklerin daha verimli kullanılabildiği: Çalışma talimatlarının mutlak boyutundan ziyade, bellek erişim modellerinin tahmin edilemezliğinden kaynaklanan yanlışlıkları önlemek için bu talimatları kullanabilirsiniz.
* Gecikmedeki düzelme, sadece önbellek boyutunun daha küçük olması nedeniyle değil, aynı zamanda ilişkililiğin azalması nedeniyle oldu. Nehalem'deki tüm önbellek hiyerarşisinde, tümü performansı iyileştirmeye odaklanmayan çeşitli nedenlerden dolayı önemli değişiklikler oldu. Dolayısıyla, bu bir örnek olarak yeterli olsa da, tam bir hesap değildir.