Что является значением “не временные” доступы памяти в x86

Запомните это:

Потребители едят ужин (супер); Производитель продлевает фабрику своего родителя

111
задан kristianp 2 May 2012 в 11:10
поделиться

2 ответа

Невременные инструкции SSE (MOVNTI, MOVNTQ, и т.д.), не следуют нормальным правилам когерентности кэш-памяти. Поэтому невременные хранилища должны сопровождаться инструкцией SFENCE для их результатов, которые будут замечены другими процессорами своевременно.

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

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

Источник: http://lwn.net/Articles/255364/

136
ответ дан Espo 24 November 2019 в 03:04
поделиться

Espo, в значительной степени барабанят в цель. Просто требуемый для добавления моих двух центов:

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

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

36
ответ дан Pramod 24 November 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: