Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 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
|
|
|
| |||
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Рис.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 |


