Инструкция Intel PAUSE и возможное нарушение порядка памяти
Возможный дубликат:
инструкция паузы в x86
Справочное руководство по оптимизации Intel содержит следующее, что можно сказать о циклах ожидания вращения:
3.4.1.2 Циклы ожидания и простоя
Процессор Pentium 4 представляет новую инструкцию PAUSE; Инструкция архитектурно представляет собой NOP для реализаций процессоров Intel 64 и IA-32.
Для процессоров Pentium 4 и более поздних эта инструкция служит намеком на то, что кодовая последовательность представляет собой цикл ожидания вращения. Без инструкции PAUSE в таких циклах процессор Pentium 4 может подвергнуться серьезному наказанию при выходе из цикла, поскольку процессор может обнаружить возможное нарушение порядка в памяти. Вставка инструкции PAUSE значительно снижает вероятность нарушения порядка памяти и, как следствие, повышает производительность
Я пытаюсь понять выделенную часть: процессор может обнаружить возможное нарушение порядка памяти. Не могли бы вы объяснить, что это значит? При каких обстоятельствах такое нарушение может возникнуть в занятом цикле и почему использование PAUSE
Помогите? Будет ли нарушение реальным или ложным, и каковы будут последствия, если его не избежать?
Пример, иллюстрирующий проблему, был бы великолепен.