русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Базовые регистры таблиц дескрипторов


Дата добавления: 2015-06-12; просмотров: 659; Нарушение авторских прав


Процессор выполняет поиск таблицы глобальных дескрипторов (GDT) и таблицы дескрипторов прерываний (IDT) через регистры GDTR и IDTR, соответственно. Эти регистры содержат 32-битовые базовые адреса таблиц в линейном адресном пространстве. Они также содержат 16-битовые значения граничного размера этих таблиц. При загрузке или сохранении этих регистровв памяти происходит доступ к 48-битовому "псевдо-дескриптору", как показано на Рисунке 5-11. Для максимизации быстродействия за счет заполнения строки кеша GDT и IDT должны быть выравнены по границе адреса, кратного 16 байтам.

Граничное значение выражается в байтах. Как и для сегментов, оно складывается с базовым адресом для получения адреса последнего допустимого байта. В случае значения границы 0 имеется всего один допустимый байт. Поскольку дескрипторы сегментов всегда имеют размер восемь байтов, то граница всегда должна быть на единицу меньше целочисленного произведения восьми, (т.е. 8N-1). Команды LGDT и SGDT читают и записывают регистр GDTR; команды LIDT и SIDT читают и записывают регистр IDTR.

Третья таблица дескрипторов - это локальная таблица (LDT). Она идентифицируется при помощи 16-битового селектора сегмента, хранимого в регистре LDTR. Команды LLDT и SLDT читают и записывают селектор сегмента в регистр LDTR. Регистр LDTR также содержит базовый адрес и границу для LDT, но эти значения загружаются процессором автоматически из дескриптора сегмента для LDT. Для максимизации быстродействия за счет заполнения строки кеша LDT должна быть выравнена по границе адреса, кратного 16 байтам.

При попытке сохранения псевдо-дескриптора в режиме пользователя (уровень привилегированности 3) может быть сгенерирована ошибка контроля выравнивания. Обычно программы в режиме пользователя не выполняют сохранение псевдо-дескрипторов, но возможности генерации такой ошибки можно избежать, поместив псевдо-дескриптор в адрес нечетного слова (т.е. адрес 2 MOD 4). Это заставит процессор сохранить выравненное слово, за которым следует выравненное двойное слово.



47 16 15 0 ---------------------------------------------- | Базовый адрес | Граница | ---------------------------------------------- 5 2 1 0 Порядок следования байтов показан внизу Рисунок 5-11. Формат псевдо-дескриптора


<== предыдущая лекция | следующая лекция ==>
Таблицы дескрипторов сегментов | Трансляция страниц


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.05 сек.