Действия выполняемые fpu инструкциями для различных сочетаний флагов ts, em и mp
Флаги CR0 |
Тип инструкции FPU |
|||
EM |
MP |
TS |
Обычная |
WAIT/FWAIT |
0 |
0 |
0 |
Исполнение |
Исполнение |
0 |
0 |
1 |
Вызов #NM |
Исполнение |
0 |
1 |
0 |
Исполнение |
Исполнение |
0 |
1 |
1 |
Вызов #NM |
Вызов #NM |
1 |
0 |
0 |
Вызов #NM |
Исполнение |
1 |
0 |
1 |
Вызов #NM |
Исполнение |
1 |
1 |
0 |
Вызов #NM |
Исполнение |
1 |
1 |
1 |
Вызов #NM |
Вызов #NM |
ЕТ (Extension Type) – в процессорах семейств P5+ не используется (резервирован); в процессорах Intel 386, 486 установка значения ЕТ=1 указывает на включение в систему математических сопроцессоров Intel 387DX;
NE (Numeric error) – управление прерываниями FPU, при установке значения бита NE=1 ошибки, возникающие при выполнении инструкции FPU, вызывают исключение типа #MF (ошибка FPU) при выборке следующей инструкции FPU; при установке значения NE=0 ошибка FPU вызывает выдачу на соответствующий вывод процессора сигнала FERR#=0, который поступает во внешний контроллер прерываний (этот способ обслуживания прерываний FPU реализуется в персональных компьютерах);
WP (Write Protect) – защита от записи, при установке значения бита WP=1 программам супервизора, имеющим уровень привилегий 0-2, запрещается запись на страницы пользователя предназначенные только для чтения; при значении WP=0 такая запись разрешена;
AM (Alignment Mask) – управление проверкой выравнивания, разрешает при установке значения бита АМ=1 проверку выравнивания адресов по границам слов (кратные двум) или двойных слов (кратные четырем) выборке операндов из памяти, если в регистре EFLAGS установлено значение бита АС=1 и выполняемая программа имеет уровень привилегии 3 (программа пользователя);
NW (Not Write-through) – запрещение записи в кэш-память, совместно с битом CD определяет режим работы внутренней кэш-памяти процессора;
CD (Cache Disable) – запрещение заполнения кэш-памяти, совместно с битом NW определяет режим работы внутренней кэш-памяти процессора;
PG (Paging Enable) – разрешение страничной трансляции адреса, при установке значения PG=1 обеспечивает страничную адресацию памяти в защищенном режиме (см. табл. $.2).
Таблица $.2.
Режимы работы процессора
PG |
РЕ |
Режим процессора |
0 |
0 |
Реальный режим |
0 |
1 |
Защищенный режим без использования страничной адресации |
1 |
0 |
Запрещенная комбинация (вызывает исключение типа #GP -нарушение защиты) |
1 |
1 |
Защищенный режим с использованием страничной адресации |
Отметим, что биты МР, ЕМ, TS влияют также на выполнение инструкций, реализуемых блоком ММХ. В табл. $.3 указано, как реагирует процессор на поступление инструкций FPU или ММХ в зависимости от установленного значения этих битов.
Таблица $.3.
