Есть ли у них какая-либо математическая корреляция между размером кэша и максимальным оптимальным значением коэффициента развертывания цикла, которое может быть достигнуто?

#optimization #loop-unrolling

#оптимизация #развертывание цикла

Вопрос:

Коэффициент развертывания цикла следует выбирать тщательно. Это должно быть выбрано таким образом, чтобы развернутый цикл не переполнял кэш команд, поскольку это приведет к потере емкости кэша.

Я пытался выяснить, является ли их значение пределом для коэффициента развертывания, и я нашел в этой статье агрессивный подход к развертыванию цикла. дата 1995 :

Он использует машину R2000, чтобы показать, что 15-кратного развертывания цикла достаточно для извлечения большинства преимуществ для такого типа машины (зная, что кэш R2000 может вместить максимум 16 Тыс. (16384) инструкций).

Дальнейшее увеличение коэффициента развертывания незначительно улучшит преимущества. Наши результаты, показанные позже, подтверждают эту гипотезу. Но такой большой коэффициент развертывания следует использовать только в том случае, если развернутый цикл не переполнит кэш команд, что приведет к потере емкости кэша (выдержка из статьи).

Это заставляет меня спросить, существует ли математическая корреляция между размером кэша и максимальным коэффициентом развертывания, который можно протестировать?

Как определить предельное значение коэффициента развертывания цикла?