Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Центральные и переферийные устройства электронно вычислительных средств.pdf
Скачиваний:
295
Добавлен:
02.05.2014
Размер:
6.14 Mб
Скачать

Глава 19. Автоматические устройства ввода-вывода аналоговой информации в ЭВМ

270

Контрольные вопросы к главе 19

1. Объясните назначение устройств ввода-вывода аналоговой информации в ЭВМ.

2.Поясните устройство и принцип действия ЦАП.

3.Поясните устройство и принцип действия АЦП последовательного счета.

4.Поясните устройство и принцип действия АЦП поразрядного уравновешивания.

5.Расскажите о функциональном составе системы ввода-вывода аналоговой информации в РС.

6.Поясните устройство и принцип действия схемы генератора частоты.

7.Поясните устройство и принцип действия схемы дешифратора адреса.

8.Поясните устройство и принцип действия блока АЦП.

9.Поясните устройство и принцип действия блока ЦАП.

Глава 20. Каналы ввода-вывода и аппаратура сопряжения

271

Глава 20. КАНАЛЫ ВВОДА-ВЫВОДА И АППАРАТУРА СОПРЯЖЕНИЯ

20.1. Методы взаимодействия ЭВМ с периферийными устройствами. Система прерываний

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

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

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

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

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

На рис. 20.1 приведена временная диаграмма процесса прерывания. Для оценки эффективности системы прерывания используется показатель - время обслуживания запроса:

Тобсл =tзап +tв,

Глава 20. Каналы ввода-вывода и аппаратура сопряжения

272

Прерываемая

программа

ЗП

 

Прерывающая

 

программа

 

tзап

tв

tр

Собственно

прерывающая

 

 

программа

Рис. 20.1. Упрощенная временная диаграмма процесса прерывания

Запросы

1

2

 

3

 

 

 

t

прерывания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Очередность исполнения

 

 

1

 

 

2

3

 

программ в системе с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

единичной глубиной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в системе с

 

 

1

 

 

 

 

 

 

1

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

глубиной более 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 20.2. Прерывание в системах с различной глубиной прерывания

где tзап - время запоминания состояния прерываемой программы, tв - время восстановления этой прерванной программы.

Время реакции на ЗП tр - время между появлением запроса и началом выполнения прерывающей программы. Оно гораздо больше, чем время запоминания. Для одного и того же запроса время реакции зависит от того, сколько программ со старшим приоритетом ждет обслуживания. Поэтому время реакции определяют для запроса с наивысшим приоритетом. Если время реакции настолько велико, что запрос окажется необслуженным к моменту прихода нового запроса от того же источника, то возникает насыщение системы прерывания, предыдущий запрос будет утрачен.

Программы могут быть неравнозначны по приоритету - по рангу решаемой задачи, то есть по степени срочности ее выполнения. Иначе говоря, приоритет определяет, имеет ли право данная прерывающая программа прерывать обрабатываемую в данный момент программу. Число программ, которые могут прерывать друг друга называется глубиной прерывания. На рис. 20.2 приведена временная диаграмма процесса прерывания в ВС с глубиной прерывания, равной 1 и 3. Программа 3 с высшим приоритетом начинает выполняться сразу же после поступления от не Запроса прерывания, прервав выполнение других программ, с более низким приоритетом, что ускоряет ее выполнение.

При одновременном появлении нескольких ЗП воспринимается запрос, соответствующий уровню с меньшим номером; таким образом, приоритет является жестким и определяется порядком присоединения линий передачи запросов ко входам системы прерывания. Устройство (программа) с высшим приоритетом “захватывает” магистраль.

Глава 20. Каналы ввода-вывода и аппаратура сопряжения

 

273

 

 

 

max приоритет

 

Арбитр

ЗП (BRO)

 

 

Запрос 1

 

 

Запрос

...

Запрос

 

РП (BGO)

 

Группа 0

 

 

 

 

 

 

 

 

 

 

 

max

 

BR1

 

 

приоритет

 

 

 

 

 

BG1

 

 

 

 

BR7

 

...

Запрос 8

R

BG7

 

Группа 7

 

 

 

 

сброс

SACK

Оповещающая линия ответа о подключении

 

арбитра

 

Магистраль занята (BBSY)

 

 

 

Рис. 20.3. Подключение схемы арбитража к магистрали типа ОШ (Multibus, Unibus)

Схемы, позволяющие определить номер уровня со старшим приоритетом, называются схемами арбитража (арбитрами). На рис. 20.3 приведена схема подключения арбитра к магистралям интерфейса типа “общая шина” (ОШ) - Малтибас (MULTIBUS) - для однокристальных микропроцессорных наборов типа К580, К1810. Активные устройства, от которых может поступить ЗП, расположены в виде матрицы и разбиты на 8 групп (в соответствии с 8-ью линиями связи интерфейса, по которым передается однобайтовое слово).Приоритет отдается устройствам верхней группы. BRi - управляющие линии для передачи i=0 ... 7 сигналов ЗП в арбитр. Bgi - управляющие линии для передачи сигналов разрешений от арбитра к активным устройствам. SACK - оповещающая линия передачи ответа о подключении к магистрали первоочередного претендента, того, у которого самый высокий из активных устройств приоритет. По получении сигнала SACK арбитр прекращает выдачу сигнала разрешения. BBSY - линия передачи сигнала, оповещающего все устройства о занятости (захвате) магистрали. По установлению режима захвата система переходит к прерыванию, затем к записи либо чтению. После ее освобождения очередник занимает линию и сам формирует сигнал BBSY. R - вход сброса арбитра. Все ЗП складываются по схеме “ монтажное ИЛИ” на линиях запроса BRi. Разрешение выдается арбитром группе с наименьшим номером. В группе разрешение получает устройство, которое ближе к арбитру. Пока идет обмен, арбитр готовит нового следующего очередника.

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

На рис. 20.4 приведена схема арбитража, реализующая 128 различных приоритетных соотношений. Операционная система каждую миллисекунду меняет по определенному алгоритму приоритеты между 8-ью каналами связи с ПУ в зависимости от кода Q1 - Q7 на управляющих входах арбитров А (см. таблицу).

Глава 20. Каналы ввода-вывода и аппаратура сопряжения

274

Таблица истинности схемы арбитра

 

____________________

 

а

b

Qi

c

d

e

 

____________________

 

0

0

x

0

0

0

 

0

1

x

0

1

1

 

1

0

x

1

0

1

 

1

1

0

0

1

1

 

1

1

1

1

0

1

 

____________________

 

 

 

 

 

 

Монтажное ИЛИ

 

Сигналы

 

 

 

a

 

c

1 канал

запроса

1

Pг

приоритетов

 

 

Q1

А

e

 

 

 

 

 

 

 

 

 

 

 

 

b

 

d

 

 

2

 

 

Q5

 

А

 

 

 

 

 

 

 

 

 

 

 

 

Q2

А

 

 

 

 

 

 

 

 

 

 

 

 

 

Q7

 

 

А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

Q3

А

 

выход

 

 

 

 

 

 

расширения

 

 

 

 

 

 

 

 

8

 

 

Q6

 

А

 

 

 

 

 

 

 

 

 

 

 

 

Q4

А

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 20.4. Схема программного управления приоритетами

 

Схема механизма прерывания показана на рис. 20.5. Предположим, что в момент выполнения команды А, основной прерываемой программы, происходит какое-нибудь событие, например, завершение обмена с одним из ПУ. В данный момент основную программу следует прервать, чтобы дать возможность прерывающей программе Х обработать переданные из ПУ новые данные. С этой целью вырабатывается сигнал ЗП, по которому команда А прерывающей программы Х - А(Х) заносится в счетчик команд СчК, а команда А+1 - в специальный регистр адреса возвращения РгАВ. По окончании работы программы Х управление возвращается к команде А+1 основной прерванной программы путем переноса команды А+1 из РгАВ в СчК. Основная программа продолжается с команды А+1, следующей сразу же за той, на которой произошло прерывание.

Количество причин прерывания может достигать от 16 в персональных компьютерах до нескольких десятков и сотен в вычислительных системах и суперЭВМ. В таких случаях систему прерываний выполняют многоуровневой (рис. 20.6). Запросы (I) от всех источников прерывания поступают на регистр запросов прерывания (РгЗП), устанавливая соответствующие его разряды в состояние 1, указывающее на факт наличия запроса прерывания определенного источника (причины). Запросы 1-го ... k-го уровней прерывания (ЗПУ) формируются элементами ИЛИ, объединяющими разряды РгЗП, относящиеся к соответствующим уровням. Еще одна схема ИЛИ формирует общий сигнал пре-

Глава 20. Каналы ввода-вывода и аппаратура сопряжения

 

 

 

 

275

рывания (ОСП), поступающий в устройство управления процессора. Значение сигнала

ОСП определяется выражением

k

 

k

ri

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OC П =

iV1 3Yi

=

 

 

 

 

 

 

 

 

 

Vi 1

V I ji .

 

 

 

 

 

 

 

=

 

= i i

 

 

 

Основная программа

 

 

 

 

 

Прерывающая программа

 

 

 

 

 

 

 

 

 

от ПУ

 

 

 

 

 

 

 

 

 

X

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

A+1

 

 

 

 

 

 

 

 

 

СчК

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А(X)

 

 

 

 

 

 

 

 

 

 

А+1

PгAB

 

 

 

 

 

 

 

 

 

 

 

 

Возврат

 

 

 

 

 

 

 

 

 

 

 

[PгAB СчК]

 

 

 

 

 

Рис. 20.5. Схема механизма прерывания

 

I01

I11 I21

 

Ir1

I0i

I1i I2i

 

Iri

 

I

I

 

 

 

 

 

 

 

 

 

 

 

Регистр

0

0

1

0

0

 

 

 

 

 

 

запросов

 

 

 

 

 

 

прерывания

 

 

 

 

 

 

 

 

 

 

 

 

 

ИЛИ

 

 

 

ИЛИ

 

 

 

ИЛИ

 

 

 

I

 

 

 

i

 

 

 

k

 

ЗПУ I

 

 

 

 

 

ЗПУ

 

 

 

ЗПУ k

ОСП

 

 

 

 

 

 

 

 

ИЛИ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Схема распознавания уровня прерывания

 

 

Рис. 20.6. Многоуровневая система прерывания

Информация о действительной причине прерывания, породившей запрос данного уровня ЗПУi , содержится в “коде прерывания”, который отражает состояние разрядов РгЗП,