Студопедия — Функционирование системы прерываний в реальном режиме работы микропроцессора
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Функционирование системы прерываний в реальном режиме работы микропроцессора






Реальное прерывание в реальном режиме работы в системе прерываний используется понятие вектора

прерывания, поскольку для указания адреса программы обработки прерывания

здесь требуется не одно значение, а два (значение для сегментного регистра кода

и значение для указателя команд), то есть мы имеем дело не со скалярной величиной,

а с «векторной», состоящей из двух скалярных.

Итак, каждый вектор прерывания состоит из четырех байтов, или двух слов: первые

два содержат новое значение для регистра IP, а следующие два — новое значение

для регистра CS. Таблица векторов прерывания занимает 1024 байт. Таким образом,

в ней может быть задано 256 векторов прерываний. В процессоре 18086 эта

таблица располагается на адресах 00000H-003FFH. Расположение этой таблицы

в процессорах i80286 и в более поздних определяется значением регистра IDTR

(Interrupt Descriptor Table Register — регистр таблицы дескрипторов прерываний).

При включении или сбросе процессора i80x86 этот регистр обнуляется. Однако

при необходимости можно в регистре IDTR указать смещение и таким образом

перейти на новую таблицу векторов прерываний.

Таблица векторов прерываний запблняется (инициализируется) при запуске системы,

но, в принципе, может быть изменена или перемещена.

Каждый вектор прерывания имеет свой номер, называемый номером прерывания,

который указывает его место в таблице. Этот номер, помноженный на четыре (сдвиг

на два разряда влево и заполнение освободившихся битов нулями) и сложенный

с содержимым регистра IDTR, дает абсолютный адрес первого байта вектора прерываний

в оперативной памяти.

53) Функционирование системы прерываний в защищённом режиме работы микропроцессора

Защищёный режим в защищенном режиме работы система прерываний микропроцессора i80x86 работает

с таблицей дескрипторов прерываний (Interrupt

Descriptor Table, IDT). Дело здесь не столько в названии таблицы, сколько в том,

что таблица IDT представляет собой не таблицу с адресами обработчиков прерываний,

а таблицу со специальными системными структурами данных (дескрипторами),

доступ к которой со стороны пользовательских (прикладных) программ невозможен.

Только сам микропроцессор (его система прерываний) и код операционной

системы Morjrr получить доступ к этой таблице, представляющей собой специальный

сегмент, адрес и длина которого содержатся в регистре IDTR (см. рис. 4.2).

Этот регистр аналогичен регистру GDTR в том отношении, что он инициализируется

один раз при загрузке системы. Интересно заметить, что в реальном режиме

работы регистр IDTR также указывает на адрес таблицы прерываний, но при этом,

как и в процессоре 18086, каждый элемент таблицы прерываний (вектор) занимает

всего 4 байт и содержит 32-разрядный адрес в формате селектор.смещение (CS:IP).

Начальное значение этого регистра равно нулю, но в него можно занести и другое

значение. В этом случае таблица векторов прерываний будет находиться в другом

месте оперативной памяти. Естественно, что перед тем, как занести в регистр IDTR

новое значение, необходимо подготовить саму таблицу векторов. В защищенном

режиме работы загрузку регистра IDTR может произвести только код с максимальным

уровнем привилегий.

Каждый элемент в таблице дескрипторов прерываний, о которой мы говорим уже

в защищенном режиме, представляет собой 8-байтовую структуру, более похожую

на дескриптор шлюза, нежели на дескриптор сегмента.

В зависимости от причины прерывания процессор автоматически

индексирует таблицу прерываний и выбирает соответствующий элемент,

с помощью которого и осуществляется перенаправление в исполнении кода, то есть

передача управления на обработчик прерывания. Однако таблица IDT содержит

только дескрипторы шлюзов, а не дескрипторы сегментов кода, поэтому фактически

получается что-то типа косвенной адресации, но с рассмотренным ранее

механизмом защиты с помощью уровней привилегий. Благодаря этому пользователи

уже не могут сами изменить обработку прерываний, которая предопределяется

системным программным обеспечением.

Дескриптор прерываний может относиться к одному из трех типов:

• коммутатор прерывания (interrupt gate);

• коммутатор перехвата (trap gate);

• коммутатор задачи (task gate).

При обнаружении запроса на прерывание и при условии, что прерывания разрешены,

процессор действует в зависимости от типа дескриптора (коммутатора), соответствующего

номеру прерывания. Первые два типа дескрипторов прерываний вызывают

переход на соответствующие сегменты кода, принадлежащие виртуальному адресному

пространству текущего вычислительного процесса. Поэтому про них говорят, что

обработка прерываний по этим дескрипторам ocущecтвляeтcя под контролем (в контексте)

текущей задачи. Последний тип дескриптора (коммутатор задачи), вызывает

полное переключение процессора на новую задачу со сменой всего контекста в соответствии

с сегментом состояния задачи (TSS).

 

54) Укрупнённая схема системы прерываний для больших машин. Состав и примеры функционирования







Дата добавления: 2015-04-19; просмотров: 799. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Краткая психологическая характеристика возрастных периодов.Первый критический период развития ребенка — период новорожденности Психоаналитики говорят, что это первая травма, которую переживает ребенок, и она настолько сильна, что вся последую­щая жизнь проходит под знаком этой травмы...

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия