Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Распакованный и упакованный двоично-десятичный тип.
Битовое поле - непрерывную последовательность бит, в которой, каждый бит рассматривается независимо. Битовое поле может начинаться с любого бита, любого байта и иметь длину до 32 бит.
Битовая строка - непрерывная последовательность бит, начинающаяся с любого бита, любого байта и имеющая длину до 231-1 бит.


4. Ближний указатель (near pointer) - 32-разрядный логический адрес, представляющий собой относительный адрес внутри сегмента.


Дальний указатель (far pointer) - 48-разрядный логический адрес, состоящий из двух компонентов: 16-разрядного сегмента и 32-разрядного относительного адреса.
Целый тип - знаковое двоичное значение, содержащееся в 32-разрядном двойном слове, 16-разрядном слове или 8-разрядном байте. Все операции выполняются над числами, представленными в дополнительном коде. Знаковый бит расположен в бите 7 для байта, в бите 15 для слова и в бите 31 для двойного слова. 8-разрядное целое число изменяется в пределах от -128 до +127, 16-разрядное целое число в диапазоне от -32768 до +32767, а 32-разрядное целое число в диапазоне от -231 до +231-1. Нулевое значение имеет положительный знак (нуль в старшем бите).


7. Обычный (беззнаковый) тип - беззнаковое двоичное значение, содержащееся в 8-разрядном байте, 16-разрядном слове или 32-разрядном двойном слове. Все биты определяют величину числа. Значение числа для байта составляет от 0 до 255, для слова от 0 до 65535 и для двойного слова от 0 до 232-1.

8. Строка - непрерывная последовательность байт, слов или двойных слов. Строка может содержать от 0 до 232-1 байт или 4 Гбайта.

Регистры МП 80386 являются расширением регистров МП 8086/8088, 80286. Все 16-разрядные регистры этих МП находятся внутри 32-разрядной архитектуры МП 80386.

В табл.3.1 даны отличия в возможности доступа к регистрам МП 80386 в реальном а защищенном режимах. В этой таблице PL=0 означает, что регистр доступен только при нулевом текущем уровне привилегий; IOPL означает, что в режиме виртуального МП 8086 команды PUSHF и POPF сделаны чувствительными к уровню привилегий ввода-вывода.

Таблица 3.1

НЕ нашли? Не то? Что вы ищете?


Регистры


Использование в реальном режиме


Использование в защищенном

режиме


Использование в режиме виртуального. МП 8086


загрузка


сохранение


загрузка


сохранение


загрузка


сохранение


РОН


да


да


да


да


да


да


Регистры сегментов


да


да


да


да


да


да


Регистр флагов


да


да


да


да


IOPL


IOPL


Регистры управления


да


да


PL=0


PL=0


нет


да


Регистр GDТ


да


да


PL=0


да


нет


да


Регистр LDT


нет


нет


PL=0


да


нет


да


Регистр IDT


да


да


PL=0


да


нет


нет


Регистры отладки


да


да


PL=0


PL=0


нет


нет


Регистры проверки


да


Да


PL=0


PL=0


нет


нет





Рис.3.20. Общий формат регистров общего назначения МП 80386

Восемь регистров общего назначения (рис.3.20) имеют длину в 32 бита и содержит адреса или данные. Они поддерживают операнды-данные длиной 1,8,16,32,64 бита. При использовании двух регистров битовые поля от 2 до 32 бит, операнды - адреса длиной 16 и 32 бита. Эти регистры обозначаются как EАХ, EBX, ECX, EDX, ESI, EDI, EBP, ESP. Доступ к младшим разрядам этих регистров осуществляется независимо при использовании 16-разрядных имен регистров соответственно АХ, BX, CX, DX, SI, DI, BP, SP.

На рис.3.21 представлен регистр флагов. Он состоит из 32
разрядов и содержит все флаги состояния и управления
МП 8086/8088 и 80286, а также дополнительные биты для отладки, включения и исполнения в режиме виртуального процессора
МП 8086 в защищенной многозадачной среде. _

Рассмотрим дополнительные биты (см. рис.3.21).

- VM (режим виртуального МП 8086) бит 17. Бит обеспечивает
режим виртуального МП 8086 в защищенном режиме, при работе
процессора в защищенном режиме и если VM=1, то происходит переключение в режим виртуального МП 8086.



