Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 262

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Преобразованный сигнал запоминается триггером ТЗЗ, если это действие не запрещается соответствующим состоянием маски. Какова бы ни была длительность сиг­ нала на входе системы, только передний фронт его может вызвать прерывание. Следовательно, на длительность за­ проса не накладывается никаких иных ограничений, кро­ ме того, что она должна превосходить некоторый мини­ мум, определяемый быстродействием системы элементов машины. Если состояние маски равно 00, то, как видно из рисунка, дифференцированный сигнал не будет пропу­ щен схемой на вход ТЗЗ и, следовательно, запрос пре­ рывания игнорируется. При всех других состояниях мас­ ки запрос прерывания запоминается триггером ТЗЗ.

Приоритетность приема запроса прерывания относи­ тельно других уровней обеспечивается работой триггера прерывания ТПР, который может быть установлен в со­

стояние

1, если есть запрос по данному

уровню,

разре­

шенный

маской (состояние TM 1 равно

1). На

нулевой

вход ТПР подаются единичные выходы таких же тригге­ ров ТПР от уровней со старшим приоритетом. Схема триггера ТПР построена так, что преобладает сигнал на его нулевом входе, следовательно, при одновременном по­ явлении нескольких запросов состояние 1 получит только один из ТПР, соответствующий наиболее старшему уров­ ню После того как один из ТПР получил состояние 1, ни один из уровней, даже более старших, не должен га­ сить его, пока не окончится процедура входа в прерываю­ щую программу. Входы всех триггеров ТПР, объединен­ ные схемой ИЛИ (не показана на данном рисунке), об­ разуют сигнал Прерывание осуществлено, который заставляет процессор прервать текущую программу и одновременно запрещает дальнейшее изменение состояний ТПР. После окончания процедуры входа процессор по­ сылает ответный сигнал, гасящий триггеры ТПР и тот из

4 8 2


триггеров ТЗЗ, который вызвал прерывание. Сигнал Пре­ рывание осуществлено снимается, и нормальная работа системы прерывания восстанавливается.

Чем больше количество уровней прерывания, тем большими возможностями обладает вычислительная си-

Ppept/Запие

oct/u/ccmSueuo

Pm Рлоиод

Рблохам

_і .

 

 

Moâ момера //родил

со с т а р ш и м

а младшим

PPM

 

 

 

 

п ри ори те­

при ори тетом -

~ffTF

,

Н

Н

 

т о м

 

 

 

 

\пт Pßl/,//x

MampuYuae ere

Трмдоеремй

 

 

 

F

р асп о зи аЦ

оеги стр иоме-

 

 

 

низ

запроса

р а ругсиа P 7pJ

Рриори-

/аи/е-

-

1 )

З а п р е т с з а -

Р еги стр м асии

 

миеРРР

 

.1N'

схема

 

 

 

пом ии аи и ем

 

 

 

 

за п р о с а

II

 

 

 

 

 

 

 

Р еги стр запо-

Рашеиае £ PJJ,

мииаиии

з а ­

1

просе#PP 33J Дгнори-

если 7^PPP=f

 

 

 

I

poâauue

 

 

 

запроса

 

 

 

 

 

J/cmauoâua масни

 

 

Д иф ф еренци ­

из процессора

 

 

р у ю щ и е иси-

ли /леД и

~ Г ~

Формиро#а/ле-

тттттДи М м и таи и и за п р о с о в

З а п р о а / п рері/даи и я

Рис. 8-10. Блок прерывания.

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

3 1

4 8 3


чика. Упрощенная логическая схема такого блока преры­ вания представлена на рис. 8-10.

Триггеры маски, прерывания и запоминания запро­ сов, принадлежащие отдельным уровням, собраны в со­ ответствующие регистры. При появлении запроса в одном из уровней данного блока один из триггеров регистра прерывания РПР устанавливается в состояние 1 и воз­ буждает соответствующую вертикальную шину матричной схемы распознавания запроса (такая схема изображе­ на на рис. 8-5). Матричная схема формирует младшие разряды кода номера уровня, старшие разряды кода об­ разуются тумблерным регистром, который указывает но­ мер, присвоенный данному блоку прерывания.

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

