Квант
Разное

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

Салтовский А. Н.

48

А. Салтовский

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

Эта статья продолжает серийное публикацию об устройстве ЭВМ («Память ЭВМ» в «Кванте № 4 и «Как работает процессор» в «Кванте № 5»).

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

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

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

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

Фотографии В. Полякова и И. Федоренко

49

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

Второй способ ввода-вывода информации сравнительно молод: фактом своего существования он обязан появлению мощных ЭВМ последних поколений — машин, более быстроествующих, с большим объемом оперативной памяти, чем машины 50-х и начала 60-х годов. Внешне этот способ мало отличается от существовавшего на заре появления ЭВМ «ручного» ввода: средстваом обшения человека с машиной служит пульт управления ЭВМ, а также подсоединенные к ЭВМ выносные пульты — терминалы. Правда, пульт несколько усовершенствовался: сообщения машины вывечиваются на телевизionном экране в виде легко читаемых текстов. «Отвечающая» часть современных пультов очень наполинает клавиатуру пышшей машины. Человек, немного «побеседоваший» с машиной с помощью подобного пульта или терминала, очень быстро привыкает к такой форме обшения с ЭВМ. Такой пульт — терминал может быть удален от машины на большое расстояние. В качестве терминалов сейчас наиболее распространены пульты с телевизionным экраном и клавиатурой — дисплеи (фото 2). В этой же роли могут выступать и подключенные к ЭВМ электрическое пищущее машинки и телеайы.

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

Квант времени
для «беседы» с ЭВМ

Возможность оперативного диалогового обшения человека с ЭВМ основана на том, что практические «мгновеная» (с точки зрения человека) реакция машины фактически протекает за сравнительно большие интер-

50

валы времен (с точки зреня высокоскоростных ЭВМ): 40—100 миллисекунд ((40—100) · 10⁻³ с). Если ЭВМ способна, например, выполнять 10⁶ операций в секунду, то за каждое сразу и «немедленно» ЭВМ может выполнить от 40 до 100 тысяч операций. Если каждому из пользователей — программистов — выделить, например, порцию времени в 5 миллисекунд, то ЭВМ за такое время может «продвинут» ход диалога с каждым из них на 5000 команд. Вот почему каждый пользователь уверен, что он один работает с ЭВМ. Правда, часть времени работы ЭВМ «забирает» программы обслуживания и управления — операционной системе. Если в нашем примере предположить, что человекское «сраузу» — это 100 миллисекунд, то примерно пользована этого времени — 50 миллисекунд — будет затрачена на работу программы операционной системы. Тогда из расчета, что каждому из пользователей выделяется для работы с ЭВМ порции времени прямо доступа в 5 миллисекунд, можно сказать, что ЭВМ сумет «одновременно», сохраняя иллюзию мгновенных ответов, общаться с деятьсяю программистами. Описанная здесь система работы чисто иллюстративна. Важно лишь отметить, что в ней машинное время распределяется между пользователями строго регламентировано. В этом операционной системе помогают электронные часы машины (так называемый «таймер») и система прерывания (см. «Как работает процессор», «Квант», № 5). Подобные системы называют системами разделения времени.

Операции элементарного обмена УВВ — Память

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

Фото 2.

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

Работой УВВ управляют команды ввода-вывода. Они составляют часть системы команд машины. Команда ввода-вывода обычно содержит следующую информацию:

Фото 3.

51

Рис. 1.

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

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

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

Информационный тракт — это оперативное кратковременное хранение передаваемой от устройства к устройствам информации. Однако из его характерistik — ширина: количество одновременного передаваемой информации. Поскольку ширина информационного траекта от УВВ к П

зачастую меньше, чем машинное слово, то подготовливаему к передаче информации стали предварительно накапливать в специальных буферных резистрах (рис. 2). Так, например, современные ЭВМ серии EC допускают обмен информацией с памятью двойными словами (64 бит), а основной обменной порцей в передачах УВВ — память является байт (8 битов). Восемь байтов совпают на буферном 64-битовом регистре, и, после того как буферный регистр оказывается заполненным, запрашивается связи с памятью.

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

Канал — это специальированный процессор

Системы ввода-вывода современных ЭВМ должны
— преобразовать информацию к виду, удобному для передавки в ЭВМ, и производить, когда это не обходимо, обратное преобразование;

52

— подключаться к памятии для обмена информацией с УВВ, притом только тогда, когда это действительное необходимо, и выполнять во время пауз сборку или разборку информации;

— обеспечивать возможность распараллеления работы с другими устройствами ЭВМ, в частности с АЛУ;

— пользоваться средствами процессора только тогда, когда в этом есть необходимость: например, для анализа ошибочной ситуации или для включения операций вода-вывода.

При этом способ подключения УВВ к системе ввод-вывода должен быть, по возможности, универсальным для разотипных УВВ.

В современных ЭВМ перечисленные требования к системам ввод-вывода реализуют устройства, которые называют процессорами ввод-вывода. В машинах серии EC их называют каналами.

