отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации

Классы МПК:G06F11/20 с использованием маскирования сбоев с помощью замещения, например выключения сбойных элементов или переключения на резервные элементы
Автор(ы):, , , , , , , , , , , , , ,
Патентообладатель(и):Федеральное государственное унитарное предприятие Научно-исследовательский институт "Субмикрон" (RU)
Приоритеты:
подача заявки:
2010-12-09
публикация патента:

Изобретение относится к области вычислительной техники, а именно к информационным системам, и может быть использовано при построении высоконадежных вычислительных и управляющих систем, предназначенных для решения задач управления бортовыми системами транспортного корабля. Техническим результатом является увеличение быстродействия и автоматизация процесса реконфигурации в отказоустойчивых системах. Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации содержит первую, вторую, третью и четвертую вычислительные машины (ВМ), соединенные первой, второй, третьей и четвертой последовательными шинами данных, первый, второй, третий и четвертый вторичные источники питания (ВИП), первый, второй, третий и четвертый контроллеры межмашинного обмена (КММО), первый, второй, третий и четвертый контроллеры управления конфигурацией (КУК). 13 з.п. ф-лы, 34 ил. отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681

Формула изобретения

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

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

3. Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации по п.1, отличающаяся тем, что блок приема командных посылок содержит сдвиговый регистр, счетчик, дешифратор, первый триггер, второй триггер, третий триггер, четвертый триггер, пятый триггер, исключающее ИЛИ, первый элемент И, второй элемент И, третий элемент И, четвертый элемент И, элемент ИЛИ, выход которого соединен со сбросовыми входами счетчика и третьего триггера, выход которого соединен с первыми входами исключающего ИЛИ и второго элемента И, выход которого соединен с информационным входом пятого триггера, выход которого соединен с первым инверсным входом четвертого элемента И, выход которого является выходом блока приема командных посылок, группа выходов которого соединена с группой выходов сдвигового регистра, информационный вход которого соединен со вторым входом исключающего ИЛИ и является первым сигналом группы входов блока приема командных посылок, второй сигнал которой соединен с тактовыми входами сдвигового регистра, счетчика и третьего триггера, информационный вход которого соединен с выходом исключающего ИЛИ, причем первый вход блока приема командных посылок соединен с тактовыми входами первого, второго и четвертого триггеров, выход четвертого триггера соединен с первым входом третьего элемента И, выход которого соединен с первым входом четвертого элемента И, второй и третий входы которого являются вторым и третьим сигналами группы выходов блока приема командных посылок, первый сигнал которой соединен со вторым инверсным входом четвертого элемента И, причем второй вход блока приема командных посылок соединен со сбросовыми входами сдвигового регистра, первого, второго, четвертого и пятого триггеров и первым входом элемента ИЛИ, второй вход которого соединен с выходом первого элемента И, первый вход которого соединен со вторым входом третьего элемента И и инверсным выходом второго триггера, прямой выход которого соединен с информационным входом четвертого триггера первого, прямой выход первого триггера соединен с информационным входом второго триггера, а инверсный выход соединен со вторым входом первого элемента И, третий сигнал группы входов блока приема командных посылок соединен с информационным входом первого триггера и тактовым входом пятого триггера, причем группа выходов счетчика соединена с группой входов дешифратора, выход которого соединен со вторым входом второго элемента И.

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

5. Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации по п.1, отличающаяся тем, что блок исполнения команд (БИК) содержит регистр команд (РгК), схему сравнения (СС), генератор одиночного импульса (ГОИ) и машину состояний (МС), первая группа выходов которой является первой группой выходов БИК, вторая группа выходов которого соединена со второй группой выходов МС, третья группа выходов которой является третьей группой выходов БИК, первый и второй выходы которого соединены с первым и вторым выходами МС, первая и вторая группы входов которой соединены с первой и второй группами выходов РгК, третья группа выходов которого соединена с первой группой входов СС, выход которой соединен с первым входом МС, третий выход которой соединен с первым входом ГОИ, выход которого соединен со вторым входом МС, третий вход которой соединен со входом РгК и является вторым входом БИК, первая группа входов которого соединена со вторым входом ГОИ (первый сигнал) и четвертым входом (второй сигнал) МС, пятый вход которой соединен с третьим входом ГОИ и является первым входом БИК, третий вход которого соединен с четвертым входом ГОИ и шестым входом МС, седьмой вход которой является четвертым входом БИК, вторая и третья группы входов которого соединены с группой входов РгК и второй группой входов СС.

6. Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации по п.1, отличающаяся тем, что блок сторожевого таймера и делителя частоты (БСТДЧ) содержит сторожевой таймер (СТ) и делитель частоты (ДЧ), первый и второй выходы которого являются первым и вторым выходами БСТДЧ, первая группа выходов которого соединена с выходом СТ (первый сигнал) и третьим выходом ДЧ (второй сигнал), четвертый выход которого соединен с первым входом СТ, группа входов которого является первой группой входов БСТДЧ, вторая группа входов которого (первый сигнал) соединена с первым входом ДЧ и вторым входом СТ, а второй сигнал соединен со вторым входом ДЧ, причем первый вход БСТДЧ соединен с третьим входом СТ.

7. Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации по п.1, отличающаяся тем, что контроллер межмашинного обмена содержит первый, второй и третий блоки приема посылок из каналов межмашинного обмена (Б1ПП, Б2ПП, Б3ПП), блок выдачи посылок (БВП), блок управления прямым доступом (БПД), формирователь признака синхронизации (ФПС), первый и второй буферы ввода-вывода (Б1ВВ, Б2ВВ), первую и вторую группы элементов ИЛИ, первая группа выходов второй группы элементов ИЛИ является второй группой выходов КММО, первая группа выходов которого соединена с первой группой выходов БВП, вторая группа выходов которого соединена с первыми группами выходов Б1ПП, Б2ПП, Б3ПП и ФПС и группами входов второй группы элементов ИЛИ, причем выход ФПС является выходом КММО, локальная магистраль которого состоит из адресных шин, информационных шин и управляющих шин и соединена с группами входов-выходов первого и второго Б1ВВ и Б2ВВ и БПД, с первой группой выходов, с первым выходом и с первой группой входов БПД, вторая группа выходов которого соединена с первой группой входов Б1ВВ, группа выходов которого соединена с первыми группами входов Б1ПП, Б2ПП, Б3ПП, БВП и ФПС и со второй группой входов БПД, третья группа входов которого соединена со вторыми группами входов Б1ПП, Б2ПП, Б3ПП, БВП, ФПС и с группой выходов второго буфера Б2ВВ, первый вход которого соединен с выходом первой группы элементов ИЛИ, группы входов которой соединены с третьей группой выходов БВП и со вторыми группами выходов Б1ПП, Б2ПП, Б3ПП и ФПС, третья группа входов которого соединена с первыми выходами Б1ПП, Б2ПП, Б3ПП и БВП, третья группа входов которого соединена с третьими группами входов Б1ПП, Б2ПП, Б3ПП и является первой группой входов КММО, вторая группа входов которого соединена с четвертыми группами входов БПД, Б1ПП, Б2ПП, Б3ПП, БВП, и ФПС, пятая группа входов которого соединена с пятыми группами входов Б1ПП, Б2ПП, Б3ПП, БВП, с входом Б1ВВ, со вторым входом Б2ВВ и с третьей группой выходов БПД, причем четвертая, пятая и шестая группы входов КММО соединены с шестыми, седьмыми и восьмыми группами входов Б1ПП, Б2ПП, Б3ПП, девятые группы входов которых соединены с первой группой выходов БВП, второй выход которого соединен со вторыми выходами Б1ПП, Б2ПП, Б3ПП и с пятой группой входов БПД.

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

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

10. Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации по п.1, отличающаяся тем, что блок управления прямым доступом содержит первый регистр текущего адреса приема (РТАП1), второй регистр текущего адреса приема (РТАП2), третий регистр текущего адреса приема (РТАП3), первый регистр конечного адреса приема (РКАП1), второй регистр конечного адреса приема (РКАП2), третий регистр конечного адреса приема (РКАП3), регистр текущего адреса выдачи (РТАВ), регистр конечного адреса выдачи (РКАВ), первый счетчик текущего адреса первого блока приема посылок (СТА Б1ПП), второй счетчик текущего адреса второго блока приема посылок (СТА Б2ПП), третий счетчик текущего адреса третьего блока приема посылок (СТА Б3ПП), счетчик текущего адреса блока выдачи посылок (СТА БВП), первую, вторую, третью, четвертую схемы сравнения, машину состояний (МС), мультиплексор (МП), первая и вторая группы выходов которого являются первой и второй группами выходов локальной магистрали (ЛМ) блока, группа входов-выходов которого соединена с группой входов-выходов МС, первая группа выходов которой является третьей группой выходов блока, первый выход ЛМ блока соединен с первым выходом МС, вторая группа выходов которой соединена с первыми входами регистров РТАП1, РТАП2, РТАП3, РТАВ, РКАП1, РКАП2, РКАП3, РКАВ и счетчиков текущего адреса СТА Б1ПП, СТА Б2ПП, СТА Б3ПП, СТА БВП, первая группа выходов которого соединена с первой группой входов МП, вторая, третья и четвертая группы входов которого соединены с первыми группами выходов счетчиков СТА Б1ПП, СТА Б2ПП, СТА Б3ПП, вторые входы которых соединены со вторым, третьим и четвертым выходами МС, пятый выход которой соединен со вторым входом счетчика СТА БВП, вторая группа выходов которого соединена с первой группой входов четвертой СС, вторая группа входов которой соединена с группой выходов регистра РКАВ, группа входов которого соединена с группами входов регистров РТАП1, РТАП2, РТАП3, РТАВ, РКАП1, РКАП2, РКАП3 и является третьей группой входов блока, первая (ЛМ) и вторая группы входов которого соединены с первой и второй группами входов МС, третья группа выходов которой соединена с пятой группой входов МП, причем группы выходов регистров РТАВ, РТАП1, РТАП2, РТАП3 соединены с группами входов счетчиков СТА БВП, СТА Б1ПП, СТА Б2ПП, СТА Б3ПП, третьи входы которых соединены между собой и соединены с первым входом МС и являются первым сигналом четвертой группы входов блока, второй сигнал которой соединен со вторым входом МС, третий, четвертой, пятый и шестой входы которой соединены с выходами первой, второй, третий и четвертой схем сравнения, первые группы входов которых соединены с группами выходов счетчиков СТА Б1ПП, СТА Б2ПП, СТА Б3ПП, причем группы выходов регистров РКАП1, РКАП2, РКАП3 соединены со вторыми группами входов первой, второй и третьей СС, пятая группа входов блока соединена с третьей группой входов МС.

11. Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации по п.1, отличающаяся тем, что узел отсчета временных интервалов (УОВИ) содержит первый, второй, третий и четвертый триггеры, счетчик, дешифратор и элемент ИЛИ, выход которого соединен со сбросовыми входами второго и третьего триггеров, прямой выход которого является вторым выходом УОВИ, первый выход которого соединен с выходом четвертого триггера и первым входом элемента ИЛИ, второй вход которого является четвертым входом УОВИ и соединен со сбросовыми входами первого и четвертого триггеров, тактовые входы которых соединены с тактовым входом второго триггера и является третьим входом УОВИ, первый вход которого соединен с информационным входом второго триггера, выход которого соединен с тактовым входом третьего триггера, инверсный выход которого соединен со сбросовым входом счетчика, тактовый вход которого соединен с выходом первого триггера, информационный вход которого является вторым входом УОВИ, причем группа выходов счетчика соединена с группой входов дешифратора, выход которого соединен с информационным входом четвертого триггера, информационный вход третьего триггера соединен с 3.3В.

12. Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации по п.1, отличающаяся тем, что узел режима одиночной команды (УРОК) содержит первый, второй и третий триггеры, первый и второй элементы ИЛИ, первый и второй элементы И, выходы которых являются третьим и вторым выходами УРОК, первый выход которого соединен с выходом первого триггера, инверсный выход которого соединен с первым входом второго элемента ИЛИ, выход которого соединен со сбросовыми входами второго и третьего триггера, прямой и инверсный выходы которого соединены с первыми входами первого и второго элементов И, вторые входы которых соединены с выходом второго триггера, тактовый вход которого соединен с тактовыми входами первого и третьего триггеров и является первым входом УРОК, второй вход которого соединен со вторым входом второго элемента ИЛИ и сбросовым входом первого триггера, информационный вход которого является третьим входом УРОК, группа входов которого соединена с первым, вторым, третьим и четвертым входами первого элемента ИЛИ, выход которого соединен с информационным входом второго триггера, причем информационный вход третьего триггера соединен с выходом второго триггера.

13. Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации по п.1, отличающаяся тем, что генератор одиночного импульса (ГОИ) содержит счетчик, дешифратор, первый и второй триггеры и элемент И, выход которого является выходом ГОИ, первый и второй входы которого соединены со сбросовым и тактовым входами счетчика соответственно, группа выходов которого соединена с группой входов дешифратора, выход которого соединен с информационным входом первого триггера, выход которого соединен с информационным входом второго триггера и первым входом элемента И, второй вход которого соединен с инверсным выходом второго триггера, тактовый вход которого соединен с тактовым входом первого триггера и является третьим входом ГОИ, четвертый вход которого соединен со сбросовыми входами первого и второго триггеров.

14. Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации по п.1, отличающаяся тем, что формирователь признака синхронизации (ФПС) содержит регистр управления и состояния синхронизации (РУСС), регистр продолжительности ожидания синхронизации (РПОС), регистр продолжительности синхронизации (РПС), мультиплексор (МП), счетчик продолжительности ожидания синхронизации (СПОС) и машину состояния (МС), первая группа выходов которой является первой группой выходов ФПС, вторая группа выходов которого соединена с группой выходов МП, первая группа входов которого соединена с группой выходов РПОС и группой входов СПОС, выход которого соединен с первым входом МС, вторая группа выходов которой соединена с первой группой входов РУСС, группа выходов которого соединена с первой группой входов МС и с второй группой входов МП, третья группа входов которого соединена с группой выходов РПС и второй группой входов МС, третья группа выходов и первый выход которой соединены с четвертой группой входов МП и выходом ФПС соответственно, первая группа входов которого соединена с третьей группой входов МС, четвертая, пятая и шестая группы входов которой соединены с третьей, четвертой и пятой группами входов ФПС соответственно, вторая группа входов которого соединена с первыми группами входов РПОС и РПС и со второй группой входов РУСС, первый и второй входы которого соединены со вторым и третьим выходами МС, четвертый и пятый выходы которой соединены с первыми входами РПОС и СПОС и вторым входом РПОС, причем шестой, седьмой и восьмой выходы МС соединены со вторым входом СПОС и с первым и вторым входами РПС соответственно.

Описание изобретения к патенту

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

Известна компьютерная система [1], исправляющая одиночную ошибку, которая содержит первый системный модуль с первым процессором, с шиной первого процессора и первой шиной I/O (входа/выхода), второй системный модуль со вторым процессором, с шиной второго процессора и второй шиной I/O, третий системный модуль с третьим процессором, с шиной третьего процессора и третьей шиной I/O, причем первый модуль системы включает первую память, первый процессор, первый блок управления I/O, первый мост, сравнивающий данные первой процессорной шины с данными второй и третьей процессорных шин, причем первый выход первого модуля соединен с первыми входами второго и третьего модуля, первый выход которого соединен с первым входом первого модуля и вторым входом второго модуля, первый выход которого соединен со вторыми входами первого и третьего модуля, причем в каждом модуле память соединена с процессором, процессор соединен с мостом, мост соединен с блоком управления I/O, выход которого является вторым выходом модуля, причем второй модуль системы включает вторую память, второй процессор, второй блок управления I/O, второй мост, сравнивающий данные второй процессорной шины с данными первой и третьей процессорных шин, причем третий модуль системы включает третью память, третий процессор, третий блок управления I/O, третий мост, сравнивающий данные третьей процессорной шины с данными первой и второй процессорных шин.

Недостатком этой системы является низкая надежность, обусловленная отказом функционирования ее при появлении второго отказа.

Известна отказоустойчивая вычислительная система для управления полетом летательного аппарата [2], состоящая из модулей обработки данных, включающих в себя процессоры и их запоминающие устройства, и контроллера шины, соединенных обычным широкополосным каналом связи.

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

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

Известна отказоустойчивая вычислительная система для управления полетом летательного аппарата [3], состоящая из пяти идентичных компьютеров общего назначения (GPCs), соединенных цифровой шиной данных, каждый GPC включает центральный узел обработки (CPU), который обеспечивает центральную вычислительную способность, и процессор входа/выхода (IOP), который исполняет операции контроля входов/выходов для CPU, четыре из компьютеров предназначены для решения задач и работают как избыточный совместимый набор. Вычисления каждого компьютера в этом наборе проверяются другими компьютерами. Таким образом, комплекс компьютеров поддерживает отказоустойчивость оперативной и безопасной работы системы, пятый компьютер предназначен для функционального управления системы.

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

Описанное устройство как наиболее близкое к предлагаемому принято за прототип и представлено на фиг.34.

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

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

Сущность заявляемого изобретения, возможность его осуществления и промышленного использования поясняются чертежами, представленными на фиг.2-33, где:

- на фиг.2 представлена структурная схема отказоустойчивой вычислительной системы с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации;

- на фиг.3 представлена функциональная схема контроллера управления конфигурацией;

- на фиг.4 представлена функциональная схема блока приема командных посылок;

- на фиг.5 представлена функциональная схема блока выделения команд;

- на фиг.6 представлена функциональная схема блока исполнения команд;

- на фиг.7 представлена функциональная схема блока сторожевого таймера и делителя частоты;

- на фиг.8 представлена функциональная схема контроллера межмашинного обмена;

- на фиг.9 представлена функциональная схема блока приема посылок ММО;

- на фиг.10 представлена функциональная схема блока выдачи посылок ММО;

- на фиг.11 представлена функциональная схема блока управления прямым доступом;

- на фиг.12 представлена функциональная схема узла отсчета временных интервалов;

- на фиг.13 представлена функциональная схема узла режима одиночной команды;

- на фиг.14 представлена функциональная схема генератора одиночного импульса;

- на фиг.15 представлена диаграмма состояний и переходов;

- на фиг.16 представлен формат командной посылки магистрали ММО;

- на фиг.17 представлен формат команд управления конфигурацией ВМ;

- на фиг.18 представлен формат команды управления сторожевым таймером;

- на фиг.19 представлен формат команд управления МКО;

- на фиг.20 представлено соответствие значений кода КО выполняемым операциям;

- на фиг.21, 21а представлен алгоритм работы МС блока БВК;

- на фиг.22 представлен алгоритм работы МС блока исполнения команд (БИК);

- на фиг.23 представлен формат формируемых посылок;

- на фиг.24 представлен формат регистра управления РУСП блока приема посылок ММО;

- на фиг.25 представлен формат регистра управления РУСВ блока выдачи посылок ММО;

- на фиг.26 представлен алгоритм работы МС блока приема посылок каналов ММО;

- на фиг.27 представлен алгоритм работы МС блока выдачи посылок ММО;

- на фиг.28 представлена временная диаграмма операций записи и чтения в ОЗУ;

- на фиг.29, 29а представлен алгоритм работы МС блока управления прямым доступом;

- на фиг.30, 30а представлен алгоритм работы МС формирователя признака синхронизации;

- на фиг.31 представлен формат регистра управления и состояния РУСС блока формирователя признака синхронизации ФПС;

- на фиг.32 представлен формат регистра продолжительности ожидания синхронизации (РПОС) блока ФПС;

- на фиг.33 представлен формат регистра продолжительности синхронизации (РПС) блока ФПС.

Указанные преимущества заявляемой системы перед прототипом достигаются за счет того, что в отказоустойчивую вычислительную систему с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации, содержащую первую 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).

Контроллер (17, 18, 19, 20) управления конфигурацией содержит первый 40 блок приема командных посылок, второй 41 блок приема командных посылок, третий 42 блок приема командных посылок, четвертый 43 блок приема командных посылок, блок выделения команд 44, блок исполнения команд 45, блок сторожевого таймера и делителя частоты 46, первая 47 группа выходов которого соединена с первой группой входов блока исполнения команд 45, первая 48 группа выходов которого соединена с первой группой входов блока сторожевого таймера и делителя частоты 46, первый 49 выход которого соединен с первым входом блока выделения команд 44, группа выходов 50 которого соединена со второй группой входов блока исполнения команд 45, вторая группа выходов которого является первой 21 группой выходов контроллера управления конфигурацией 17, вторая 30 группа выходов которого является третьей группой выходов блока исполнения команд 45, первый 51 выход которого соединен с первым входом блока сторожевого таймера и делителя частоты 46, второй 52 выход которого соединен с первыми входами первого блока приема командных посылок 40, второго блока приема командных посылок 41, третьего блока приема командных посылок 42, четвертого блока приема командных посылок 43, блока исполнения команд 45 и со вторым входом блока выделения команд 44, первый 53 выход которого соединен со вторым входом блока исполнения команд 45, второй 54 выход которого соединен с третьим входом блока выделения команд 44, первая 55, вторая 56, третья 57 и четвертая 58 группы входов которого соединены с первыми группами выходов первого 40, второго 41, третьего 42 и четвертого 43 блоков приема командных посылок соответственно, первые выходы которых соединены с четвертым 59, пятым 60, шестым 61, седьмым 62 входами блока выделения команд 44, восьмой 63 вход которого соединен со вторыми входами первого 40, второго 41, третьего 42 и четвертого 43 блоков приема командных посылок и блока сторожевого таймера и делителя частоты 46, третьим входом блока исполнения команд 45 и является первым сигналом второй 27 группы входов контроллера управления конфигурацией 17, первая 23 группа входов которого соединена с третьей группой входов блока исполнения команд 45, четвертый вход которого соединен с девятым входом блока выделения команд 44 и является первым 29 входом контроллера управления конфигурацией 17, третья 32, четвертая 33, пятая 34 и шестая 35 группы входов которого соединены с первыми группами входов первого 40, второго 41, третьего 42 и четвертого 43 блоков приема командных посылок соответственно, причем второй 64 сигнал второй 27 группы входов соединен с третьим входом блока сторожевого таймера и делителя частоты 46.

Блок приема командных посылок 40 содержит сдвиговый регистр 65, счетчик 66, дешифратор 67, первый 68 триггер, второй 69 триггер, третий 70 триггер, четвертый 71 триггер, пятый 72 триггер, исключающее ИЛИ 73, первый 74 элемент И, второй 75 элемент И, третий 76 элемент И, четвертый 77 элемент И, элемент ИЛИ 78, выход которого соединен со сбросовыми входами счетчика 66 и третьего 70 триггера, выход которого соединен с первыми входами исключающего ИЛИ 73 и второго 75 элемента И, выход которого соединен с информационным входом пятого 72 триггера, выход которого соединен с первым инверсным входом четвертого 77 элемента И, выход которого является выходом 59 блока приема командных посылок 40, группа выходов 55 которого соединена с группой выходов сдвигового регистра 65, информационный вход которого соединен со вторым входом исключающего ИЛИ 73 и является первым сигналом группы входов 32 блока приема командных посылок 40, второй сигнал которой соединен с тактовыми входами сдвигового регистра 65, счетчика 66 и третьего 70 триггера, информационный вход которого соединен с выходом исключающего ИЛИ 73, причем первый 52 вход блока приема командных посылок 40 соединен с тактовыми входами первого 68, второго 69 и четвертого 71 триггеров, выход четвертого 71 триггера соединен с первым входом третьего 76 элемента И, выход которого соединен с первым входом четвертого 77 элемента И, второй и третий входы которого являются вторым и третьим сигналами группы выходов 55 блока приема командных посылок 40, первый сигнал которой соединен со вторым инверсным входом четвертого 77 элемента И, причем второй 63 вход блока приема командных посылок 40 соединен со сбросовыми входами сдвигового регистра 65, первого 68, второго 69, четвертого 71 и пятого 72 триггеров и первым входом элемента ИЛИ 78, второй вход которого соединен с выходом первого 74 элемента И, первый вход которого соединен со вторым входом третьего 76 элемента И и инверсным выходом второго 69 триггера, прямой выход которого соединен с информационным входом четвертого 71 триггера, прямой выход первого 68 триггера соединен с информационным входом второго 69 триггера, а инверсный выход соединен со вторым входом первого 74 элемента И, третий сигнал группы входов 32 блока приема командных посылок 40 соединен с информационным входом первого 68 триггера и тактовым входом пятого 72 триггера, причем группа выходов счетчика 66 соединена с группой входов дешифратора 67, выход которого соединен со вторым входом второго 75 элемента И.

Блок выделения команд 44 содержит коммутатор 79 передачи кода команд (КПКК), регистр 80 признаков готовности (РПГ), коммутатор 81 признаков готовности кода команд (КПГКК), схему сравнения 82, узел отсчета временных интервалов (УОВИ) 83, узел режима одиночной команды (УРОК) 84, машину состояний (МС) 85, группа выходов которой соединена с группой входов РПГ 80 и с первой группой входов КПКК 79, первая группа выходов которого соединена с первой группой входов схемы сравнения 82 и является группой выходов 50 блока выделения команд 44, выход 53 которого соединен с первым выходом МС 85, второй выход 86 которой соединен с первым входом УОВИ 83, первый выход 87 которого соединен с первым входом МС 85, второй вход которой соединен с выходом схемы сравнения 82, вторая группа входов которой соединена со второй группой выходов КПКК 79, вторая группа входов 55 которого соединена с первой группой входов блока выделения команд 44, вторая 56, третья 57 и четвертая 58 группы входов которого соединены с третьей, четвертой и пятой группами входов КПКК 79 соответственно, причем первый 49 и второй 52 входы блока выделения команд 44 соединены со вторым входом УОВИ 83 и с третьими входами МС 85 и УОВИ 83 и первым входом УРОК 84 соответственно, первый 88 и второй 89 выходы которого соединены с четвертым и пятым входами МС 85, третий выход которой соединен с первым входом РПГ 80, второй, третий, четвертый и пятый входы которого являются четвертым 59, пятым 60, шестым 61 и седьмым 62 входами блока выделения команд 44 соответственно, восьмой 63 вход которого соединен со вторым входом УРОК 84, с четвертым входом УОВИ 83 и с шестым входом МС 85, первая группа входов которой соединена с группой выходов КПГКК 81, группа входов которого соединена с группой 90 выходов РПГ 80, с группой входов УРОК 84 и со второй группой входов МС 85, седьмой вход которой является девятым 29 входом блока 44, третий 54 вход которого соединен с третьим входом УРОК 84, третий 91 выход которого соединен с восьмым входом МС 85, девятый вход которого соединен со вторым 92 выходом УОВИ 83.

Блок исполнения команд (БИК) 45 содержит регистр команд (РгК) 93, схему сравнения (СС) 94, генератор одиночного импульса (ГОИ) 95 и машину состояний (МС) 96, первая группа выходов которой является первой 48 группой выходов БИК 45, вторая 21 группа выходов которого соединена со второй группой выходов МС 96, третья группа выходов которой является третьей 30 группой выходов БИК 45, первый 51 и второй 54 выходы которого соединены с первым и вторым выходами МС 96, первая и вторая группы входов которой соединены с первой и второй группами выходов РгК 93, третья группа выходов которого соединена с первой группой входов СС 94, выход которой соединен с первым входом МС 96, третий 97 выход которой соединен с первым входом ГОИ 95, выход 98 которого соединен со вторым входом МС 96, третий вход которой соединен со входом РгК 93 и является вторым 53 входом БИК 45, первая 47 группа входов которого соединена со вторым входом ГОИ 95 (первый сигнал) и четвертым входом (второй сигнал) МС 96, пятый вход которой соединен с третьим входом ГОИ 95 и является первым 51 входом БИК 45, третий 63 вход которого соединен с четвертым входом ГОИ 95 и шестым входом МС 96, седьмой вход которой является четвертым 29 входом БИК 45, вторая 50 и третья 23 группы входов которого соединены с группой входов РгК 93 и второй группой входов СС 94.

Блок сторожевого таймера и делителя частоты (БСТДЧ) 46 содержит сторожевой таймер (СТ) 99 и делитель частоты (ДЧ) 100, первый и второй выходы которого являются первым 49 и вторым 52 выходами БСТДЧ 46, первая 47 группа выходов которого соединена с выходом СТ 99 (первый сигнал) и третьим выходом ДЧ (второй сигнал) 100, четвертый выход которого соединен с первым входом СТ 99, группа входов которого является первой 48 группой входов БСТДЧ 46, вторая 27 группа входов которого (первый сигнал) 63 соединена с первым входом ДЧ 100 и вторым входом СТ 99, а второй 64 сигнал соединен со вторым входом ДЧ 100, причем первый 51 вход БСТДЧ 46 соединен с третьим входом СТ 99.

Контроллер межмашинного обмена (13, 14, 15, 16) содержит первый 101, второй 102 и третий 103 блоки приема посылок из каналов межмашинного обмена (Б1ПП, Б2ПП, Б3ПП), блок выдачи посылок (БВП) 104, блок управления прямым доступом (БПД) 105, формирователь признака синхронизации (ФПС) 106, первый 107 и второй 108 буферы ввода-вывода (Б1ВВ, Б2ВВ), первую 109 и вторую 110 группы элементов ИЛИ, первая группа выходов второй группы элементов ИЛИ является второй 39 группой выходов КММО 13, первая 32 группа выходов которого соединена с первой группой выходов БВП 104, вторая 111 группа выходов которого соединена с первыми 112 группами выходов Б1ПП 101, Б2ПП 102, Б3ПП 103 и ФПС 106 и группами входов второй 110 группы элементов ИЛИ, причем выход ФПС 106 является выходом 29 КММО 13, локальная магистраль 28 которого состоит из адресных шин, информационных шин и управляющих шин и соединена с группами входов-выходов первого 107 Б1ВВ и второго 108 Б2ВВ и БПД 105, с первой группой выходов 113, с первым выходом 114 и с первой группой входов 115 БПД 105, вторая 116 группа выходов которого соединена с первой группой входов Б1ВВ 107, группа выходов 117 которого соединена с первыми группами входов Б1ПП 101, Б2ПП 102, Б3ПП 103, БВП 104 и ФПС 106 и со второй группой входов БПД 105, третья группа входов которого соединена со вторыми группами входов Б1ПП 101, Б2ПП 102, Б3ПП 103, БВП 104, ФПС 106 и с группой выходов 118 второго 108 буфера Б2ВВ, первый вход которого соединен с выходом первой 109 группы элементов ИЛИ, группы входов которой соединены с третьей группой выходов БВП 104 и со вторыми 119 группами выходов Б1ПП 101, Б2ПП 102, Б3ПП 103 и ФПС 106, третья группа входов которого соединена с первыми 120 выходами Б1ПП 101, Б2ПП 102, Б3ПП 103 и БВП 104, третья группа входов которого соединена с третьими группами входов Б1ПП 101, Б2ПП 102, Б3ПП 103 и является первой 23 группой входов КММО 13, вторая 27 группа входов которого соединена с четвертыми группами входов БПД 105, Б1ПП 101, Б2ПП 102, Б3ПП 103, БВП 104 и ФПС 106, пятая группа входов которого соединена с пятыми группами входов Б1ПП 101, Б2ПП 102, Б3ПП 103. БВП 104, со входом Б1ВВ 107, со вторым входом Б2ВВ 108 и с третьей группой выходов 121 БПД 105, причем четвертая 33, пятая 34 и шестая 35 группы входов КММО 13 соединены с шестыми, седьмыми и восьмыми группами входов Б1ПП 101, Б2ПП 102, Б3ПП 103, девятые группы входов которых соединены с первой 32 группой выходов БВП 104, второй 122 выход которого соединен со вторыми выходами Б1ПП 101, Б2ПП 102, Б3ПП 103 и с пятой группой входов БПД 105.

