Мегаобучалка Главная | О нас | Обратная связь


Обслуживание прерываний



2015-12-07 435 Обсуждений (0)
Обслуживание прерываний 0.00 из 5.00 0 оценок




Процессоры семейства 8086 поддерживают до 256 различных прерываний по вектору. Прерывание по вектору вызывает выполнение программы обработки прерываний , адрес которой содержится в таблице векторов прерываний. Хотя некоторые старшие процессоры семейства требуют, чтобы программы обработки прерывания располагались в определенных адресах памяти, механизм прерываний по вектору позволяет определять адреса программ обработки прерываний.

Аппаратные прерывания :

Аппаратные прерывания вызываются событиями, физически связанными в аппаратуре с соответствующими векторами прерываний. Например, клавиатура в PC связана с прерыванием 9. Нажатие клавиши вызывает прерывание выполняемой программы и переход по адресу, находящемуся в векторе прерывания, соответствующему прерыванию 9. В памяти этот вектор находится по адресу 0х24 (9*4 байт ).

Программные прерывания :

Программные прерывания происходят при выполнении в текущей программе команды INT с номером прерывания в качестве операнда. В остальном нет никакой разницы между программным и аппаратным прерыванием. Если необходимо организовать обработку прерывания, необходимо:

1. прочитать содержимое элемента таблицы векторов прерываний для вектора с нужным номером;

2. запомнить это содержимое в области данных программы;

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

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

Для чтения вектора используется функция 35h прерывания 21h. Перед ее вызовом регистр AL должен содержать номер вектора в таблице. После выполнения функции в регистрах ES:BX будет искомый адрес обработчика прерывания. Функция 25h прерывания 21h устанавливает для вектора с номером, находящимся в AL, обработчик прерывания DS:DX.

Процессоры семейства 8086 поддерживают до 256 различных прерываний по вектору. Прерывание по вектору вызывает выполнение программы обработки прерываний , адрес которой содержится в таблице векторов прерываний. Хотя некоторые старшие процессоры семейства требуют, чтобы программы обработки прерывания располагались в определенных адресах памяти, механизм прерываний по вектору позволяет определять адреса программ обработки прерываний.

Регистры управления параллельным портом.

Включение функции параллельного порта

Почти в каждом ПК есть параллельный порт, но не все порты одинаково. Параллельный порт может либо выводить данные, либо поддерживать двухстороннюю связь – это дает принтеру возможность передавать через порт информацию (например, что закончилась бумага). Параллельный порт может принадлежать типу EPP (enhanced parallel port) усовершенствованный параллельный порт, либо ECP (extended capabilities port) – порт с расширенными функциональными возможностями, ECP и EPP являются двунаправленными портами и имеют существенные преимущества в скорости перед данным, позволяя ускорить операцию печати в 10 раз. Поэтому порты ECP применяются для подключения скорости принтера. Для повышения быстродействия они могут использовать DMA. К портам EPP часто подключают и другие периферийные устройства (сканеры).

4: PRN — параллельный порт (обычно LPT1),

3: AUX — последовательный порт (обычно СОМ1),

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

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

Бит 0 0 = нормальная установка, 1 = вызывает вывод байта

данных

1 0 = нормальная установка, 1 = автоматический перевод

строки после возврата каретки

2 0 = инициализировать порт принтера, 1 = нормальная

установка

3 0 = отмена выбора принтера, 1 = нормальная установка

4 0 = прерывание принтера запрещено, 1 = разрешено

5-7 не используются

Передача информации через параллельный порт

одновременно пересылаются все биты слова, передаются по шине данных в зависимости от разрядности шины данных ( на сегодня наиболее популярна 32 битные шины, которые переданы за 1 такт 32 бита);

Процессор по шине адрыеса передает в контроллер адрес А1, а по шине данных — байт данных, сопровождая их сигналом «Вывод». Логика управления контроллера обеспечивает запись байта данных с шины данных в регистр данных А1 и устанавливает в 1 регистр состояния и управления А2, формируя тем самым управляющий сигнал для ВУ «Выходные данные готовы». ВУ принимает байт данных и управляющим сигналом «Данные при­няты» обнуляет регистр состояния и управления А2. Контроллер ВУ по этому сигналу формирует и передает в процессор сигнал «Готовность ВУ», который в данном случае извещает процессор о приеме байта данных внешним устройством и завершает цикл вывода данных в команде пересылки.



2015-12-07 435 Обсуждений (0)
Обслуживание прерываний 0.00 из 5.00 0 оценок









Обсуждение в статье: Обслуживание прерываний

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (435)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)