На рисунке 3 представлена структура схема EC-1060. По современным представлениям это достаточно мощная ЭВМ, обладающая двумя каналами — секторным и мультимпленным, — отличующимся друг от друга, прежде всего, скоростью характерастики: для секторного канала пропускная способность доходит до 1,25 Мбайт (1,25×2²⁰ байт) в секунду; к секторному каналу присоединяются скорости УВВ — накопители на магнитных дисках (фото 4), ленточные магнитофоны. Максимальная пропускная способность для информационных потоков, проходящих через мультитипекский канал, составляет 600 Кбайт (600×2¹⁰ байт) в секунду. К мультитипекному каналу подсоединяются «тихоходные устройства — это перфораторы, считывающие перфокарт и перфолент, дисплеи, электронные пышшие машинки, АЦПУ.

Формат канального команды

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

53

выполнять определению работы. В некоторых случаях не обработкой, а транспортировкой информации. Типовой формат канальной команды представляет на рисунке 4. Основными полями в этом формате являются:

— поле команды (код операции);
поскольку устройство ввод-вывода может работать в разных режимах, в поле команды кодируют характер работы, которое должно выполнить выбранный канал и соответствующее УВВ; самые характерными операциями являются «Чтение» и «Запись»;

— поле адреса данных, то есть поле, в котором записьют начальный адрес массива информации, предназначенной к транспортировке через канал от УВВ (или к УВВ);

— поле признаков, в котором уточняются неокоторые детали информации, участвующих в обмене.

Обработка команды в канале
Система команд ЕС ЭВМ также содержит команды ввод-вывода, но в отличие от команд ввод-вывода представляет ЭВМ они лишь начальной выполнение операции ввод-вывода. Так, например,

команда ввод-вывода в ЕС ЭВМ, которая называется Начат ввод-вывод, отражается в ЭВМ следующим образом:

— сначала команда из памяти на регистр команд; УУ процессора «узнает» ее, то есть определяет, что печь идет именно о команде начать ввод-вывод; затем с помощью информации, содержащей в адресном команде, определяются номера канала и устройства ввод-вывода, с которым предстоит начать обмен (рис. 5a);

— у каждой из УВВ, присоединенного к каналу, есть собственный номер; когда какое-либо из устройств ввод-вывода принадлежит номеру своим, то оно «подтверджает» получение приглашения на связь; информация «подтверджения» содержит сведения о том, что УВВ с таким номером действительно готов к работе (в частности, не выключено из сети); выполняя процессура начальной выборки УВВ, канал одновременно обращается в одну из фиксированно распределенных ячеек памяти — там хранится адресное слово канала (АСК); АСК пересылается в канал; в АСК, в частности, содержится начальный адрес канальной программы (рис. 56), по которой предстоит работать в процессе информационного обмена;

— канал обращается к памяти по адресу, указанному в АСК, и из-

Свободные разряды
Команд
Адрес данных
Признаки
Счетчик
0 18 31 32 36 48 63
Рис. 4.
КАНАЛ
Микросекунды
N°1 УВВ
N°2 УВВ
N°3 УВВ
Команд НВВ
Резистр команд
Выбор канала
к УВВ N°2
Рис. 5a.

54

влекает первый канальный команду из канальной программы; впрочем, эта программа может состоять из единственной канальной команды (рис. 5в);

— канал начинает расшифровку канальной команды; он пересылает команду (разряды 0—7 канальной команды) в УВВ, «узнавшее» свой номер в самом начале «зацеплення» процессора с каналом; если УВВ способно выполнить предложенную команду, то оно «ответит» каналу, разрешая «перекачку» информации (рис. 5г);

— после этого процессор «отценляется» от канала и занимается обработкой другой информации; канал, «заряженный» управляющий информацию, работает с памятью, предоставляя время от времени память в распоряжение процессора;

— когда канал нормально отработает первый канальный команду (не зафиксировав никаких поломок оборудования, никаких замятых перфокарт и т. д.), ход дальнейшей работы канала будет определен с помощью управления информации в поле признаков (рис. 4) канальной команды; в частности, если в нем указан признак «Цепочка команд» или признак «Цепочка данных», то связь канала с памятью может продолжаться дальше; их оношения в этом случае не касаются процесора (рис. 5д);

— если информацию завершен, то канал переыдает работу процессора; перед перевыанием канал подготавливает на буферном регистре «слово состояние канала» (ССК), в котором сообщает в закодированной форме все остояльства окончания сеанса связи, запрос на перевыание поступает в процессор и одновременно ССК записьается в одну из фиксированных ячеек памяти; операционная система расшифро-

55

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

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

КонтROL INFORMATIONНОГО ОБМЕНА
Все процессы передачи информации в ЭВМ контролируется. Для контроля всякий информационный тракт сопровождается дополнительными разрядами, которые называются контрольными. Их назначение — дополнительную сумму передаваемых в данный отрезок времени (такт) разрядов до нечетного числа. Например,

нулевой байт сопровождается единцией в контрольном разряде. Таким образом, для передачи байта используется 9 проводов (по девятому идентичной бит). Kontrolный разряд формируется в источнике информации с помощью специальной логической схемы; приемник информации, получив байт, также генерирует контрольный бит. Передача информации считается успешно завершенной, если контрольные биты источника и приемника совпали. Этот способ контроля называют «сверткой по modулю 2». Легко видеть, что такой способ не обнаруживает ошибки в четном числе разрядов. Существуют методы аппаратного контроля, позволяющие «отлобить» и двойные ошибки.

ЧТО ЧИТАТЬ ДАЛЬШЕ:

  1. ФЛОРЕС А. Организация вычислительных машин. (М., «Мир», 1972).
  2. ФЛОРЕС А. Внешние устройства ЭВМ (М., «Мир», 1977).