Чи є кеші процесорів L1, L2 і L3 виготовлені з SRAM? Якщо це правда, чому L1 швидше, ніж L2, а L2 - швидше, ніж L3? Я не зрозумів цієї частини, коли читав про них.
Чи є кеші процесорів L1, L2 і L3 виготовлені з SRAM? Якщо це правда, чому L1 швидше, ніж L2, а L2 - швидше, ніж L3? Я не зрозумів цієї частини, коли читав про них.
Відповіді:
Взагалі всі вони реалізовані за допомогою 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 потрібно розміщувати далі.