Блок приема посылок ММО содержит первый 123, второй 124, третий 125, четвертый 126 мультиплексоры (МП), сдвиговый регистр (СДВ РГ) 127, регистр командного слова (РКС) 128, буферный регистр данных (БРД) 129, регистр управления и состояния приема (РУСП) 130, машину состояний 131, счетчик 132, дешифратор 133, триггер 134, элемент И 135, элемент исключающее ИЛИ 136, выход которого соединен с информационным входом триггера 134, выход которого соединен с первыми входами элемента исключающее ИЛИ 136 и элемента И 135, выход которого соединен с первым входом МС 131, первый выход которой соединен со входом РКС 128, группа входов которого соединена с группой входов БРД 129 и группой выходов СДВ РГ 127, информационный вход которого соединен со вторым входом элемента исключающее ИЛИ 136 и выходом первого мультиплексора 123, первый вход которого является первым сигналом девятой 32 группы входов блока 101, второй и третий сигналы которой соединены с первыми входами второго 124 и третьего 125 мультиплексоров, вторые входы которых соединены со вторым входом первого мультиплексора 123 и являются сигналами шестой 33 группы входов блока 101, седьмая 34 группа входов которого соединена с третьими входами первого 123, второго 124 и третьего 125 мультиплексоров, четвертые входы которых являются сигналами восьмой 35 группы входов блока 101, первая 112 группа выходов которого соединена со вторым и третьим выходами МС 131, четвертый выход которой соединен со входом БРД 129, группа выходов РКС 128 соединена с первой группой входов четвертого 126 мультиплексора, группа выходов которого является второй 119 группой выходов блока 101, первый 120 выход которого соединен с пятым выходом МС 131, шестой выход которой является вторым 122 выходом блока 101, первая 117 группа входов которого соединена с первой группой входов МС 131, седьмой и восьмой выходы которой соединены с первым и вторым входами четвертого мультиплексора 126, вторая группа входов которого соединена с группой выходов РУСП 130, первая группа входов которого является второй 118 группой входов блока 101, третья 23 группа входов которого соединена со второй группой входов МС 131, группа выходов которой соединена с пятыми входами первого 123, второго 124 и третьего 125 мультиплексоров, выход третьего мультиплексора соединен со сбросовым входом СДВ РГ 127, выход которого соединен со вторым входом МС 131, девятый выход которой соединен со входом РУСП 130, вторая группа входов которого является пятой 121 группой входов блока 101 и соединена с третьей группой входов МС 131, четвертая группа входов которой соединена со второй группой входов четвертого мультиплексора 126, третья группа входов которого соединена с группой выходов БРД 129, причем выход второго 124 мультиплексора соединен с тактовыми входами СДВ РГ 127, счетчика 132 и триггера 134, сбросовый вход которого соединен со сбросовым входом счетчика 132, с третьим входом МС 131 и является вторым сигналом четвертой 27 группы входов блока 101, первый сигнал которой соединен с четвертым входом МС 131, пятый вход которой соединен со вторым входом элемента И 135 и выходом дешифратора 133, группа входов которого соединена с группой выходов счетчика 132.

Блок выдачи посылок ММО 104 содержит регистр командного слова выдачи (РКСВ) 137, буферный регистр выдачи посылок (БВП) 138, регистр управления и состояния выдачи (РУСВ) 139, первый 140 и второй 141 мультиплексоры (МП), сдвиговый регистр (СДВ РГ) 142, счетчик 143, дешифратор 144, первый 145 и второй 146 триггеры, элемент исключающее ИЛИ 147 и машину состояний 148, первая группа выходов которой является первой 32 группой выходов блока выдачи посылок ММО 104, вторая 112 группа выходов которого соединена с первым и вторым выходами МС 148, вторая группа выходов которой соединена с третьей 119 группой выходов блока выдачи посылок ММО 104, первый 120 и второй 122 выходы которого соединены с третьим и четвертым выходами МС 148, первая и вторая группы входов которой являются первой 117 и третьей 23 группами входов блока выдачи посылок ММО 104, вторая 118 группа входов которого соединена с первыми группами входов РКСВ 137, БВП 138, РУСВ 139, тактовые входы которых соединены с пятым, шестым и седьмым выходами МС 148 соответственно, восьмой выход которой соединен с загрузочным и инверсным разрешающим входами СДВ РГ 142, выход которого соединен с первым входом второго 141 мультиплексора и соединен с первым входом МС 148, третья группа выходов которой соединена со второй группой входов РУСВ 139, группа выходов которого соединена с третьей группой входов МС 148, девятый выход которой соединен с тактовыми входами первого 145 и второго 146 триггеров, СДВ РГ 142 и счетчика 143, группа выходов которого соединена с группой входов дешифратора 144, инверсный выход которого соединен со вторым входом второго 141 мультиплексора, выход которого соединен с информационным входом второго триггера 146 и первым входом элемента исключающее ИЛИ 147, выход которого соединен с информационным входом первого 145 триггера, выход которого соединен со вторым входом элемента исключающее ИЛИ 147, причем первый сигнал четвертой 27 группы входов блока 104 соединен со вторым входом МС 148, третий вход которой является вторым сигналом четвертой 27 группы входов блока 104 и соединен со сбросовыми входами СДВ РГ 142, счетчика 143 и первого 145 триггера, с установочным входом второго 146 триггера, выход которого соединен с четвертым входом МС 148, четвертая группа входов которой является пятой 121 группой входов блока 104, причем группы выходов РКСВ 137 и БВП 138 соединены с первой и второй группами входов первого 140 МП, группа выходов которого соединена с информационными входами СДВ РГ 142, инверсный выход первого 145 триггера соединен со вторым входом второго 141 МП, вход первого мультиплексора 140 соединен с пятым выходом МС 148.

Блок управления прямым доступом 105 содержит первый регистр текущего адреса приема (РТАП1) 149, второй регистр текущего адреса приема (РТАП2) 150, третий регистр текущего адреса приема (РТАП3) 151, первый регистр конечного адреса приема (РКАП1) 152, второй регистр конечного адреса приема (РКАП2) 153, третий регистр конечного адреса приема (РКАП3) 154, регистр текущего адреса выдачи (РТАВ) 155, регистр конечного адреса выдачи (РКАВ) 156, первый счетчик текущего адреса первого блока приема посылок (СТА Б1ПП) 157, второй счетчик текущего адреса второго блока приема посылок (СТА Б2ПП) 158, третий счетчик текущего адреса третьего блока приема посылок (СТА Б3ПП) 159, счетчик текущего адреса блока выдачи посылок (СТА БВП) 160, первую 161, вторую 162, третью 163, четвертую 164 схемы сравнения, машину состояний (МС) 165, мультиплексор (МП) 166, первая и вторая группы выходов которого являются первой 28 и второй 116 группами выходов локальной магистрали (ЛМ) блока 105, группа входов-выходов 28 которого соединена с группой входов-выходов МС 165, первая группа выходов которой является третьей 121 группой выходов блока, первый выход ЛМ 28 блока соединен с первым выходом МС 165, вторая группа выходов которой соединена с первыми входами регистров РТАП1 149, РТАП2 150, РТАП3 151, РТАВ 155, РКАП1 152, РКАП2 153, РКАП3 154, РКАВ 156 и счетчиков текущего адреса СТА Б1ПП 157, СТА Б2ПП 158, СТА Б3ПП 159, СТА БВП 160, первая группа выходов которого соединена с первой группой входов МП 166, вторая, третья и четвертая группы входов которого соединены с первыми группами выходов счетчиков СТА Б1ПП 157, СТА Б2ПП 158, СТА Б3ПП 159, вторые входы которых соединены со вторым, третьим и четвертым выходами МС 165, пятый выход которой соединен со вторым входом счетчика СТА БВП 160, вторая группа выходов которого соединена с первой группой входов четвертой СС 164, вторая группа входов которой соединена с группой выходов регистра РКАВ 156, группа входов которого соединена с группами входов регистров РТАП1 149, РТАП2 150, РТАП3 151, РТАВ 155, РКАП1 152, РКАП2 153, РКАП3 154 и является третьей 118 группой входов блока 105, первая (ЛМ) 28 и вторая 117 группы входов которого соединены с первой и второй группами входов МС 165, третья группа выходов которой соединена с пятой группой входов МП 166, причем группы выходов регистров РТАВ 155, РТАП1 149, РТАП2 150, РТАП3 151 соединены с группами входов счетчиков СТА БВП 160, СТА Б1ПП 157, СТА Б2ПП 158, СТА Б3ПП 159, третьи входы которых соединены между собой и соединены с первым входом МС 165 и являются первым сигналом четвертой 27 группы входов блока 105, второй сигнал которой соединен со вторым входом МС 165, третий, четвертой, пятый и шестой входы которой соединены с выходами первой 161, второй 162, третьей 163 и четвертой 164 схем сравнения, первые группы входов которых соединены с группами выходов счетчиков СТА Б1ПП 157, СТА Б2ПП 158, СТА Б3ПП 159, причем группы выходов регистров РКАП1 152, РКАП2 153, РКАП3 154 соединены со вторыми группами входов первой 161, второй 162 и третьей 163 СС, пятая 122 группа входов блока 105 соединена с третьей группой входов МС 165.

Узел отсчета временных интервалов (УОВИ) 83 содержит первый 167, второй 168, третий 169 и четвертый 170 триггеры, счетчик 171, дешифратор 172 и элемент ИЛИ 173, выход которого соединен со сбросовыми входами второго 168 и третьего 169 триггеров, прямой выход которого является вторым 92 выходом УОВИ 83, первый 87 выход которого соединен с выходом четвертого 170 триггера и первым входом элемента ИЛИ 173, второй вход которого является четвертым 63 входом УОВИ 83 и соединен со сбросовыми входами первого 167 и четвертого 170 триггеров, тактовые входы которых соединены с тактовым входом второго 168 триггера и является третьим 52 входом УОВИ 83, первый 86 вход которого соединен с информационным входом второго 168 триггера, выход которого соединен с тактовым входом третьего 169 триггера, инверсный выход которого соединен со сбросовым входом счетчика 171, тактовый вход которого соединен с выходом первого 167 триггера, информационный вход которого является вторым 48 входом УОВИ 83, причем группа выходов счетчика 171 соединена с группой входов дешифратора 172, выход которого соединен с информационным входом четвертого 170 триггера, информационный вход третьего 169 триггера соединен с 3.3В.

