Кеші процесорів L1, L2 і L3 виготовлені з SRAM?


10

Чи є кеші процесорів L1, L2 і L3 виготовлені з SRAM? Якщо це правда, чому L1 швидше, ніж L2, а L2 - швидше, ніж L3? Я не зрозумів цієї частини, коли читав про них.


Пов'язане запитання: Навіщо нам потрібно кілька рівнів пам'яті кешу? . Також дещо пов’язане: що насправді керує кешами багаторівневих процесорів? . З вашого коментаря там, я бачу, ви вже знайшли останнє питання.
Пол А. Клейтон

Відповіді:


12

Взагалі всі вони реалізовані за допомогою SRAM.

(Мікросхеми POWER і zArchitecture IBM використовують пам'ять DRAM для L3. Це називається вбудованою DRAM, оскільки вона реалізована в тому ж типі технологічної технології, що і логіка, що дозволяє швидкій логіці інтегруватися в той самий чіп, що і DRAM. Для POWER4 вимкнено- мікросхема L3, що використовується eDRAM; POWER7 має L3 на тій самій мікросхемі, що і ядра обробки.)

Хоча вони використовують SRAM, вони не всі використовують однаковий дизайн SRAM. SRAM для L2 та L3 оптимізовані для розміру (для збільшення ємності з огляду на обмежений розмір чіпа, що обробляється, або зменшення вартості заданої ємності), в той час як SRAM для L1 швидше оптимізований для швидкості.

Що ще важливіше, час доступу пов'язаний з фізичним розміром пам’яті. При двовимірному компонуванні можна очікувати, що фізична затримка доступу буде приблизно пропорційна квадратному кореню ємності. (Неоднакова архітектура кешу використовує це для створення підмножини кешу при меншій затримці. Зрізи L3 останніх процесорів Intel мають подібний ефект; потрапляння в локальний фрагмент має значно меншу затримку.) Цей ефект може зробити кеш DRAM швидше ніж кеш-пам'ять SRAM при високій ємності, оскільки DRAM фізично менше.

Ще один фактор полягає в тому, що більшість кешів L2 і L3 використовують послідовний доступ до тегів і даних, де більшість L1 кешує паралельно доступ до тегів та даних паралельно. Це оптимізація потужності (швидкість пропуску L2 вище, ніж частота пропуску L1, тому швидше за все втрачається доступ до даних; доступ до даних L2, як правило, вимагає більше енергії, пов'язаної з ємністю--; кеші L2 зазвичай мають більш високу асоціативність а це означає, що більше записів даних доведеться читати спекулятивно). Очевидно, що дочекатися відповідності тегів до доступу до даних додасть час, необхідний для отримання даних. (Доступ до L2 також зазвичай починається лише після підтвердження пропуску L1, тому затримка виявлення пропусків L1 додається до загальної затримки доступу L2.)

Крім того, кеш L2 фізично більш віддалений від двигуна виконання. Розміщення кешу даних L1 близько до механізму виконання (щоб загальний випадок потрапляння L1 було швидким), як правило, означає, що L2 потрібно розміщувати далі.


Чудова відповідь. Але я не згоден з вашим твердженням про те, що коефіцієнт пропуску L2 вище, ніж показник пропуску L1. Коли ми рухаємось нижче в ієрархії пам’яті, у нас є більші структури, що забезпечують менші пропуски, але зі збільшенням затримки.
Харшавардхан Раманна

@HarshavardhanRamanna Так, збільшення потужності та асоціативності допомагають пропустити швидкість, але нижчі рівні фільтрують доступ (традиційна передача цілого блоку з L2 фільтрує короткочасні просторові локації в блоці; хіт враховує лише один доступ у L2, тоді як сам блок, ймовірно, забезпечить звернення в L1 для додаткового доступу. Загальна швидкість промаху знижується (наприклад, L2 з пристойною швидкістю попадання 80% і L1 з 95% влученнями отримують загальні 99% попадання).
Пол А. Клейтон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.