Нет способа принудительно заставить массив кеша L1 / L2 на большинстве архитектур;обычно он не нужен, если вы обращаетесь к нему часто, его вряд ли удастся извлечь из кэша.
На некоторых архитектурах есть набор инструкций, позволяющих дать подсказку процессору о том, что место в памяти скоро будетнеобходимо, чтобы он мог начать загружать его в кэш L1 / L2 раньше - это называется предварительной выборкой, см., например, инструкцию _mm_prefetch (http://msdn.microsoft.com/en-us/library/84szxsww(v=vs.80).aspx).Тем не менее, это вряд ли понадобится, если вы обращаетесь к небольшому массиву.
Общий совет: сначала сделайте ваши структуры данных эффективными в кешировании (объедините связанные данные, упакуйте данные и т. Д.), Попробуйте предварительную выборкупозже, если профилировщик скажет вам, что вы все еще тратите время на промахи в кеше, и вы не можете больше улучшать компоновку данных.