Haswell компанії Intel (або принаймні ті продукти, які містять графічний процесор Iris Pro 5200) та POWER7 та POWER8 IBM, включають вбудовану DRAM, "eDRAM".
Одне важливе питання, яке призвело до того, що eDRAM до недавнього часу не було поширеним, - це те, що процес виготовлення DRAM не є суттєво сумісним з логічними процесами, тому необхідно додати додаткові кроки (які збільшують вартість та зменшують вихід), коли потрібна eDRAM. Таким чином, для того, щоб компенсувати цей економічний недолік, повинна бути вагома причина, щоб її включити. Альтернативно, DRAM може бути розміщений на окремому штампі, який виготовляється незалежно від, але потім інтегрується в той же пакет, що і CPU. Це забезпечує більшу частину переваг місцевості без труднощів виготовлення двох справді інтегрованих способів.
Інша проблема полягає в тому, що DRAM не схожий на SRAM, оскільки він не зберігає його вміст на невизначений час під час подачі живлення, а читання також знищує збережені дані, які потрібно записати після цього. Отже, його потрібно періодично оновлювати і після кожного прочитаного. І тому, що ячейка DRAM заснована на конденсаторі, заряджаючи або розряджаючи її достатньо, щоб витік не пошкодив її значення до наступного оновлення потребує певної обмеженої кількості часу. Цей час зарядки не потрібен для SRAM, який є лише засувкою; отже, його можна тактирувати з тією ж швидкістю, що і процесор, тоді як DRAM обмежений приблизно 1 ГГц, зберігаючи розумне енергоспоживання. Це призводить до того, що DRAM має більш високу притаманну затримку, ніж SRAM, що робить її не варто використовувати для всіх, крім самих великих кешів, де зменшена швидкість пропуску окупиться.
Крім того, що стосується затримки, велика частина труднощів полягає в тому, що сигнали фізичної відстані повинні пройти. Світло може подорожувати лише 10 см за тактовий час процесора 3 ГГц. Звичайно, сигнали не рухаються прямими лініями через матрицю і не поширюються при чомусь близькому до швидкості світла через необхідність буферизації та вентиляції, що спричиняє затримку розповсюдження. Отже, максимальна відстань, яку пам'ять може бути віддалена від центрального процесора, щоб підтримувати 1 тактовий цикл затримки, становить не більше кількох сантиметрів, обмежуючи об'єм пам'яті, який може бути розміщений у доступній області. Процесор Nehalem від Intel фактично знизив ємність кешу L2 порівняно з Penryn частково для поліпшення його затримки, що призвело до підвищення продуктивності.
Слід також зазначити, що частота показів кешу дуже велика для більшості робочих навантажень: набагато вище 90% майже у всіх практичних випадках, а не рідко навіть вище 99%. Таким чином, користь від включення більших спогадів на смерть по суті обмежується зменшенням впливу цих кількох відсотків промаху. Процесори, призначені для ринку корпоративних серверів (наприклад, POWER), зазвичай мають величезні кеші і можуть вигідно включати eDRAM, оскільки це корисно для розміщення великих робочих наборів багатьох навантажень підприємства. Haswell має підтримку графічного процесора, оскільки текстури великі і їх неможливо розмістити в кеші. Це випадки використання для eDRAM сьогодні, а не типові робочі навантаження або HPC, які дуже добре обслуговуються типовими ієрархіями кешу.
Щоб вирішити деякі проблеми, порушені в коментарях:
Ці кеші eDRAM не можна використовувати замість основної пам'яті, оскільки вони розроблені як кеші жертв L4. Це означає, що вони є мінливими та ефективно адресованими вмістом, тому дані, що зберігаються в них, не розглядаються як такі, що зберігаються в якомусь конкретному місці, і можуть бути викинуті в будь-який час. Ці властивості важко узгодити з вимогою оперативної пам'яті бути прямим відображенням та стійким, але їх зміна зробить кеші марними за призначенням. Звичайно, можна вбудувати пам'ять більш звичайної конструкції, як це робиться в мікроконтролерах, але це не виправдано для систем з великою пам’яттю, оскільки низька затримка не настільки вигідна в основній пам’яті, як в кеш-пам'яті, тому розширення або додавання кеша є більш вагомою пропозицією.
Що стосується можливості дуже великих кешів з ємністю на порядок гігабайт, кеш потрібно лише розміром робочого набору для програми. Програми HPC можуть мати справу з терабайтними наборами даних, але вони мають гарну часову та просторову локалізацію, тому їх робочі набори зазвичай не дуже великі. Додатки з великими робочими наборами - це, наприклад, бази даних та програмне забезпечення ERP, але існує лише обмежений ринок процесорів, оптимізованих для такого навантаження. Якщо програмне забезпечення справді цього не потребує, додавання більше кешу забезпечує дуже швидко зменшення віддачі. Останнім часом ми бачимо, що процесори отримують інструкції з попереднього вибору, тому кеші можна використовувати більш ефективно: можна використовувати ці інструкції, щоб уникнути помилок, спричинених непередбачуваністю шаблонів доступу до пам'яті, а не абсолютним розміром робочого набору,
* Поліпшення затримки відбулося не лише через менший фізичний розмір кешу, а й тому, що асоціативність була знижена. Була суттєва зміна всієї ієрархії кеш-пам'яті в Негалемі з кількох різних причин, не всі з яких були зосереджені на покращенні продуктивності. Отже, хоча цього достатньо для прикладу, це не повний рахунок.