- •К.А. Палагута Микропроцессоры и интерфейсные средства транспортных средств
- •Москва 2011
- •Глава 1. Микропроцессор (мп), микропроцессорная система (мпс), основные понятия 11
- •Глава 2 Режимы работы мпс 33
- •Глава 3. Реализация и организация памяти мп 57
- •Глава 4. Микропроцессор кр580вм80а (Intel 8080) 77
- •Глава 5. Микропроцессор к1810вм86 (Intel 8086) 138
- •Глава 6. Микропроцессоры Intel от 80186 до Pentium 4 159
- •Глава 7. Микропроцессор к1801вм1, магистраль q-bus 209
- •Глава 8. Понятие и задачи интерфейса 239
- •Глава 9. Интерфейсные блоки для магистралей isa и q-bus 255
- •Глава 10. Промышленные интерфейсы. Сетевые протоколы в автомобиле 308
- •Глава 11. Интегральные схемы программируемой логики (ис пл) 326
- •Предисловие
- •Введение
- •Глава 1. Микропроцессор (мп), микропроцессорная система (мпс), основные понятия
- •1.1 Определение микропроцессора, классификация мп
- •1.2 Микропроцессорный комплект (мпк)
- •1.3 Микропроцессорная система
- •1.4 Линия, шина, магистраль
- •1.5 Типы магистралей
- •1.6 Шина адреса, раздельные и объединенные адресные пространства памяти и устройств ввода-вывода
- •1.7 Шина данных
- •1.8 Шина управления
- •1.9 Архитектура и структура микропроцессора
- •1.10 Cisc и risc процессоры, конвейерное выполнение команд программы
- •1.11 Конвейерная обработка данных
- •1.12 Контрольные вопросы и задания
- •Глава 2 Режимы работы мпс
- •2.1 Режим обмена данными под управлением процессора
- •2.2 Режим пдп
- •2.3 Режим прерывания
- •2.4 Контрольные вопросы и задания
- •Глава 3. Реализация и организация памяти мп
- •3.1. Виды запоминающих устройств (зу)
- •3.2. Кэш-память
- •3.3. Когерентность, механизмы сквозной и обратной записи
- •3.4. Алгоритмы обновления содержимого заполненных строк, снуппинг
- •3.5. Организация памяти
- •3.6. Внешние зу
- •3.7. Контрольные вопросы и задания
- •Глава 4. Микропроцессор кр580вм80а (Intel 8080)
- •4.1 Структура мп к580вм80
- •4.2 Основные технические характеристики мп кр580вм80а
- •4.3 Регистровая модель мп к580вм80
- •4.4 Классификация команд мп кр580вм80а
- •4.5 Команды пересылки (перемещения) данных
- •4.5.1 Пересылка из регистра в регистр
- •4.5.2 Непосредственная пересылка
- •4.5.3 Непосредственная загрузка пары регистров
- •4.5.4 Запоминание/загрузка аккумулятора и пары hl
- •4.5.5 Ввод из пары регистров в стек
- •4.5.6 Ввод а и f в стек
- •4.5.7 Выбор из стека пары регистров
- •4.5.8 Выбор (a) и (f) из стека
- •4.5.9 Обмен данными
- •4.5.10 Пересылка нl
- •4.6 Приращение / отрицательное приращение
- •4.6.1 Приращение/отрицательное приращение регистра
- •4.6.2 Приращение пары регистров
- •4.6.3 Отрицательное приращение пары регистров
- •4.7 Арифметические и логические операции
- •4.7.1 Арифметические операции над (a) и (r)
- •4.7.2 Арифметические операции с непосредственной адресацией
- •4.7.3 Сложение содержимого пар регистров
- •4.7.4 Логические операции над (а) и (r)
- •0800) Ora c
- •4.7.5 Логические операции с непосредственной адресацией
- •4.7.6 Операции сравнения
- •4.7.7 Операции циклического сдвига (а).
- •4.7.8 Дополнение аккумулятора
- •4.8 Команды перехода и вызова подпрограмм
- •4.8.1 Команды переходов
- •4.8.2 Команды вызова подпрограмм и возврата из подпрограмм
- •4.9 Команды ввода – вывода
- •4.9.1 Ввод данных из входного порта
- •4.9.2 Вывод данных в выходной порт
- •4.10 Команды управления
- •4.10.1 Рестарт (повторный запуск)
- •4.10.2 Изменение (Тс)
- •0800) Stc
- •0800) Cmc
- •4.10.3 Управление прерываниями
- •4.10.4 Двоично-десятичная коррекция
- •4.10.5 Пустая операция
- •4.10.6 Останов
- •4.11 Микропроцессор intel8085
- •4.11.1 Архитектура мп intel8085
- •4.11.2 Регистры мп Intel 8085
- •4.11.3 Ввод и вывод последовательных данных
- •4.12 Контрольные вопросы и задания
- •Глава 5. Микропроцессор к1810вм86 (Intel 8086)
- •5.1. Устройство и работа микропроцессора Intel 8086 (k1810bm86)
- •5.1.1. Структура микропроцессора Intel 8086
- •5.1.2. Режимы работы микропроцессора
- •5.1.3. Структура минимально укомплектованной системы на базе микропроцессора к1810вм86
- •5.1.4. Структура системы средней сложности на базе микропроцессора к1810вм86
- •5.2. Программная модель микропроцессора Intel 8086
- •5.2.1. Пользовательские регистры
- •5.2.2. Регистры общего назначения
- •5.2.3. Сегментные регистры
- •5.2.4. Регистры состояния и управления
- •5.3. Формирование физического адреса в микропроцессоре Intel 8086
- •5.4 Способы адресации микропроцессора
- •5.5 Контрольные вопросы и задания
- •Глава 6. Микропроцессоры Intel от 80186 до Pentium 4
- •6.1. Архитектура микропроцессоров 80186/80188
- •6.2. Микропроцессор 80286
- •6.2.1 Аппаратные особенности
- •6.2.2 Система команд
- •6.2.3. Виртуальная память
- •6.3. Микропроцессоры 80386 и 80486
- •6.3.1. Микропроцессор 80386
- •6.4. Микропроцессоры Pentium и Pentium Pro
- •6.5. Специальные регистры микропроцессора Pentium
- •6.6. Управление памятью микропроцессора Pentium
- •6.7. Новые команды микропроцессора Pentium
- •6.8. Специальные особенности микропроцессора Pentium Pro
- •6.9. Микропроцессоры Pentium II, Pentium III и Pentium 4
- •6.9.1. Сопряжение с памятью
- •6.9.2. Набор регистров
- •6.11 Контрольные вопросы и задания
- •Глава 7. Микропроцессор к1801вм1, магистраль q-bus
- •7.1 Микропроцессор к1801вм1
- •7.1.1 Структурная схема микропроцессора к1801вм1
- •7.1.2 Основные технические характеристики
- •7.1.3 Регистровая модель микропроцессора
- •7.1.4 Адресное пространство
- •7.1.5 Формат команд
- •7.1.6 Методы адресации
- •7.2. Системная магистраль q-Bus
- •7.2.1 Временная диаграмма цикла ввод
- •7.2 2 Временная диаграмма цикла вывод
- •7.2.3 Цикл ввод-пауза-вывод
- •7.2.4 Временная диаграмма предоставления прямого доступа к памяти
- •7.2.5 Временная диаграмма прерывания
- •7.3 Контрольные вопросы и задания
- •Глава 8. Понятие и задачи интерфейса
- •8.1 Интерфейс
- •8.2 Селекция магистралей
- •8.2.1 Схемы централизованной селекции
- •8.2.2 Схемы децентрализованной селекции
- •8.3 Синхронизация обмена по магистрали
- •8.4 Координация взаимодействия устройств на магистрали
- •8.5 Контрольные вопросы и задания
- •Глава 9. Интерфейсные блоки для магистралей isa и q-bus
- •9.1 Isa
- •9.2. Порядок обмена по системной магистрали isa
- •9.2.1. Особенности магистрали isa
- •9.2.2. Сигналы магистрали isa
- •9.2.3. Циклы магистрали isa
- •9.3 Разработка устройств сопряжения для isa
- •9.3.1. Проектирование аппаратуры для сопряжения с isa
- •9.4 Разработка устройств сопряжения для q-bus
- •9.5 Контрольные вопросы и задания
- •Глава 10. Промышленные интерфейсы. Сетевые протоколы в автомобиле
- •10.1 Промышленные Fieldbus (полевые) сети
- •10.1.1 Модель osi (Open System Interconnection) (iso/osi) для стандартов.
- •10.1.2 Локальная сеть на основе интерфейса rs-485, объединяющая несколько приемо-передатчиков.
- •10.2 Этапы развития fieldbus технологий
- •10.3 Сетевые протоколы в автомобиле
- •10.4 Контрольные вопросы и задания
- •Глава 11. Интегральные схемы программируемой логики (ис пл)
- •11.1. Классификация ис программируемой логики
- •11.2. Конструктивно-технологические типы современных программируемых элементов
- •11.3. Области применения микросхем с программируемой логикой
- •11.4 Системные свойства ис пл
- •11.5 Типовые схемотехнические решения
- •11.6 Приемы дополнительной обработки сигнала
- •11.7 Организация двунаправленных выводов
- •11.8 Схема программирования типа выхода ячейки (введение триггера)
- •11.9 Fpga (программируемые пользователем вентильные матрицы)
- •11.10. Полные ресурсы межсоединений в микросхемах cpld
- •11.11 Контрольные вопросы и задания
- •Заключение
- •Глоссарий
- •Список литературы
6.3.1. Микропроцессор 80386
Наиболее распространены были две версии микропроцессора 80386: процессор 80386DX, и упрощенный процессор 80386SX с внешней 16-разрядной шиной данных, хотя внутри он использовал 32-разрядную шину.
Процессор 80386DX был помещен в 132-контактный корпус типа PGA (pin grid array), т. е. корпус с матричным расположением штырьковых выводов. Более новая версия микропроцессора 80386 — 80386ЕХ содержит в себе: блок управления шиной АТ, блок управления регенерацией динамического ОЗУ, программируемый блок выбора кристалла, контроллер прерываний, контроллер DMA, блок таймеров, блок последовательной передачи данных, 26 выводов шины адреса, 16 выводов шины данных.
Микропроцессор 80386DX, имея 32-разрядную шину данных и 32-разрядную шину адреса, способен адресовать 4 Гбайта физической памяти. Микропроцессор 80386SX, подобно микропроцессору 80286, адресует 16 Мбайт памяти и имеет в своем распоряжении только 24-разрядную шину адреса и 16-разрядную шину данных. Микропроцессор 80386SX был разработан после микропроцессора 80386DX для использования, не требующего полной версии 32-разрядной шины. Микропроцессор 80386SX применялся во многих персональных компьютерах, которые использовали ту же самую системную плату, что и для микропроцессора 80286. В то время, когда большинству приложений, включая Windows, требовалось менее 16 Мбайт памяти, процессор 80386SX был популярной и менее дорогостоящей версией микропроцессора 80386. В дальнейшем, несмотря на то, что процессор 80486 становился все более дешевым для построения новых вычислительных систем, все равно процессор 80386 долгое время оставался востребованным для многих приложений. Например, микропроцессор 80386ЕХ, хотя в персональных компьютерах и не использовался, но был очень популярен во встраиваемых системах.
Микропроцессору 80386, как и предыдущим версиям семейства микропроцессоров Intel, для работы требуется только один источник питания напряжением +5,0 В. Средний ток потребления процессором 80386 составляет: 550 мА для процессора, работающего на тактовой частоте 25 МГц, 500 мА для процессора с частотой 20 МГц и 450 мА для процессора, работающего на частоте 16 МГц. Кроме того, имелась версия процессора с тактовой частотой 33 МГц, который имел ток потребления, равный 600 мА. Ток потребления микропроцессора 80386ЕХ составляет 320 мА при работе на частоте 33 МГц.
Ток потребления процессора во время некоторых режимов его работы может возрастать до 1,0 А. Это означает, что источник питания и схема разводки питания должны быть рассчитаны на эти всплески тока. Процессор имеет многочисленные выводы VCC и VSS, которые для правильной работы микропроцессора должны быть все подключены к источнику постоянного тока с напряжением +5,0 В (VCC) и заземлены (VSS). Некоторые выводы процессора обозначены как N/C (no connection) и не должны быть куда-либо подключены. Помимо названных, были и несколько другие версии микропроцессоров 80386SX и 80386ЕХ, имеющие пониженное напряжение питания +3,3 В. Эти процессоры применялись в портативных блокнотных компьютерах (notebook) или портативных компьютерах (laptop).
Система памяти
Система физической памяти, к которой микропроцессор 80386DX может обращаться, имеет емкость 4 Гбайт. Кроме того, процессор имеет поддержку виртуальной памяти объемом до 64 Тбайт, отображаемой на физическую память с помощью блока управления памятью и дескрипторов. Следует заметить, что виртуальная адресация позволяет использовать программу более 4 Гбайт при наличии метода свопинга (swapping) и при большой емкости винчестера. На рис. 6.4 показана организация системы физической памяти микропроцессора 80386DX.
|
Рис. 6.4. Организация системы физической памяти для микропроцессора 80386 |
Память разделена на четыре 8-разрядных банка памяти, с емкостью до 1 Гбайт в каждом. Такая 32-разрядная организация памяти позволяет иметь доступ к байту, слову или двойному слову. Микропроцессор 80386DX способен передать 32-разрядные данные за один цикл памяти, тогда как для этого микропроцессору 8088 требовалось четыре цикла, а микропроцессорам 80286 и 80386SX необходимо два цикла. Большая разрядность данных очень важна, особенно для чисел с плавающей точкой одинарной точности, которые занимают 32 разряда. Достаточно развитое программное обеспечение использует числа с плавающей точкой для хранения данных, поэтому 32-разрядные ячейки памяти ускоряют выполнение программы, если она написана с учетом разрядности памяти.
Адрес каждого байта памяти представляется в шестнадцатеричной системе счисления, как и для прежних версий процессоров. Разница состоит в том, что микропроцессор 80386DX использует 32-разрядную шину адреса с памятью, адресуемой в диапазоне 00000000H-FFFFFFFFH.
Доступ к двум банкам памяти в системе, построенной на микропроцессорах 8086, 80286 и 80386SX, осуществляется посредством сигналов BLE (А0 — на 8086 и 80286) и ВНЕ. Доступ к банкам памяти микропроцессор 80386DX выполняет с помощью четырех сигналов ВЕ3 — BE0 . Такая организация памяти позволяет получить доступ к одному байту при активизации микропроцессором одного разрешающего сигнала.
При активизации двух разрешающих сигналов процессор адресуется к слову. В большинстве случаев при адресации к слову осуществляется обращение к банку 0 и 1 или к банку 2 и 3. Ячейка памяти 00000000Н находится в банке 0, ячейка 00000001Н — в банке 1, ячейка 00000002Н - в банке 2 и ячейка 00000003 - в банке 3. Микропроцессор 80386DX не имеет адресных выводов А0 и A1, поскольку они дешифрируются внутри процессора как сигналы разрешения байтов. Аналогично в 16-разрядном микропроцессоре 80386SX нет адресного вывода А0, поскольку он дешифрируется в сигналы BLE и ВНЕ. Микропроцессор 80386ЕХ адресуется к слову данных, размещаемому в двух банках 16-разрядной системы памяти, при пассивном сигнале BS8 (высоком логическом его уровне) или же к байту в 8-разрядной системе при активизации этого сигнала.
Управляющие регистры
В микропроцессоре 80386, дополнительно к регистру флагов EFLAGS и указателю инструкций EIP, имеются и другие управляющие регистры. Управляющий регистр CR0 (control register) идентичен регистру состояния машины MSW (machine status word) микропроцессора 80286, за исключением того, что он 32-разрядный, а не 16-разрядный регистр. Дополнительными управляющими регистрами являются CR1, CR2 и CR3.
На рис. 6.5. показана структура управляющих регистров микропроцессора 80386.
|
Рис. 6.5. Структура управляющих регистров микропроцессора 80386 |
Управляющий регистр CR1 в микропроцессоре 80386 не используется, однако зарезервирован для будущих изделий. Управляющий регистр CR2 фиксирует линейный адрес, по которому был получен последний отказ страницы памяти. Наконец, управляющий регистр CR3 фиксирует базовый адрес таблицы страниц. Младшие 12 разрядов с 0 по 11 из 32-разрядного регистра содержат нули и объединяются с остальными разрядами регистра, чтобы определить начало таблицы страниц размером 4К.
Регистр CR0 имеет ряд специальных управляющих битов, которые в микропроцессоре 80386 определяются следующим образом:
□ PG
Бит PG (paging enable) предназначен для выбора преобразования таблицы страниц из линейных адресов в физические адреса при PG = 1. Страничная переадресация памяти позволяет присваивать линейному адресу любую физическую ячейку памяти.
□ ЕТ
Бит ЕТ (extension type) является индикатором поддержки инструкций математического сопроцессора. Если ЕТ — 0, то выбран сопроцессор 80287, а если ЕТ = 1, то сопроцессор 80387. Этот бит был добавлен, чтобы отражать то обстоятельство, что в данной системе имеется сопроцессор 80387.
□ TS
Бит TS (task switch) указывает, что микропроцессор выполнил переключение задач (изменение содержимого регистра задачи TR в защищенном режиме устанавливает бит TS). Если бит TS установлен, то команда цифрового сопроцессора приводит к прерыванию типа 7 (сопроцессор недоступен).
□ ЕМ
Бит ЕМ (emulate coprocessor) устанавливается для вызова прерывания типа 7 при попытке выполнения каждой ESC-команды, т. е. команды, относящейся к сопроцессору. Это часто используется для программной эмуляции сопроцессора. Эмуляция снижает стоимость системы, но для выполнения эмулированных команд сопроцессора часто требуется больше времени, примерно где-то в 100 раз.
□ MP
Бит MP (monitor coprocessor) устанавливается для вызова прерывания типа 7 при выполнении каждой команды wait, когда установлен бит TS.
□ РЕ
Бит РЕ (protection enable) устанавливается, чтобы перевести микропроцессор 80386 в защищенный режим. Он может также сбрасываться, чтобы начать довольно длинную последовательность инструкций переключения в реальный режим работы. В микропроцессоре 80286 этот бит может только устанавливаться. Микропроцессор 80286 не способен переходить обратно в реальный режим работы без выполнения аппаратного сброса, что исключает его использование в большинстве систем, использующих защищенный режим.
Дескрипторы и селекторы
Перед тем как перейти к обсуждению блока страничной трансляции адресов, рассмотрим дескрипторы и селекторы микропроцессора 80386. Микропроцессор 80386 использует дескрипторы во многом таким же образом, как и микропроцессор 80286. Дескриптор в обоих микропроцессорах — это последовательность из восьми байтов, которая содержит информацию о сегменте памяти и о его расположении. Селектор (содержимое сегментного регистра) используется для идентификации дескриптора, заданного в таблице дескрипторов. Основное отличие между микропроцессорами 80286 и 80386 состоит в том, что последний имеет два дополнительных селектора (FS и GS), и для микропроцессора 80386 определены два самых старших байта дескриптора. Другое отличие состоит в том, что дескрипторы микропроцессора 80386 используют 32-разрядный базовый адрес сегмента и 20-разрядное поле предела (limit) сегмента вместо 24-разрядного базового адреса и 16-разрядного поля предела сегмента, имеющихся в микропроцессоре 80286.
Микропроцессор 80286 адресуется к области памяти размером 16 Мбайт за счет своего 24-разрядного базового адреса и имеет протяженность сегмента в 64 Кбайт благодаря 16-разрядному полю предела. Микропроцессор 80386 за счет 32-разрядного базового адреса адресуется к области памяти в 4 Гбайт, а размер сегмента определяется благодаря 20-разрядному полю предела, который используется двумя разными способами. Бит гранулярности G (granularity) дескриптора или, иначе, бит дробности определяет единицу измерения для размера сегмента: при G = 0, размер задается в байтах, а если G = 1, то — в страницах по 4К. Таким образом, размер сегмента при 20-разрядном поле предела может составить соответственно 1 Мбайт или 4 Гбайт.
Бит гранулярности G появился в дескрипторе, начиная с микропроцессора 80386. Если бит G = 0, то сохраняемое в поле предела значение трактуется непосредственно, как предельный размер сегмента, позволяющий иметь доступ к любой области 00000Н—FFFFFG сегмента емкостью в 1 Мбайт. Если же бит G = 1, то сохраняемое в поле предела число интерпретируется как 00000XXXH—FFFFFXXXH, где XXX имеет любую величину между 000Н и FFFH. Таким образом обеспечивается доступ к размеру сегмента от 0 байт до 4 Гбайт участками по 4 Кбайт. Значение предела, равное 00001Н, указывает на то, что предельный размер сектора составляет 4 Кбайт, когда бит G = 1 или же 1 байт, когда бит G = 0. Примером может служить сегмент, начинающийся с физического адреса 10000000H. Для значения предела 00001Н и бита G = 0 данный сегмент начинается в 10000000H и заканчивается в 10000001Н. Если же бит G = 1 при этом же значении предела (00001Н), то сегмент начинается в ячейке 100000000Н и заканчивается в 10001FFFH.
На рис. 6.6 показано, как микропроцессор 80386 адресуется к сегменту памяти в защищенном режиме, используя селектор и дескриптор. Приведенная адресация идентична со способом адресации сегмента микропроцессором 80286. Разница состоит в размере доступного для микропроцессора 80386 сегмента. Старшие 13 разрядов (биты 15—3) селектора используются для выбора дескриптора из таблицы дескрипторов. Бит индикатора таблицы TI (table indicator) (бит 2 селектора) указывает на тип таблицы дескрипторов: локальную, если бит TI = 1, или глобальную, если бит TI = 0. Младшие два бита RPL (requested privilege level) (биты 1—0) селектора определяют запрашиваемый уровень привилегий для доступа к сектору.
Поскольку селектор использует 13-разрядный код для доступа к дескриптору, то каждая таблица (локальная или глобальная) содержит не более 8192 дескриптора. Поскольку возможный размер сегмента для микропроцессора 80386 достигает 4 Гбайт, то единовременно можно получить доступ к 16 384 сегментам, используя две таблицы дескрипторов. Все это позволяет микропроцессору 80386 иметь поддержку виртуальной памяти объемом до 64 Тбайт (1 Тбайт = 1024 Мбайт). Разумеется, что реально может существовать система памяти емкостью только до 4 Гбайт. Если же для программы в какой-то момент времени потребуется память более 4 Гбайт, то требуемые данные могут подкачиваться в систему памяти с дисковода или какого-либо другого накопителя большого объема.
|
Рис. 6.6. Адресация в защищенном режиме с использованием сегментного регистра в качестве селектора |
Микропроцессор 80386 использует таблицы дескрипторов для глобальных (GDT) и локальных (LDT) дескрипторов. Третья таблица дескрипторов используется дескрипторами прерываний (GОТ) или вентилями (gates). Первые шесть байт дескриптора микропроцессора 80386 такие же, как в микропроцессоре 80286, что обеспечивает программную совместимость с ним снизу вверх. Два старших байта дескриптора микропроцессора 80286 были зарезервированы и содержали значение 00H. Дескрипторы для микропроцессоров 80286 и 80386 показаны на рис. 6.7.
|
Рис. 6.7. Дескрипторы для микропроцессоров 80286 и 80386
|
Дескриптор микропроцессора 80386 содержит 32-разрядный базовый адрес, 20-разрядное поле предела сегмента и бит гранулярности G, определяющий множитель предела сегмента (1 или 4К раз) или, иначе, в каких единицах задан предел: в байтах (G = 0) или страницах по 4К (G = 1). Далее представлено назначение полей дескриптора микропроцессора 80386:
□ База (В31-В0)
Поле База (Base) определяет базовый (начальный) 32-разрядный адрес сегмента в физическом 4 Гбайтном адресном пространстве микропроцессора 80386.
□ Предел (L19-L0)
Поле Предел (Limit) определяет предельный размер сегмента в байтах, если бит гранулярности G = 0, или в страницах по 4К, если G = 1. Это позволяет иметь любой размер сегмента от 1 байта до 1 Мбайт, если бит G = 0 или от 4 Кбайт до 1 Гбайт, если бит G = 1. Следует напомнить, что предел указывает на последний байт в сегменте.
□ Права доступа
Поле Права доступа (Access rights) определяет уровень привилегий и другую информацию относительно сегмента. Этот байт различен для разных типов дескрипторов и конкретизируется для каждого из них.
□ G
Бит гранулярности G (granularity) выбирает множитель 1 или 4К для поля предела сегмента. Если бит G = 0, то множитель равен 1, если бит G = 0, то множитель равен 4К.
□ D
Бит D (default size) определяет разрядность используемых операндов и регистров по умолчанию. Если D = 0, тогда 16 бит, как в микропроцессоре 80286; если D = 1, то 32 бит, как в микропроцессоре 80386. Этот бит определяет, требуются ли префиксы к 32-разрядным данным и индексным регистрам. Если D = 0, тогда требуется префикс для доступа к 32-разрядным регистрам и для использования 32-разрядных указателей. Если D = 1, тогда префикс требуется для доступа к 16-разрядным регистрам и для 16-разрядных указателей. Атрибуты use16 и use32, используемые с директивой segment в языке ассемблера, управляют установкой бита D. Реальный режим работы всегда предполагает, что регистры 16-разрядные, поэтому к любой команде, адресуемой 32-разрядным регистром или указателем, должен применяться префикс.
□ AVL
Бит AVL (available) доступен для операционной системы и может использоваться ею при необходимости. Он не применяется и не анализируется процессором и предназначен для использования прикладными программами.
Имеются две разновидности дескрипторов: дескриптор сегмента кода и данных, а также дескриптор системных сегментов. Первый дескриптор определяет данные, стек и сегменты кода. Дескриптор системных сегментов предназначен для хранения информации о таблицах системы, задачах и вентилях.