Лекция: Концепция единого интерфейса и канала ввода—вывода
Рассмотрим основные способы соединения набора устройств в единую систему, образующую ЭВМ.
Концепция единого интерфейса.
Наиболее естественным представляется способ соединения устройств, изображенный на рис. 4,3. Процессор П, основная память 0П и внешние устройства ВУ подключаются к общей системе цепей —единому интерфейсу W. Для подключения внешних устройств используются устройства управления УУВУ, иначе называемые контроллерами. УУВУ — операционное устройство, назначение которого — реализация операций ввода—вывода в виде, соответствующем специфике функционирования внешнего устройства. УУВУ преобразует стандартную последовательность сигналов интерфейса в совокупность сигналов, обеспечивающую работу внешнего
устройства. Для внешнего устройства каждого типа требуется своеобразное устройство управления. Объединение устройств ЭВМ посредством единого интерфейса порождает следующие принципы обмена информацией.
Во-первых, информация передается словами, длина которых определяется разрядностью основной памяти. Представление информации в виде слов является естественным способом обмена информацией для основной памяти, процессора и некоторых внешних устройств. Однако большинство внешних устройств передают информацию побитно (например, магнитные диски) или побайтно (например, устройства ввода с перфоленты, печатающие устройства). Поэтому устройство управления, обеспечивая обмен инфор-
рис. 4.3
мацией между интерфейсом и внешним устройством, должно при передаче информации
преобразовывать последовательность бит или байт в слова или слова в последовательность бит или байт.
Во-вторых, приемниками или источниками информации, вводимой—выводимой через внешние устройства, могут быть процессор и память. Передача информации из одного внешнего устройства в другое в общем случае невозможна из-за различия в скоростях работы устройств: когда одно устройство передает информацию со скоростью, превышающей быстродействие другого устройства, часть информации будет потеряна. Процессор может с помощью команды ввода—вывода передать одно слово информации. Для этого необходима программа, проверяющая готовность внешнего устройства к приему—выдаче слова информации и инициирующая операцию ввода—вывода. Такой режим ввода—вывода удобен для обмена информацией с некоторыми внешними устройствами: преобразователями «цифра—аналог» и «аналог—цифра», посимвольными печатающими устройствами и т. д. Однако для обмена информации с внешними запоминающими устройствами этот режим ввода—вывода непригоден, поскольку не обеспечивает высокой скорости передачи информации. Поэтому для высокоскоростных внешних устройств необходимо обеспечить прямой доступ к основной памяти. Ввод—вывод в режиме прямого доступа к памяти организуется следующим образом. Процессор, инициируя операцию ввода—вывода, посылает в устройство управления внешним устройством: 1) базовый адрес А области основной памяти, в которой хранится вводимая—выводимая ин-1 формация; 2) количество слов С, передаваемых в процессе выполнения операции; 3) код операции, определяющий направление передачи информации и режим работы внешнего устройства. Зачтем процессор продолжает программу вычислений, а внешнее устройство начинает выполнять операцию ввода—вывода. Ввод— вывод информации протекает в темпе работы внешнего устройства параллельно с работой процессора. Устройство управления формирует адреса А, А + 1, ..., А +С—1 ячеек памяти, в которые записываются (читаются) слова информации, и обеспечивает переплачу С слов информации. Третий принцип организации ввода—вывода через единый интерфейс состоит в последовательном использовании интерфейса для обслуживания пар устройств — передатчика и приемника [информации. Поскольку ввод—вывод может производиться параллельно несколькими внешними устройствами в режиме прямого {доступа к памяти и одновременно с работой процессора, возникает 1задача определения очередности на захват интерфейса устройствами. Эта задача решается путем назначения приоритетов, определяющих преимущественное право устройств на использование интерфейса. Наивысшие приоритеты присваиваются высокоскоростным устройствам, поскольку задержка в их обслуживании может принести к потере передаваемой информации. Процессору присваивается низший приоритет, поэтому ввод—вывод протекает в режиме приостановок процессора: при наличии запроса на передачу слова информации обращение процессора к основной памяти блокируется до момента освобождения интерфейса и памяти от Обслуживания работающих внешних устройств. Быстродействие интерфейса ограничено быстродействием основной памяти. Поэтому сумма скоростей передачи информации по всем одновременно работающим внешним устройствам не должна превосходить быстродействия интерфейса.
Единый интерфейс является высокоэффективным способом организации обмена информации в ЭВМ, которые комплектуются небольшим числом внешних устройств, работающих в режиме прямoгo доступа к памяти. Такая комплектация типична для мини и микро-ЭВМ. Поэтому единый интерфейс широко используется для ЭВМ этих классов.
При большем числе внешних запоминающих устройств использование единого интерфейса приводит к большим затратам оборудования в устройствах управления внешними устройствами по следующей причине. При вводе—выводе через внешние запоминающие устройства за одну операцию передается блок информации, состоящий из большого числа байт. Обеспечивая передачу блока информации, устройство управления внешним устройством должно выполнять следующие действия: 1) принимать, хранить и модифицировать адрес ячейки памяти, в которую производится ввод—-вывод информации, обеспечивая его последовательное наращивание в виде А, А +1, Л+2,..; 2) подсчитывать число передаваемых байт и сравнивать его с заданным значением с целью определения момента окончания операции; 3) при вводе информации собирать из байт слова, а при выводе разбирать слова на байты. Можно ожидать, что для выполнения этих действий требуется значительное количество оборудования. При большом числе внешних устройств, которые должны работать в режиме прямого доступа к памяти, эти действия дублируются в каждом из устройств управления, в результате чего затраты оборудования на организацию ввода—вывода могут оказаться чрезмерно большими. От этого недостатка свободен следующий способ
организации связей с внешними устройствами.
Рис. 4.4.
Концепция канала ввода—вывода. При комплектации ЭВМ большим количеством внешних устройств для экономии оборудования внешние устройства подключаются по схеме рис. 4.4. Внешние устройства ВУ, обслуживаемые устройствами управления УУВУ, соединяются с основной памятью 0П через канал ввода—вывода КВВ. Процессор П и канал ввода—вывода сопрягаются с памятью через интерфейс памяти Р. Информация по интерфейсу памяти передается словами. Для сопряжения внешних устройств с каналом ввода—вывода используется специальный интерфейс — интерфейс ввода—вывода, информация через который передается байтами, т.е. единицами, естественными для внешних устройств, большая часть которых вводит—выводит информацию посимвольно—байт за байтом. Функции канала ввода— вывода состоят в следующем. Процессор, получая команду ввода-вывода, передает ее в канал (штриховая линия на рис. 4.4) и тем самым инициирует операцию ввода—вывода, которая выполняется каналом независимо от работы процессора. Канал ввода—вывода выполняет следующие действия: 1) инициирует работу внешнего устройства, указанного в команде ввода—вывода; 2) последовательно читает и записывает слова информации, обращаясь к ячейкам Л, Л+1, Л+2,… области ввода—вывода, размещаемой в основной памяти; 3) при выводе разделяет слова на байты, а при вводе собирает слова из байтов, поступающих по интерфейсу вода—вывода; 4) подсчитывает количество передаваемых байтов, сравнивает с заданным значением с целью определения момента окончания ввода—вывода; 5) завершает работу внешнего устройства по окончании передачи данных или операцию ввода—вывода, оканчиваемую по инициативе внешнего устройства. Таким образом канал ввода—вывода реализует действия, одинаково необходимы для обеспечения работы каждого внешнего устройства. По той причине упрощаются функции устройств управления внешними устройствами, что приводит к уменьшению затрат оборудования в подсистеме ввода—вывода, состоящей из большого числа внешних устройств.
Канал ввода—вывода обычно работает по собственной программе — программе канала, хранимой в основной памяти. Программа состоит из последовательности команд, управляющих работой канала и предписывающих достаточно сложную последовательность действий, связанных с вводом—выводом информации с учетом этого канал ввода—вывода можно рассматривать как специализированный процессор, ориентированный на выполнение программ ввода—вывода.
Использование канала ввода—вывода порождает необходимость в интерфейсах трех типов (рис. 4.4): 1) интерфейса основной памяти, через который процессор и канал сопрягаются с памятью; 1) интерфейса процессор—канал, по которому происходит обмен вправляющей информацией и сигналами прерывания; 3) интерфейса ввода—вывода, используемого для подключения внешних устройств к ЭВМ.
За счет использования канала ввода—вывода оборудование экономится при большом числе внешних устройств, входящих комплект ЭВМ. Экономия достигается за счет централизации канале достаточно сложных действий по обслуживанию внешних устройств, а также за счет использования побайтной передачи данных через интерфейс ввода—вывода, благодаря чему умень-шаются затраты оборудования в устройствах управления. Большая номенклатура внешних устройств типична для ЭВМ общего Назначения. Поэтому в ЭВМ этого класса для подключения внешних устройств используются каналы ввода—вывода.