Мне трудно понять различия между локальной и глобальной пропускной способностью и как рассчитать среднее время доступа к памяти и просто хотел бы привести пример проблемы, которая у меня есть пытался решить. Я был бы признателен, если бы кто-нибудь мог сказать мне, если я на правильном пути, или если я ошибаюсь, что я пропустил.Расчет среднего времени доступа к памяти
Рассмотрим следующую многоуровневую иерархию кэш с их времени искать и ставки промахов:
- L1-кэша, 0,5 нс, 20%
- L2-кэша, 1,8 нс, 5%
- L3- кэш, 4,2 нс, 1,5%
- Основная память, 70 нс, 0%
в этом случае, время искать данные относятся к общему времени, которое требуется, чтобы проверить как whethe r запрошенные данные доступны на текущем уровне иерархии и передают данные на уровень выше (или в ЦП). Это то же самое, что время попадания, верно? Данные о пропущенных датах являются локальными. И, как я понял, скорость промаха одного уровня должна быть умножена на частоту промахов всех предыдущих уровней, чтобы быть правильной для этого уровня.
Давайте скажем, если у нас есть доступ к 1000 памяти, в L1 20% из них пропустят. Таким образом, 20% из них отправятся на L2, там 5% из них пропустят. Таким образом, из 1000 доступ к памяти достигнет 1000 * 20% * 5%. Теперь, насколько я знаю ... и, пожалуйста, исправьте меня, если я ошибаюсь, приведенные выше тарифы являются локальными, но их продукт является глобальным пропуском для каждого соответствующего уровня. Это означает, что глобальная пропускная способность будет 0,2 * 0,05 = 1% для L2.
Теперь, я могу быть очень неправильно с этим расчетом, но это, как я думаю:
AMAT (Средняя памяти Время доступа) = Hit время + Мисс ставка * Мисс штраф
AMAT = 0,5 + 0,2 * (1,8 + 0,2 * 0,05 * (4,2 + 0,2 * 0,05 * 0,015 * 70))
После вычисления этого я получаю AMAT = 0.868421 нс
Могу ли я сделать это правильно?
Спасибо за любую помощь
Возможно определить 'AMAT' ... –
@MarkSetchell Среднее время доступа к памяти (AMAT) - это способ измерения производительности конфигурации иерархии памяти. Он учитывает, что пропуски на разных уровнях иерархии влияют на общую производительность системы по-разному. –
Я уверен, что вы неверно истолковали пропускную способность кеша. Пропускание L3-cache на 1,5% означает, что 1,5% от _all_ доступа к памяти пропускаются. – gnasher729