Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие

.pdf
Скачиваний:
98
Добавлен:
27.10.2023
Размер:
29.24 Mб
Скачать

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

Рис. 8-8. Машина с несколькими наборами регистров.

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

8-5. ПРИМЕР АППАРАТНОЙ РЕАЛИЗАЦИИ СИСТЕМЫ ПРЕРЫВАНИЯ

В этом параграфе рассматривается одна из возможных схем построения многоуровневой системы прерывания с аппаратным распознаванием причин прерывания и про­ граммно-управляемым приоритетом. Рассматриваемый пример не относится к какой-либо одной из существующих машин, хотя в нем используются многие логические свойва, уже реализованные в разработанных в настоящее вре­ мя системах. Изложение удобно начать с рассмотрения логической схемы одного уровня прерывания (рис. 8-9). В состав аппаратуры уровня прерывания входят: два триггера маски ТМ\ и ТМ2, состояния которых в соответ­ ствии с изложенным в § 8-3 позволяют игнорировать пре­ рывание, запрещать прерывание с запоминанием запроса, разрешать прерывание и имитировать запрос; два триг­ гера, участвующие в формировании сигнала «прерывание осуществлено», триггер запоминания запроса ТЗЗ и триг­ гер прерывания ТПР; каскады формирования и усиления,

480

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

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

Рис. 8-9. Схема одного уровня прерывания.

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

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

31—333

481

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

Преобразованный сигнал запоминается триггером ТЗЗ, если это действие не запрещается соответствующим состоянием маски. Какова бы ни была длительность сиг­ нала на входе системы, только передний фронт его может вызвать прерывание. Следовательно, на длительность за­ проса не накладывается никаких иных ограничений, кро­ ме того, что она должна превосходить некоторый мини­ мум, определяемый быстродействием системы элементов машины. Если состояние маски равно 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

Непосредственно к системе прерывания относятся по­ ля ССП, содержащие маски прерывания и код преры­ вания. Предусмотрены следующие маски:

1) Маска системных прерываний, отдельные раз­

ряды которой имеют следующий смысл:

0 — маска

мультиплексного

канала, 1—6 — маска

селекторных

каналов № 1—6

соответственно, 7 — маска внешнего

прерывания. Замаскированные прерывания ввода-выво­ да и внешние сохраняются в ожидании последующей от­ работки.

2)Маска прерывания от схем контроля (разряд 13). Замаскированное прерывание теряется.

3)Маска программных прерываний, отдельные раз­ ряды которой имеют следующий смысл: 36— маска пере­

полнения с фиксированной запятой, 37—маска десятично­ го переполнения, 38— маска исчезновения порядка, 39— маска потери значимости (нулевая мантисса). Замаскиро­ ванные прерывания теряются.

Установка масок производится либо в момент преры­ вания в соответствии с содержимым нового ССП, либо специальными командами загрузки ССП в ОЗУ.

Код прерывания (разряды 16—31) указывает для данного класса прерывания фактическую причину (ис­ точник) запроса прерывания. Например, в случае преры­ вания от ввода-вывода этот код указывает источник за­ проса прерывания (номер канала, номер периферийно­ го устройства), при программном прерывании — причину прерывания (некорректность кода операции, адресации, представления данных, переполнение разрядной сетки, исчезновение порядка, потеря значимости и др.).

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

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

487

ССП хранит также «программные состояния» процес­ сора для данной программы, определяемые состоянием соответствующих управляющих триггеров.

В рассматриваемых ЦВМ существуют четыре альтер­ нативных программных состояния процессора:

1) Состояние стоп или работа (переключение произ­ водится вручную). В состоянии стоп команды программы и прерывания не выполняются, электронные часы ЦВМ стоят. В состоянии работа команды и прерывания могут выполняться.

2)Состояние ожидание или счет (определяется зна­ чением разряда 14 ССП). В состоянии ожидание про­ грамма ожидает прерывания (например от ввода-выво­ да), команды не выполняются, машинные часы работают.

Всостоянии счет команды выполняются обычным путем.

3)Состояние супервизор или задача (определяется значением разряда 15 ССП). В состоянии супервизор могут выполняться все команды, а в состоянии задача не выполняются команды ввода-вывода и некоторые коман­ ды управления («привилегированные команды»).

4)Состояние прерывание разрешено или прерывание

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

Г л а в а д е в я т а я

КАНАЛЫ ВВОДА-ВЫВОДА

9 - 1 . О Б Щ И Е П О Н Я Т И Я О К А Н А Л Е В В О Д А - В Ы В О Д А

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

488

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

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

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

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

техникой ряд

проблем, главными из

которых явля­

ются:

 

 

необходимость создания вычислительных систем с пе­

ременным составом оборудования;

периферийных

обеспечение

параллельной работы

устройств как по отношению друг к другу, так и по от­ ношению к работе процессора;

необходимость унификации программирования вводавывода;

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

489

Соседние файлы в папке книги из ГПНТБ