Организация системы прерываний с программным опросом готовности 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Организация системы прерываний с программным опросом готовности



 

(слайд 26) Организация системы прерываний в микро-ЭВМ с использованием векторов прерываний позволяет устранить указанный недостаток.

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

При такой организации системы прерываний ВУ, запросившее обслуживания, само идентифицирует себя с помощью вектора прерыванияадреса ячейки основной памяти микро-ЭВМ, в которой хранится либо первая команда подпрограммы обслуживания прерывания данного ВУ, либо адрес начала такой подпрограммы. Таким образом, процессор, получив вектор прерывания, сразу переключается на выполнение требуемой подпрограммы обработки прерывания. В микроЭВМ с векторной системой прерывания каждое ВУ должно иметь собственную подпрограмму обработки прерывания.

(слайд 27) Различают векторные системы с интерфейсным и внеинтерфейсным вектором. В первом случае вектор прерывания формирует контроллер ВУ, запросившего обслуживания, во втором – контроллер прерываний, общий для всех устройств, работающих в режиме прерываний (IBM-совместимые персональные компьютеры).

Рассмотрим организацию векторной системы с интерфейсным вектором. Вектор прерывания выдается контроллером не одновременно с запросом на прерывание, а только по разрешению процессора, как это реализовано в схеме на рисунок 14.8. Это делается для того, чтобы исключить одновременную выдачу векторов прерывания от нескольких ВУ. В ответ на сигнал контроллера ВУ "Запрос на прерывание" процессор формирует управляющий сигнал "Предоставление прерывания (вх.)", который разрешает контроллеру ВУ, запросившему обслуживание, выдачу вектора прерывания в ША системного интерфейса. Для этого в контроллере используются регистр вектора прерывания и схема совпадения И3. Регистр вектора прерывания обычно реализуется с помощью перемычек или переключателей, что позволяет пользователю устанавливать для конкретных ВУ требуемые значения векторов прерывания.

(слайд 28)

 

Рисунок 14.8 – Формирование векторов прерывания в контроллере ВУ

 

Управляющий сигнал "Предоставление прерывания (вых.)" формируется в контроллере ВУ с помощью схемы совпадения И2. Этот сигнал используется для организации последовательного аппаратного опроса готовности ВУ и реализации тем самым требуемых приоритетов ВУ. Процессор при поступлении в него по общей линии системного интерфейса "Запрос на прерывание" сигнала прерывания формирует управляющий сигнал "Предоставление прерывания (вх.)", который поступает сначала в контроллер ВУ с наивысшим приоритетом (рисунок 14.9). Если это устройство не требовало обслуживания, то его контроллер пропускает сигнал "Предоставление прерывания" на следующий контроллер, иначе дальнейшее распространение сигнала прекращается и контроллер выдает вектор прерывания на адресно-информационную шину.

Аппаратный опрос готовности ВУ производится гораздо быстрее, нежели программный. Но если обслуживания запросили одновременно два или более ВУ, обслуживание менее приоритетных ВУ будет отложено на время обслуживания более приоритетных, как и в системе прерывания с программным опросом.

Векторная система с внеинтерфейсным вектором прерывания используется в IBM-совместимых персональных компьютерах. В этих компьютерах контроллеры ВУ не имеют регистров для хранения векторов прерывания, а для идентификации устройств, запросивших обслуживания, используется общий для всех ВУ контроллер прерываний. Ниже приведен пример контроллера прерываний INTEL 8259A.

БИС программируемого контроллера прерываний (ПКП) представляет собой устройство, реализующее до восьми уровней запросов на прерывания с возможностью программного маскирования и изменения порядка обслуживания прерываний. За счет каскадного включения БИС ПКП число уровней прерывания может быть расширено до 64 (в архитектуре персонального компьютера IBM PC AT – 16).

(слайд 29)

 

Рисунок 14.9 – Реализация приоритетов ВУ в микроЭВМ с векторной системой прерываний с интерфейсным вектором (ППР (вх.) - "Предоставление прерывания (входной)"; "ППР (вых.) - Предоставление прерывания (выходной)")

 

Структурная схема ПКП приведена на рисунке 14.10.

(слайд 30)

 

Рисунок 14.10 – Контроллер прерываний Intel 8259A

 

(слайд 31) В состав БИС входят:

RGI – регистр запретов прерываний; хранит все уровни, на которые поступают запросы IRQx;

PRB – схема принятия решений по приоритетам; схема идентифицирует приоритет запросов и выбирает запрос с наивысшим приоритетом;

ISR – регистр обслуживаемых прерываний; сохраняет уровни запросов прерываний, находящиеся на обслуживании ПКП;

RGM – регистр маскирования прерываний; обеспечивает запрещение одной или нескольких линий запросов прерывания;

BD – буфер данных; предназначен для сопряжения ПКП с системной шиной данных;

RWCU – блок управления записью/чтением; принимает управляющие сигналы от МП и задает режим функционирования ПКП;

CMP – схема каскадного буфера-компаратора; используется для включения в систему нескольких ПКП;

CU – схема управления; вырабатывает сигналы прерывания и формирует трехбайтовую команду CALL для выдачи на ШД.

Установка ПКП в исходное состояние и "настройка" его на определенный режим обслуживания прерываний происходит с помощью двух типов команд: команд инициализации (ICW) и команд управления операциями (OCW).

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

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

Маска прерывания представляет собой двоичный код, размеры которого поставлены в соответствие уровням или источникам (причинам) прерывания. Маска устанавливается специальной командой в регистре масок. Состояние 1 в данном разряде регистра масок разрешает, а состояние 0 запрещает («маскирует») прерывание текущей программы от запросов соответствующего уровня прерывания. Таким образом, изменяя программным способом содержимое регистра масок, можно устанавливать произвольные приоритетные соотношения между уровнями с любыми номерами без перекоммутации проводов запросов прерывания.

С замаскированным запросом поступают в зависимости от причины прерывания, либо игнорируя его, либо запоминая. Например, если прерывание вызвано окончанием операции во ВУ, то его следует запомнить, чтобы сообщить ЦВМ об освобождении ВУ. Если замаскированное прерывание вызвано переполнением разрядной сетки при арифметической операции, то его следует игнорировать.



Поделиться:


Последнее изменение этой страницы: 2022-01-22; просмотров: 54; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.136.97.64 (0.008 с.)