Рис.3.21. Регистр флагов EFLAGS МП 80386

Бит VM может быть установлен двумя способами: в защищенном режиме командой IRET при условии, что текущий уровень привилегий равен 0; переключением задачи на любом уровне привилегий.

RF (флаг возобновления), бит 16. Временно при останавливает обработку исключений для отладки, т. е. возвращает к обычному исполнению программы.

Шесть регистров сегментов указывают на текущие адресные сегменты памяти. Регистры сегментов можно разделить на две части. К первой части относятся 16-разрядный программно-доступный сегментный регистр. Ко второй части относится программно-недоступный регистр КЭШ-памяти сегмента (регистр дескриптора), который содержит описание сегмента, указанного селектором. Каждый регистр дескриптора содержит 32-разрядный базовый адрес сегмента, 32-разрядную границу сегмента и другие атрибуты. Таким образом, отличие регистра дескрипторов. сегмента от МП 80286 состоит в разрядности и некоторых атрибутах.

К сегментным регистрам МП 80386 относятся: регистр сегмента программ СS, регистр сегмента стека SS, регистры сегментов данных DS и ES. Указанные регистры выполняют те же функции, что и в МП 8086/8088, МП 80286. Для повышения эффективности работа программы в МП 80386 введены еще два регистра сегментов данных FS и GS. Содержимое регистров FS и GS так жe доступно для программ, как и регистров DS и ES. Регистры сегментов задают базовые адреса сегментов. Для адресации данных внутри сегмента к базовому адресу добавляется 32-разрядный относительный адрес. Регистры управления сегментированной памятью таблицы глобальных, локальных дескрипторов, дескрипторов прерываний и задачи имеют те же функции, что и аналогичные регистра МП 80286. Отличие заключается только в размерах линейного базового адреса. Для МП 80386 длина базового адреса составляет 32 бита.

Расширенный указатель команд (EIP} является 32-разрядным регистром. Он содержит относительный адрес следующей команды. Относительный адрес отсчитывается от базового адреса сегмента текущей программы. Указатель команд является программно - недоступным регистром, но он управляется явно командами управления потоком прерывания и исключения. Младшие 16 бит ETP называются IP и могут использоваться независимо. Этот факт необходим для исполнения команд МП 8086/8088 и 80286.

МП 80386 имеет три регистра управления: CRO, CR2 и СR3 (CR1 - зарезервирован) (рис.3.22). В этих регистрах отражается глобальная информация о состоянии машины, которая влияет на все задачи системы.

Эти регистры программно-доступные через варианты команды MOV. Формат регистров управления представлен на рис.3.22. Регистр СRО содержит флаги, которые управляют или показывают условия, относящиеся к системе в целом, а не к отдельной задаче. Младшие 16 бит этого регистра являются словом состояния машины (MSW) для совместимости с МП 80286.

Регистр CRO содержит поля:

Бит 31 — разбиения на страницы (PG) - показывает, использует ли МП 80386 таблицы страниц для трансляции линейных адресов в физические.



Рис.3.22. Регистры управления МП 80386

Бит 4 - расширения (ЕТ) - показывает тип сопроцессора (80286 или 80386), используемого в системе.

Бит 3 - переключения задачи (TS) - процессор устанавливает при включении каждой задачи. Бит TS может быть сброшен загрузкой в регистр CRO, а также специальной командой CLTS очистки этого бита.

Бит 2 - эмуляции (EM) - показывает, нужно ли эмулировать функции сопроцессора.

Бит1 - арифметического сопроцессора (MP) - управляет функцией команды WAIT, которая используется для взаимодействия с сопроцессором.

Бит 0 - включения защиты (РЕ) - при установке бита в 1 процессор переходит в защищенный режим; а при очистке - в режим реальных адресов.

Регистр CR2 используется для обработки отказа страницы в случае, когда установлен бит RG в регистре СRО. В регистре CR2 сохраняется



Рис. 3.23. Регистры проверки МП 80386

тот линейный адрес, который вызвал отказ.

Регистр CR3 используется тогда, когда установлен бит PG в CR0. Этот регистр содержит физический базовый адрес таблицs каталога страниц.

В МП 80386 имеются шесть регистров отладки DR0 – DR3, DR6 и DR7, которые расширяют его возможности.

На рис.3.23 представлены два 32-разрядных программно-доступных регистра проверки TR6 и ТR7, предназначенных для проверки механизма преобразования адресов в физические (трансляции адресов) МП 80386.

Механизм трансляции адресов использует буфер ассоциативной
трансляции (TLВ) особым образом организованную КЭШ-память
для хранения информация из таблиц страниц. .' ■

Регистр ТR6 имеет следующие поля (рис.3.23): ■ ' %

Линейный адрес - биты 12-31. При записи в буфер TLB для данного линейного адреса резервируется вход в буфер TLB. Остальные поля входа в этот буфер устанавливаются в зависимости от значения регистра TR7.

Бит достоверности V - бит 11. Буфер TLB использует этот бит для определения входов, содержащих достоверные данные.

Биты мусора D, D # - биты 10 - 9. Бит 10 является битом мусора, показывающим, был ли изменен вход в буфер TLB, a бит 9 является его инверсией.

Биты доступности пользователю U, U# - биты 8 и 7. Бит 8 является битом доступности пользователю или системе, а бит 7 является его инверсией.

Бит записи/чтения W, W# - биты 6 и 5. Бит б управляет доступом по записи/чтению, а бит 5 является его инверсией.

Бит команды С - бит 0. Для немедленного просмотра буфера TLB в регистр TR 6 пересылается двойное слово, содержащее в этом бите 1 для немедленной записи в буфер TLB; в этот же регистр пересылается двойное слово, содержащее в этом бите 0.

Регистр ТR7 имеет следующие поля (см. рис.3.23):

Физический адрес - биты 31 - 12. Эти бита являются полем данных буфера TLB.

Бит успеха просмотра НТ - бит 4. Для записи в буфер TLB бит НТ должен быть установлен. Если просмотр буфера TLB был успешным, то НТ=1, если нет - НТ=0.

Биты блока с тегом REP - биты 3 и 2.

Принцип теговой памяти заключается в хранении информации в форме самоопределяемых данных. Классическая архитектура машины фон Неймана предполагает, что тип хранимых в памяти данных поступает в потоке обрабатывающих команд. Таким образом, имеются команды, которые определяют атрибуты операндов. Тег - это поле самоопределения данных, которое содержит информацию о типе данных рассматриваемой ячейки, т. е. биты тега указывают тип данных, находящихся в ячейке, например, двоичное целое число, десятичное целое число, число с плавающей запятой (точкой), строка символов, адрес и т. д.

Биты 3 и 2 регистра ТR7 означают, в какой из четырех ассоциативных блоков осуществляется запись в буфер TLB. Если при чтении буфера TLB обнаруживается, что бит НТ равен 1, то эти биты показывают, в каком из четырех ассоциативных блоков был найден тег. Если при чтении бит НТ равен 0, его значение не определено.

Селекторы е. дескрипторы МП 80386 так же, как и в МП 80286, снабжают аппаратные средства сведениями об ожидаемых программами местах расположения информации различного типа.

Селекторы МП 80386 и МП 80286 совпадают. Дескрипторы
МП 80386 - это те объекты, на которые показывают селекторы.
Дескрипторы сегментов (рис.3.24) представляют собой 8-байтные
блоки, содержащие атрибуты линейных адресов, то есть сегменты.



Рис.3.24. Формат старшего слова дескрипторов МП 80386

К атрибутам относятся: 32-разрядный линейный базовой адрес сегмента (имеющий 20-разрядную длину), дробность сегмента, уровень защиты привилегии по чтению, записи и выполнению размера операндов по умолчанию (15- или 32-разрядный) и тип сегмента.

Некоторые поля дескриптора МП 80386 отличаются от полей дескриптора МП 80286. -

База сегмента определяет место сегмента внутри линейного 4 Гбайтного адресного пространства. Процессор объединяет три фрагмента, вместо двух для МП 80286 базового адреса для формирования одного 32-разрядкого значения.

Граница (предел) сегмента определяет размер сегмента:

1. G=0, граница оgределена до 1 Мбайте.

2. G=1, единица измерения до 4 Кбайт - размер страницы. Граница определена до 4 Гбайт.

Бит дробности дескриптора сегмента G определяет размер единиц, в которых интерпретируется поле границы.

Тип дескриптора расширен по сравнению с МП 80286 (см. рис.3.17):

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5