Блок обработки информации
INFORMATION HANDLING UNIT

Изобретение относится к области вычислительной техники, а именно к информационным системам, и может быть использовано при построении высоконадежных вычислительных и управляющих систем, предназначенных для решения задач управления и обработки информации в бортовых системах (в том числе для космических аппаратов (КА)).
Известна электронная вычислительная машина (ЭВМ) [1], предназначенная для применения в системах управления и обработки данных. ЭВМ представляет собой двухуровневую многопроцессорную вычислительную систему. В состав ЭВМ входят центральный процессор, графический контроллер, одно или несколько устройств ввода-вывода, один или несколько программируемых процессоров сигналов.
Недостатком данной ЭВМ является то, что в ее составе нет резервированного управляющего процессора, способного согласованно управлять процессом вычислений, обнаруживать сбои и отказы, а также выполнять автономную реконфигурацию системы.
Известна отказоустойчивая вычислительная система [2], предназначенная для построения высоконадежных отказоустойчивых бортовых управляющих комплексов.
Система содержит четыре грани. Каждая грань содержит параллельно работающую двухпроцессорную микропроцессорную систему, где один микропроцессор центральный (ЦП), выполняет основную вычислительную нагрузку, а второй - процессор ввода-вывода (ПВВ), осуществляет подготовку данных для ЦП, реагирует на внешние прерывания, взаимодействует с периферией и реализует функции системы контроля и диагностики, двухпортовое оперативное запоминающее устройство, аппаратуру межгранного обмена, реконфигуратор, содержащий регистры конфигурации, регистры управления режимом работы и регистры признаков тестовой и функциональной исправности граней, логическую аппаратуру достоверного отключения вторичных источников питания при выходе грани из строя, с помощью распределенного мажорирования сигналов контроля от всех активных граней, схему начального пуска и адаптер грани. Система содержит устройство формирования цикла для синхронизации в каждом цикле циклограммы начала работы всех граней системы, работающих асинхронно в течение цикла.
Недостатком данной системы является низкое быстродействие при межгранных обменах, программный способ мажорирования данных, полученных в результате межгранных обменов, что в совокупности приводит к большим временным затратам на обеспечение функций сбое и отказоустойчивости системы в целом.
Наиболее близким техническим решением по отношению к заявляемому является отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации, предназначенная для решения задач управления высоконадежными бортовыми системами [3], которая выбрана в качестве прототипа.
Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации содержит первую, вторую, третью и четвертую вычислительные машины (ВМ), соединенные первой, второй, третьей и четвертой последовательными шинами данных, первый, второй, третий и четвертый вторичные источники питания (ВИП), первый, второй, третий и четвертый контроллеры межмашинного обмена (КММО), первый, второй, третий и четвертый контроллеры управления конфигурацией (КУК). Все ВМ в системе получают одинаковые данные по последовательным шинам от внешних абонентов, затем эти данные согласуются через контроллеры КММО между ВМ рабочей конфигурации для получения гарантированно одинаковых копий данных в этих ВМ. По результатам согласования могут быть выявлены неисправные ВМ, определены тип и место неисправности, и при необходимости выполнена реконфигурация системы при помощи контроллера КУК. Обработка данных выполняется на исправных ВМ, затем результаты обработки снова согласуются между ВМ и выдаются по последовательным шинам внешним абонентам.
Недостатком этой системы является низкая пропускная способность каналов межмашинного обмена между отдельными КММО, необходимость программного управления синхронизацией и мажорированием для каждого слова данных при межмашинном обмене, а также реализация каждого из этих каналов в виде общей шины последовательного интерфейса. Это в совокупности приводит к низкой скорости межмашинных обменов и понижению производительности системы в целом. Также эта реализация канала имеет невысокую надежность межмашинных обменов, так как выход из строя элементов канала одного КММО может привести к невозможности обмена по этому каналу между всеми КММО.
Техническим результатом является повышение быстродействия за счет ускорения выполнения функций согласования данных, обеспечивающих сбое и отказоустойчивость в блоке обработки информации, а также повышения надежности межмашинных обменов за счет введения дополнительных каналов межмашинного обмена.
Указанный технический результат достигается тем, что в блок обработки информации дополнительно введены первый, второй, третий и четвертый контроллеры межмашинного обмена данными (КМОД). Причем первый КМОД соединен первой группой входов-выходов с первой группой входов-выходов КМОД2, второй группой входов-выходов с первой группой входов-выходов КМОД3 и третьей группой входов-выходов с первой группой входов-выходов КМОД4. Второй КМОД соединен второй группой входов-выходов со второй группой входов-выходов КМОД3 и третьей группой входов-выходов со второй группой входов-выходов КМОД4. Третий КМОД соединен третьей группой входов-выходов с третьей группой входов-выходов КМОД4. Причем первая ВМ соединена с КМОД1 локальной двунаправленной шиной интерфейса Link и локальной шиной JIM (BUS). Вторая ВМ соединена с КМОД2 локальной двунаправленной шиной интерфейса Link и локальной шиной ЛМ (BUS). Третья ВМ соединена с КМОД3 локальной двунаправленной шиной интерфейса Link и локальной шиной ЛМ (BUS).Четвертая ВМ соединена с КМОД4 локальной двунаправленной шиной интерфейса Link и локальной шиной ЛМ (BUS).
Кроме того, КМОД содержит узел сопряжения выдачи (УСВ), узел сопряжения приема (УСП), узел управления (УУ), узел синхронизации данных (УСД), узел обработки данных (УОД), первый, второй и третий узлы приема и выдачи данных (УПВД-0, УПВД-1, УПВД-2), первый, второй и третий буферы выдаваемых данных (БУФ-B0, БУФ-В1, БУФ-В2), первый второй и третий буферы принимаемых данных (БУФ-П0, БУФ-П1, БУФ-П2), буфер обработанных данных (БУФ-ОД), буфер собственных данных (БУФ-СД), причем первая группа входов-выходов УСВ является первой группой входов-выходов КМОД, первая группа выходов УСВ соединена с первыми группами входов БУФ-СД, БУФ-B0, БУФ-В1, БУФ-В2, вторая группа выходов УСВ соединена с первой группой входов УУ, а первая группа входов УСВ соединена с первой группой выходов УУ, причем первая группа выходов БУФ-СД соединена с первой группой входов УОД, вторая группа выходов БУФ-СД соединена с второй группой входов УУ, а вторая группа входов БУФ-СД соединена с второй группой выходов УУ, причем первая группа выходов БУФ-В0 соединена с первой группой входов УПВД-0, вторая группа выходов БУФ-В0 соединена с третьей группой входов УУ, а вторая группа входов БУФ-В0 соединена с третьей группой выходов УУ, причем первая группа входов-выходов УПВД-0 является четвертой группой входов-выходов КМОД, первая группа выходов УПВД-0 соединена с первой группой входов БУФ-П0, вторая группа выходов УПВД-0 соединена с четвертой группой входов УУ, а вторая группа входов УПВД-0 соединена с четвертой группой выходов УУ, причем первая группа выходов БУФ-ПО соединена с второй группой входов УОД, вторая группа выходов БУФ-ПО соединена с пятой группой входов УУ, а вторая группа входов БУФ-ПО соединена с пятой группой выходов УУ, причем первая группа выходов БУФ-В1 соединена с первой группой входов УПВД-1, вторая группа выходов БУФ-В1 соединена с седьмой группой входов УУ, а вторая группа входов БУФ-В1 соединена с седьмой группой выходов УУ, причем первая группа входов-выходов УПВД-1 является пятой труппой входов-выходов КМОД, первая группа выходов УПВД-1 соединена с первой группой входов БУФ-П1, вторая группа выходов УПВД-1 соединена с восьмой группой входов УУ, а вторая группа входов УПВД-1 соединена с восьмой группой выходов УУ, причем первая группа выходов БУФ-П1 соединена с третьей группой входов УОД, вторая группа выходов БУФ-П1 соединена с девятой группой входов УУ, а вторая группа входов БУФ-П1 соединена с девятой группой выходов УУ, причем первая группа выходов БУФ-В2 соединена с первой группой входов УПВД-2, вторая группа выходов БУФ-В2 соединена с десятой группой входов УУ, а вторая группа входов БУФ-В2 соединена с десятой группой выходов УУ, причем первая группа входов-выходов УПВД-2 является шестой группой входов-выходов КМОД, первая группа выходов УПВД-2 соединена с первой группой входов БУФ-П2, вторая группа выходов УПВД-2 соединена с одиннадцатой группой входов УУ, а вторая группа входов УПВД-2 соединена с одиннадцатой группой выходов УУ, причем первая группа выходов БУФ-П2 соединена с четвертой группой входов УОД, вторая группа выходов БУФ-П2 соединена с двенадцатой группой входов УУ, а вторая группа входов БУФ-П2 соединена с двенадцатой группой выходов УУ, причем первая труппа выходов УОД соединена с первой группой входов БУФ-ОД, вторая группа выходов УОД соединена с шестой группой входов УУ, а пятая группа входов УОД соединена с шестой группой выходов УУ, причем первая группа выходов БУФ-ОД соединена с первой группой входов УСП, вторая группа выходов БУФ-ОД соединена с тринадцатой группой входов УУ, а вторая группа входов БУФ-ОД соединена с тринадцатой группой выходов УУ, причем первая группа входов-выходов УСП является второй группой входов-выходов КМОД, первая группа выходов УСП соединена с четырнадцатой группой входов УУ, а вторая группа входов УСП соединена с четырнадцатой группой выходов УУ, причем первая группа входов-выходов УУ является третьей группой входов-выходов КМОД, пятнадцатая группа выходов УУ соединена с первой группой входов УСД, а пятнадцатая группа входов УУ соединена с первой группой выходов УСД.
Сущность заявляемого изобретения поясняется чертежами, представленными на фиг. 1 - фиг. 3, где:
- на фиг. 1 представлена структура блока обработки информации;
- на фиг. 2 представлен цикл работы программы с учетом введения КМОД,
где Т1 - цикл работы программы, Т2 - целевая работа БОИ, Т3 - синхронизация и согласование данных между ВМ через КММО, Т4 - синхронизация и согласование данных между ВМ через КММО и КМОД;
- на фиг. 3 представлена структура контроллера межмашинного обмена данными.
Указанные преимущества заявляемой системы перед прототипом достигаются за счет того, что в блок обработки информации, содержащий первую 1, вторую 2, третью 3 и четвертую 4 ВМ, соединенные первой 5, второй 6, третьей 7 и четвертой 8 последовательными шинами данных, содержащий первый 9, второй 10, третий 11 и четвертый 12 ВИП, первый 13, второй 14, третий 15 и четвертый 16 КММО, первый 17, второй 18, третий 19 и четвертый 20 КУК, первые 21 группы выходов которых соединены с первыми группами входов первой, второй, третьей и четвертой ВМ, вторые 22 группы входов которых соединены с первой группой входов системы, вторая 23, третья 24, четвертая 25, пятая 26 группы входов которой соединены с первыми группами входов КММО1 (13) и КУК1 (17), КММО2 (14) и КУК2 (18), КММО3 (15) и КУК3 (19), КММО4 (16) и КУК4 (20), соответственно, вторые 27 группы входов которых соединены с первыми группами выходов ВМ (1, 2, 3, 4), локальная двунаправленная магистраль 28 которых соединена с локальными двунаправленными магистралями КММО (13, 14, 15, 16), первые 29 выходы которых соединены с первыми входами контроллеров КУК (17, 18, 19, 20), вторые 30 группы выходов которых соединены с первыми группами входов ВИП (9, 10, 11, 12) соответственно, группы выходов 31 которых соединены с третьими группами входов ВМ (1, 2, 3, 4), причем первая 32 группа выходов первого 13 КММО соединена с третьими группами входов второго 14, третьего 15 и четвертого 16 КММО и первого 17, второго 18, третьего 19 и четвертого КУК 20, первая 33 группа выходов второго 14 КММО соединена с четвертыми группами входов первого 13, третьего 15 и четвертого КММО 16 и первого 17, второго 18, третьего 19 и четвертого 20 КУК, первая 34 группа выходов третьего 15 КММО соединена с пятыми группами входов первого 13, второго 14 и четвертого 16 КММО и первого 17, второго 18, третьего 19 и четвертого 20 КУК, первая 35 группа выходов четвертого 16 КММО соединена с шестыми группами входов первого 13, второго 14 и третьего 15 КММО и первого 17, второго 18, третьего 19 и четвертого 20 КУК, причем шестая 36 группа входов системы соединена со вторыми группами входов первого 9, второго 10, третьего 11 и четвертого 12 ВИП, первые входы которых соединены с седьмой 37 группой входов системы, восьмая 38 группа входов которой соединена со вторыми входами первого 9, второго 10, третьего 11 и четвертого 12 ВИП, причем вторые 39 группы выходов КММО (13, 14, 15, 16) соединены с четвертыми группами входов ВМ (1, 2, 3, 4) дополнительно введены первый 21, второй 22, третий 23 и четвертый 24 КМОД, две локальные шины интерфейса LINK 40, 41 которых соединены с первой, второй, третьей и четвертой ВМ (1, 2, 3, 4), локальная магистраль 28 которых соединена с первым, вторым, третьим и четвертым КМОД (21, 22, 23, 24), причем первый КМОД 21 соединен двунаправленным интерфейсом Space Wire 42 со вторым КМОД 22, двунаправленный интерфейс Space Wire 45 которого соединен с третьим КМОД 23, двунаправленный интерфейс SpaceWire 47 которого соединен с четвертым КМОД 24, двунаправленный интерфейс SpaceWire 44 которого соединен с первым КМОД 21, двунаправленный интерфейс SpaceWire 43 которого соединен с третьим КМОД 23, причем второй КМОД 22 соединен двунаправленным интерфейс SpaceWire 46 с четвертым КМОД 24.
Структурная схема блока обработки информации представлена на фиг. 1.
Блок обработки информации работает следующим образом.
Блок обработки информации включает три ВМ рабочей конфигурации и одну ВМ в холодном резерве, общая схема парирования сбоев и отказов состоит в следующем. Каждая ВМ рабочей конфигурации решает одну и ту же целевую задачу специального программного обеспечения (СПО), при помощи программного обеспечения отказоустойчивости (ПОО) результаты решения передает другим ВМ рабочей конфигурации и принимает от них их копии результатов решения, а затем по своей и полученным копиям решения определяет правильный результат.
В двухмашинной рабочей конфигурации правильное решение определяется на основе двух результатов и, если такое определение невозможно (отсутствует возможность идентификации неисправной ВМ по результатам решения), то в зависимости от имеющихся временных ресурсов осуществляется либо повторное решение задачи СПО, либо переход к промежуточному тестированию каналов с последующим повторным решением при положительном результате тестирования или переходом к одноканальной конфигурации на основе исправного канала системы. При невозможности идентифицировать неисправную ВМ осуществляется переход к безопасному останову системы.
В процессе всех выполняемых системой действий посредством ПОО осуществляется непрерывное и сквозное функциональное диагностирование, обнаруживающее случившиеся проявления неисправностей и идентифицирующее их по месту возникновения и по виду: сбой, программный сбой или отказ. При идентификации сбоя осуществляется его учет и анализ последствий. Если последствия сбоя не требуют вмешательства программы СПО, то они устраняются автоматически. Если же поддержка со стороны СПО необходима, то формируется диагностическая информация, на основании которой СПО принимает требуемое решение. К сбоям, не требующим вмешательства СПО, относится, например, сбой при межмашинной передаче информации, парирование которой осуществляется за счет вводимой информационной избыточности. Сбоем, требующим поддержки задачи ППО, является, например, сбой при выдаче информации абоненту.
Обеспечение данных программных функций в системе требует значительных временных затрат. Синхронизация и согласование данных выполняется на каждом цикле работы СПО в строго отведенный для этих задач временной интервал внутри цикла (см. фиг. 2). Во время выполнения функций синхронизации и согласования блок обработки информации не выполняет свою целевую работу. Увеличение быстродействия функций синхронизации и согласования данных позволяет уменьшить время выполнения данных функций и увеличить время, выделяемое на целевую работу системы (см. фиг. 2).
Повышение быстродействия при выполнении данных функций обеспечивается за счет введения КМОД.
Информация, передаваемая в блоке обработки информации по межмашинным каналам, делится на два типа:
1) короткие сообщения, передаваемые между ВМ через КММО для обмена данными между ВМ, синхронизации, а также реконфигурации системы через КУК;
2) массивы данных, передаваемые между ВМ через КМОД с аппаратной синхронизацией.
Таким образом, по сравнению с прототипом межмашинный обмен в БОИ выполняется через КММО - для передачи коротких сообщений и через КМОД - для передачи больших массивов данных.
Использование КММО для передачи больших массивов данных между ВМ ведет к большим временным затратам, так как для передачи каждого слова данных необходимо выполнить отдельный обмен по шине межмашинного обмена, также на каждом обмене необходимо выполнять программное управление синхронизацией и мажорированием. Использование КМОД оптимально для передачи больших массивов данных, так как синхронизация и мажорирование выполняется аппаратно для каждого слова. Использование КМОД для передачи коротких сообщений также возможно, но при этом на каждом обмене нужно тратить время на подготовку данных и настройку всей цепочки задействованных узлов для передачи информации.
Повышение надежности межмашинных обменов достигается за счет того, что:
1) введен дополнительный механизм обмена данными между ВМ через КМОД, т.е. межмашинный обмен данными в БОИ резервирован;
2) использована полносвязная топология связей между КМОД всех ВМ в БОИ с применением последовательных каналов интерфейса SpaceWire. Выход из строя одного из каналов SpaceWire не приведет к невозможности участия данной ВМ в межмашинном обмене по другим каналам SpaceWire с остальными ВМ.
КМОД предназначен для согласования данных между ВМ в БОИ. Помимо передачи и приема данных КМОД осуществляет синхронизацию принимаемых данных и их обработку с целью определения достоверных данных, используя функцию голосования 2 из 3 (мажорирования) для каждого бита слов данных, принятых от трех ВМ.
К каждой ВМ в БОИ подключен свой КМОД, который получает данные от этой ВМ по одному интерфейсу типа LINK (Link-IN) и выдает данные в эту ВМ по другому интерфейсу типа LINK (Link-OUT). При этом КМОД каждой ВМ соединяется с КМОД остальных ВМ отдельными интерфейсами типа SpaceWire (SWO, SW1, SW2). Также КМОД каждой ВМ для чтения и записи его регистров подключен к локальной шине ЛМ (BUS), на которой КМОД является ведомым устройством, подобным статической памяти.
Согласно структурной схеме, представленной на фигуре 3, КМОД содержит:
1 - узел синхронизации данных (УСД);
2 - узел управления (УУ);
3 - узел сопряжения выдачи (УСВ);
4 - буфер собственных данных типа FIFO (БУФ-СД);
5 - буфер выдаваемых данных типа FIFO интерфейса SW0 (БУФ-В0);
6 - узел приема и выдачи данных интерфейса SW0 (УПВД-0);
7 - буфер принимаемых данных типа FIFO интерфейса SW0 (БУФ-П0);
8 - буфер выдаваемых данных типа FIFO интерфейса SW1 (БУФ-В1);
9 - узел приема и выдачи данных интерфейса SW1 (УПВД-1);
10 - буфер принимаемых данных типа FIFO интерфейса SW1 (БУФ-П1);
11 - буфер выдаваемых данных типа FIFO интерфейса SW2 (БУФ-В2);
12 - узел приема и выдачи данных интерфейса SW2 (УПВД-2);
13 - буфер принимаемых данных типа FIFO интерфейса SW2 (БУФ-П2);
14 - буфер обработанных данных типа FIFO (БУФ-ОД);
15 - узел сопряжения приема (УСП);
16 - узел обработки данных (УОД);
17 - локальная шина ЛМ (BUS);
18 - интерфейс ввода данных типа LINK;
19 - интерфейс вывода данных типа LINK;
20 - первый интерфейс типа SpaceWire;
21 - второй интерфейс типа SpaceWire;
22 - третий интерфейс типа SpaceWire.
Для того чтобы выполнить согласование данных между несколькими ВМ, каждая из ВМ, участвующих в процедуре обмена, должна выполнить следующие действия:
1. записать в регистр КМОД номера ВМ, участвующих в процедуре обмена;
2. записать в регистр КМОД количество слов данных процедуры обмена;
3. записать в регистры КМОД времена таймаутов приема и выдачи слов данных;
4. разрешить в ВМ прием данных от КМОД по интерфейсу типа LINK;
5. разрешить в ВМ выдачу данных в КМОД по интерфейсу типа LINK;
6. записать в регистр КМОД признак начала процедуры обмена;
7. ожидать в регистре КМОД признак окончания процедуры обмена;
8. прочитать в регистрах КМОД признаки обнаруженных ошибок и сбросить их для подготовки к следующей процедуре обмена.
После того как будет установлен признак начала следующей процедуры обмена, будет сброшен признак окончания предыдущей процедуры обмена и все узлы КМОД начнут функционировать следующим образом.
УСВ по интерфейсу Link-IN принимает от ВМ данные, предназначенные для передачи в другие ВМ, и в зависимости от записанных ранее в регистр КМОД номеров ВМ, участвующих в обмене, записывает эти данные в определенные буферы, такие как БУФ-СД, и/или БУФ-В0, и/или БУФ-В1, и/или БУФ-В2.
При наличии обобщенного сигнала готовности БУФ-СД, БУФ-В0, БУФ-В1, БУФ-В2 к записи, который выдается в УСВ из УУ и формируется на основании сигналов готовности к записи отдельных буферов, из УСВ в УУ выдается сигнал записи, по которому УУ формирует сигналы записи на отдельные буферы.
При этом БУФ-СД используется для сохранения данных в том случае, когда хотя бы один из номеров ВМ, участвующих в обмене, совпадает с собственным номером ВМ. А если хотя бы один из номеров ВМ, участвующих в обмене, не совпадает с собственным номером ВМ, то данные так же записываются в БУФ-В0, и/или БУФ-В1, и/или БУФ-В2 в соответствии с тем, какие из интерфейсов SW0, SW1, SW2 в КМОД данной ВМ используются для его соединения с КМОД других ВМ, участвующих в обмене.
Каждый из БУФ-В0, БУФ-В1, БУФ-В2 выдает в УУ сигнал готовности к чтению, который транслируется в УПВД-0, УПВД-1, УПВД-2 соответственно, а в ответ на этот сигнал каждый из УПВД-0, УПВД-1, УПВД-2 при необходимости выдает в УУ сигнал чтения, который транслируется в БУФ-В0, БУФ-В1, БУФ-В2 соответственно. Каждый из УПВД-0, УПВД-1, УПВД-2 по интерфейсу SW0, SW1, SW2, соответственно, передает в КМОД другой ВМ, участвующей в процедуре обмена, данные, считанные из БУФ-В0, БУФ-В1, БУФ-В2 соответственно, и принимает из КМОД этой ВМ данные, которые записываются в БУФ-ПО, БУФ-П1, БУФ-П2 соответственно.
При этом каждый из БУФ-П0, БУФ-П1, БУФ-П2 выдает в УУ сигнал готовности к записи, который транслируется в УПВД-0, УПВД-1, УПВД-2 соответственно, а в ответ на этот сигнал каждый из УПВД-0, УПВД-1, УПВД-2 при необходимости выдает в УУ сигнал записи, который транслируется в БУФ-П0, БУФ-П1, БУФ-П2 соответственно.
УОД в зависимости от записанных ранее в регистр КМОД номеров ВМ, участвующих в обмене, считывает из определенных буферов, таких как БУФ-СД, и/или БУФ-П0, и/или БУФ-П1, и/или БУФ-П2, данные, подлежащие обработке с целью определения достоверных данных, и записывает достоверные данные в БУФ-ОД.
При наличии обобщенного сигнала готовности БУФ-СД, БУФ-П0, БУФ-П1, БУФ-П2 к чтению, который выдается в УОД из УУ и формируется на основании сигналов готовности к чтению отдельных буферов, из УОД в УУ выдается сигнал чтения, по которому УУ формирует сигналы чтения на отдельные буферы.
Затем УОД, используя функцию голосования 2 из 3 (мажорирования) для каждого бита исходных слов данных, принятых от трех ВМ, получает достоверное слово данных и при необходимости формирует в УУ сигналы, указывающие о несовпадении достоверного слова данных с исходными словами данных, по которым в УУ устанавливаются признаки обнаруженных ошибок.
А затем при наличии сигнала готовности БУФ-ОД к записи, который транслируется в УОД через УУ, из УОД в УУ выдается сигнал записи, который транслируется в БУФ-ОД.
УСП считывает из БУФ-ОД достоверные данные и передает их в ВМ по интерфейсу Link-OUT.
При наличии сигнала готовности БУФ-ОД к чтению, который транслируется в УСП через УУ, из УСП в УУ, выдается сигнал чтения, который транслируется в БУФ-ОД.
УСД отсчитывает время, в течение которого от УУ отсутствует обобщенный сигнал готовности БУФ-СД, БУФ-В0, БУФ-В1, БУФ-В2 к записи, но присутствует хотя бы один из сигналов готовности к записи отдельных буферов. При совпадении этого времени со временем таймаута выдачи слов данных происходит формирование сигналов, указывающих о нарушении времени выдачи слов данных из отдельных буферов и поступающих в УУ, по которым устанавливаются признаки обнаруженных ошибок, которые в дальнейшем маскируют сигналы, идущие из этих буферов, и сигналы, идущие на эти буферы.
Аналогично УСД отсчитывает время, в течение которого от УУ отсутствует обобщенный сигнал готовности БУФ-СД, БУФ-П0, БУФ-П1, БУФ-П2 к чтению, но присутствует хотя бы один из сигналов готовности к чтению отдельных буферов. При совпадении этого времени со временем таймаута выдачи слов данных происходит формирование сигналов, указывающих о нарушении времени приема слов данных в отдельные буферы и поступающих в УУ, по которым устанавливаются признаки обнаруженных ошибок, которые в дальнейшем маскируют сигналы, идущие из этих буферов, и сигналы, идущие на эти буферы.
УУ содержит в себе регистры управления и состояния КМОД и передает между остальными узлами КМОД необходимые сигналы управления и состояния, в то время как данные передаются между остальными узлами КМОД напрямую.
После того как из БУФ-ОД будет считано количество слов данных процедуры обмена, будет установлен признак окончания и сброшен признак начала процедуры обмена.
Для выполнения передачи и согласованного приема данных между ВМ необходимо всем ВМ настроить регистры КМОД на выбранный режим работы, разрешить прием и выдачу данных по интерфейсам типа LINK, запустить в КМОД механизм обмена данными и ожидать завершения его работы. При этом данные от этой ВМ в зависимости от настройки регистров узлов КМОД будут переданы в определенные ВМ, а данные от них будут согласованы и приняты в эту ВМ.
В число ВМ, которым будут переданы и от которых будут приняты данные, как правило, но не обязательно, входит и данная ВМ, в которой для этих целей в КМОД используется БУФ-СД без необходимости реализовывать еще один интерфейс типа SpaceWire, замкнутый сам на себя.
Несмотря на то что функция голосования 2 из 3 (мажорирования) всегда выполняется для трех аргументов, КМОД позволяет выполнять обмен между двумя ВМ. Для этого необходимо для двух аргументов задать данные первой ВМ, а для третьего аргумента задать данные второй ВМ. При этом при несовпадении данных в КМОД будет зафиксирован соответствующий признак, а результат функции голосования 2 из 3 (мажорирования) всегда будет определяться данными первой ВМ.
Также в случае с двумя ВМ возможно для всех трех аргументов задать данные от другой ВМ. При этом никакие из признаков несовпадения зафиксированы не будут, а результат функции голосования 2 из 3 (мажорирования) всегда будет равен данным другой ВМ. То есть в таком режиме КМОД можно использовать как простой контроллер обмена данными между двумя ВМ.
Введение в состав БОИ по одному КМОД для каждой ВМ повышает быстродействие, так как позволяет высвободить часть вычислительных ресурсов ВМ из задачи согласования данных между ВМ и использовать эти ресурсы для решения целевой задачи, а также позволяет сократить общее время, затрачиваемое на согласование данных между ВМ за счет аппаратной реализации процедуры обмена. Наличие же в КМОД буферов данных на несколько слов между всеми узлами тракта данных и возможность программирования времен таймаута в широких пределах также повышает быстродействие, так как позволяет снизить требования к синхронности вычислительного процесса в разных ВМ и позволяет сгладить и в целом за счет этого повысить темп согласования данных, используя КМОД по сравнению с пословным согласованием в КММО. При этом наивысшее быстродействие достигается при использовании механизма прямого доступа в память в ВМ при приеме и выдаче данных по однонаправленным интерфейсам типа LINK.
Наличие отдельных двунаправленных интерфейсов типа SpaceWire для связи КМОД разных ВМ между собой, по сравнению с общими шинами между передатчиком и приемниками КММО, позволяет повысить надежность межмашинных обменов данными в БОИ, так как при отказе одного из интерфейсов типа SpaceWire между КМОД двух ВМ теряется только возможность их одновременного включения в рабочую конфигурацию.
Источники информации
1. Патент РФ №2344472 «Электронная вычислительная машина».
2. Патент РФ №2439674 «Способ формирования отказоустойчивой вычислительной системы и отказоустойчивая вычислительная система».
3. Патент РФ №2455681 «Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации».