logo

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

Система команд 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

INVLPG

Аннулировать элемент TLB

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

OF

DF

IF

TF

SF

ZF

AF

PF

CF

 

 

 

 

 

 

 

 

 

 

Код

Команда

Описание

Проц.

Пример

0F 01 /7

INVLPG m

Аннулировать точку входа в TLB, которая задает адрес операнда m

Intel486

invlpg [bx]

Описание:

Команда INVLPG используется для того, чтобы гарантированно обеспечить отсутствие в буфере ассоциативной трансляции (Translation lookaside buffer, ;TLB) ненужных элементов. Если TLB содержит входы, отражающие адрес операнда команды INVLPG, то все соответствующие элементы TLB помечаются как недействительные.

Сам буфер ассоциативной трансляции (TLB) используется при работе страничного механизма и представляет собой ассоциативный кэш, который нужен для быстрого преобразования виртуальных адресов страниц в их физические адреса. При этом для процессоров, начиная с Pentium Pro, режим работы TLB для каждой конкретной страницы также зависит от установки бита G (Глобальная страница) в соответствующем элементе каталога страниц или таблицы страниц.

Глобальные страницы (G = 1) при загрузке в TLB остаются там до тех пор, пока не будут объявлены недействительными программным путем с помощью команды INVLPG. В отличие от них, обычные страницы выгружаются из TLB всякий раз, когда изменяется содержимое регистра CR3. Это может происходить либо при переключении задач, либо при использовании команды MOV CR. Такая поддержка глобальных страниц функционирует только при CR4.PGE = 1, если же CR4.PGE = 0, то установки бита G игнорируются.

Команда INVLPG является привилегированной командой. Попытка ее исполнения на уровне привилегий, отличном от нулевого, приводит к генерации ошибки общей защиты #GP.

Операция:

Сделать недействительной точку(и) входа в TLB;

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

#GP(0), если текущий уровень привилегий не равен 0.
#UD, если команда используется с регистровым операндом или с префиксом LOCK.

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

#UD, если команда используется с регистровым операндом или с префиксом LOCK.

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

#GP(0) при попытке использования команды.


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




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

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

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