Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LekOS.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.56 Mб
Скачать

Программируемый ввод-вывод

Программа управления вводом-выводом включает:

  1. Установку и очистку различных признаков устройства.

  2. Установка регистров управления устройствами.

  3. Интерпретацию значений управляющих регистров.

  4. Передачу данных на регистр ЦП и с регистра ЦП.

Прямой доступ к регистрам управления и признакам устройства делает гибким программируемый в/в, однако не эффективен в ОП и ЦП.

Причины:

  1. Активность ЦП снижается до скорости устройства;

  2. ЦП проводит большинство времени в ожидании данных с устройства;

  3. В каждый момент времени обслуживается только 1 устройство;

  4. В течении передачи данных память бездействует.

Вывод: нельзя полностью отвергать программируемый в/в, т.к. мини ЭВМ имеют систему прерываний, следовательно знание программируемого в/в существенно для в/в существенно для в/в на этих машинах.

Прерывания. Программа обработки прерываний (ПОП)

Прерывание – это сигнал ЦП, вынуждающий его отвлечь свое внимание от текущей деятельности. Аппарат прерываний может включать в себя несколько типов прерываний:

  1. наиболее общими являются прерывания, генерируемые периферийными устройствами, требующими обслуживания после завершения операций в/в;

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

  3. внутри ЦП прерывания могут генерироваться в случае арифметических ошибок;

  4. на некоторых мини-ЭВМ посредством специальной команды может быть использовано программируемое прерывание (Пример: INT 21h).

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

Классификация прерываний

Существует два основных механизма прерываний:

  1. Прерывания по вызову.

  2. Векторные прерывания.

Прерывания по вызову: примерами ЭВМ с прерываниями по вызову является ЭВМ NOVA Data General.

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

  • адреса программы обработки прерываний

  • нового слова состояния процесса.

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

    1. процессор записывает текущее PSW и программный счетчик во временный регистр ЦП;

    2. адрес программы обработки прерываний, определяющий новый программный счетчик и новое PSW. Загружается соответственно в их регистры. Загрузка адреса в регистр ПС влечет за собой передачу управления программе обработки прерывания;

    3. выполняется ПОП;

    4. после этого управление возвращается прерванному процессу (откат), используя команду возврата из прерывания RET.

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