Узел режима одиночной команды (УРОК) 84 содержит первый 174, второй 175 и третий 176 триггеры, первый 177 и второй 178 элементы ИЛИ, первый 179 и второй 180 элементы И, выходы которых являются третьим 91 и вторым 89 выходами УРОК 84, первый 88 выход которого соединен с выходом первого 174 триггера, инверсный выход которого соединен с первым входом второго 178 элемента ИЛИ, выход которого соединен со сбросовыми входами второго 175 и третьего 176 триггеров, прямой и инверсный выходы которого соединены с первыми входами первого 179 и второго 180 элементов И, вторые входы которых соединены с информационным входом третьего 176 триггера и с выходом второго 175 триггера, тактовый вход которого соединен с тактовыми входами первого 174 и третьего 176 триггеров и является первым 52 входом УРОК 84, второй 63 вход которого соединен со вторым входом второго элемента ИЛИ 178 и сбросовым входом первого 174 триггера, информационный вход которого является третьим 54 входом УРОК 84, группа входов 90 которого соединена с первым, вторым, третьим и четвертым входами первого 177 элемента ИЛИ, выход которого соединен с информационным входом второго 175 триггера.

Генератор одиночного импульса (ГОИ) 95 содержит счетчик 181, дешифратор 182, первый 183 и второй 184 триггеры и элемент И 185, выход которого является выходом 98 ГОИ, первый 97 и второй 47 входы которого соединены со сбросовым и тактовым входами счетчика 181 соответственно, группа выходов которого соединена с группой входов дешифратора 182, выход которого соединен с информационным входом первого 183 триггера, выход которого соединен с информационным входом второго 184 триггера и первым входом элемента И 185, второй вход которого соединен с инверсным выходом второго 184 триггера, тактовый вход которого соединен с тактовым входом первого 183 триггера и является третьим 52 входом ГОИ, четвертый 63 вход которого соединен со сбросовыми входами первого 183 и второго 184 триггеров.

Формирователь признака синхронизации (ФПС) 106 содержит регистр управления и состояния синхронизации (РУСС) 186, регистр продолжительности ожидания синхронизации (РПОС) 187, регистр продолжительности синхронизации (РПС) 188, мультиплексор (МП) 189, счетчик продолжительности ожидания синхронизации (СПОС) 190 и машину состояния (МС) 191, первая группа выходов которой является первой 112 группой выходов ФПС, вторая 119 группа выходов которого соединена с группой выходов МП 189, первая группа входов которого соединена с группой выходов РПОС 187 и группой входов СПОС 190, выход которого соединен с первым входом МС 191, вторая группа выходов которой соединена с первой группой входов РУСС 186, группа выходов которого соединена с первой группой входов МС 191 и со второй группой входов МП 189, третья группа входов которого соединена с группой выходов РПС 188 и второй группой входов МС 191, третья группа выходов и первый выход которой соединены с четвертой группой входов МП 189 и выходом 29 ФПС 106 соответственно, первая 117 группа входов которого соединена с третьей группой входов МС 191, четвертая, пятая и шестая группы входов которой соединены с третьей 120, четвертой 27 и пятой 121 группами входов ФПС 106 соответственно, вторая 118 группа входов которого соединена с первыми группами входов РПОС 187 и РПС 188 и со второй группой входов РУСС 186, первый и второй входы которого соединены со вторым и третьим выходами МС 191, четвертый и пятый выходы которой соединены с первыми входами РПОС 187 и СПОС 190 и вторым входом РПОС 187, причем шестой, седьмой и восьмой выходы МС 191 соединены со вторым входом СПОС 190, с первым и вторым входами РПС 188 соответственно.

Отказоустойчивая вычислительная система с аппаратно-программной реализацией функций отказоустойчивости и динамической реконфигурации работает следующим образом.

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

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

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

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

В процессе работы отказоустойчивой вычислительной системы можно выделить следующие этапы:

- этап включения системы, ее начальной проверки и инициализации механизмов обеспечения сбое- и отказоустойчивости (этап начальной проверки);

- этап функциональной (целевой) работы с сохранением заданного уровня избыточности;

- этап управляемой деградации, наступающий при невозможности сохранения заданного уровня избыточности;

- безопасный останов системы.

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

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

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

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

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

Эти два принципа реализуются в ПОО системы при помощи базовых механизма синхронизации и механизма взаимного информационного согласования (ВИС).

Предусматриваются два вида синхронизации:

- по внутренним программируемым событиям, формируемым в каждой ВМ рабочей конфигурации;

- на основе единого системного времени.

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

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

Целями используемых механизмов ВИС в ПОО являются:

- обеспечение согласованности данных во всех исправных ВМ рабочей конфигурации;

- парирование возможных сбоев заданной кратности;

- обнаружение и идентификация проявлений допустимых неисправностей, случившихся в процессе ВИС.

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

Из диаграммы состояний и переходов на фиг.1 видно, что система работает в вычислительных режимах двух видов:

- решения целевой задачи в 3-, 2- и 1-машинной рабочей конфигурации (соответственно состояния 1, 4 и 6);

- восстановления вычислительного процесса в 3-, 2- и 1-машинной рабочей конфигурации (соответственно состояния 2, 5 и 7).

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

1) по предварительным контрольным действиям перед выдачей:

- с предварительным взаимообменом копиями выдаваемой информации или их свертками;

- без предварительного взаимообмена;

2) по способу формирования выдаваемой информации:

- выдача копии выходной информации, принадлежащей одной из ВМ;

- выдача копии выходной информации, принадлежащей одной из ВМ и являющейся результатом предварительного аппаратного мажорирования копий различных ВМ;

3) по проведению процесса выдачи информации:

- без подслушивания выполняемого обмена;

- с подслушиванием выполняемого обмена и последующим анализом его результатов;

4) по необходимости отдельного подтверждения правильности выданной информации:

- без подтверждения;

- с подтверждением в виде выдачи абоненту по внешнему каналу связи команды подтверждения.

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

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

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

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

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

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

Все элементы системы по необходимости установки сбившегося элемента в исходное состояние восстановления делятся на два вида: требующие такой установки и не требующие. В проектируемой системе имеются элементы обоих видов. Так сбившаяся ВМ принудительно переводится в исходное состояние восстановления при ее блокировке со стороны двух других ВМ рабочей конфигурации.

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

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

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

В проектируемой системе предполагается реализация двух видов тестирования, реализуемых в ПОО:

- полное тестирование всех элементов системы;

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

Полное тестирование выполняется при начальной проверке. Ограниченное тестирование может осуществляться или в специально выделяемых тестовых паузах, или в фоновом режиме. Кроме того, функцией ограниченного тестирования является периодическая проверка запасных и резервных элементов.

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

Для обеспечения данных функций в системе предусмотрены контроллеры межмашинного обмена (КММО) (13, 14, 15, 16) и контроллеры управления конфигурацией (КУК) (17, 18, 19, 20).

КУК (17, 18, 19, 20) предназначен для использования в составе однотипных ВМ, являющихся резервными каналами резервированной системы, и выполняет следующие функции:

- управление включением основного и дежурного вторичных питающих напряжений в ВМ, выключением этих напряжений;

- назначение ВМ ведущей относительно мультиплексных каналов обмена (МКО) системы;

- перезапуск ВМ с целью проведения процедуры восстановления ее нормальной работы после сбоя;

- организация работы сторожевого таймера 99 ВМ.

Функциональная схема контроллера управления конфигурацией (17, 18, 19, 20) представлена на фиг.3.

В состав КУК входят:

- четыре однотипных блока приема командных посылок (БПКП0-БПКП3) (40-43);

- блок выделения команд (БВК) 44;

- блок исполнения команд (БИК) 45;

- блок сторожевого таймера и делителя частоты (БСТДЧ) 46.

На третью 32, четвертую 33, пятую 34, шестую 35 группы входов (RX, SY, SL), блоков БПКПО-БПКП3 (40-43) поступают сигналы, соответствующие четырем последовательным синхронным каналам передачи посылок магистрали ММО системы.

Функциональная схема блока приема командных посылок представлена на фиг.4.

Каждый канал образован тремя сигнальными линиями. На вход Rxi поступают информационные биты посылки, на вход SYi - импульсы синхронизации передачи, на вход SLi - сигнал, отражающий факт наличия/отсутствия передачи посылки по каналу.

В каждом из блоков БПКП0-БПКП3 (40-43) производится преобразование поступающей посылки из последовательного представления в параллельное (сдвиговый регистр 65), проводится контроль достоверности принятой посылки (сумматор по модулю 2 (73) и триггер (70)). Если посылка является командой и достоверной, то ее содержательная часть "защелкивается" и выдается из блока БПКПi код команды (КК) 55. Окончание приема посылки, определяемое с помощью счетчика 66 и дешифратора 67, сопровождается однократным формированием импульсного сигнала оповещения (ИСО) 59 (триггеры 68, 69, 71 и элементы И 76 и 77). Временной интервал между двумя соседними командными посылками - не менее 500 мкс.

Функциональная схема блока выделения команд (БВК) представлена на фиг.5.

На входы БВК 44 подаются коды КК1-КК4 (55-58) и сигналы ИСО1- ИСО4 (59-62) с выходов блоков БПКП0-БПКП3 (40-43). Каждый из импульсов ИСО1-ИСО4 (59-62) производит установку соответствующего триггера из регистра РПГ 80, формирующего единичное состояние признака готовности 90 соответствующего кода команды. На выход блока БВК 44 выдается код КИК 50 команды, передаваемой на исполнение в блок БИК 45. Запись кода во входной регистр команд 93 блока БИК 45 производится импульсом ЗК 53.

Предусмотрены два режима работы блока БВК 44, задаваемые значением сигнала ВМЖР 54:

- режим мажоритирования кодов команд (ВМЖР=1);

- режим отсутствия мажоритирования кодов команд (ВМЖР=0).

В режиме мажоритирования в БВК 44 производится попарное сравнение 82 кодов команд из множества КК1-КК4 (55-58), для которых признаки готовности имеют единичное значение. Коммутация кодов команд и признаков готовности выполняется с помощью формирования управляющих сигналов МС 85 в соответствии с алгоритмом, представленным на фиг.21, 21а. Если пара кодов имеет одно и то же значение, то оно однократно, с помощью импульса ЗК 53, сформированного МС 85, заносится во входной регистр команд блока БИК 45, где, при соответствующих условиях, однократно исполняется. Одновременно с этим запускается узел отсчета временного интервала 83 длительностью 240-310 мкс, по завершении которого все признаки готовности кода команды в БВК 44 сбрасываются в ноль (СБРРП).

