Как работает _mm_mwait? - PullRequest
       32

Как работает _mm_mwait?

12 голосов
/ 02 апреля 2010

Как работает _mm_mwait из pmmintrin.h? (Я имею в виду не asm для него, а действие и , как это действие выполняется в системах NUMA . Мониторинг store легко реализовать только в системах на основе шины SMP с отслеживанием шины.) 1006 *

Какие процессоры это реализуют?

Используется ли он в некоторых спинлок?

1 Ответ

3 голосов
/ 18 октября 2011

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

Какие процессоры это реализуют?

MWAIT является частью SSE3.

Используется ли он в некоторых спинлок?

Это противоречит определению спин-блокировки - процессор не занят.

...