Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vstup.docx
Скачиваний:
26
Добавлен:
13.03.2016
Размер:
1.28 Mб
Скачать

Екзаменаційний білет № 17

1. Переривання, типи, алгоритм обробки переривання процесором.

Прерывание- это прекращение выполнения текущей команды или текущей последовательности команд для обработки некоторого события специальной программой - обработчиком прерывания, с последующим возвратом к выполнению прерванной программы. Событие может быть вызвано особой ситуацией, сложившейся при выполнении программы, или сигналом от внешнего устройства. Прерывание используется для быстрой реакции процессора на особые ситуации, возникающие при выполнении программы и взаимодействии с внешними устройствами. В основном прерывания генерируются устройствами ввода-вывода и таймерами процессора и могут быть разрешены (включены) или запрещены (отключены).

Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера.

  • Программные прерывания вызывают сами программы, поэтому  они не являются асинхронными. Для этого они используют команду INT. Программные прерывания удобно использовать  для  организации доступа к отдельным общим для всех  программ  модулям.

  • Аппаратные прерывания вызываются физическими устройствами и приходят асинхронно. Эти прерывания информируют систему о событиях,  связанных  с  работой  устройств. Внутренние (логические) прерывания формируются самим процессором, когда он встречается с некоторыми особыми событиями  вроде деления на 0

  • Прерывания по входу INT относятся к аппаратным  маскируемым прерываниям, поскольку могут быть разрешены или запрещены  флагом IF регистра флагов. Обработку  аппаратных   маскируемых   прерываний   выполняют контроллеры прерываний, которые принимают запросы  на  прерывание от нескольких устройств, назначают им приоритеты, выбирают наиболее приоритетные и прерывают работу процессора по входу INT.

Таблица векторов прерываний (реальный режим работы). Для того  чтобы связать номер прерывания с адресом программы обработки прерываний (обработчика прерываний),  используется таблица векторов прерываний,  занимающая первый килобайт оперативной памяти - адреса от 0000:0000h до 0000:03FFh.  Таблица состоит  из 256 элементов - FAR-адресов обработчиков прерываний. Эти элементы называются векторами прерываний.  В первом слове элемента таблицы записано  смещение, а во втором - сегмент адреса обработчика прерываний. Инициализация таблицы происходит  частично  программой  POST после тестирования аппаратуры, частично при загрузке DOS. DOS может переключить на себя некоторые прерывания BIOS.

АЛГОРИТМ ОБРАБОТКИ ПРЕРЫВАНИЙ:

1.  Модуль ввода-вывода формирует сигнал запроса прерывания, который предназначается процессору.

2. Процессор завершает выполнение текущей команды программы, прежде чем анализировать наличие сигнала запроса прерывания.

3. Процессор анализирует, не поступил ли сигнал запроса прерывания, обнаруживает его и посылает сигнал подтверждения тому модулю, который сформировал сигнал запроса.

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

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

6. Перед передачей управления подпрограмме обработки прерывания процессор аппаратными средствами выполнил сохранение счетчика команд и PSWв системном стеке. Но помимо этой информации для возобновления прерванной программы может потребоваться и восстановление состояния других регистров процессора.

7. После этого подпрограмма приступает к собственно обработке прерывания Этот процесс, как правило, включает анализ состояния модуля ввода-вывода, вызвавшего прерывание, и прием или передачу порции данных

8. После завершения обработки подпрограмма восстанавливает содержимое в регистрах, которое было сохранено в стеке в самом начале выполнения подпрограммы (Приложение рис.2 (б)), и только после этого выполняет последнюю команду — команду возврата из прерывания.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]