Определение диапазона адресов инструкции x86 MONITOR с помощью инструкции CPUID

Документация Intel для МОНИТОРА гласит:

Инструкция MONITOR включает оборудование для мониторинга адресов, используя адрес, указанный в EAX (диапазон адресов, который аппаратное обеспечение для мониторинга проверяет для операций хранилища, можно определить с помощью CPUID). Сохранение по адресу в указанном диапазоне адресов запускает оборудование для мониторинга. Состояние оборудования монитора используется MWAIT.

Так что кто-нибудь точно знает, какое значение EAX я должен передать CPUID, чтобы получить «диапазон адресов, который аппаратное обеспечение для мониторинга проверяет для операций хранилища, можно определить с помощью CPUID».

Или диапазон адресов МОНИТОРА - это просто размер строки кэша?


person zviadm    schedule 16.02.2011    source источник


Ответы (1)


Я сам нашел ответ. Эта документация содержит его: www.intel.com/Assets/PDF/appnote/241618.pdf

Параметры MONITOR / MWAIT (функция 05h), то есть EAX должно быть 5.

person zviadm    schedule 16.02.2011
comment
Не могли бы вы подробнее рассказать об этом, т.е. где именно на выходе функции 05 вы видите диапазон адресов? Все, что я вижу, это наименьшая строка монитора и наибольший размер строки монитора - как можно получить из них контролируемый диапазон адресов? - person Igor R.; 09.02.2014
comment
... или этот диапазон может начинаться с произвольного адреса, а CPUID дает только длину отслеживаемого диапазона? - person Igor R.; 09.02.2014