Выбрать главу

• распараллеливание вычислительного процесса,

• общедоступное поле памяти,

• возможность реконфигурации структуры на уровне модулей,

• полное аппаратное дублирование вычислительного процесса.

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

Каждый процессор системы самостоятельно обращается в подсистему памяти (в таблицу задач) и получает из очереди задание, которое и выполняет. Если задания для него нет и в системе в данный момент нет ведущего процессора, он возлагает роль главного процессора системы на себя, осуществляет управление системой, периодически просматривая очередь заданий. Как только появилось для него задание, он слагает с себя роль головного и приступает к выполнению задания. Каждый модуль имеет несколько вариантов путей для обращения к любому другому модулю, т.е. любому процессору доступен любой другой процессор, любой модуль памяти и любое периферийное устройство. Такое построение позволяет гибко использовать ресурсы системы и обеспечивает её высокую живучесть. Отказ одного или нескольких процессоров или иных модулей приводит лишь к соответствующему снижению производительности системы, но в остальном система продолжает работать нормально.

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

Однако мультиобработка несёт с собой ряд проблем. Прежде всего, она требует, чтобы вычислительные процессы развивались в виртуальной памяти с автоматическим формированием физических адресов. Это позволяет наиболее экономно распределить ресурсы оперативной и внешней памяти и организовать перемещаемость программ и данных без их преобразования. Во-вторых, встаёт проблема защиты друг от друга сегментов данных и программ, одновременно выполняемых в системе процессов. Функции такой защиты выполняются специальными микропрограммными и аппаратными средствами процессора. Следующая проблема – организация динамического взаимодействия процессов. В процессоре КВС «Связь-1» реализовано наиболее часто встречающееся взаимодействие по данным, когда один вычислительный процесс на одном физическом процессоре готовит массив данных для другого процесса, реализуемого на другом процессоре. С этой целью в процессор введены два регистра баз данных («своих» и «чужих»), регистры длины сегментов и схемы анализа адресов «своего» и «чужого» сегментов. Другой вид взаимодействия процессов вызывается необходимостью синхронизации отдельных процессов для повышения достоверности обработки информации. Это взаимодействие реализовано, в основном, на программно-микропрограммном уровне и не требует заметных аппаратурных затрат.

Процессора, удовлетворяющего всем предъявленным требованиям, в «детском конструкторе» НЦ-1/ЦКС не было. Поэтому был разработан новый процессор (ГК И.П. Селезнев), который использовался в КВС и в качестве процессора обработки, и в качестве процессора связи. Настройка на определённую функцию производилась установкой в его модуль НМК-1 индукционных карт с соответствующими микропрограммами.

Для запоминающей подсистемы был разработан специальный процессор мультиплексор (ГК В.Л. Глухман), управляющий обменом информации (каждый с каждым) между модулями ОЗУ-1 и внешними ЗУ на магнитных дисках, барабанах и лентах типа ЕС ЭВМ.

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