9

Все ли кэши процессора L1, L2 и L3 сделаны из SRAM? Если это правда, почему L1 быстрее, чем L2, а L2 быстрее, чем L3? Я не понял эту часть, когда я прочитал о них.

1 ответ1

12

В общем , все они реализованы с помощью SRAM.

(Микросхемы IBM POWER и zArchitecture используют память 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 должен быть размещен дальше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .