ЕС-1030 стала первой машиной Единой системы, на основе которой был создан двухмашинный вычислительный комплекс, получивший обозначение ВК-1010. Его структура показана на рисунке.

Структура комплекса ВК-1010
Структура комплекса ВК-1010

Основу комплекса составляют две ЭВМ ЕС-1030, каждая из которых включает процессор ЕС-2030, оперативную память ЕС-3203, каналы ввода-вывода ЕС-4430 и подключённые к последним внешние устройства.

Консольный терминал в виде пишущей машинки ЕС-7077, устройства ввода и вывода перфокарт и перфолент и печатающие устройства у каждой машины исключительно свои и подключаются к мультиплексному каналу. А вот накопители на магнитных дисках и лентах (НМД и НМЛ), подключаемые к селекторным каналам через устройства управления (контроллеры) ЕС-5551 и ЕС-5517 или через другие аналогичные устройства, могут совместно использоваться обеими ЭВМ, поскольку их контроллеры имеют два независимых интерфейса для подключения к каналам, а также переключатель, позволяющий определить режим работы: только с первым интерфейсом, только со вторым интерфейсом или с обоими интерфейсами сразу.

При совместном использовании НМД и НМЛ операционная система, выполняемая на одной ЭВМ, сначала, как правило, выдаёт контроллеру команду РЕЗЕРВИРОВАНИЕ, по которой контроллер закрепляет указанное устройство за конкретным интерфейсом (тем, по которому поступила эта команда). Если попытаться обратиться к зарезервированному устройству по другому интерфейсу, операция будет контроллером отвергнута, причём ОС сможет узнать, что причиной стало резервирование устройства со стороны другого интерфейса.

Выполнив необходимый набор операций с зарезервированным устройством, ОС выдаёт контроллеру команду ОСВОБОЖДЕНИЕ, и с этого момента устройство вновь становится одинаково доступно обеим ЭВМ.

В принципе, резервировать устройство не обязательно, и это средство используется, в первую очередь, чтобы избежать нежелательного «вторжения» со стороны другой системы. В частности, по очевидным причинам магнитная лента не может использоваться совместно двумя ЭВМ. С магнитными дисками ситуация менее однозначна: обновление содержимого оглавления тома (VTOC — volume table of content, что соответствует термину directory, применяемому для файловых систем в современных ОС), конечно, требует монопольного доступа, однако при работе с наборами данных (data sets — примерно то же самое, что и обычный дисковый файл, хотя и со своими нюансами) монопольность нужна не всегда.

Для быстрого обмена достаточно большими порциями данных между памятью каждой из двух ЭВМ служит адаптер «канал-канал» (АКК) типа ЕС-4060. АКК является специализированным внешним устройством, принимающим данные от одного канала и передающим их другому каналу, используя небольшой, иногда буквально на один байт, внутренний буфер. Обычно АКК подключается каждым из своих интерфейсов к селекторным каналам двух машин, а соответственно, его пропускная способность оказывается близкой к пропускной способности более медленного из каналов (у ЕС-1030 она, в теории, может достигать 800 Кбайт/с).

Связь двух машин посредством адаптера «канал-канал»
Связь двух машин посредством адаптера «канал-канал»

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

Взаимодействие процессоров двух ЭВМ через интерфейс прямого управления
Взаимодействие процессоров двух ЭВМ через интерфейс прямого управления

БСВК ВК-1010 хранит состояние каждой из двух ЭВМ комплекса в четырёх регистрах размером один байт каждый: РС1, РС1*, РС2 и РС2*. Регистры РС1 и РС2 предназначены для хранения состояния первой и второй машины соответственно, устанавливаемого программно командами ПРЯМАЯ ЗАПИСЬ. Регистры РС1* и РС2* отражают состояние машин, установленное вручную с пульта управления вычислительным комплексом. Биты этих байтов имеют следующее назначение:

  • 0 — ЭВМ включена;

  • 1 — ЭВМ исправна;

  • 2 — ЭВМ неисправна;

  • 3 — ЭВМ находится в ремонте;

  • 4 — ЭВМ работает независимо от другой машины;

  • 5 — ЭВМ исправна, но находится в профилактике;

  • 6 — ЭВМ исправна и находится в «горячем» резерве;

  • 7 — ЭВМ исправна и работает как основная машина комплекса.

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