В режиме отсутствия мажоритирования в БВК 44 производится однократная запись во входной регистр команд 93 блока БИК 45 того значения кода команды из множества КК1-КК4 (55-58), для которого установлено единичное состояние признака готовности. По завершении записи признак готовности кода команды сбрасывается в ноль.

Переключение блока БВК 44 из режима мажоритирования в режим отсутствия мажоритирования производится только после сброса в ноль признаков готовности блока.

Вследствие инициализации устанавливается режим мажоритирования кодов команд.

Управление переключением блока БВК 44 из режима мажоритирования в режим отсутствия мажоритирования производится с помощью специальной команды выключения мажоритирования.

Процедура выделения этой команды в БВК 44 определяется значением сигнала ЗПРМЖР 29:

- при единичном значении сигнала команда передается на исполнение, если ее код сформирован на выходе хотя бы одного из блоков БПКП0-БПКП3 (40-43);

- при нулевом значении сигнала команда передается на исполнение, если ее код сформирован на выходах двух блоков БПКП0-БПКП3 (40-43).

Функциональная схема блока исполнения команд (БИК) представлена на фиг.6.

Код КИК 50 команды блока БИК 45 записывается во входной регистр команд 93 по сигналу ЗК 53. Формат команд управления конфигурацией представлен на фиг.17. Соответствие значений кода КО выполняемым операциям приведено в таблице 1 на фиг.20.

На третью 23 группу входов блока БИК 45 поступает двухразрядный заданный код номера ВМ, и если заданный код совпадает с кодом команды номера ВМ, то схема сравнения 94 формирует сигнал, по которому МС 96 вырабатывает выходной сигнал в соответствии с кодом заданной операции.

Формирование выходных сигналов выполняется МС 96 в соответствии с алгоритмом, представленным на фиг.22.

На третьей 30 группе выходов формируются следующие сигналы:

- первый сигнал ВКЛДП0 - при единичном значении сигнала активизируется 0-я резервная линия дублированной линии дежурного питания ВМ. Сигнал ВКЛДП0 устанавливается в единицу, если совместно выполняются следующие условия:

- биты 7, 8 команды имеют состояние "0";

- <КО> = "10010";

- <НВМ> = ЗНВМ.

Сигнал ВКЛДП0 сбрасывается в ноль, если выполняется одно из следующих условий:

- сигнал <НУ> 63 = "0";

- совместно выполняются условия:

биты 7, 8 команды имеют состояние "0";

<КО> = "00010";

- совместно выполняются условия:

биты 7, 8 команды имеют состояние "0";

<КО> = "10010";

<НВМ> не равно ЗНВМ;

- второй сигнал ВКЛДП1 - при единичном значении сигнала активизируется 1-я резервная линия дублированной линии дежурного питания ВМ. Сигнал ВКЛДП1 устанавливается в единицу, если совместно выполняются следующие условия:

- биты 7, 8 команды имеют состояние "0";

- <КО> = "10011";

- <НВМ> = ЗНВМ.

Сигнал ВКЛДП1 сбрасывается в ноль, если выполняется одно из следующих условий:

- сигнал <НУ> 63 = "0";

- совместно выполняются условия:

биты 7, 8 команды имеют состояние "0";

<КО> = "00011";

- совместно выполняются условия:

биты 7, 8 команды имеют состояние "0";

<КО> = "10011";

<НВМ> не равно ЗНВМ.

- третий сигнал ВКЛБЛК - при единичном значении сигнала запрещена выдача второй 21 и третьей 30 групп выходов.

Сигнал ВКЛБЛК устанавливается в единицу, если совместно выполняются следующие условия:

- биты 7, 8 команды имеют состояние "0";

- <КО> = "10100";

- <НВМ> = ЗНВМ.

Сигнал ВКЛБЛК сбрасывается в ноль, если выполняется одно из следующих условий:

- сигнал <НУ> 63 = "0";

- совместно выполняются условия:

биты 7, 8 команды имеют состояние "0";

<КО> = "00100";

<НВМ> не равно ЗНВМ;

- на втором выходе БИК 45 формируется сигнал ВМЖР 54, при единичном значении сигнала разрешено мажоритирование посылок, принимаемых КУК модуля ВМ.

Сигнал ВМЖР 54 сбрасывается в ноль, если совместно выполняются следующие условия:

- биты 7, 8 команды имеют состояние "0";

- <КО> = "00101";

- <НВМ> = ЗНВМ.

Сигнал ВМЖР 54 устанавливается в единицу, если выполняется одно из следующих условий:

- сигнал <НУ> 63 = "0";

- совместно выполняются условия:

биты 7, 8 команды имеют состояние "0";

<КО> = "10101";

<НВМ> = ЗНВМ;

ЗПРМЖР = "0".

На второй 21 группе выходов формируются ВДЩi сигналы, определяющие номер МКО, на котором модуль ВМ должен быть активным.

Выходной сигнал ВДЩi устанавливается в единицу, если совместно выполняются следующие условия:

- биты 7, 8 команды имеют состояния "0", "1" соответственно;

- <НВМ> = ЗНВМ;

- значение i соответствует десятичному представлению <КО>.

Импульсный сигнал ЗКУ, однократно формируемый на первом выходе 51 блока БИК 45, устанавливается, если совместно выполняются следующие условия:

- биты 7, 8 команды имеют состояние "1";

- <НВМ> = ЗНВМ.

При этом производится запись в счетчик 99 сторожевого таймера блока БСТДЧ 46 двоичного кода временного интервала (первая группа выходов 48) из поля КО команды.

В блок БСТДЧ 46 по второй группе входов СНУ 27 поступает первый сигнал ТИ 64 с частотой 24 МГц, на основе которого вырабатываются импульсные последовательности 23 кГц (второй выход 52), ТИ1 (первый выход 49) и 92 Гц (второй сигнал первой группы выходов 47),поступающие в другие блоки и обеспечивающие их работу.

Функциональная схема блока сторожевого таймера и делителя частоты (БСТДЧ) представлена на фиг.7.

Сторожевой таймер 99 строится на основе пятиразрядного двоичного счетчика. При срабатывании таймера 99 формируется импульсный сигнал ИСТ (первый сигнал первой группы выходов 47), поступающий в блок БИК 45. Код КУ (первая группа входов 48) уставки записывается в счетчик таймера 99 сигналом ЗКУ (первый вход 51) при выполнении соответствующей команды в блоке БИК.

Контроллер межмашинного обмена (КММО) (13, 14, 15, 16) предназначен для использования в составе однотипных ВМ, на основе которых строятся высоконадежные четырехмашинные вычислительные комплексы.

КММО выполняет следующие функции:

- организует высокоскоростной информационный обмен между машинами вычислительного комплекса с использованием последовательных каналов межмашинного обмена;

- осуществляет взаимную синхронизацию вычислительных процессов, реализуемых машинами комплекса;

- обеспечивает запись во внешнее оперативное ЗУ данных, принимаемых по каналам межмашинного обмена, чтение из ЗУ кодов, выдаваемых в соответствующий канал межмашинного обмена;

- выполняет операции записи и чтения, по отношению к адресуемым регистрам КММО, со стороны процессора вычислителя.

Функциональная схема контроллера межмашинного обмена (КММО) (13, 14, 15, 16) представлена на фиг.8.

В состав КММО входят первый Б1ПП 101, второй Б2ПП 102, третий Б3ПП 103 блоки приема посылок, блок выдачи посылок БВП 104, блок управления прямым доступом к памяти БПД 105, формирователь признака синхронизации ФПС 106, первый буфер ввода-вывода Б1ВВ 107, второй буфер ввода-вывода Б2ВВ 108, первая группа элементов ИЛИ 109, вторая группа элементов ИЛИ 110.

Межмашинный обмен (ММО) организуется с помощью посылок, которые передаются по каналам межмашинного обмена. Каждому каналу (четвертая 33 группа входов, пятая 34 группа входов, шестая 35 группа входов) соответствует три сигнала:

- SL - сигнал активизации посылки;

- RX - информационный сигнал;

- SY- сигнал синхронизации.

Формат формируемых посылок представлен на фиг.23.

Передача посылки имеет место при нулевом значении сигнала SL. Формируемая при этом последовательность импульсов SY используется для изменений значения передаваемого информационного сигнала на передающей стороне канала при переходе сигнала SY в состояние низкого уровня, приема значений информационного сигнала (ИС) на принимающей стороне канала при переходе сигнала SY в состояние высокого уровня. Первый бит ИС является признаком типа передаваемой информации (ПТИ): нулевое значение признака свидетельствует о передаче командного слова, единичное - о передаче слова данных. За признаком ПТИ следуют биты информационного слова, начиная со старшего. Оканчивается посылка битом контроля (БК), имеющим единичное значение, если предыдущие биты посылки содержат четное число единиц. Канал ММО считается выключенным, если его сигналы SL и SY одновременно имеют состояние низкого уровня в течение временного интервала, превышающего 0,7 мкс.

На входы каждого из блоков Б1ПП 101, Б2ПП 102, Б3ПП 103 подаются принимаемые сигналы, соответствующие четырем каналам ММО. При этом сигналы трех каналов поступают непосредственно со входов КММО (четвертая группа входов 33, пятая группа Ошибка! Ошибка связи).

Функциональная схема блока приема посылок ММО (101-103) представлена на фиг.9.

В текущий момент времени блок Б1ПП осуществляет прием сигналов только одного из четырех каналов ММО. Управление блоком приема осуществляется через программно доступный регистр управления РУСП 130. Выбираемый канал задается кодом, содержащимся в регистре управления РУСП 130.

Формат регистра управления блока приема посылок ММО (101-103) представлен на фиг.24.

