Любопытно, среднее время доступа к памяти (AMAT) - PullRequest
4 голосов
/ 20 февраля 2012

Я видел среднее время доступа к памяти, часто цитируемое как

AMAT = (L1 cache hit time + L1 miss rate*(L2 hit time + L2 miss rate*(memory access time)))

Есть ли причина, по которой времена попадания не умножаются на коэффициент попадания? И только время промахов умножается на количество промахов?

Ответы [ 2 ]

3 голосов
/ 13 мая 2013

Это потому, что независимо от того, включен кеш или нет, на этот раз поиск данных в кеше уже потрачен.

AMAT = HitTime * (1-MissRate) + MissRate * (HitTime + MissPenalty)
= HitTime + MissRate * MissPenalty

2 голосов
/ 05 июня 2012

Домашнее задание?

В большинстве кешей все запросы отправляются в кэш L1, а затем, только после того, как они были определены как пропущенные, переходят к L2.И т. Д.

Или:

За 100 обращений

Время, потраченное на попадания в L1 = Время обращения в кэш L1 * Частота обращений в кэш L1

Потраченное времяв L1 промахи, которые идут в память = частота промахов кеша L1 * (время обращения к кешу L1 + время, чтобы перейти в память)

Total time = Thit * Phit*100 + Pmuss*100 * (Thit + Tmiss)
= Thit * (1-Pmiss)*100 + Pmiss*100 (Thit+Tmiss)
= Thit * ( 1-Pmiss+Pmiss ) * 100 + Pmiss*100*Tmiss
= 100* (Thit + Pmiss*Tmiss)

и т. д., если у вас есть L2.

Т.е.они отменяют.

Теперь существуют системы кеширования ARE, или, по крайней мере, были, где обращения были отправлены как в кеш, так и в память одновременно.В таких системах

Tavg = Phit*Thit + Pmiss*Tmiss.

но они не распространены.Они имеют тенденцию тратить энергию, так как вы запустили доступ к L2 или основной памяти, который вам, вероятно, не понадобится.

Я называю первый кеш-сервером просмотра, а второй - кешем просмотра данных.

(с тех пор я узнал, что некоторые из моих коллег называют этот последний случай, когда доступ отправляется одновременно и кешу, и памяти, «спекулятивным отсутствием доступа к памяти кеша». Что не является необоснованным использованиемТермин «спекуляция», но который также можно спутать с «спекулятивным промахом кэша», возникающим, например, на машине с прогнозированием ветвлений. Рассмотрим два случая: (1) машина без прогнозирования ветвлений и спекулятивного выполнения.машина, инструкция, ссылка на память, не являются спекулятивными, поэтому мы просто размышляем о том, отправлять ли этот доступ только в кэш или также в память. (2) машина с предсказанием переходов или другими формами спекулятивного выполнения.на такой машине фактическая операция с памятью носит умозрительный характер.ive инструкция, которую мы еще не знаем, на самом деле будет выполняться, может создать доступ к памяти, который может быть спекулятивно отправлен в память, а может и нет, до того, как будет определено, что она отсутствует в кэше.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...