Обработчик прерывания, анализируя его код, определяет, содержимое какого из регистров изменилось, считывает его командой ПРЯМОЕ ЧТЕНИЕ и при необходимости выполняет те или иные действия.

Команды ПРЯМОЕ ЧТЕНИЕ и ПРЯМАЯ ЗАПИСЬ позволяют также обмениваться байтами данных без изменения состояния ЭВМ. Этот способ неэффективен, когда нужно передать большой массив информации (для этой цели служит адаптер «канал-канал»), но хорошо подходит для обмена управляющей информацией.

Что именно надо сделать — обратиться к какому-либо из регистров РС1/РС2 или передать/принять байт данных, минуя регистры, определяется линиями синхронизации интерфейса прямого управления: их состояние на время выполнения команд ПРЯМОЕ ЧТЕНИЕ и ПРЯМАЯ ЗАПИСЬ определяется непосредственным операндом этих команд (другой операнд задаёт местоположение в памяти байта, передаваемого или принимаемого по линиям данных интерфейса прямого управления).

Заметим, что БСВК по своему устройству не привязан к конкретному типу вычислительных машин и мог бы использоваться, например, для связи ЕС-1050 и ЕС-1020. Подобные несимметричные комплексы действительно существовали: слабая машина в них занималась подготовкой работы для мощной ЭВМ, чтобы последняя не тратила своё процессорное время на рутину вроде разбора входного потока заданий.

Как можно видеть из описания комплекса ВК-1010, возможности его работы как одной двухпроцессорной ЭВМ, а не двух отдельных машин, не предусмотрено. В то же время странная нумерация разрядов регистра очерёдности РОЧ блока обращения к оперативной памяти и некоторые оговорки в литературе заставляют предположить, что определённая работа в этом направлении была проделана. Скорей всего, такая задача изначально предусматривалась, но вовремя реализовать её не смогли, а низкие характеристики ЕС-1030 лишили практического смысла продолжение работ в этом направлении.

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

Комментарии (8)


  1. Lev3250
    22.01.2025 22:04

    Из какой хоть эпохи железка? Ни одного упоминания даты.


    1. SIISII Автор
      22.01.2025 22:04

      Первая половина 1970-х, эта статья -- дополнение к моей серии статей про устройство процессора ЕС-1030. Но упоминание времени выпуска добавил, спасибо за замечание :)


  1. JBFW
    22.01.2025 22:04

    Мда, было что-то подобное. Запомнился язык REXX, и развлекуха типа "отключи терминал одногруппнику удаленно (disa/ena)"


    1. SIISII Автор
      22.01.2025 22:04

      Кстати, интересно, является ли REXX самым старым из до сих пор живых скриптовых языков? (Так-то понятно, что Фортран живее всех живых -- но он не скриптовый).


      1. victor_1212
        22.01.2025 22:04

        примерно в 1963-64 был RUNCOM для CTSS типа предшественник shell scripts для Multics и Unix, отсюда пришли файлы *.rc


    1. miksoft
      22.01.2025 22:04

      REXX был шикарен тем, что позволял считать арифметику любой длины.
      Развлекался тем, что считал числа Пи и e на всю ширину АЦПУ (132 символа, кажется).


  1. netch80
    22.01.2025 22:04

    То есть мы имеем что-то вроде раннего аналога Ethernet на два узла плюс недоописанная логика управления двумя компами, так? Очень мало данных;(


    1. rutenis
      22.01.2025 22:04

      Адаптер канал-канал - это аналог линии с двумя модемами. Описания ЕС-овского АКК у меня нет, но можно найти описание IBM-овских.