русс | укр

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

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

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

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


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

Программируемый контроллер прерываний фирмы Intel


Дата добавления: 2014-02-04; просмотров: 859; Нарушение авторских прав


 

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

Структурная схема контроллера прерываний имеет следующий вид. (Рис.1.)

 

Рис.1.

 

 

-запрос прерывания

Запросы прерывания обрабатываются тремя взаимосвязанными регистрами. Регистр запросов (IRR) фиксирует все запросы прерываний, а регистр обслуживания (ISR) хранит только те прерывания, которые приняты на обслуживание .

Регистр масок-IMR идентифицирует маскируемые коды прерывания.

Шифратор приоритетов (арбитр приоритетов)-PR анализирует содержимое этих трех регистров и определяет нужно или нет генерировать сигнал запроса прерывания INT.

Контроллер прерываний может работать в одном из двух режимов:

1)контроллер является ведущим.

2)контроллер является ведомым.

Если на вход контроллера поступает сигнал SP с отриц.=1, то в этом случае контроллер является ведущим, в противном случае ведомым. Когда контроллер ведомый, то микропроцессор загружает в его регистры специальную управляющую информацию. Когда контроллер ведущий, то он управляет процессом передачи данных.

 

Рассмотрим алгоритм работы контроллера:

1)ПУ посылает по одной из линий единичный сигнал.

2)в регистре IRR происходит установка соответствующих разрядов в единицу под действием сигналов, поступающих от ПУ.

3)незамаскированные запросы, то есть те, для которых соответствующие разряды регистров IMR содержат 1, передаются в арбитр PR ,замаскированные запросы при этом блокируются.

4)арбитр PR выделяет наиболее приоритетный запрос и передает его в регистр обслуживания ISR.

5)приоритет запроса сравнивается с текущим приоритетом программы, выполняемой в микропроцессоре. Если приоритет запроса выше приоритета программы, то контроллер формирует сигнал прерывания INT, в противном случае обработка запроса откладывается.



6)Микропроцессор принимает запросы прерываний INT и начинает реализовывать последовательности прерываний, выполняя два цикла подтверждения прерывания, с формированием сигнала в каждом из этих циклов.

7)В первом цикле подтверждение прерывания происходит установка соответствующего разряда ISR и сброса аналогичного сигнала в регистре IRR.

8)Во втором цикле подтверждение прерывания текущее содержимое адреса вектора прерывания передается в микропроцессор по шине данных.

9)Микропроцессор принимает этот адрес и использует его для обращения к таблице векторов прерывания, где хранятся сами вектора прерывания.

10)Текущее значение вектора прерывания , прерванное программой, запоминается в стеке, а вместо него в микропроцессор загружается вектор прерывания , выбранный из таблицы векторов прерывания. Управление передается прерывающей программе по адресу, содержащемуся в первом слове вектора прерывания.

11)По завершению прерывающей программы происходит восстановление сохраненного в стеке вектора прерывания прерванной программы, после этого управление возвращается к прерванной программе с той точки, где произошло прерывание.

 

Контроллер может быть запрограммирован на один из следующих режимов работы:

1)вложенные прерывания.

Каждому из восьми входов запросов прерывания назначается фиксированный приоритет , при этом наивысший приоритет будет у запроса и далее в порядке убывания приоритетов до .Запрос с большим приоритетом прерывает обслуживание того ПУ , у которого меньший приоритет.

2)круговой (циклический) приоритет

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

 

 



<== предыдущая лекция | следующая лекция ==>
Система прерывания PDP-11 | Организация прямого доступа к памяти


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


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

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

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


 


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

 
 

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

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