История отечественной вычислительной техники

Мультиплексный канал ЭВМ М-13

Рассмотрена архитектура мультиплексного канала, приведены его основные технические характеристики и краткое описание алгоритмов его работы.

Мультиплексный канал ЭВМ М-13 (МПК), входящий в состав подсистемы ввода-вывода ЭВМ [1], осуществляет аппаратно-программную поддержку операционной системы в части исполнения операций ввода-вывода и обладает более широкими возможностями, чем каналы других ЭВМ (например, машин ряда ЕС ЭВМ). Мультиплексный канал ЭВМ М-13, в отличие от традиционных каналов ввода-вывода, представляет собой систему, состоящую из канального процессора — интерпретатора канальных программ (ИПК) и главного канала — мультиплексора данных. ИПК предназначен для аппаратно-программной поддержки операционной системы при выполнении инициирований и завершения операций ввода-вывода, обеспечения виртуальной адресации при вводе-выводе и обработке прерываний от сопрягающих процессоров устройств абонентского сопряжения (УАС) [2]. Главный канал с универсальными подканалами предназначен для обеспечения независимого и параллельного информационного обмена сопрягающих процессоров (СП) УАС с внутренней памятью ЭВМ; при этом СП обеспечивает работу с абонентами как в селекторном, так и в мультиплексном режимах.

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

Структура МПК представлена на рис. 1.

Структура МПК М-13

Рис. 1. Структура МПК М-13

Основные технические характеристики МПК.

Два независимых внешних интерфейса , каждый из которых допускает подключение до 8 устройств УАС, обеспечивающих работу со 128 СП, размещенными в устройствах УЛС независимо от модели ЭВМ.

В зависимости от модели ЭВМ формат обмена с внутренней памятью машины 16, 32 или 64 байта. Максимальная пропускная способность канала, в зависимости от модели машины, — 40, 70 или 100 Мбайт/с. Одновременно могут исполняться до 128 канальных программ.

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

Фиксированное временное разделение адресных требований к ВП от трех источников (группы СП с четными номерами подканалов УАС-0, с нечетными номерами — УАС-1 и интерпретатора канальных программ) облегчает анализ временного баланса и предотвращает возникновение конфликтных ситуаций.

Система шин интерфейсов МПК М-13

Рис.2 Система шин интерфейсов МПК М-13

Система шин интерфейсов МПК с указанием разрядности шин (в битах) представлена на рис. 2, где
ПАТ— признак адресного требования;
8 номер сегмента;
В — номер страницы и номер байта в странице;
ТП (р) — тип памяти (р = 0000 — виртуальный адрес, 0001 — постоянная память, 0010 — оперативная память, 0100 и 1000 — большая память);
НШ — номер шины;
КОП — код операции в памяти;
r — формат неполного слова;
СКД — связка ключей доступа к ВП;
НОР — номер обменного регистра (НОР 0 - 7 соответствует восьми интерфейсам ППС, НОР = 8 — интерпретатору канальных программ);
НПК — номер подканала;
СВЛ — сдвиг влево (при записи информации в ВП — для разных моделей ЭВМ);
СПР — сдвиг вправо (при чтении информации из ВП — для разных моделей ЭВМ);
НПО — признак последнего обмена;
ШЭП — шины записи;
ПКЧ — признак команды чтения (информация из УСА);
ПКЗ — признак команды записи (информации в УСА);
01 — ответ об успешном обращении к ВП;
02 — ответ о несостоявшемся обращении к ВП;
РО — разрешение обращения (к шинам ШЧТ);
ШЧТ — шины чтения информации из ВП;
03 — ответ-требование приостановки выдачи АТ (при обращении по виртуальному адресу или к большой памяти);
ПС — признак сообщения;
КС — код сообщения;
КПП — код источника информации (01, 10 — информация от УАС при прерывании от внешнего сигнала или при окончании обмена, соответственно, 11 — информация МПК о прохождении части программы подканала);
ИНФ — информация, смысл которой определяется КС;
РВС — разрешение выдачи сообщения;
ПК — признак команды;
КК — код команды;
НКИС — номер командного интерфейса;
НУАС — номер УАС;
ИСП — номер сопрягающего процессора;
ЭП — экстренный прием сообщения от ЦУП (определяет высший приоритет запроса ЦУП в арбитре).

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

Внешний интерфейс разделяется на командный (КИС) и информационный (ИИС). Каждый командный интерфейс обслуживает 4 информационных, по которым последовательно передаются 8-байтовые фрагменты 64-байтового слова в ОР (или из ОР). Внутренний интерфейс разделяется на интерфейс МПК—ВП и МПК—ЦУП. Списки кодов и соответствующие им функции представлены в табл. 1, 2, 3 и 4.

Таблица 1
Коды сообщений в ЦУП

№п/п Код Функция
1 001 Программа подканала завершена
2 011 Подканал занят
3 100 Принять байт сигнализации
4 101 Принять признак наличия сравнения

Таблица 2
Коды команд из ЦУПа

№п/п Код Функция
1 0000 Принять первую половину СКд-0
2 0010 Начать ввод-вывод в подканале (в/в в п/к)
3 0100 Продолжить в/в в п/к
4 0110 Прекратить в/в в п/к
5 1000 Возобновить в/в в п/к с адреса в дескрипторе
б 1010 Передать дескриптор в ВП
7 1100 Приостановить в/в в п/к (завершить нач. обмен)
8 1110 Принять вторую половину СКд-1
9 ХХХI Принять информацию для сравнения

