Организация ввода-вывода ЭВМ
Общие сведения о системе ввода-вывода
ВМ с канальной системой ввода/вывода
Прерывания в Intel Architecture (IA)
Прямой доступ к памяти (ПДП)
3.52M
Категория: ЭлектроникаЭлектроника

Организация ввода-вывода ЭВМ. Общие сведения о системе ввода-вывода

1. Организация ввода-вывода ЭВМ

2. Общие сведения о системе ввода-вывода

3.

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

4.

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

5.

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

6.

Прямым доступом к памяти называется способ обмена данными,
обеспечивающий независимую от процессора передачу данных между
памятью и периферийным устройством.
Прямым доступом к памяти управляет контроллер прямого доступа к памяти
(далее ПДП), который выполняет следующие функции:
1) управление инициируемой процессором или ПУ передачей данных между
ОП и ПУ;
2) задание размера блока данных, который подлежит передаче, и области
памяти, используемой при передаче;
3) формирование адресов ячеек ОП, участвующих в передаче;
4) подсчет числа переданных единиц данных (байт или слов) и определение
момента завершения операции ввода-вывода.
Указанные функции реализуются контроллером ПДП с помощью одного или
нескольких буферных регистров, регистра - счетчика текущего адреса данных
и регистра-счетчика подлежащих передаче данных.

7.

Можно выделить два характерных принципа построения
систем ввода-вывода:
1. ЭВМ с одним общим интерфейсом;
2. ЭВМ с множеством интерфейсов и процессорами (каналами)
ввода-вывода.

8.

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

9.

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

10.

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

11.

Каналы ввода-вывода

12.

Каналы ввода - вывода полностью освобождают процессор от управления операциями
ввода-вывода
В вычислительной машине с каналами ввода-вывода форматы передаваемых данных
неоднородны, поэтому необходимо использовать в ЭВМ несколько
специализированных интерфейсов.
Можно выделить 4 типа интерфейсов:
• интерфейс основной памяти;
• интерфейс процессор-каналы;
• интерфейсы ввода-вывода;
• интерфейсы периферийных устройств (малые интерфейсы).
Через интерфейс основной памяти производится обмен информацией между памятью, с
одной стороны, и процессором и каналами - с другой.
Интерфейс процессор-каналы предназначается для передачи информации между
процессорами и каналами ввода-вывода.
Через интерфейс ввода-вывода происходит обмен информацией между каналами и
блоками управления периферийных устройств.
Интерфейс периферийного устройства служит для обмена данными между
периферийным устройством и его блоком управления. Унификации малые интерфейсы
не поддаются, так как ПУ весьма разнообразны по принципу действия, используемым
форматам данных и сигналам.

13.

ОСНОВНЫЕ ПАРАМЕТРЫ ИНТЕРФЕЙСОВ
1) Пропускная способность интерфейса - это количество информации, которое
может быть передано через интерфейс в единицу времени (имеет диапазон от
десятков байт до сотен мегабайт).
2) Максимальная частота передачи информационных сигналов через
интерфейс (от десятков герц до сотен мегагерц).
3) Максимально допустимое расстояние между соединяемыми устройствами
(имеет диапазон от десятков сантиметров до нескольких километров при
использовании оптоволоконных линий).
4) Динамические параметры интерфейса: время передачи отдельного слова и
блока данных с учетом продолжительности процедур подготовки и завершения
передачи. Эти параметры особенно важны для систем реального времени.
5) Общее число линий (проводов) в интерфейсе.
6) Информационная ширина интерфейса - число бит данных, передаваемых
параллельно через интерфейс. Различные интерфейсы имеют ширину 1, 8, 16, 32,
64, 128 или 256 бит.
7) Связность интерфейса: интерфейс может быть односвязным, когда существует
лишь единственный путь передачи информации между парой устройств машины, и
многосвязным, позволяющим устройствам обмениваться информацией по
нескольким независимым путям.
8) Многосвязность интерфейсов требует дополнительной аппаратуры, но
повышает надежность и живучесть вычислительной машины, обеспечивает
возможность автоматической реконфигурации вычислительного комплекса при
выходе из строя отдельных устройств.

14.

По мере развития систем В/ВЫВ их функции усложняются. Главная цель такого
усложнения - максимальное высвобождение ЦП от управления процессами ввода/вывода.
Некоторые пути решения этой задачи уже были рассмотрены. Следующими шагами в
преодолении проблемы могут быть:
1) Расширение возможностей МВБ и предоставление ему прав процессора со
специализированным набором команд, ориентированных на операции ввода/ вывода. ЦП
дает указание такому процессору В/ВЫВ выполнить хранящуюся в памяти ВМ программу
ввода/вывода. Процессор В/ВЫВ извлекает и исполняет команды этой программы без
участия центрального процессора и прерывает ЦП только после завершения всей
программы ввода/вывода.
2) Рассмотренному в пункте 1 процессору ввода/вывода дается собственная локальная
память, при этом возможно управление множеством устройств В/ ВЫВ с минимальным
привлечением ЦП.
В первом случае МВБ называют каналом ввода/вывода (КВВ), а во втором - процессором
ввода/вывода. В принципе различие между каналом и процессором ввода/вывода
достаточно условно, поэтому в дальнейшем будем пользоваться термином «канал».
Концепция системы ввода/вывода с КВВ характерна для больших универсальных
вычислительных машин (мэйнфреймов), где проблема эффективной организации В/ВЫВ и
максимального высвобождения центрального процессора в пользу его основной функции
стоит наиболее остро. СВВ с каналами ввода/вывода была предложена и реализована в ВМ
семейства IBM 360 и получила дальнейшее развитие в семействах IBM 370 и IBM 390.