8-6. ОСОБЕННОСТИ СИСТЕМЫ ПРЕРЫВАНИЯ СОВРЕМЕННЫХ ЦВМ

В машинах IBM 360 и ЕС ЭВМ система прерывания имеет пять уровней («классов») прерывания, которым со­ ответствуют: 1) прерывания от ввода-вывода; 2) про­ граммные прерывания; 3) прерывание при обращении к супервизору; 4) внешние прерывания и 5) прерывания от схем контрЪля.

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

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

484


Прерывание при обращении к супервизору происхо­ дит, если в программе встречается команда «обращение к супервизору». Этот вид прерывания является средством, позволяющим пользователю инициировать работу супер­ визора для выполнения определенных действий (напри­ мер, получить для программы пользователя дополни­ тельную область памяти, пустить операцию ввода-вывода и др.).

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

Прерывания от схем контроля возникают, если обна­ руживается ошибка в работе оборудования машины.

Конкретная причина прерывания внутри каждого класса может быть установлена программным путем по содержимому так называемого «кода прерывания», ко­ торый запоминается в ОЗУ при каждом случае преры­ вания, а также по запоминаемой в ОЗУ дополнительной информации, сопровождающей некоторые виды прерыва­ ния (Слово состояния канала при прерываниях от вводавывода, копия содержимого регистров и триггеров про­ цессора при прерываниях от схем контроля).

В системах IBM 360 и ЕС ЭВМ текущее состояние программы характеризуется Словом состояния програм­ мы (ССП).

При прерывании производится замена ССП. ССП прерванной программы (старое ССП) запоминается в памяти, а из памяти в процессор посылается новое ССП, которое определяет прерывающую программу.

Для каждого из 5 классов прерывания в фиксирован­ ных ячейках ОЗУ предусмотрены места для старого и нового ССП.

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

Установлен следующий порядок приоритета между запросами прерывания: 1) прерывания от схем контроля; 2) программные прерывания или прерывания при обра­ щении к супервизору (запросы этих прерываний не могут

485


возникать одновременно); 3)

внешние прерывания;

4) прерывания от ввода-вывода.

При обработке прерывания

от схем контроля прием

других запросов прерывания не производится. Следова­ тельно, этот класс прерываний имеет наивысший приори­ тет не только между запросами прерывания, но и между прерывающими программами. Для других классов пре-

Маска прері/дания о т системі/ контроля

дредстадление инфор-

/наиии 3 коде а S3//или

3307/3

Маска cucme*f- /Огл

\

ѵі/сс орері/даний защ£//Пб/

 

Состояние: о ж и д а н и е (с ч е т )

'/Состояние: задача (супервизор)

/

/Сод нрері/дания

3

7 8

77 72 73Л73\73

37

/Соду елодия

Д л и н а номанрб/ М а с к а программнд /зс

прерб/даний_____________________

\У

 

 

адрес кеманді/

32 ЗЗІУЗЗ \зз

33 Тд~

S3

Рис. 8-11.

Структура С С П

в машинах IB M 360 и Е С Э В М .

рывания приоритет между прерывающими программа­ ми имеет порядок, противоположный порядку приорите­ та между запросами.

Таким образом, прерывающие программы для одно­ временно поступивших запросов будут выполняться в следующем порядке: 1) прерывание от схем контроля; 2) прерывание от ввода-вывода; 3) внешние прерыва­ ния; 4) программные прерывания или обращение к су­ первизору.

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

На рис. 8-11 представлена структура ССП для машин IBM 360 и ЕС ЭВМ. ССП занимает два машинных слова, имеющих длину по 32 разряда каждое.

486