Мультиплексный канал ЭВМ М-13
С. М. Байков, Н. Н. Дынин, А. А. Латышов, Ю. Н. Мельник
Рассмотрена архитектура мультиплексного канала, приведены его основные технические характеристики и краткое описание алгоритмов его работы.
Мультиплексный канал ЭВМ М-13 (МПК), входящий в состав подсистемы ввода-вывода ЭВМ [1], осуществляет аппаратно-программную поддержку операционной системы в части исполнения операций ввода-вывода и обладает более широкими возможностями, чем каналы других ЭВМ (например, машин ряда ЕС ЭВМ). Мультиплексный канал ЭВМ М-13, в отличие от традиционных каналов ввода-вывода, представляет собой систему, состоящую из канального процессора — интерпретатора канальных программ (ИПК) и главного канала — мультиплексора данных. ИПК предназначен для аппаратно-программной поддержки операционной системы при выполнении инициирований и завершения операций ввода-вывода, обеспечения виртуальной адресации при вводе-выводе и обработке прерываний от сопрягающих процессоров устройств абонентского сопряжения (УАС) [2]. Главный канал с универсальными подканалами предназначен для обеспечения независимого и параллельного информационного обмена сопрягающих процессоров (СП) УАС с внутренней памятью ЭВМ; при этом СП обеспечивает работу с абонентами как в селекторном, так и в мультиплексном режимах.
МПК выполняет следующие функции:
— диспетчеризацию, запуск и управление исполнением канальных программ, реализующих процессы управления вводом-выводом;
— запуск программ сопрягающих процессоров, выполняющих обменные и ряд других операций, исполняемых в СП;
— определение доступности ресурсов ввода-вывода;
— обеспечение двухстороннего обмена информацией между сопрягающими процессорами и внутренней памятью ЭВМ (ВП), а также согласование представленных в СП и ВП форматов информации, включая различение форматов в зависимости от модели (комплектации) ЭВМ;
— виртуальную адресацию и обеспечение возможности работы с двумя уровнями внутренней памяти как при исполнении канальных программ, так и при обмене данными;
— обеспечение возможности преобразования адресов информационного обмена в ходе процессов ввода-вывода как канальным, так и сопрягающими процессорами;
— обработку прерываний, поступающих от сопрягающих процессоров;
— измерение параметров процессов ввода-вывода [З].
Структура МПК представлена на рис. 1.
Рис. 1. Структура МПК М-13
Основные технические характеристики МПК.
Два независимых внешних интерфейса , каждый из которых допускает подключение до 8 устройств УАС, обеспечивающих работу со 128 СП, размещенными в устройствах УЛС независимо от модели ЭВМ.
В зависимости от модели ЭВМ формат обмена с внутренней памятью машины 16, 32 или 64 байта. Максимальная пропускная способность канала, в зависимости от модели машины, — 40, 70 или 100 Мбайт/с. Одновременно могут исполняться до 128 канальных программ.
Арбитрирование запросов на информационный обмен, на прерывание центрального управляющего процессора и на интерпретацию канальных программ осуществляется по номеру подканала: приоритетным является меньший номер. для каждого СП номер подканала назначается программно, благодаря чему обеспечивается гибкость системы приоритета.
Фиксированное временное разделение адресных требований к ВП от трех источников (группы СП с четными номерами подканалов УАС-0, с нечетными номерами — УАС-1 и интерпретатора канальных программ) облегчает анализ временного баланса и предотвращает возникновение конфликтных ситуаций.
Рис.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 с возможностью работы по виртуальным адресам, высокую пропускную способность при обмене информацией с устройствами ввода-вывода и адаптацию к различным комплектациям (моделям) ЭВМ.
Литература
- Байков С. М. и др. Подсистема ввода-вывода ЭВМ М-13 // Вопросы радиоэлектроники. Сер. ЭВТ. — 1990.— Вып. 10. — С. 21—25.
- Латышов А. А. Некоторые вопросы построения канальных процессоров высокопроизводительных ЭВМ // Статья в настоящем сборнике.
- Бочин Б. И., Латышов А. А., Мельник Ю. Н. Три аспекта развития подсистемы ввода-вывода //Вопросы радиоэлектроники. Сер. ЭВТ.— 1990.— Вып. 10.— С. 104—111.
Статьи об ЭВМ М-13
Сборник «Вопросы радиоэлектроники», серия «Электронная вычислительная техника», выпуск 16, 1991 г.
Перепечатывается с разрешения авторов.
Статья помещена в музей 9.08.2007 г.