15.

ВМ с каналами ввода/вывода центральный процессор практически не участвует в непосредственном управлении
внешними устройствами, передавая эту задачу специализированному процессору, входящему в состав КВВ. Все
функции ЦП сводятся к запуску и остановке операций в КВВ, а также проверке состояния канала и подключенных
к нему ВУ. Для этих целей ЦП использует лишь несколько (от 4 до 7) команд ввода/вывода. Например, в IBM 360
таких команд четыре:
«Начать ввод/вывод»;
«Остановить ввод/вывод»;
«Проверить ввод/вывод»;
«Проверить канал».
КВВ реализует операции В/ВЫВ путем выполнения так называемой канальной программы. Канальные программы
для каждого ВУ, с которым предполагается обмен информацией, описывают нужную последовательность операций
ввода/ вывода и хранятся в основной памяти ВМ. Роль команд в канальных программах выполняют управляющие
слова канала (УСК), структура которых отличается от структуры обычной машинной команды. Типовое УСК
содержит:
код операции, определяющий для КВВ и ВУ тип операции: «Записать» (вывод информации из ОП в ВУ),
«Прочитать» (ввод информации из ВУ в ОП), «Управление» (перемещение головок НМД, магнитной ленты и
т, п.);
указатели — дополнительные предписания, задающие более сложную последовательность операций В/ВЫВ,
например при вводе пропускать отдельные записи или наоборот — с помощью одной команды вводить
«разбросанный» по ОП массив как единый;
адрес данных, указывающий область памяти, используемую в операции ввода/вывода;
счетчик данных, хранящий значение длины передаваемого блока данных.

16.

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

17. ВМ с канальной системой ввода/вывода

18.

Обмен информацией между КВВ и основной памятью осуществляется посредством системной шины ВМ. ВУ
подключаются к каналу не непосредственно, а через блоки управления внешними устройствами (БУВУ). БУВУ
принимает от канала приказы по управлению внешним устройством (чтение, запись, перемещение носителя или
магнитной головки и т. п.) и преобразует их в сигналы управления, свойственные данному типу ВУ. Обычно один
БУВУ может обслуживать несколько однотипных ВУ, но для подключения быстродействующих внешних
устройств часто применяются индивидуальные блоки управления. В свою очередь, некоторые ВУ могут
подключаться одновременно к нескольким БУВУ. Это позволяет воспользоваться свободной линией другого БУВУ
при занятости данного БУВУ обслуживанием одного из подключенных к нему ПУ. Физически БУВУ может быть
самостоятельным устройством или интегрирован с ВУ или каналом.
Обмен информацией между БУВУ и КВВ обеспечивается так называемыми канальными линиями. Обычно
каждое БУВУ связано с одной из канальных линий, но возможно также подключение блока управления сразу к
нескольким линиям, что дает возможность избежать нежелательных задержек при занятости одного из них.
Обмен информацией между ВУ и ОП, как уже упоминалось, реализуется в режиме прямого доступа к памяти, при
этом для взаимодействия ЦП и канала задействованы сигналы «Запрос ПДП» и «Подтверждение ПДП».
Чтобы известить ЦП об окончании текущей канальной программы или об ошибках, возникших при ее
выполнении, КВВ выдает в ЦП сигнал «Запрос прерывания». В свою очередь, ЦП может привлечь внимание
канала сигналом «Внимание».
Способ организации взаимодействия ВУ с каналом определяется соотношением быстродействия ОП и ВУ. По
этому признаку ВУ образуют две группы: быстродействующие (накопители па магнитных дисках (НМД),
накопители на магнитных лентах (НМЛ)) со скоростью приема и выдачи информации около 1 Мбайт/с и
медленнодействующие (дисплеи, печатающие устройства и др.) со скоростями порядка 1 Кбайт/с и менее.
Быстродействие основной памяти обычно значительно выше.

19.

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

20. Прерывания в Intel Architecture (IA)

21.

У Intel-ов 2 линии прерывания – INT и NMI.
Для подключения большего количества устройств используют PIC.
IRR – Interrupt Request Register. Если по i-й линии пришел запрос, то i-й разряд = 1.
IMR – Interrupt Mask Register. Если i-й разряд = 1, то запросы по IRQi не обрабатываются.
ISR – Interrupt Service Register. Если i-й разряд = 1, то значит IRQi в данный момент обслуживается (и
менее приоритетный запрос будет ждать).
По умолчанию, чем меньше номер линии IRQ, тем выше ее приоритет, но можно и
перепрограммировать схему определения приоритетов «по кругу» или «пока не спросят» (Poll Mode –
режим опроса).
При поступлении IRQ cхема управления выдает процессору общий сигнал прерывания INTR и выдает
на шину номер вектора прерывания.
Если процессор принимает запрос на обработку, он выдает INTA.
Применяется векторная техника определения источника запроса: вместе с сигналом процессору на
шину данных (линии d0-d7) ставится номер вектора запроса, по которому потом можно определить –
какая программа должна обрабатывать запрос.
Флаги процессора IF – Interrupt Flag, TF – Tracing Flag
IF = 1 – прерывания разрешены;
IF = 0 – прерывания запрещены;
TF =1 – режим трассировки (пошаговое выполнение): после каждой
передается отладчику.
команды управление

22.

23. Прямой доступ к памяти (ПДП)

DMA – Direct Memory Accessу управляет процессом в/в без участия процессора
(выставлять управляющие сигналы, адрес и данные на шину).
Хорошо для пересылки крупных блоков данных – процессор «говорит» контроллеру
ПДП сколько байтов и начиная откуда читать/писать и все, может заниматься вычислениями, а
в/в управляет контроллер).
Регистры контроллера ПДП
DONE – устан. в 1 по окончании
пересылки.
R/W – задает операцию.
Если IE=1, то по завершении
пересылки контроллер ПДП выдает
сигнал прерывания и IRQ:=1. Иначе
– Poll Mode

24.

Сигнальные модули (модули ввода/вывода)

25.

1) Модули аналогового ввода (AI, analogue input). Они принимают от датчиков, подключенных к его
входам, электрические сигналы унифицированного диапазона, например:
- 0-20 или 4-20 mA (токовый сигнал);
- 0-10 V или 0-5 V (потенциальный сигнал);
- сигналы от термопар (TC) измеряются миливольтами;
- сигналы от термосопротивлений (RTD).
2) Модули дискретного ввода (DI, discrete input). Принимают от датчиков дискретный
электрический сигнал, который может иметь только два значения: или 0 или 24 V (в редких случаях
0 или 220 V). Вход модуля DI также может реагировать на замыкание/размыкание контакта в
подключенной к нему цепи. К DI обычно подключают датчики контактного типа, кнопки ручного
управления, статусные сигналы от систем сигнализации, приводов, позиционирующих устройств и
т.д. Допустим, у нас есть насос. Когда он не работает, его статусный (выходной) контакт разомкнут.
Соответствующий дискретный вход модуля DI находится в состоянии “0”. Как только насос
запустили, его статусный контакт замыкается, и напряжение 24 V идет на клеммы входа DI.
Модуль, получив напряжение на дискретном входе, переводит его в состояние “1”.
3) Модули дискретного вывода (DO, discrete output). В зависимости от внутреннего логического
состояния выхода (“1” или “0”) устанавливает на клеммах дискретного выхода напряжение 24 V
или 0 V соответственно. Есть вариант, когда модуль в зависимости от логического состояния выхода
просто замыкает или размыкает внутренний контакт (модуль релейного типа).
Модули DO могут управлять приводами, отсечными клапанами, зажигать светосигнальные
лампочки, включать звуковую сигнализацию и т.д.
4) Модули аналогового вывода (АО, analogue output) используются для подачи токового
управляющего сигнала на исполнительные механизмы с аналоговым управляющим сигналом.

26.

В современных системах расположение модулей ввода/вывода на базовой плате строго не
регламентировано, и их можно устанавливать в произвольном порядке. Однако один или несколько
слотов, как правило, зарезервированы под установку коммуникационного модуля. Иногда
возможна установка сразу двух коммуникационных модулей, работающих параллельно. Это
делается для повышения отказоустойчивости системы ввода/вывода.
Одним их жестких требований, предъявляемых к современным подсистемам ввода/вывода,
является возможность “горячей” замены модулей без отключения питания (функция hot swap).
Коммуникационные модули обеспечивают обмен данными между ПЛК, станциями распределенной
периферии, интеллектуальными датчиками и исполнительными устройствами. Модули
поддерживают один из коммуникационных протоколов:
- Profibus DP;
- Profibus PA;
- Modbus RTU;
- HART;
- CAN и др.
Обмен информацией, как правило, осуществляется с использованием механизма ведущийведомый (master-slave). Только ведущее устройство на шине может инициировать обмен данными.
Ведомые устройства пассивно прослушивают все данные, идущие по шине, и только в случае
получения запроса от ведущего устройства отправляют обратно ответ. Каждое устройство на шине
имеет свой уникальный сетевой адрес, необходимый для однозначной идентификации. Узлы
ввода/вывода, как правило, являются ведомыми устройствами, в то время как контроллеры –
ведущими.
English     Русский Правила