2013-09-19 2 views
1

Когда я просматривал кривую латентности памяти, генерируемую lmbench (например, https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W51a7ffcf4dfd_4b40_9d82_446ebc23c550/page/Untangling%20memory%20access%20measurements%20-%20memory%20latency), мне было интересно, как размер массива влияет на его точное место размещения.Проблемы с кривой латентности памяти

В настоящее время мы предполагаем, что в кеше будет выделен массив из 100 КБ, а в основной памяти будет выделен массив из 80 МБ. Если это неверно, т. Е. Массив размером 100 КБ также инициализируется в основной памяти, его латентность, безусловно, будет равна основной задержке памяти, тогда на кривой не должно быть латентных повышений.

Я просто хочу убедиться, что мое предположение правильно или что-то не так с моим пониманием латентности памяти.

ответ

0

Оба массива будут выделены в «основной памяти» - в конце концов, у них должны быть реальные адреса. Разница только приходит в доступе - поскольку у вас вряд ли будет 80 МБ кеша, повторение большего массива вызывает кучу промахов в кеше, которые никогда не случаются с меньшим массивом.

Смежные вопросы