Номер линии магистрали ММО, из которой осуществляется прием, выбирается при помощи мультиплексоров МП1 123, МП2 124, МП3 125 под управлением машины состояния МС 131. Алгоритм работы МС 131 блока приема посылок из каналов ММО представлен на фиг.26. В блоке производится преобразование принимаемого последовательного кода в параллельный на сдвиговом регистре 127, контроль достоверности принятой информации на элементах исключающее ИЛИ 136, триггере 134, счетчике 132, дешифраторе 133, элементе И 135 и МС 131. Если при контроле не обнаружена ошибка, анализируется значение признака ПТИ, определяющее последующую работу блока 101. В случае приема командного слова (ПТИ=0) производится запись его в регистр командного слова РКС 128, а в регистре управления РУСП 130 регистрируется этот факт. Обеспечена возможность формирования флага запроса прерывания по факту приема командного слова путем выдачи из блока соответствующего значения кода КФП1 флагов прерывания 112. Через группу элементов ИЛИ2 110 этот код передается на вторую группу выходов 39 КММО 13. Запись командного слова в РКС 128 обусловливает установку в единичное состояние признака ППК приема команды, поступающего в блок ФПС 106. В случае приема слова данных (ПТИ=1) производится запись его в специальный буферный регистр БРД 129 и активизация сигнала ЗПД 122 запроса прямого доступа, который поступает в блок БПД 105. Этот блок организует запись содержимого буферного регистра в ячейку ОЗУ по адресу, содержащемуся в регистре текущего адреса. Если адрес ячейки совпадает с содержимым регистра конечного адреса, в регистре управления РУСП 130 регистрируется факт заполнения буферной области ОЗУ, предназначенной для приема массива слов данных. Записываемый в память код данных, в качестве кода КДП1 119 на выходе Б1ПП, передается на выводы D локальной магистрали 28 через группу элементов ИЛИ1 109 и второй буфер ввода-вывода Б2ВВ 108. С помощью управляющего признака, входящего в состав регистра РУСП 130, может быть запрещен прием посылок в Б1ПП (блок отключен от каналов обмена). Адреса регистров управления и состояния в блоках Б1ПП-Б3ПП имеют следующие значения: РУСП1 - 00100, РУСП2 - 01000, РУСП3 - 01100.

Функционирование регистра управления РУСП 130:

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 нулевой и первый разряды управляют работой мультиплексоров МП1 123, МП2 124, МП3 125. В них задается номер вычислительной машины;

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 третий разряд SL определяет «состояние линии ММО» - устанавливается в "1", если на входе SLi и на входе SYi выбранного мультиплексором входного канала одновременно находится низкий уровень входного сигнала в течение не менее чем 4 периодов частоты ТИ1. Таким образом, "0" в данном разряде устанавливается, если данная линия ММО включена, а "1" - если линия выключена;

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 четвертый разряд Off - «блок приема отключен от линии ММО», устанавливается и сбрасывается программно, "0" в разряде - работа МС 131 разрешена, "1" в разряде - работа МС 131 запрещена. Разряд Off на установку разряда SL не влияет;

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 седьмой разряд FEr - «ошибка формата», устанавливается в "1" при обнаружении МС 131 одной из следующих ситуаций:

- если за время активного (низкого) уровня SLi количество принятых по входу SYi переходов из "1" в "0" отличается от 18;

- принят неправильный бит четности;

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 восьмой разряд Eri - «ошибка приема информации», устанавливается в "1" при обнаружении МС 131 одной из следующих ситуаций:

- МС 131 распознана информационная посылка при установленном разряде Qi «буфер приема заполнен»;

- при сброшенном разряде Qi в регистр БРД 129 записана новая информация, при этом механизм ПДП не обеспечил занесение во внешнее ОЗУ предыдущей информации из БРД 129;

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 девятый разряд Ni коммутирует выдачу сигнала Qi на выход FL0 (первый сигнал второй группы выходов 39) (при Ni="0") или FL1 (второй сигнал второй группы выходов 39) (при Ni="1");

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 десятый разряд Mi - «маска прерывания» признак маскирования запроса прерывания по признаку Qi: запрос формируется, если Qi="1" и Mi="0";

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 одиннадцатый разряд Qi - «буфер приема заполнен», устанавливается в "1" по завершении приема информационной посылки, соответствующей конечному адресу внешнего ОЗУ. Логическая "1" в разряде Qi запрещает прием последовательности информационных посылок;

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 двенадцатый разряд Erc - «ошибка приема команды», устанавливается в "1", если в регистр РУСП 130 был записан код команды при установленном разряде Qc;

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 тринадцатый разряд Nc - «номер линии прерывания» номер линии запроса прерывания по признаку Qc: при нулевом значении бита запрос выдается через FL0 (первый сигнал второй группы выходов 39), при единичном - через FL1 (второй сигнал второй группы выходов 39);

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 четырнадцатый разряд Mc - «маска прерывания по команде» признак маскирования запроса прерывания по признаку Qc: запрос формируется, если Qc=1 и Мс=0;

отказоустойчивая вычислительная система с аппаратно-программной   реализацией функций отказоустойчивости и динамической реконфигурации, патент № 2455681 пятнадцатый разряд Qc - «команда принята», устанавливается в "1" по записи в регистр командного слова РКС 128 кода команды из принятой командной посылки. Наличие "1" в разряде Qc при снятой маске в разряде Мс отображается активным (низким) уровнем сигнала на выходе FL0 (первый сигнал второй группы выходов 39) (при Nc="0") или FL1 (второй сигнал второй группы выходов 39) (при Nc="1").

Из блока выдачи посылок ММО БВП 104 по первой группе выходов 32 выдаются посылки, содержащие как командные слова, так и слова данных.

Функциональная схема блока выдачи посылок ММО (104) представлена на фиг.10.

При выдаче командного слова его код предварительно записывается в адресуемый регистр РКСВ 137, а затем, в результате записи единичного значения в соответствующий бит регистра РУСВ 139, выполняется операция выдачи посылки из БВП 104. В процессе выдачи производится формирование сигналов ТХ, SY, SL в соответствии с форматом формируемых посылок на фиг.23 и преобразование содержимого регистра РКСВ 137 в последовательный код на сдвиговом регистре 142, который вместе с битом контроля, сформированным на элементах счетчик 143, дешифратор 144, элементе исключающее ИЛИ 147 и триггер 145, выдается как первый сигнал первой группы выходов. Факт завершения выдачи командного слова регистрируется в регистре РУСВ 139.

Алгоритм работы МС 148 блока выдачи посылок ММО (104) представлен на фиг.27.

Обеспечена возможность формирования по этому факту соответствующего значения кода КФВ флагов прерывания на второй группе выходов 112 блока БВП 104. Завершение выдачи командного слова влечет за собой установку в единичное состояние признака ПВК 120 (первый выход) выдачи команды, передаваемого в ФПС.

Адреса регистров управления и состояния и командного слова в блоке БВП 104 имеют следующие значения: РУСВ - 00000, РКСВ - 00001.

Функционирование регистра управления выдачи РУСВ 139:

- нулевой и первый разряды задают номер вычислительной машины;

- четвертый разряд Off - «блок выдачи отключен от линии ММО», устанавливается и сбрасывается программно, "0" в разряде - работа МС 148 разрешена, "1" в разряде - работа МС 148 запрещена. При нормальной работе информация с буферного регистра БВП 138 под управлением МС 148 поступает на первую группу выходов 32;

- восьмой разряд Ехе - «выдача информационных посылок», устанавливается в "1", инициируя выдачу последовательности информационных посылок, данные для которых берутся через механизм ПДП из последовательно расположенных ячеек внешнего ОЗУ и буферный регистр БВП 138, аппаратно обеспечен сброс бита в ноль вследствие выдачи из блока посылки с последним словом данных массива;

- девятый разряд Ni коммутирует выдачу сигнала Qi на первый выход FL0 (первый сигнал второй группы выходов 112) (при Ni="0") или второй выход FL1 (второй сигнал второй группы выходов 112) (при Ni = "1");

- десятый разряд Mi - «маска прерывания» признак маскирования запроса прерывания по признаку Qi: запрос формируется, если Qi="1" и Mi="0";

- одиннадцатый разряд Qi - «буфер приема заполнен», устанавливается в "1" по завершении приема информационной посылки, соответствующей конечному адресу внешнего ОЗУ. Логическая "1" в разряде Qi запрещает прием последовательности информационных посылок;

- двенадцатый разряд Start - «выдать команду», устанавливается в "1", если необходимо выдать из блока посылки, содержащей командное слово (содержимое регистра РКСВ 137);

- тринадцатый разряд Nc - «номер линии прерывания» номер линии запроса прерывания по признаку Qc: при нулевом значении бита запрос выдается через FL0 (первый сигнал второй группы выходов 112) или второй выход FL1 (второй сигнал второй группы выходов 112);

- четырнадцатый разряд Mc - «маска прерывания по команде» признак маскирования запроса прерывания по признаку Qc: запрос формируется, если Qc=1 и Mc=0;

- пятнадцатый разряд Qc - «команда выдана», устанавливается в "1" вследствие выдачи из блока посылки, содержащей командное слово.

Работа при выполнении операций прямого доступа осуществляется в соответствии с функциональной схемой блока управления прямым доступом (БПД) 105, представленной на фиг.11. Активизация сигналов ЗПД1-ЗПД3 запроса прямого доступа к памяти (пятая группа входов 122) со стороны блоков прямого доступа Б1ПП-Б3ПП (101-103) влечет за собой выполнение одной или нескольких операций записи кодов данных в ОЗУ. На фиг.28 представлена временная диаграмма операции записи (и чтения) в ОЗУ, которая соответствует случаю наличия запросов одновременно от двух блоков. Операция начинается с формирования низкого уровня сигнала на первом выходе HOLD (локальная магистраль 28). Переход в ноль сигнала на входе HLDA (первый сигнал первой группы входов локальной магистрали 28) свидетельствует о разрешении выполнения операции доступа, вследствие чего на выходах А1-А12 (вторая группа выходов 116, первая группа выходов локальной магистрали 28) устанавливается код адреса, соответствующий одному из блоков приема. Выдача сигналов на входы-выходы А1-А5 (локальная магистраль 28) производится буфером Б1ВВ 107 под управлением сигнала УВА (третья группа выходов 121). В блок приема из БПД 105 подается сигнал разрешения выдачи записываемого кода данных, которые через группу элементов ИЛИ1 109 и буфер 108 передаются на двунаправленную шину данных D локальной магистрали 28. С помощью сигнала УВД осуществляется управление передачей кода данных с выхода группы элементов ИЛИ1 109 через Б2ВВ 108. Выдаваемый сигнал nWR (локальная магистраль 28) обеспечивает запись кода данных в заданную ячейку памяти.

Через определенный интервал времени операция записи повторяется для кода данных, передаваемого из второго блока приема в память.

На фиг.28 представлена временная диаграмма операции чтения кода данных из ОЗУ в буферный регистр блока БВП 104. Операция является следствием подачи в блок БПД 105 сигнала ЗПД0 и начинается так же, как операция записи, в части изменения состояний сигналов HOLD, HLDA и выдачи кода адреса на первую 28 и вторую 116 группы выходов А1-А12. Переход в состояние низкого уровня сигнала nRD (вход-выход локальной магистрали 28) формирует подачу на шину D (локальной магистрали 28) кода данных, который через буфер Б2ВВ 108 передается в шину ШПД принимаемых данных, а затем в блок БВП 104.

Блок БПД 105 содержит регистры текущего адреса при обращении к ОЗУ в режиме прямого доступа:

- РТАВ 155 - используется при обращениях со стороны блока БВП 104;

- РТАП1 149 - используется при обращениях со стороны блока Б1ПП 101;

