САМООРГАНИЗУЮЩАЯСЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА
SELF-ORGANISING COMPUTER SYSTEM

Изобретение относится к вычислительной технике и может быть использовано для создания вычислительных систем, к которым предъявляются повышенные требования по надежности при длительной работе в неблагоприятных внешних условиях (механические, электромагнитные и ионизирующие воздействия). В результате воздействия ионизирующих излучений или температуры наблюдается деградация параметров микросхем средней и большой степени интеграции (СИС и БИС), приводящая к изменению (в основном - снижению) быстродействия, что особенно характерно для микросхем, изготавливаемых по КМОП технологии.
В настоящее время КМОП БИС является основой для создания бортовых вычислительных систем - основного звена бортовых систем управления объектами ракетно-космической техники.
Снижение быстродействия микросхем из-за деградации параметров приводит к неработоспособности вычислителей и системы управления в целом.
В то же время работоспособность вычислительных систем может быть сохранена снижением тактовой частоты работы компонентов, поскольку отсутствуют катастрофические отказы микросхем.
Для ряда систем космического назначения возможно также воздействие мощных электромагнитных импульсных излучений (включая ионизирующие), вызванных вспышками на Солнце или авариями аппаратов и объектов с атомными энергетическими установками. Такие воздействия приводят к кратковременному нарушению работоспособности бортовых вычислителей и требуется проведение процедур восстановления вычислительного процесса при обнаружении такого воздействия или сбоя вычислительного процесса.
Для восстановления вычислений в системе должны быть предусмотрены соответствующие средства и режимы, обеспечивающие ее самовосстановление (самоорганизацию), т.е. приспособление перестройкой структуры и состава задач к возникающим внешним условиям и внутреннему состоянию компонентов системы.
Кроме того, в процессе эксплуатации систем дрейф параметров микросхем в ряде случаев может приводить к возрастанию их быстродействия. Построение систем формирования синхроимпульсов для цифровых узлов в известных системах на основе жестко фиксированной частоты задающих генераторов приводит:
- в первом случае к преждевременному отказу систем управления из-за невозможности выполнить весь необходимый объем задач;
- во втором случае приводит к недоиспользованию потенциально возможного быстродействия. Все это снижает эффективность использования имеющихся аппаратурных ресурсов.
Возникает задача сохранения работоспособности вычислительных систем при возникновении отказов комплектующих СИС и БИС как катастрофического, так и параметрического характера, а также обеспечения максимально полного использования имеющихся аппаратурных ресурсов. Для решения этих задач в вычислительные системы необходимо ввести аппаратно-программные средства, обеспечивающие приспособление (самоорганизацию) системы к изменению параметров комплектующих элементов.
Известна трехканальная вычислительная система (АС №1156273), содержащая в каждом канале внешнее устройство и вычислительное устройство, информационный выход которого подключен к первому входу первого мажоритарного элемента и к первому входу первого элемента сравнения всех каналов. Второй вход первого элемента сравнения соединен с выходом первого мажоритарного элемента и с входом внешнего устройства, выход которого подключен к первому информационному входу второго мажоритарного элемента всех каналов. Второй и третий информационные входы этого элемента соединены соответственно со вторым и третьим информационными входами вторых мажоритарных элементов других каналов и с выходами внешних устройств соответственно.
Выход второго мажоритарного элемента подключен к первому входу второго элемента сравнения и к первому входу вычислительного устройства. Второй вход второго элемента сравнения соединен с первым входом второго мажоритарного элемента, а выход с выводом связи. В каждом канале содержится также регистр номера канала, четыре блока анализа, группа элементов И, контрольный регистр и элемент ИЛИ, выход которою подключен ко входу прерывания вычислительного устройства. Первый вход контрольного регистра соединен с выходом последовательной передачи информации вычислительного устройства. Входы контрольного регистра соединены с выходами группы элементов И. Вторые выходы соединены со входами элемента ИЛИ. Кроме того, каждый канал содержит элемент НЕ, а каждый блок анализа выполнен в виде дешифратора, связанного входами с выходами элементов сравнения. Это известное устройство благодаря установке мажоритарных элементов в выходных информационных шинах вычислителей обеспечивает нейтрализацию неисправности, возникающей в одном из каналов, при правильной работе двух других каналов. Кроме того благодаря введению схем сравнения, подключенных к связям с внешними устройствами, обеспечивается обнаружение неправильной работы одного из каналов по отличию его информации от двух других, что позволяет диагностировать отказы путем анализа состояний контрольного регистра вычислительным устройством. Эти свойства являются достаточно важными. Особенно важным является нейтрализация неисправности в одном из каналов вычислительного устройства. В то же время после возникновения неисправности в одном из каналов надежность дальнейшей работы системы резко снижаемся, так как возникновение неисправности в любом из двух оставшихся исправными каналов приводит к полной неработоспособности системы. Это происходит потому, что интенсивность отказа в двух каналах в два раза больше, чем у одноканального вычислителя.
Целесообразно максимально полно использовать имеющуюся избыточность в виде двух дополнительно введенных каналов для сохранения работоспособности системы после возникновения второй неисправности, а также восстановления вычислительного процесса при сбое из-за действия импульсных излучений. Задача сохранения работоспособности системы при возникновении двух неисправностей в системе частично решена в резервированном вычислительном устройстве (АС №1200292). В данном устройстве для повышения надежности между блоками памяти и процессора введен коммутатор, переключающий блоки но сигналам встроенных устройств оперативного контроля. Общим недостатком известных вычислительных устройств является то, что как для работы схем мажоритации, так и для работы коммутатора, переключающего блоки в процессе работы, требуется синхронная и синфазная работа узлов всех каналов устройства. Синхронность обеспечивается наличием единого генератора синхроимпульсов. При такой реализации резервирования отказ этого генератора приводит к отказу системы в целом. Кроме того, наличие рассогласования времен одноименных сигналов разных каналов резервированного устройства требует снижение быстродействия с целью учета межканальных рассогласований, вызванных отличиями задержек элементов разных каналов.
Более того в процессе работы в блоках вычислительного устройства под влиянием температуры и особенно из-за воздействия внешнего ионизирующею излучения, например космического пространства, происходит деградация параметров элементной фазы, учесть которую при проектировании невозможно. В известных устройствах отсутствует также возможность восстановления вычислительного процесса при сбое из-за внешних воздействий.
С целью устранения отмеченных недостатков в части критичности отказа единого генератора синхроимпульсов, а также обеспечения максимально возможного быстродействия вычислительного устройства на каждом интервале времени работы в основном режиме и обеспечения восстановления вычислительного процесса при сбое предлагается самоорганизующаяся вычислительная система, содержащая несколько (К) процессоров (ПР) со своими запоминающими устройствами (ЗУ) и несколько (М) модулей связи (МС) для обмена с периферийными подсистемами. Входы-выходы модулей связи являются входами-выходами системы. В системе установлен модуль системного запоминающего устройства (СЗУ). Запоминающие устройства процессоров подключены к собственной магистрали восстановления. Для организации взаимодействия все модули подключены к трехканальной общесистемной магистрали (ОСМ), для управления которой, а также в данной системе все модули работают независимо друг от друга, на собственных частотах синхроимпульсов.
На фиг.1 изображен состав предлагаемой системы, где цифрами от 2-1 до 2-к обозначены процессоры от ПР №1 до ПР № К соответственно, цифрами от 3-1 до 3-К обозначены ЗУ, цифрами от 4-1 до 4-М обозначены модули связи от МС №1 до № М соответственно.
Для контроля работы вычислительных модулей и модулей связи введен центральный - системный модуль (СМ), обозначенный цифрой 1. Системный модуль также подключен к общей магистрали и имеет управляющий вход от системы верхнего уровня, например командной радиолинии. Цифрой 5 обозначен модуль общесистемного запоминающего устройства (СЗУ). Цифрой 6 обозначен формирователь сигналов, цифрой 7 обозначен датчик внешнего влэдействия, подключенный выходом к формирователю сигналов. Выход блокировки формирователя подключен к блокирующим входам запоминающих устройств, а выход обнуления/пуска подключен к одноименным входам процессоров. Установочным входом формирователь подключен к шине общесистемной магистрали.
На фиг.2 изображена структура системного модуля.
Системный модуль содержит три идентичных процессора, обозначенных цифрами 21-1, 21-2 и 21-3, три местных запоминающих устройства (МЗУ), каждое из которых может содержать как оперативное запоминающее устройство (ОЗУ), так и постоянное запоминающее устройство (ПЗУ). МЗУ обозначены цифрами 22-1, 22-2 и 22-3. Кроме того СМ содержит резервированный формирователь синхроимпульсов, обозначенный цифрой 23, три блока связи с магистралью (БСМ), обозначенные цифрами 24-1, 24-2 и 24-3, первый и второй мажоритарные элементы, обозначенные цифрами 25 и 26 соответственно. Управляющий вход формирователя является одноименным входом модуля, а три частотных выхода являются выходами модуля.
Первая группа выходов резервированного формирователя синхроимпульсов подключена к синхронизирующим входам процессоров, а вторая группа выходов формирователя подключена к синхронизирующим входам блоков связи с магистралью, двунаправленные входы-выходы которых являются входами-выходами системного модуля.
Первый выход первого процессора подключен к первому входу первой группы входов первых мажоритарных элементов. У этих элементов первый выход второй группы выходов подключен к входу первого местного запоминающего устройства, выход которого подключен к первому входу второй группы входов первых мажоритарных элементов.
Первый выход первой группы выходов этих элементов подключен к первому входу первого микропроцессора, второй выход которого подключен к первому входу первой группы входов вторых мажоритарных элементов, у которых первый выход второй группы выходов подключен к входу первого блока связи с магистралью, выход которого подключен к первому входу второй группы входов вторых мажоритарных элементов.
Первый выход первой группы выходов этих элементов подключен к второму входу первого микропроцессора. Двунаправленный вход-выход первого блока связи с магистралью является первым двунаправленным входом-выходом системного модуля.
Первый выход второго микропроцессора подключен к второму входу первой группы входов первых мажоритарных элементов. У этих элементов второй выход второй группы выходов подключен к входу второго местного запоминающего устройства, выход которого подключен к второму входу второй группы входов первых мажоритарных элементов. Второй выход первой группы выходов этих элементов подключен к первому входу второго микропроцессора, у которого второй выход подключен к второму входу первой группы входов вторых мажоритарных элементов, у которых второй выход второй группы выходов подключен ко входу второго блока связи с магистралью, выход которого подключен ко второму входу второй группы входов вторых мажоритарных элементов. Второй выход первой группы выходов вторых мажоритарных элементов подключен к второму входу второго микропроцессора. Двунаправленный вход-выход второго блока связи с магистралью является вторым входом-выходом системного модуля.
Первый выход третьего микропроцессора подключен к третьему входу первой группы входов первых мажоритарных элементов, у которых третий выход второй группы выходов подключен к входу третьего местного запоминающего устройства, выход которого подключен к третьему входу второй группы входов первых мажоритарных элементов, у которых третий выход первой группы выходов подключен к первому входу третьего микропроцессора, второй выход которого подключен к третьему входу первой группы входов вторых мажоритарных элементов. Третий выход второй группы выходов этих элементов подключен ко входу третьего блока связи с магистралью, выход которого подключен к третьему входу второй группы входов вторых мажоритарных элементов, у которых третий выход первой группы выходов подключен к второму входу третьего микропроцессора. Двунаправленный вход-выход третьего блока связи с магистралью является третьим входом-выходом системного модуля.
На фигуре 3 приведена структура процессора, который содержит арифметико-логическое устройство (АЛУ) 31, локальное запоминающее устройство (ЛЗУ) 32, формирователь синхроимпульсов (ФСИ) 33 и магистральный блок связи с (МБС) 34, входы-выходы которого являются входами-выходами процессора, подключенными к общесистемной магистрали. Вход-выход АЛУ подключен к МБС и ЛЗУ, выход которого подключен к входам АЛУ и МБС, управляющий выход которого подключен к одноименному входу ФСИ, первая группа выходов которого подключена к АЛУ, а вторая - к МБС.
Двунаправленный вход-выход ЛЗУ являются одноименным входом-выходом процессора для выхода в магистраль запоминающих устройств.
На фиг.4 изображена структурная схема модуля связи, где цифрой 41 обозначен микропроцессор (МП), цифрой 42 - сверхоперативное запоминающее устройство (СЗУ), цифрой 43 обозначен формирователь синхроимпульсов (ФСИ), цифрой 44 - устройство обмена по общесистемной магистрали (УОМ), цифрой 45 обозначено кодирующее-декодирующее устройство (кодек), а цифрой 46 обозначено приемно-передающее устройство (ППУ) мультиплексного канала обмена.
В модуле связи первый вход-выход микропроцессора подключен к УОМ и СЗУ, выход которого подключен к входу микропроцессора и входу УОМ, управляющий выход которого подключен к соответствующему входу формирователя синхроимпульсов. У формирователя первая группа выходов подключена к синхронизирующим входам УОМ, а вторая группа выходов подключена к синхронизирующим входам микропроцессора, второй вход-выход которого подключен к первому входу-выходу кодека, второй вход-выход которого подключен к входу-выходу ППУ. Магистральные входы-выходы ППУ являются магистральными входами/выходами модуля связи.
На фиг.5 изображена структурная схема резервированного формирователя синхроимпульсов. Формирователь содержит три задающих генератора, обозначенных цифрами 51-1, 51-2 и 51-3, а также три узла формирования синхроимпульсов, обозначенных цифрами 52-1, 52-2 и 52-3. При этом выход каждого задающего генератора подключен к входу соответствующего узла формирования синхроимпульсов и является выходом формирователя. Группа выходов каждого из узлов является выходами формирователя. Фазирующий выход каждого из узлов формирования подключен к фазирующим входам двух других узлов формирования.
На фиг.6 изображена схема задающего генератора.
Генератор содержит n последовательно соединенных инверторов, обозначенных цифрами от 61-1 до 61-n соответственно. При этом выходы всех инверторов подключены к входам мультиплексора, обозначенного цифрой 62, управляющий вход которого является одноименным входом генератора, а выход подключен к входу первого инвертора 61-1 и входу буферного усилителя 63, выход которого является выходом генератора. Наличие управляемого кодом мультиплексора позволяет менять количество включаемых в кольцо инверторов и соответственно генерируемую частоту.
На фиг.7 приведена структура формирователя синхроимпульсов процессора и модуля связи. Цифрами 71-1 и 71-2 обозначены первая и вторая секции сдвигового регистра, выходы которых являются соответственно первой и второй группой выходов формирователя. Вход сдвига первой секции является входом формирователя, подключенным к задающему генератору. Выход сдвига первой секции подключен к первому входу элемента И 73, выход которого подключен к входу второй секции, а второй вход элемента является управляющим входом формирователя.
На фиг.8 изображена структура узла формирования резервированного формирователя синхроимпульсов.
Узел формирования содержит элемент И, обозначенный цифрой 81. Его выход подключен к сдвиговому регистру 82, цифрой 83 обозначен триггер останова, цифрой 84 обозначен дешифратор, n триггеров-формирователей обозначены цифрами от 85-1 до 85-n соответственно, триггер пуска обозначен цифрой 86, первый и второй триггеры привязки обозначены цифрами 87-1 и 87-2 соответственно. Их выходы подключены к второму и третьему входам мажоритарного элемента, обозначенного цифрой 88. Первый вход элемента И является входом узла формирования, подключенного к задающему генератору. Выход элемента И подключен к входу сдвигового регистра, выходы четных и нечетных триггеров которого подключены соответственно к запускающим и сбрасывающим входам триггеров-формирователей. Информационные входы триггеров привязки являются фазирующими входами узла формирования, а синхронизирующие входы этих триггеров подключены к соответствующим выходам триггеров-формирователей. Выход мажоритарного элемента подключен к сигнальному входу триггера пуска 86, стробирующий вход которого подключен к выходу одного из триггеров формирователей. Выход триггера пуска подключен к сбрасывающему входу триггера останова, запускающий вход которого подключен к выходу дешифратора, входы которого подключены к выходам сдвигового регистра. При этом выход триггера останова подключен ко второму входу элемента И и первому входу мажоритарного элемента.
На фигуре 7-1 приведена схема датчика внешнего ионизирующего воздействия. Датчик реализован на основе блокинг-генератора, у которого к базе транзистора дополнительно подключен обратносмещенный диод. Ионизирующее воздействие приводит к возникновению носителей заряда в базе транзистора, а появление проводимости диода добавляет носителей. В результате этого транзистор открывается и формируется сигнал.
На фигуре 7-2 приведена схема датчика внешнего электромагнитного воздействия.
Схема данного датчика реализована также на основе блокинг-генератора с тем отличием, что вместо диода к базе транзистора подключена резонансная антенна, наведение сигнала в которой также приводит к открытию транзистора и формированию сигнала.
На фигуре 9 приведена структура формирователя сигналов.
Формирователь содержит кварцевый задающий генератор 91, подключенный выходом к первому входу первого элемента И 92. Выход элемента подключен к входу счетчика 94. Счетчик реализован на динамических триггерах с повышенной устойчивостью к внешним воздействиям. Выходы счетчика подключены к первому 95-1 и второму 95-2 дешифраторам. Выход первого дешифратора является выходом обнуления/пуска формирователя. Выход второго дешифратора подключен к сбрасывающему входу первого триггера 96, выход которого подключен к первому входу второго элемента И 99, второй вход которого объединен с запускающими входами первого и второго триггеров 93. Выход второго триггера подключен к второму входу первого элемента И.
Выход второго элемента И является блокирующим выходом формирователя, а запрещающий вход элемента подключен к выходу третьего дешифратора 98, подключенного входами к регистру управления 97, вход которого является управляющим входом формирователя.
Счетчик реализован на динамических триггерах, схема этого триггера приведена на фигуре 10. Триггер обладает с повышенной помехоустойчивостью благодаря установке на входе транзисторного усилителя LC цепи, являющейся, по сути, элементом хранения информации в магнитном поле индуктивности. Для изменения состояния этой цепи требуется значительная энергетика, которой нет у поля, прошедшего экраны, образованные корпусами приборного отсека и приборов. Проникающее ионизирующее излучение по своей природе не способно изменить магнитное поле индуктивности. Схема динамического триггера приведена на фиг.9. Вся логика счетчика реализована на диодно-резисторной схеме, что также обеспечивает высокий уровень устойчивости к внешним излучениям.
Вычислительная система работает следующим образом:
После включения питания системный модуль инициирует вычислительные модули и модули связи посылкой по общесистемной магистрали командной информации, содержащей указатель адресов программ, подлежащих исполнению. Получив эту информацию, процессоры приступают к решению функциональных задач. Процессоры, по мере необходимости выставляя сигнал прерывания, обращаются к системному модулю с запросом разрешения межмодульного обмена. СМ по своей программе определяет приоритетность и очередность межмодульного обмена, после чего посылает в процессор, принимающий данные, команду на прием, а в процессор, выдающий данные, посылает команду на передачу. Посылка последней команды, содержащей адресные указатели массивов и количество слов в массиве, является командой начала обмена. Получив последнюю команду, процессоры начинают автономный обмен данными без участия СМ. После завершения обмена принимающий процессор посредством формирования сигнала прерывания информирует СМ об окончании обмена, формируя при этом в фиксированном адресе своего ОЗУ информацию о результатах обмена. В случае обнаружения ошибок при передаче данных, например, с помощью проверки контрольных сумм данных массива СМ дает команду на повторение обмена.
Для обеспечения нейтрализации отказов, возникающих в процессорах и их ЗУ в процессе решения функциональных задач, СМ при начальной инициализации может назначить несколько (например, три процессора) на решение одной и той же задачи в режиме резервного счета. По окончании решения задачи каждый из процессоров формирует в фиксированных адресах своего ОЗУ результирующий массив данных и просчитывает его контрольную сумму, которую записывает в фиксированный адрес памяти. Системный модуль после опроса контрольных сумм результатов расчета задачи разными процессорами сравнивает их и по результатам сравнения определяет возможный отказ в одном из процессоров или его ЗУ. При обнаружении ошибки в работе одного процессора проводится процедура восстановления его работоспособности.
Эта процедура заключается в следующем:
СМ дает команду на передачу информации из памяти одного из исправных процессоров в память того, у которого обнаружены отличия в результатах расчетов. После такой процедуры происходит восстановление правильной работы процессора, если отказ носил кратковременный характер (так называемый сбой). Если отказ в этом модуле повторяется в случае возникновения постоянной неисправности, то данный модуль бракуется и далее не назначается на решение функциональных задач, к решению которых подключаются только полностью исправные модули. Наличие отдельной магистрали, к которой подключены ЗУ, обеспечивает быструю передачу данных для восстановления. Такое построение системы позволяет гибко перераспределять имеющиеся вычислительные ресурсы между повышением производительности или надежности, назначая процессоры или на параллельное решение разных функциональных задач или переводя их в режим резервного счета одной и той же задачи. Для контроля исправности модулей как процессоров, так и они периодически переводится на решение задач тестовых проверок с заранее известным результатом. По результатам этих проверок СМ посылкой по магистрали может изменять быстродействие функциональных модулей, перестраивая тактовую частоту их формирователей синхроимпульсов. Периодические проверки работоспособности модулей с перестройкой их быстродействия максимизируют эффективность работы вычислительной системы и СУ в целом. В процессе работы процессоры в каждом цикле работы формируют рестартовые массивы для организации повторных вычислений при обнаружении внешнего воздействия. Эти массивы с их контрольными суммами записываются в собственные ЗУ. Обращение к ЗУ постоянно блокировано сигналом, поступающим из формирователя интервалов. Для обеспечения записи в ЗУ в определенные интервалы цикла решения СМ посылает в регистр 97 формирователя сигналов кодовую посылку для разблокировки, которая после прохождения дешифратора 84, воздействуя на запрещающий вход элемента И 99, снимает сигнал блокировки. После завершения работы процессоров с ЗУ, а также проведения режима восстановления информации сбившегося процессора СМ новой посылкой другого кода снимает запрет блокировки и ЗУ переходят вновь в режим запрета случайных (сбойных) обращений. Если в процессе работы появляется внешнее воздействие, схема сброса формирует сигнал в формирователь интервалов, который вырабатывает сигнал блокировки запоминающих устройств процессоров, запрещающий несанкционированное обращение к ним. Одновременно формируется сигнал обнуления процессоров нормированной длительности, которая учитывается в расчетах реального времени. После окончания этого сигнала процессора переходят к продолжению вычислений, используя для восстановления информацию, сохраненную в блокированной памяти, предварительно выбрав правильный массив по контрольной сумме. Такое построение системы обеспечивает восстановление сбившихся процессоров при импульсном воздействии. Кроме того, обеспечивается подстройка частоты формирования синхроимпульсов под фактическое быстродействие вычислительных узлов. Все это обеспечивает повышенную устойчивость системы не только к одиночным катастрофическим отказам, но и к сбоям от импульсных воздействий, а также к параметрическим отказам элементов, вызванным дозовыми факторами.