СПОСОБ ФОРМИРОВАНИЯ ОТКАЗОУСТОЙЧИВОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ И ОТКАЗОУСТОЙЧИВАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА
METHOD TO FORM FAULT-TOLERANT COMPUTING SYSTEM AND FAULT-TOLERANT COMPUTING SYSTEM

Изобретение относится к вычислительной технике и может быть использовано для построения высоконадежных отказоустойчивых бортовых управляющих комплексов в космической, авиационной, ядерной, химической, энергетической и других отраслях, требующих высокой достоверности работы вычислительного комплекса и устойчивости к действию ионизационных и радиационных излучений, сбоям и отказам аппаратуры.
Известен способ обеспечения отказоустойчивости вычислительных систем [1], основанный на использовании сигналов от детекторов сбоев, входящих в состав каждого из резервированных каналов, для блокировки неисправных каналов. Для маскирования сбоев применяют независимую одновременную работу N каналов, число которых на единицу больше кратности маскируемых сбоев. Выходы каналов подают на общий выход, и по сигналам, полученным от детекторов сбоев, входящих в состав каждого канала, производят блокировку прохождения сигналов от сбойных каналов и пропускают на выход тот из сигналов от исправных каналов, который приходит первым во времени.
Недостатком известного способа является то, что он применим для сравнительно простых каналов и при их аппаратурной реализации схемами, малой и средней степени интеграции.
Для достаточно сложных каналов, содержащих в качестве составных частей компьютеры и чипы высокой степени интеграции, введение дополнительных схем проверки, охватывающих контролем всю аппаратуру канала, практически невозможно. Причина этого - необходимость доступности многих внутренних точек микросхем канала. Только в этом случае контроль правильной работы мог бы иметь более-менее приемлемую достоверность. С другой стороны нельзя рассчитывать, что полный встроенный контроль окажется более простым, чем дублирование каналов со сравнением. Поэтому предлагаемый способ обеспечения отказоустойчивости реально применим для каналов, построенных на линейных цепях, таких как буферы, регистры, регистры сдвига, буферная память, шина данных.
Известна бортовая отказоустойчивая вычислительная система 603 е PowerPC SBC фирмы Spaceelectronics (США) [2], предназначенная для применения в авиа- и космических системах и спроектированная на радиационно-стойкой микропроцессорной базе. БВС выполнена на процессорах SPARC (Temic), имеющих рабочую частоту 20÷25 МГц, в троированно-мажоритируемой архитектуре. Известная бортовая вычислительная система (БВС) позволяет парировать один сбой или устойчивый отказ в одном из процессоров.
Недостатком известной БВС является неполный охват всех систем БВС отказоустойчивыми решениями, позволяющими парировать хотя бы один устойчивый отказ. В БВС такое решение принято только для процессорных модулей. Некоторые системы дублированы (MIL-STD-1553, Virtual PMC), а память снабжена избыточным корректирующим кодом Хэмминга. Остальные подсистемы не охвачены контролем и, следовательно, не отказоустойчивы. Кроме того, троированное аппаратное мажорирование возможно только на одном типе процессора (SPARC) из ряда процессоров, предназначенных для использования в бортовом компьютере. Это связано со значительными трудностями аппаратного мажорирования на частотах свыше 20 МГц. Для высокочастотных процессоров (радиационно-устойчивый Pentium 120 МГц) фирма Spaceelectronics разработала одноплатную однопроцессорную БВС, как строительный блок для многопроцессорной конфигурации, но вопросы отказоустойчивости должны решаться пользователем.
Наиболее близким к предлагаемому изобретению является отказоустойчивая вычислительная система и способ ее формирования [3]. Прототип описывает способ формирования отказоустойчивой вычислительной системы, включающий этапы создания первого средства обработки для работы вычислительной системы, включающего первую машину операционной системы (ОС) и первую машину ввода/вывода (В/В), создания второго средства обработки для работы вычислительной системы, включающего вторую машину ОС и вторую машину В/В, определения состояния первых средств обработки и обеспечения передачи состояния во вторые средства обработки, определения операций, которые могут изменить состояние первой машины ОС как события, передачи каждого события в первую машину В/В и преобразования каждого из событий в сообщение, предусматривающее этапы передачи каждого сообщения, в первую очередь сообщений первой машины ОС и во вторую очередь сообщений второй машины ОС, исполнения сообщения в первой машине ОС и во второй машине ОС таким образом, что состояние первой и второй машин ОС оставляют по существу идентичным.
Недостаток известного способа и системы заключается в отсутствии механизмов работы с многогранными (многоканальными) системами, обеспечивающими многолетнее функционирование без обслуживания, что требует более сложных механизмов оценки текущего состояния, реконфигурации и восстановления вычислений и управления, чем имеющиеся в известном способе и системе.
Техническим результатом предлагаемого способа и системы для его осуществления является повышение надежности системы за счет улучшения отказоустойчивости, парирования сбойных ситуаций и уменьшения времени реакции на восстановление вычислений и управления.
Технический результат достигается за счет того, что в известном способе формирования отказоустойчивой вычислительной системы, заключающемся в том, что создают первое средство обработки, содержащее первый центральный процессор и первый процессор ввода-вывода, создают второе средство обработки, содержащее второй центральный процессор и второй процессор ввода-вывода, определяют состояние первого средства обработки и обеспечивают передачу состояния первого средства обработки во второе средство обработки, определяют запрос на выполнение задания первым средством обработки и каждое задание преобразуют во входные сигналы первого средства обработки, а затем входные сигналы передают во второе средство обработки, так что оба средства обработки переходят в идентичные состояния, дополнительно вводят k средств обработки (обычно k=2 или k=3) в симметричной конфигурации соединения всех средств обработки между собой, позволяющей любому одному средству обработки по какому-либо заранее выбранному критерию или по их совокупности выполнять функцию ведущего средства обработки в симметричной конфигурации для текущего управления периферийными и исполнительными устройствами, входы всех средств обработки подсоединяют к общему источнику входных данных, все средства обработки, имеющие идентичные образы памяти программ, синхронно выполняют запрос на задание, а результаты выполнения передают по каналам связи между всеми средствами обработки, в каждом из которых собственные результаты программно сравнивают с результатами остальных по мажоритарному принципу, восстанавливают достоверное значение результата, которое рассылают всем средствам обработки, так что ошибку сбившегося средства обработки парируют в нем достоверным значением, а при следующих подряд повторениях идентичной ошибки неисправное средство обработки переводят в резерв с последующим тестированием вне текущих заданий для окончательного решения о выводе отказавшего средства обработки из текущей конфигурации или новой инициации отказавшего и затем, возможно, восстановленного средства обработки и включения его в рабочую конфигурацию, в случае отключения ведущего средства обработки функции нового ведущего в соответствии с выбранным критерием принимает на себя любое другое исправное средство обработки. При этом в средства обработки включают машину операционной системы и машину ввода-вывода и, по крайней мере, одну машину для выполнения функциональных задач. После начальной загрузки и последующего включения системы в работу производят тестирование аппаратно-программного комплекса средств обработки, по результатам которого автоматически формируют образ памяти конфигурации системы с назначением одного ведущего (контроллера шины) и остальных ведомых (мониторов) или резервных средств обработки. После формирования образа памяти конфигурации и в зависимости от реального значения этого образа реализуют переход на одну из нескольких возможных рабочих циклограмм системы для выполнения отладки, перезагрузки, возвращения из резерва и текущей загрузки когерентного образа памяти, наземной отработки, имитации рабочего задания или реального выполнения рабочего задания. В активной конфигурации оставляют два или три средства обработки, в зависимости от важности выполняемого фрагмента задачи, а остальные отправляют в «холодный» резерв. При двух активных средствах обработки, с помощью каждого средства обработки вырабатывают два сигнала контроля по оценке собственного состояния и по оценке состояния другого средства обработки, в зависимости от результатов которых конфигурацию системы или не меняют, или формируют новую конфигурацию. На канале связи между средствами обработки передают не массивы результатов вычислений, а их сжатый код, например контрольную сумму или сигнатуру.
Технический результат достигается также за счет того, что в известную отказоустойчивую вычислительную систему, содержащую первую грань с первым средством обработки, состоящим из первого центрального процессора и первого процессора ввода-вывода, вторую грань со вторым средством обработки, состоящим из второго центрального процессора и второго процессора ввода-вывода, причем первые входы-выходы процессоров ввода-вывода каждой грани соединены с входами-выходами соответствующих центральных процессоров, а вторые выходы первого процессора ввода-вывода первой грани подсоединены ко вторым входам процессора ввода-вывода второй грани, оба средства обработки содержат функционально идентичные последовательности команд в их образе памяти и выполнены с возможностью управления связью внешними и выходными устройствами, дополнительно добавлены k граней с k дополнительными средствами обработки, где обычно k=2 или k=3, двухпортовое оперативное запоминающее устройство и система контроля и диагностики каждой грани, устройство формирования циклов, логическая аппаратура достоверного отключения вторичных источников питания, содержащая мажоритарные элементы в каждой грани, число входов которых равно общему числу граней системы, и мажоритарные элементы для синхронизации начала циклов вычислений в процессорах ввода-вывода и центральных процессорах всех исправных граней, реконфигуратор, содержащий совокупность регистров конфигурации, управления режимом работы и регистров признаков тестовой и функциональной исправности граней, входы всех процессоров ввода-вывода подсоединены к общему источнику входных данных, а выходы через цепи управления режимом подсоединены к магистралям мультиплексных каналов обмена, выходы регистров управления режимом работы каждой грани и регистры конфигурации системы подсоединены через аппаратуру межгранного обмена к каждому процессору ввода-вывода во всех гранях для формирования массива результатов текущих вычислений и признаков тестовой и функциональной исправности граней, причем выходы устройств формирования циклов подсоединены к входам мажоритарных элементов процессора ввода-вывода, а выходы этих элементов подсоединены к входу немаскируемого прерывания процессора ввода-вывода соответствующей грани, входы логической аппаратуры достоверного отключения вторичных источников питания грани подсоединены к выходам устройств контроля оценки собственной исправности и исправности всех остальных средств обработки в каждой грани, а выходы - через счетчик числа циклов отказов подсоединены к цепям отключения вторичных источников питания. При этом по крайней мере одно средство обработки выполнено на микропроцессоре, отличном от микропроцессоров остальных каналов, и любое средство обработки может быть объявлено контроллером шины в соответствии с алгоритмом назначения контроллера и с возможностью исполнения программы отказоустойчивой системы.
На основе предлагаемого способа разработана отказоустойчивая бортовая цифровая вычислительная система «МАРС-4» (БЦВС «МАРС-4»).
На фиг.1 представлена функциональная схема БЦВС, на фиг.2 - унифицированная структура реконфигурации БЦВС, где изображены состояния системы после ее включения в активную работу.
Способ формирования отказоустойчивой вычислительной системы осуществляется следующим образом.
Создают первое средство обработки, содержащее первый центральный процессор и первый процессор ввода-вывода, создают второе средство обработки, содержащее второй центральный процессор и второй процессор ввода-вывода, определяют состояние первого средства обработки и обеспечивают передачу состояния первого средства обработки во второе средство обработки, определяют запрос на выполнение задания первым средством обработки и каждое задание преобразуют во входные сигналы первого средства обработки, а затем входные сигналы передают во второе средство обработки, так что оба средства обработки переходят в идентичные состояния, дополнительно вводят k средств обработки (обычно k=2 или k=3) в симметричной конфигурации соединения всех средств обработки между собой, позволяющей любому одному средству обработки по какому либо заранее выбранному критерию или по их совокупности выполнять функцию ведущего средства обработки в симметричной конфигурации для текущего управления периферийными и исполнительными устройствами, входы всех средств обработки подсоединяют к общему источнику входных данных, все средства обработки, имеющие идентичные образы памяти программ, начинают синхронно выполнять запрос на задание, а результаты выполнения передают по каналам связи между всеми средствами обработки, в каждом из которых собственные результаты программно сравнивают с результатами остальных по мажоритарному принципу, восстанавливают достоверное значение результата, которое рассылают всем средствам обработки, так что ошибку сбившегося средства обработки парируют в нем достоверным значением, а при следующих подряд повторениях идентичной ошибки неисправное средство обработки переводят в резерв с последующим тестированием вне текущих заданий для окончательного решения о выводе отказавшего средства обработки из текущей конфигурации или новой инициации отказавшего и затем возможно восстановленного средства обработки и включения его в рабочую конфигурацию, в случае отключения ведущего средства обработки функции нового ведущего в соответствии с выбранным критерием принимает на себя любое другое исправное средство обработки. При этом в средство обработки включают машину операционной системы и машину ввода-вывода и, по крайней мере, одну машину для выполнения функциональных задач. После начальной загрузки и последующего включения системы в работу производят тестирование аппаратно-программного комплекса средств обработки, по результатам которого автоматически формируют образ памяти конфигурации системы с назначением одного ведущего (контроллера шины) и остальных ведомых (мониторов) средств обработки. После формирования образа памяти конфигурации и в зависимости от реального значения этого образа реализуют переход на одну из нескольких (в БЦВС «МАРС-4» - семи) возможных рабочих циклограмм системы для выполнения отладки, перезагрузки, возвращения из резерва и текущей загрузки когерентного образа памяти, наземной отработки, имитации рабочего задания или реального выполнения рабочего задания. Для уменьшения энергопотребления в активной конфигурации оставляют два средства обработки, а остальные отправляют в «холодный» резерв. Для увеличения достоверности управления конфигурацией системы при двух активных средствах обработки, с помощью каждого средства обработки вырабатывают два сигнала контроля: по оценке собственного состояния и по оценке состояния другого средства обработки, в зависимости от результатов которых конфигурацию системы или не меняют, или формируют новую конфигурацию. С целью сокращения времени передачи и графика на канале связи между средствами обработки передают не массивы результатов вычислений, а их сжатый код, например контрольную сумму или сигнатуру.
В БЦВС «МАРС-4» принято каждый «канал» называть гранью, поскольку на четыре вычислительных ядра физически имеется один системный канал - мультиплексный канал обмена (МКО). В этом смысле система не многоканальная а многогранная.
Д
Д
Д
Д
Отказоустойчивая бортовая цифровая вычислительная система (БЦВС) содержит четыре грани - 1, 2, 3 и 4 (фиг.1). Каждая грань, например 1, содержит параллельно работающую двухпроцессорную микропроцессорную систему, где один микропроцессор, центральный (ЦП) - 5, выполняет основную вычислительную нагрузку, (согласно функциональному программному обеспечению ФПО), а второй - процессор ввода-вывода (ПВВ) - 6, осуществляет подготовку данных для ЦП-5, реагирует на внешние прерывания, взаимодействует с периферийными устройствами и реализует функции системы контроля и диагностики, двухпортовое оперативное запоминающее устройство (ДОЗУ) - 7 для связи ЦП-5 и ПВВ-6 между собой, при этом для ЦП и ПВВ доступны весь объем общего поля памяти как по записи, так и по чтению, аппаратуру межгранного обмена (АМО) - 8, организованную в системе по мультиплексному принципу, реконфигуратор (Р) - 9, имеющий адресуемый регистр, содержащий код конфигурации, вычисленный процессором ввода-вывода по определенным алгоритмам, и мажоритируемый с одноименными кодами конфигурации соседних активных ПВВ, логическую аппаратуру достоверного отключения вторичного источника питания (ЛА ДО ВИП) - 10 при выходе грани из строя, с помощью распределенного мажоритирования сигналов контроля от всех активных граней, схему начального пуска (СНП) - 11, содержащую времязадающую цепь и логический инвертор для установки, спустя 100 мс после включении питания, логических сигналов и разрядов управляющих и статусных регистров в определенные состояния и старта с адреса, указанного в адресе начального пуска, адаптер грани (АГ)-12, выполняющий функции адаптера контроллера (АК) или адаптера монитора (АМ), или адаптера оконечного устройства (АОУ).
Д
Д
БЦВС содержит устройство формирования цикла (УФЦ) - 13 для синхронизации в каждом цикле циклограммы начала работы всех граней системы, работающих асинхронно в течение цикла, основную 14 и резервную 15 информационные шины внутреннего мультиплексного канала обмена (МКО), и основную 16, и резервную 17 информационные шины внешнего мультиплексного канала обмена (МКО). Все узлы сети БЦВС, включая каждую из граней БЦВС, аппаратуру управления и научную аппаратуру, подсоединены через пару приемо-передатчиков (основной/резервный) как абоненты к линиям связи внутреннего канала МКО - 14 и 15 и внешнего канала МКО - 16 и 17. Однако на внутренней шине только одна из граней (по определенному правилу) является контроллером канала, например, грань 1 (через АК), остальные грани выполняют функции мониторов (через АМ) или совмещенного режима - монитор плюс оконечное устройство (М+ОУ). Остальные абоненты внутреннего канала МКО выполняют роль оконечных устройств (ОУi) - 18 и функционируют под управлением ведущей грани БЦВС - контроллера (АдК). При отказе грани, являющейся контроллером, ее передатчик блокируется, и функции контроллера передаются (по определенному правилу) исправной грани БЦВС, ранее работавшей через АдМ. Связь между гранями осуществляется через аппаратуру межгранного обмена (АМО).
При этом ЛА ДО ВИП-11 содержит мажоритарные элементы в каждой грани, число входов которых равно общему числу граней системы и выполняющих функцию 2 из 2-х, 2 из 3-х, 2 из 4-х, 3 из 4-х для отключения вторичных источников питания в неисправных гранях. Дополнительно в ПВВ каждой грани введены мажоритарные элементы для синхронизации начала циклов вычислений во всех исправных гранях. Реконфигуратор (Р)-9 содержит регистры конфигурации, регистры управления режимом работы и регистры признаков тестовой и функциональной исправности граней. Выбор режима работы граней определяется загрузкой регистров управления режимом работы по результатам работы системы контроля и диагностики в каждой грани. Входы всех ПВВ подсоединены к общему источнику входных данных, а выходы через цепи управления режимом подсоединены к магистралям МКО, выходы регистров управления режимом работы каждой грани и регистры конфигурации системы подсоединены через АМО-8 к каждому ПВВ во всех гранях для формирования массива результатов текущих вычислений и признаков тестовой и функциональной исправности граней. Выходы УФЦ-13 подсоединены к входам мажоритарных элементов в ПВВ и ЦП, а выходы последних подсоединены к входу немаскируемого прерывания ПВВ и ЦП соответствующей грани, входы ЛА ДО ВИП грани подсоединены к выходам устройств контроля оценки собственной исправности и исправности всех остальных средств обработки в каждой грани, а выходы - через счетчик числа циклов отказов (входит в ЛА ДО ВИП) подсоединены к цепям отключения вторичных источников питания.
К основной 14 и резервной 15 шинам внутреннего МКО подключены аппаратура системы управления и целевая научная аппаратура.
К основной 16 и резервной 17 шинам внешнего МКО, помимо граней БЦВС, подключены бортовой радиотехнический комплекс (БРТК), блок автоматики контрольно-измерительной станции (БА КИС) для связи и управления со стороны наземной станции и другие внешние абоненты (на чертеже не показаны). БЦВС выступает на внешнем МКО в качестве ОУ без самостоятельного права выдачи информации на шину и функционирует под управлением контроллера внешней шины (обычно это БА КИС).
Вычислительное ядро со схемами ввода/вывода, контроллером системного канала и источника питания составляют одну неделимую функциональную единицу - «грань» в избыточной резервированной системе.
В БЦВС «Марс-4» двухпроцессорный комплекс одной грани базируется на 16-разрядных микропроцессорах 8ХС196КС.
Эти микропроцессоры (микроконтроллеры), несмотря на сравнительно невысокое быстродействие, обусловленное тактовой частотой 20 МГц, зарекомендовали себя как очень надежные и помехоустойчивые процессоры для систем управления, работающих в тяжелых окружающих условиях космического пространства [4].
Несколько «граней», соединенных друг с другом определенным образом с целью повышения отказоустойчивости при длительных сроках эксплуатации, составляют вычислительную систему. Двухпроцессорная БЦВС «Марс-4» имеет многогранную структуру именно с целью получения высокой отказоустойчивости.
Обеспечение отказоустойчивости является одним из краеугольных вопросов проектирования аппаратуры для космических аппаратов и других ответственных применений.
Одним из основных способов достижения высокой отказоустойчивости при достаточно высоком уровне собственной надежности является резервирование.
Увеличение кратности резервирования всегда являлось продуктом компромисса между желанием увеличить степень отказоустойчивости и получением приемлемых массо-габаритных характеристик. Теоретические расчеты показывают, что для высоконадежных систем увеличение кратности резервирования более 4÷5 не имеет смысла, поскольку основное влияние на общую надежность системы начинают оказывать так называемые, латентные (скрытые, т.е. трудно обнаружимые) неисправности, не выявляемые рабочими тестовыми процедурами. Поскольку 100% обнаружение всех потенциально возможных неисправностей практически исключено, то латентные отказы имеют хотя и малую, но заметную вероятность существования. На длительных сроках существования они обесценивают излишнюю глубину резерва. В БЦВС «Марс-4» выбрано 4-х кратное резервирование.
Отказоустойчивость. БЦВС «Марс-4» способна сохранять полную работоспособность при любом единичном отказе в функционально независимых участках схемы. Структурная организация модулей вычислительной системы и программное обеспечение Базовой Операционной Системы (БОС) и Системы Контроля и Диагностики (СКД) спроектированы так, чтобы два однотипных отказа не приводили к созданию аварийной ситуации в системе.
Система обеспечения вычислительных процессов БЦВС построена по единой идеологии и представляет собой совокупность программных модулей, структурированную по иерархическому принципу, где головной модуль БОС (диспетчер цикла) в соответствии с информационным вектором вызывает модули следующего уровня, а именно собственные модули, диспетчер Системы Контроля и Диагностики (СКД) и диспетчеры подсистем Функционального Программного Обеспечения (ФПО). Эти последние вызывают подчиненные им модули, которые сами могут являться диспетчерами алгоритмов следующего уровня.
Базовая операционная система БЦВС решает задачи верхнего уровня по организации вычислительного процесса во всех режимах работы управляемой системы. Подобная организация упрощает настройку системы для различных применений, сохраняя общие принципы базового программного обеспечения и систему контроля и диагностики.
В состав БОС входят программные модули, из перечисления которых ясно их функциональное назначение:
- программа работы до начала циклического режима;
- первичная обработка векторов прерываний;
- драйверы приема и выдачи информации;
- расширенный, циклический и фоновый тесты;
- бортовой диспетчер цикла;
- исходные таблицы времен и соответствующих им адресов вызовов диспетчера функциональных задач, диспетчера СКД и модулей БОС для всех режимов работы программного обеспечения (ПО);
- таблицы командных слов, адресов оконечных устройств абонентов МКО, адресов входных и выходных массивов и массива запросов на обмен для драйвера МКО.
Системы контроля и диагностики (СКД) БЦВС в каждой грани предназначены для контроля работоспособности, формирования признаков аппаратной и функциональной исправности, формирования достоверных массивов входной и выходной информации и для реконфигурации вычислительной системы в случае обнаружения отказа какой-либо грани.
В зависимости от режима работы системы управления СКД выполняет различные функции. Соответственно, СКД включает в свой состав три группы программных модулей, обеспечивающих работу СКД в следующих режимах:
- режим начального включения;
- штатные режимы (полетный и наземные);
- режим реконфигурации ВС при отказе одной из активных граней или по внешним командам.
Одной из основных функций СКД, выполняющейся во всех режимах, является формирование слова конфигурации вычислительной системы, которое характеризует текущее состояние граней с точки зрения их статуса, т.е. функций, которые они выполняют на шинах мультиплексных каналов обмена (их может быть от одной до трех).
В слове конфигурации для БЦВС СКД определяет, какая грань будет Контроллером или Оконечным устройством (в дальнейшем ОУ), или Монитором на внутренней шине МКО, какая грань будет ОУ с запретом выдачи на внешней шине МКО, и какая из активных граней должна быть выключена в случае отказа, какая грань должна находиться в «холодном» резерве, и какая грань окончательно выключена по причине нескольких повторных отказов.
Организация памяти БЦВС. Базовый микропроцессор 8ХС196КС имеет регистровый файл объемом 512 байт. Страничная организация памяти при 16-р. шине позволяет иметь достаточно большую память репрограммируемого постоянного запоминающего устройства РПЗУ для хранения рабочих программ.
Пример одной из возможных комплектаций памяти БЦВС:
- РПЗУ 2104 Кбайт для ЦП и 320 Кбайт для ПВВ;
- организация РПЗУ страничная - 128 страниц по 8К 16 разрядных слов;
- оперативное запоминающее устройство (ОЗУ) (непосредственно адресуемой и страничной) 216 Кбайт для ЦП и 24 Кбайт для ПВВ;
- двухпортовое ОЗУ 2 Кбайт × 8;
- регистровый файл 512 байт.
Применение в качестве памяти программ Flash памяти позволяет оперативно перезагружать программы. В этом случае выполняется следующий алгоритм:
- перезагрузить из памяти программ в оперативную память блок программ, обеспечивающий загрузку программ из внешнего источника;
- передать управление этому блоку и выполнить следующие действия:
- выполнить стирание того блока РПЗУ, в котором ожидается изменение кодов программ;
- принимать из внешнего источника блоки кодов в оперативную память;
- перезагружать принятые массивы кодов из оперативной памяти во Flash память;
- перезагрузить в память программ записанный ранее в ОЗУ блок программ (если он не входит в измененный массив);
- передать управление диспетчеру.
Отказоустойчивая вычислительная система функционирует следующим образом.
Система в исправном состоянии содержит четыре грани - 1, 2, 3, 4. При включении системы все они (в параллель) проходят тестовые проверки и, при положительном исходе, в дальнейшем после окончания этапа начального включения из них активированы и постоянно работают две (или три), остальные две (одна) грани находятся в резерве. На отдельных этапах рабочего функционирования система программно может конфигурироваться для работы в троированном режиме.
Информационный обмен внутри вычислительного ядра. Для организации параллельного межпроцессорного обмена центрального процессора с процессором ввода-вывода (ЦП⇔ПВВ), применено общее поле памяти с двойным доступом (ДОЗУ) - 7 в каждой грани. При этом центральному процессору (ЦП-i) и процессору ввода-вывода (ПВВ-i) доступны весь объем общего поля памяти как по записи, так и по чтению, но одновременное обращение к памяти с двойным доступом не допускается, и в случае его возникновения регулируется схемой-арбитром.
ц
Межпроцессорный (межгранный) обмен (АМО) - 8 в системе организован по мультиплексному принципу. Он применяется системой контроля и диагностики (СКД) с диагностическими целями для обмена результатами работы граней в каждом рабочем цикле Т. После включения системы производится информационный обмен между всеми гранями для выявления исправных граней на основе мажорирования собранной информации в каждой грани. Через встроенные в процессор последовательные порты, работающие в синхронном режиме (режим «0»), по очереди из каждого исправного не резервного процессора i (i=1, 2, 3, 4) выдается информация по последовательному каналу одновременно в три соседних грани, которые принимают эту информацию. В зависимости от заложенного в процессор протокола межгранного обмена, взаимодействие с соседними гранями для увеличения надежности может быть организовано не одновременно, а по очереди, соблюдая процедуру «рукопожатия» (handshaking). Передача «сам-себе» физически не производится. Таким образом, каждый процессор формирует у себя четыре информационных массива - один собственный и три массива от трех других процессоров. При положительном исходе тестовых проверок формируется слово конфигурации системы, две грани (при наличии) становятся активными рабочими, а остальные выключаются и отправляются в резерв. Обесточенные резервные грани подсоединены к каналу межгранного обмена и к МКО, но информацию не принимают. Скорость обмена с учетом протокола обмена между процессорами в/в составляет 200 Кбайт/с.
Связь БЦВС с периферией и внешними системами осуществляется по мультиплексному каналу обмена МКО по ГОСТ Р 52070-2003.
Применен дублированный канал, через который БЦВС связана с внутренними и системными абонентами (14, 15), при этом устройство должно выполнять функции или контроллера (К), или монитора (М), или оконечного устройства (ОУ).
Все узлы сети БЦВС через адаптеры контроллера АдК 12 (или адаптеры монитора АдМ 12, или оконечного устройства АдОУ 12) и пару приемопередатчиков (основной/резервный) подсоединены к линиям связи каналов как абоненты. Однако контроллером канала (К) может быть (по определенному правилу) только одна из граней. Остальные грани выполняют функции мониторов (М) или оконечных устройств (ОУ). Остальные абоненты внутреннего канала являются ОУ. При отказе узла, являющегося контроллером, его передатчик блокируется, и функции контроллера через СКД передаются (по определенному правилу) исправной грани. На внешней шине (16, 17), как уже отмечалось, грани БЦВС могут быть только оконечными устройствами.
ц
ц
ц
ц
Устройство формирования цикла 13 обеспечивает синхронизацию работы граней и состоит из 4-х независимых каналов, каждый из которых содержит стабильный кварцевый генератор, делитель частоты (до 40 Гц), цепи сброса счетчика-делителя, мажоритарный элемент и буферы. В зависимости от динамических характеристик прикладной системы могут создаваться циклы различной длительности, например, 100 мс, 50 мс, 25 мс и меньше. Синхронизация граней осуществляется в начале каждого цикла Т (например, 25 мс). Каждый канал устройства вырабатывает сигнал цикла для своей грани. Он формируется на мажоритарном элементе канала по первым двум сигналам цикла любых граней и через буферные элементы подается на входы немаскируемого прерывания процессоров граней. Мажоритарный элемент выравнивает фронты импульсов цикла, подающиеся на входы прерывания процессора, обеспечивая таким образом синхронное начало цикла Т во всех работающих гранях. В пределах рабочего цикла Т программа каждого процессора исполняется в соответствии с расписанием, вырабатываемым диспетчером цикла. Внутри Т одни и те же программы диспетчера в разных гранях исполняются не синхронно. В БЦВС «МАРС-4» контроллер цикла реализован на ПЛИС ф. Altera EPM 7064S44 с 44-мя выводами.
Реконфигуратор 9 содержит регистры конфигурации, регистры управления режимом работы и регистры признаков тестовой и функциональной исправности граней.
В процессе тестового контроля и при взаимном обмене информацией в рабочем режиме каждая грань вырабатывает свое «видение» состояния системы. Это - диагностические сигналы, как она оценивает свое собственное состояние и как она оценивает состояние других активных граней. На базе этих распределенных сигналов специальная отказоустойчивая схема вырабатывает достоверные сигналы отключения вторичных источников питания граней в соответствии с логикой адаптивного мажорирования 4 из 4, или 3 из 4, или 2 из 4, или 3 из 3, или 2 из 3, или 1 из 2, или 1 из 1 в зависимости от числа активных исправных граней и общего числа активных граней в рабочей конфигурации.
Собственный код конфигурации мажоритируется с одноименными кодами конфигурации соседних активных процессоров. Полученный код используется для управления контроллерами цикла, переключения приемо-передатчиков мультиплексного канала обмена МКО и при передаче управления от отказавшей грани в исправную. Реконфигуратор также реализован на ПЛИС ф. Altera.
1
2
3
4
5
6
На фиг.2 во временных интервалах t, t, t, t, t, t изображены состояния системы после ее включения в активную работу, где:
1
t - конфигурация при включении БЦВС;
2
t - конфигурация штатной работы БЦВС;
3
t - конфигурация при 1-ом отказе до реконфигурации;
4
t - конфигурация после реконфигурации;
5
t - конфигурация после 2-го последовательного отказа;
6
t - конфигурация после 3-го отказа.
1
2
3
4
5
6
Во временном интервале t включены и функционируют все четыре грани. После проверки системы и формирования рабочей конфигурации во временном интервале t, одна грань отправляется в резерв, остальные три на начальном этапе функционирования работают в программно мажорируемой конфигурации. По окончании сравнительно короткого начального этапа (пуск носителя), перед началом длительного функционирования в резерв отправляется еще одна грань, а две исправные грани работают в связке К (контроллер) и М (монитор). Во временном интервале t возник первый отказ во второй грани. В следующем интервале t показан результат реконфигурации системы. Отказавшая грань 2 выводится из рабочей конфигурации, а резервная грань 3 перезагружается текущей информацией из грани контроллера и вводится в рабочую конфигурацию. В следующем интервале t отказывает грань 1, и СКД вводит в конфигурацию резервную грань 4, работающую в связке с гранью 3. Во временном интервале t отказывает грань 4, и система функционирует с одной исправной гранью 3.
Схема начального пуска 11 содержит времязадающую цепь и логический инвертор. При включении питания спустя 100 мс ПВВ устанавливает логические сигналы и разряды управляющих и статусных регистров в определенные состояния и стартует с адреса, указанного в адресе начального пуска.
Схемная реализация одного функционального канала (грани) осуществлена на 2-х платах, что составляет по массе вместе с источником питания 0,5-0,6 Кг, по объему не более 0,3 куб. дм.
Кратность резервирования, равная 4, при приемлемой общей массе блока (см. ниже), обеспечивает требования по надежности к БЦВС и создает предпосылки для реализации высоких характеристик живучести БЦВС и системы управления в целом.
В качестве источников питания используются радиационно устойчивые модули питания ВИП i (i=1, 2, 3, 4) Interpoint MHD2805D, имеющие нагрузочную способность до 30 W, кпд около 84% и температурный диапазон от -55 до +125°С.
Конструкция БЦВС. Основой конструкции является металлическая рамка с печатной платой с электронными компонентами [5]. Размер платы выбран величиной 180×120 мм с тем, чтобы рамки с элементами выдерживали механические эксплуатационные нагрузки без применения амортизации. На стороне платы, свободной от ЭРИ, приклеена во весь размер платы металлическая пластинка для отвода тепла от электро-радиоизделий к элементам конструкции. На периферии рамки отфрезерована канавка для размещения герметизирующей эластичной прокладки, отфрезерованы пазы для установки пакетных магистральных соединителей (до 10 штук) и расположены проушины для стяжки рамок в пакет. Высота рамок может быть 5,5 мм и 7 мм в зависимости от высоты электро-элементов. В БЦВС все рамки высотой 5,5 мм. Боковые стенки рамки являются формообразующими элементами боковых стенок блока. Рамка с платой и элементами имеет вес 220-240 г в зависимости от плотности размещения элементов.
Рамки с платами укладываются в пакет и стягиваются шпильками, образуя пакетный электронный блок. Для электрического соединения параллельно расположенных печатных плат в блоке служат пакетные магистральные соединители (СПМ) [6]. СПМ содержат корпус и контактные пружинные проволочные кольца, упирающиеся в контактные площадки на платах, и при стяжке пакета создаются высокие удельные давления в зонах контакта, что создает надежные контакты, которые не нарушаются даже в особо тяжелых климатических условиях и при больших механических перегрузках. На периферии платы их может быть до 10 штук. Одноименные контакты в платах совместно с СПМ образуют сквозные вертикальные кросс-магистрали, исключающие необходимость в кросс платах. Боковые стенки рамки образуют внешние стенки блока, осуществляя внешнюю механическую, электромагнитную и радиационную защиту элементов блока.
Пакет плат с одной стороны накрыт герметизирующей крышкой, с другой стороны сопрягается с отсеком, где расположены источники питания и кросс плата, соединяющая вертикальные магистрали с внешними разъемами.
Описанная конструкция при объеме электроники, представленном выше, занимает объем не более 5 куб. дм. и имеет вес не более 7 кг.
Таким образом, изобретение позволяет получить отказоустойчивую бортовую вычислительную машину, обладающую высокими показателями надежности при приемлемых массо-габаритных и энергетических характеристиках.
Источники информации
1. Патент РФ №2047899, 21.06.1991 г., G06F 11/18.
2. [www.Spaceelectronics.com]. Одноплатная бортовая ВС 603е PowerPC SBC.
3. Патент РФ №2108621, 09.08.1991 г., G06F 15/16.
4. Процедуры самовосстановления в отказоустойчивых распределенных микроконтроллерных системах. IEEE Труды Международной конференции по гарантоспособным системам и сетям, Гетеборг. Швеция. 2001.)
5. Патент РФ №2215384, 01.03.2002 г., Н05К 1/00.
6. Патент РФ №2260255, 06.04.2004 г., Н05К 7/02.