- РТАП2 150 - используется при обращениях со стороны блока Б2ПП 102;

- РТАП3 151 - используется при обращениях со стороны блока Б3ПП 103.

Адреса регистров:

- РТАВ 155 - 00010;

- РТАП1 149 - 00110;

- РТАП2 150 - 01010;

- РТАП3 151 - 01110.

Значения кодов текущих адресов, хранящихся на счетчиках СТА БВП 160, СТА Б1ПП 157, СТА Б2ПП 158, СТА Б3ПП 159, увеличиваются на единицу после каждого их использования для обращения к ОЗУ. Биты 2-13 регистра доступны программно по чтению и записи.

Блок БПД 105 содержит регистры конечного адреса при обращении к ОЗУ в режиме прямого доступа:

- РКАВ 156 - используется при обращениях со стороны блока БВП 104;

- РКАП1 152 - используется при обращениях со стороны блока Б1ПП 101;

- РКАП2 153 - используется при обращениях со стороны блока Б2ПП 102;

- РКАП3 154 - используется при обращениях со стороны блока Б3ПП 103.

Адреса регистров:

- РКАВ 156 - 00011;

- РКАП1 152 - 00111;

- РКАП2 153 - 01011;

- РКАП3 154 - 01111.

Биты 0, 1, 14, 15 регистра не используются.

Алгоритм работы МС 165 блока БПД (105) представлен на фиг.29.

Взаимная синхронизация вычислительных процессов, реализуемых ВМ, осуществляется с помощью блока ФПС 106 на основе признаков ПВК, ППК1-ППК3, которые отражают факты восприятия командных посылок и соответствующих им управляющих признаков Off0-Off3, которые входят в состав адресуемого регистра РУСС 186.

Функциональная схема формирователя признака синхронизации представлена на фиг.15.

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

Алгоритм работы МС 190 блока ФПС 106 представлен на фиг.30.

При одномашинной синхронизации ОПС отражает состояние участвующего в синхронизации признака. При двухмашинной синхронизации ОПС устанавливается в единицу, если временной интервал между установкой единичного состояния участвующих в синхронизации признаков не превышает продолжительности ожидания синхронизации, заданной в регистре РПОС 187. В противном случае по завершении ожидания синхронизации устанавливается в единицу ОПС и регистрируется ошибка синхронизации. При трехмашинной синхронизации ОПС устанавливается в единицу, если временной интервал между фиксацией установки единичного состояния двух участвующих в синхронизации признаков и установкой единичного состояния третьего не превышает продолжительности ожидания синхронизации. В противном случае по завершении ожидания синхронизации устанавливается в единицу ОПС и регистрируется ошибка синхронизации. Переход ОПС в единичное состояние обеспечивает начало отсчета продолжительности синхронизации с помощью счетчика времени, доступ к которому осуществляется через адресуемый регистр РПС 188. Обеспечена возможность формирования по факту установки ОПС соответствующего значения кода КФС 112 (первая группа выходов) флагов прерывания. Если зарегистрирована ошибка синхронизации, то на выходе ОшС 29 устанавливается высокий уровень сигнала.

Формат регистра управления и состояния РУСС 186 блока ФПС (106) представлен на фиг.31. Адрес РУСС 186 - 10010.

Функционирование регистра управления и состояния РУСС 186:

- нулевой разряд F10 (ПВК) - признак, который отображает состояние признака Qc, входящего в состав регистра РУСВ 139;

- первый разряд Off0 - управляющий признак, с помощью которого задается участие признака F10 (ПВК) в формировании ОПС (Q);

- второй разряд F11 (ППК1) - признак, который отображает состояние признака Qc, входящего в состав регистра РУСП1;

- третий разряд Off1 - управляющий признак, с помощью которого задается участие признака F11 (ППК1) в формировании ОПС (Q);

- четвертый разряд F12 (ППК2) - признак, который отображает состояние признака Qc, входящего в состав регистра РУСП2;

- пятый разряд Off2 - управляющий признак, с помощью которого задается участие признака F12 (ППК2) в формировании ОПС (Q);

- шестой разряд F13 (ППК3) - признак, который отображает состояние признака Qc, входящего в состав регистра РУСПЗ;

- седьмой разряд Off3 - управляющий признак, с помощью которого задается участие признака F13 (ППК3) в формировании ОПС (Q);

- одиннадцатый разряд MEr - признак маскирования передачи на выход ОшС 29 состояния признака Еr: высокий уровень сигнала на этом выходе имеет место, если Er=1 и MEr=0;

- двенадцатый разряд Er - признак ошибки синхронизации;

- тринадцатый разряд N - номер линии запроса прерывания по признаку Q: при нулевом значении бита запрос выдается как первый сигнал первой группы выходов 112 или второй сигнал первой группы выходов 112;

- четырнадцатый разряд М - признак маскирования запроса прерывания по признаку Q: запрос формируется, если Q=1 и М=0;

- пятнадцатый разряд Q (ОПС) - обобщенный признак синхронизации.

Формат регистра продолжительности ожидания синхронизации РПОС 187 блока ФПС (106) представлен на фиг.32. Адрес РПОС 187 - 10001.

С помощью двоичного кода продолжительности ожидания (КПО) задается целочисленное значение продолжительности ожидания То, которое кратно Tic и находится в интервале от Tic до 256 Tic. Кодируемое значение продолжительности ожидания Ток определяется в соответствии с выражением

Ток=То/Tic-1.

Формат регистра продолжительности синхронизации РПС 188 блока ФПС 106 представлен на фиг.33. Адрес РПС 188 - 10000.

Счетчик времени начинает работу вследствие перехода в единичное состояние ОПС, его работа прекращается после перехода старшего разряда из единичного состояния в нулевое, что сопровождается установкой в единицу 15 бита регистра.

Синхронизацию работы программного обеспечения (ПО) отдельных ВМ и необходимое согласование данных проводит бортовая операционная система (БОС) в ключевые моменты вычислительного процесса, называемые точками синхронизации.

БОС обеспечивает:

- согласованное ведение системного времени в разных ВМ;

- согласованный запуск задач (в каждой ВМ в текущий момент времени выполняется одна и та же задача);

- согласованное проведение обменов по МКО;

- согласованное маскирование и размаскирование прерываний от бортовой аппаратуры.

В согласовании перечисленных данных программы специального программного обеспечения (СПО) не участвуют.

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

Точки синхронизации однозначно определяются своими идентификаторами, которые для программ СПО могут принимать значения от 0 до 63. Разным точкам синхронизации должны быть присвоены разные идентификаторы. Для получения результата синхронизации используется описатель состояния синхронизации, указатель на который должен быть задан при использовании функции synchlnf().

При успешном проведении синхронизации и согласования данных функция synchlnf() возвращает значение исходного состояния "ОK".

При обнаружении ошибки в параметрах функции возвращается "ERROR". При этом формируется массив контрольной информации (МКИ) с соответствующим типом ошибки. Если обнаружены ошибки при синхронизации, то возвращается вектор ошибок синхронизации.

Результат синхронизации и согласования данных сформирован в описателе состояния синхронизации, указатель на который был задан в вызове функции synchlnf(). Задача СПО, проанализировав код возврата, сформированный МКИ и описатель состояния синхронизации, принимает решение о возможных дальнейших действиях.

Для всех точек синхронизации сначала проводится собственно синхронизация, т.е. установление того факта, что все ВМ находятся в одной и той же точке. Если это так, то проводится согласование необходимых данных. Иначе, делается несколько попыток синхронизации, т.к. вследствие неполной синхронности работы ВМ может возникнуть такая ситуация, когда разные ВМ придут к разным точкам синхронизации.

Согласование системного времени проводится периодически каждую секунду. Производится отдельное согласование по разным алгоритмам секундной составляющей времени (Ts) и микросекундной составляющей (Tmks).

Согласование Ts в трехмашинной конфигурации производится мажоритированием значений Ts, полученных от разных ВМ.

В двухмашинной конфигурации в качестве правильного выбирается значение Ts из ВМ с минимальным или максимальным номером (в соответствии с заранее установленным соглашением). Согласование Tmks трехмашинной конфигурации производится выбором среднего медианного значения: из трех значений t0<t1<t2 выбирается t1.

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

После согласования во всех ВМ устанавливаются одинаковые значения Ts и Tmks.

Согласование значения времени производится также при чтении и изменении значения времени по запросу СПО.

При чтении времени программе СПО выдается согласованное (одинаковое) значение времени во всех ВМ.

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

Для этого производится синхронизация ВМ при выполнении всех функций:

- создания задачи;

- приостановки;

- возобновления и перезапуска;

- удаления и завершения задачи.

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

При запуске задачи на исполнение также согласовывается значение идентификатора запускаемой задачи.

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

Задача СПО, инициировавшая проведение обмена, получит одинаковые результаты во всех ВМ. Назначение ВМ_вдщ на МКО производит БОС при инициализации: в качестве ВМ_вдщ выбирается ВМ с минимальным номером. Программы СПО могут изменить номер ВМ_вдщ.

Источники информации

1. Патент USA № 6141769 714/10, 714/11, 714/E11.061, G06F 11/00, 1997 г.

2. ТИИЭР, т.66, 10, № 10, октябрь 1978. Design and Analysis of a Fault - Tolerant Computer for Aircraft Control. JOHN H. WENSLEY, LESLIE LAMPORT.

3. IBM J. RES. DEVELOP. Redundancy Management Technique for Space Shuttle Computers J.R.Sklaroff.

4. Автоматика и телемеханика. 2003. № 6, стр.175-186. Взаимное информационное согласование с обнаружением и идентификацией враждебных неисправностей в неполносвязных многомашинных системах. Лобанов А.В.

Класс G06F11/20 с использованием маскирования сбоев с помощью замещения, например выключения сбойных элементов или переключения на резервные элементы

резервированная многоканальная вычислительная система -  патент 2527191 (27.08.2014)
автоматизированная система управления боевого корабля с повышенной живучестью -  патент 2510961 (10.04.2014)
система автоматизации и способ управления системой автоматизации -  патент 2510932 (10.04.2014)
распределенное хранение восстанавливаемых данных -  патент 2501072 (10.12.2013)
способ и устройство защиты данных -  патент 2488876 (27.07.2013)
устройство резервирования -  патент 2481619 (10.05.2013)
резервированная двухпроцессорная вычислительная система -  патент 2460121 (27.08.2012)
устройство для контроля и резервирования информационной системы -  патент 2453079 (10.06.2012)
способ автоматического прерывания задач, находящихся в цикличности -  патент 2438170 (27.12.2011)
способ резервирования полупроводниковых объектов, работающих под действием ионизирующего излучения -  патент 2413281 (27.02.2011)
Наверх