December 11 2017 07:51:36
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
ПРЕФИКСНЫЕ БАЙТЫ
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ

Команды RDMSR, WRMSR позволяют загрузить содержимое одного из 64-разрядных модельно-специфических регистров MSR в пару регистров EDX:EAX или записать содержимое этой пары регистров в MSR. Выбор регистра MSR определяется его кодом, который предварительно заносится в регистр ЕСХ. Эти команды выполняются в реальном режиме или защищенном режиме при максимальном уровне привилегии программы CPL = 0. В случаях попытка их выполнения вызовет исключение типа #GP («нарушение защиты»).

Команда RDPMC производит загрузку в пару регистров EDX:EAX содержимого одного из двух 64-разрядных счетчиков, используемых для мониторинга производительности процессора. Эти счетчики входят в состав модельно-специфических регистров процессора. Номер считываемого счетчика - 0 или 1 - задается содержимым регистра ЕСХ. Если в регистре управления CR4 установлено значение бита РСЕ = 1, то выполнение этой команды производится при любом уровне привилегии текущей программы. Если значение РСЕ = 0, то команда RDPMC выполняется только программой с уровнем привилегии CPL = 0, а при других значениях CPL будет реализовано исключение типа #GP («нарушение защиты»).

Команда RDTSC загружает в пару регистров EDX:EAX содержимое счетчика текущего времени TSC (Time-Stamp Counter), который также является одним из модельно-специфических регистров MSR. Счетчик TSC переключается в каждом такте работы процессора и сбрасывается в ноль при его перезапуске (reset). Выполнение этой команды производится при любом уровне привилегии текущей программы, если в регистре управления CR4 установлено значение бита TSD = 0. При TSD = 1 команда выполняется только программой с уровнем привилегии CPL = 0, в противном случае реализуется исключение #GP.

2.3.5. ПРЕФИКСНЫЕ БАЙТЫ

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

Префикс SEG определяет выбор сегмента CS, DS, ES, FS, GS или SS для адресации операнда в выполняемой команде. При отсутствии этого префикса сегмент выбирается по умолчанию согласно табл. 2.8. Префикс действует, если команда выбирает операнд из памяти; в противном случае он не учитывается.

Префиксы AS, OS позволяют при выполнении последующей команды изменять разрядность адреса и операнда в соответствии с табл. 2.14.

Таблица 2.25 Команды управления процессором и префиксные байты

Синтаксис команды Операция
LMSW r/m16
SMSW r/m16
r/m16 ® MSW (биты 15-0 регистра CRO)
MSW ® r/m16
NOP HLT CPUID Отсутствие операции
Останов процессора
Информация о процессоре ® EAX,EBX,ECX,EDX
INVD Аннулирование содержимого внутренней кэш-памяти данных и кэш-памяти 2-го уровня (L2)
WBINVD Аннулирование содержимого внутренней кэш-памяти данных и кэш-памяти 2-го уровня (L2) с обратной записью в основную память модифицированных строк
INVLPG m(16,32) Аннулирование входа в страницу, содержащую адресную ячейку памяти
RSM Выход из режима SSM, восстановление состояния процессора
ROMSR
WRMSR
MSR ® EDX:EAX
EDX:EAX ® MSR
RDPMC
RDTSC
PMC ® EDX:EAX
TSC ® EDX:EAX
SEG (CS,DS,ES,FS,GS,SS)
AS
OS
LOCK
RER,REPE/REPZ,REPNE/REPNZ
Префикс выбора сегмента
Префикс разрядности адреса
Префикс разрядности операнда
Префикс блокировки сегментной шины
Префикс повторения операции над строками символов

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.02 секунд 2,294,984 уникальных посетителей