logo

Главная Система команд x86 Базовая система команд CPU RDPMC

Система команд x86

Программирование - Архитектура и система команд микропроцессоров x86
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

RDPMC

Чтение из счетчиков мониторинга производительности

Влияние команды на флаги и форматы команды:

OF

DF

IF

TF

SF

ZF

AF

PF

CF

 

 

 

 

 

 

 

 

 

 

Код

Команда

Описание

Проц.

Пример

0F 33

RDPMC

Загрузить данные из счетчика мониторинга производительности, заданного значением в ECX в регистры EDX:EAX

Pentium

rdpmc

Описание:

Два 40-разрядных счетчика мониторинга производительности были введены в архитектуру процессоров Intel начиная с Pentium. В Pentium, … Pentium III они реализованы как особые регистры модели с возможностью доступа к ним через привилегированные команды RDMSR (чтение) и WRMSR (запись). В процессоры, начиная с Pentium MMX, введена новая команда RDPMC, которая предназнаена исключительно для доступа к указанным счетчикам.

При выполнении команды RDPMC входное значение в регистре ECX указывает один из 40-битных счетчиков мониторинга производительности процессора. Содержимое заданного счетчика копируется в EDX:EAX. EDX загружается старшими 8 битами, а EAX — младшими 32 битами.

Когда флаг CR4.PCE сброшен, команда RDPMC может выполняться только в защищенном режиме при уровне привилегий равном 0, когда же этот флаг установлен, команда RDPMC перестает быть привилегированной и становится доступной во всех режимах. При исполнении команды в режиме 16-битного размера операндов она все равно использует 32-битное входное значение в ECX и возвращает полное 40-битное значение в EDX:EAX.

Команда RDPMC поддерживается различными модификациями процессоров, в т.ч. и некоторыми клонами, но она не входит в стандартный набор, поэтому перед ее использованием программы должны выполнять команду CPUID и проверять наличие поддержки команды RDPMC.

Операция:

IF (ECX = 0 OR 1) AND ((CR4.PCE = 1) OR ((CR4.PCE = 0) AND (CPL = 0)))

  THEN

     EDX:EAX = PMC[ECX];

  ELSE (* ECX > 1 и/или CR4.PCE = 0 и CPL > 0 *)

     #GP(0);

FI;

Особые ситуации защищенного режима:

#GP(0), если CR4.PCE = 0 и текущий уровень привилегий CPL не равен 0 или входное значение в ECX не содержит корректного номера счетчика мониторинга производительности (0 или 1 для процессоров Pentium, … Pentium III).

Особые ситуации режима реальной адресации:

#GP, если CR4.PCE = 0 или входное значение в ECX не содержит корректного номера счетчика мониторинга производительности (0 или 1 для процессоров Pentium, … Pentium III).

Особые ситуации режима V86:

#GP(0), если CR4.PCE = 0 или входное значение в ECX не содержит корректного номера счетчика мониторинга производительности (0 или 1 для процессоров Pentium, … Pentium III).


Входит в группу команд: Базовая система команд CPU




Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru

Top.Mail.Ru       Сервер радиолюбителей России - схемы, документация,

 соревнования, дипломы, программы, форумы и многое другое!   схемы новости электроники