Таблица 3
Коды сообщений ШК – К

№п/п Код Функция
1 001 Начать обмен
2 010 Продолжить обмен
3 011 Прекратить обмен
4 100 Принять управляющую информацию в СП
5 101 Принять сигнальную информацию в СП

Таблица 4
Коды сообщений ШК — А

№п/п Код Функция
1 001 Обмен закончен
2 010 Записать адрес обмена а дескриптор
3 011 Записать слово в ВП
4 100 Прочитать слово из ВП
5 101 Передать прерывание в ЦУП

Команды канальных программ разделяются по структуре на два типа — RX и RR 1 (табл. 5 и 6) и функционально — на обменные (т. е. затрагивающие в процессе выполнения внешний информационный интерфейс) и необменные, совпадающие с аналогичными командами, принятыми в центральном процессоре. Необменные команды исполняются ИПК в порядке считывания их из БД без пауз, в то время как обменные команды могут вызвать паузу, если время выполнения необменных команд на фоне обменной команды меньше времени обмена.

Таблица 5
Команда формата RX

Байт 0 Байт 1 Байт 2 Байт 3 Байт 4 Байт 5 Байт 6 Байт 7
Тип команды Код операции R1 R2 I
88 Передать упр. информацию в СП 0 0 Управляющая информация -
87 Сигнализация в ЦУП 0 0 Информ. В ЦУП  
Преобразование дескриптора, код операции преобразования NcxD 0 Операнд (целое со знаком)

NcxD – номер преобразуемого слова в дескрипторе.

Таблица 6
Команда формата RR1

Байт 0 Байт 1 Байт 2

Байт 3

Байт 4

Байт 5 Байт 6 Байт 7
Тип команды Код операции 0 X2 B2 S2 D2
96 ВП-дескриптор. адрес дескрипт. 0 Адрес дескриптора в ВП
97 ВП (УП), условие перехода 0 Адрес перехода
98 Начать обмен в СП 0 Начальный адрес обмена
Передать управляющую информацию в СП 0 Адрес управляющей информации в ВП

X 2, B 2, S 2 — номера полей дескриптора, содержащих индекс, базу, сегмент;
D 2 — смещение;
БП (УП) — безусловный (условный) переход.

Адреса, используемые в командах канальных программ, представлены в относительной форме:
А={( S ),( X )+( B )+( D )}, где
( S ) — номер модификатора, содержащего тип памяти ( p ) и номер сегмента s
(Х) номер модификатора, содержащего индекс Х;
(В) — номер модификатора, содержащего базу В;
D — смещение.

Во всех других случаях используется адрес в исполнительной форме: А = { p , S , b }, где p — тип памяти; S — номер сегмента, b номер страницы и номер байта в странице.

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

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

Дескрипторы . В ходе процессов, протекающих в МПК — обменов, интерпретации команд и сообщений — используется и модифицируется информация в дескрипторах. Каждый из 128 Подканалов имеет свой б4-байтовьтй дескриптор, содержащий номер УАС (З бита), номер СП (3 бита), адрес обмена в исполнительной фёрме (4 бита + б байтов), 1 байт состояния подканала, адрес команды канальной программы в исполнительной форме (4 бита + б байтов), резервную команду канальной программы (8 байтов), связку ключей доступа к ВП (8 байтов), 4 адресных модификатора, содержащих значения X , B, S и параметры циклов (4х8 байтов), код ответа от СП – 1 байт.

Работа МПК организована следующим образом. Перед инициированием канальной программы ЦУП передает в МПК связку ключей до ступа, позволяющих осуществить обращение к ВП для начальной загрузки дескриптора. Затем ЦУП инициирует работу подканала передачей команды «начать ввод-вывод». В случае, если подканал находится в активном состоянии, то есть когда предыдущая канальная программа еще не завершена, в ЦУП передается Прерывание с кодом сообщения «подканал занят», а инициирование канальной программы блокируется.

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

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

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

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

Завершение канальной программы определяется по коду операции, не принадлежащему списку команд МПК. Анализ этого кода приводит к формированию прерывания в ЦУП с. кодом сообщения «Программа подканала завершена».

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

Заключение

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

Литература

  1. Байков С. М. и др. Подсистема ввода-вывода ЭВМ М-13 // Вопросы радиоэлектроники. Сер. ЭВТ. — 1990.— Вып. 10. — С. 21—25.
  2. Латышов А. А. Некоторые вопросы построения канальных процессоров высокопроизводительных ЭВМ // Статья в настоящем сборнике.
  3. Бочин Б. И., Латышов А. А., Мельник Ю. Н. Три аспекта развития подсистемы ввода-вывода //Вопросы радиоэлектроники. Сер. ЭВТ.— 1990.— Вып. 10.— С. 104—111.

Статьи об ЭВМ М-13
Сборник «Вопросы радиоэлектроники», серия «Электронная вычислительная техника», выпуск 16, 1991 г.
Перепечатывается с разрешения авторов.
Статья помещена в музей 9.08.2007 г.