Усложнение современных технологических процессов обусловило необходимость повышения производительности систем контроля и управления. Основными путями решения данной задачи являются повышение производительности микропроцессоров за счет увеличения их рабочей частоты и создания систем на кристалле (СнК), а также создание на их базе многопроцессорных модулей. Повышение рабочих частот и создание СнК происходят в основном за счет перехода на низкие (менее 100 нм) технологические нормы изготовления кристаллов микросхем. Однако при таком переходе существенно повышается влияние радиационных факторов на надежность и долговечность микросхем, обусловленное структурными изменениями в кристаллах при воздействии высокоэнергетичных частиц и потоков атмосферных нейтронов. Это приводит к тому, что любая внешняя атака ионизирующих частиц способна приводить к сбою, поэтому конструкции модулей и сверхбольших (с 107 интеграцией) интегральных микросхем (СБИС) должны обеспечивать минимизацию вероятности подобного сбоя и возможность исправления произошедших ошибок. Соответственно, и схемотехника, и топология, и конструкция, и маршрут проектирования СБИС (с технологическими нормами изготовления 100 и менее нанометров) и модулей на их основе должны решать задачу не обороны, а исправления и излечения от локальных потерь данных.
Перспективной является разработка высоконадежных многопроцессорных модулей с повышенной сбоеустойчивостью к внешнему воздействию радиационных факторов и экстремальным тепловым режимам эксплуатации. Высокопроизводительные модули обеспечивают возможность построения цифровых вычислительных комплексов (ЦВК), выполняющих в реальном масштабе времени прием по высокоскоростным каналам потоков данных RapidIO, первичную обработку сигналов (пространственно-временной спектральный анализ, формирование частотных диапазонов, фильтрацию, пороговое обнаружение и т.п.), вторичную, третичную и общекомплексную обработку информации, включая решение задач отображения, консервации, документирования и управления на рабочих местах операторов, а также обмен данными с другими приборами и системами.
Для повышения сбоеустойчивости предлагается применять дублирование и тройное модульное резервирование с использованием мультиплексирования, не ухудшающие быстродействие устройства. Используются несколько методов повышения сбоеустойчивости.
Первый метод резервирования канала передачи информации заключается в наличии двух симметричных структур, которые за счет внутренних связей элементов сохраняют исходное логическое состояние в случае воздействия радиационных факторов. Использование резервирования функциональных блоков и схем мажоритарной выборки позволяет повысить сбоеустойчивость без существенного снижения быстродействия. Однако при избыточном аппаратном резервировании ухудшаются массогабаритные и стоимостные показатели, повышается потребляемая мощность и, как следствие, снижается надежность. В разработанном на базе микросхем 1890ВМ6Я модуле ЦП-РИО-64 применены резервируемые каналы связи между микропроцессорами: параллельный интерфейс RapidIO LP-LVDS и последовательный интерфейс RapidIO LP-Serial (SRIO) (www.rapidio. org). Коммутация каналов параллельного RapidIO осуществляется отдельной микросхемой коммутатора 1890КП3Я. Коммутаторы последовательного интерфейса RapidIO встроены в каждую СнК – микросхему 1890ВМ6Я. В разработанном модуле ЦП-РИО-64 предусмотрены каналы ввода-вывода информации по интерфейсу RS-232C для диагностики и настройки подсистем модуля.
Второй метод состоит в исправлении одиночных ошибок оперативного запоминающего устройства (ОЗУ) введением контроллера с использованием дополнительной микросхемы памяти.
Третий метод заключается в мажоритарном исправлении ошибок (мажоритарной выборке).
Приведенные методы повышения сбоеустойчивости применяются в разработанном модуле ЦП-РИО-64 на базе микросхемы 1890ВМ6Я, который может быть использован при создании высокопроизводительных однородных мультипроцессорных систем и систем цифровой обработки сигналов для сухопутной, морской, авиационной техники, аппаратуры космического и другого специального назначения.
Функциональная схема разработанного на основе микропроцессоров 1890ВМ6Я с архитектурой «КОМДИВ» модуля ЦП-РИО-64 представлена на рисунке 1. Модуль ЦП-РИО-64, предназначенный для построения высокопроизводительных вычислительных комплексов широкого применения с коммутационной средой стандарта RapidIO, содержит
– два микропроцессора 1890ВМ6Я – микросхемы СнК1 и СнК2;
– ОЗУ1 динамического типа объемом 512 Мб с возможностью коррекции ошибок для СнК1;
– ОЗУ2 динамического типа объемом 512 Мб с возможностью коррекции ошибок для СнК2;
– восьмиканальный коммутатор RapidIO;
– внутреннюю шину PCI (www.pci-sig.com) для подключения двух мезонинных модулей в стандарте PMC;
– внутренние шины параллельного RapidIO для подключения двух мезонинных модулей в стандарте RMC;
– перепрограммируемое запоминающее устройство (ППЗУ) конфигурации емкостью 4 Кбит для коммутатора RapidIO;
– системное постоянное запоминающее устройство (ПЗУ) SYS1 объемом 512 Кб, микросхему РПЗУ1 пользователя объемом 16 Мб, микросхему NAND-Flash1 пользователя объемом 1 Гб для СнК1;
– системное ПЗУ SYS2 объемом 512 Кб, РПЗУ2 пользователя объемом 16 Мб, NAND-Flash2 пользователя объемом 1 Гб для СнК2;
– приемопередатчики Ethernet (ПП ETH) с интерфейсом MII для двух микропроцессоров 1890ВМ6Я;
– приемопередатчики (ПП) RS-232 для каждого микропроцессора;
– контроллер дискретных GPIO сигналов в составе каждого микропроцессора;
– входы-выходы для технологического интерфейса JTAG;
– сторожевой таймер в составе двух микропроцессоров;
– вторичные преобразователи напряжения питания для СБИС микропроцессоров;
– СБИС коммутатора и СБИС ОЗУ;
– супервизор напряжений питания.
В состав каждой микросхемы 1890ВМ6Я включены коммутатор RapidIO, контроллер PRIO, контроллер последовательного канала Serial RapidIO 4x SRIO, оконечное устройство RapidIO, два контроллера интерфейса I2C, контроллер шины PCI, контроллер портов дискретных сигналов GPIO. Порт 0 микропроцессора № 0 по каналам параллельного RapidIO (PRIO) подключен к порту 5 коммутатора PRIO, порт 1 микропроцессора № 0 – последовательный RapidIO (SRIO) – выведен на внешний соединитель Х6, служебные и диагностические сигналы выведены на внешний соединитель Х7.
В разработанном модуле ЦП-РИО-64 используется новый аппаратно-программный способ достоверного исполнения программ, размещаемых в РПЗУ1 и РПЗУ2 в условиях одиночных сбоев. Технически результат достигается использованием
– высоконадежных микросхем ПЗУ SYS1 и ПЗУ SYS2;
– дублирования склонных к сбоям микросхем РПЗУ1 и РПЗУ2;
– дублирования микросхем NAND-Flash1 и NAND-Flash2;
– сбоеустойчивых резервированных каналов RapidIO;
– контроллеров RapidIO, интегрированных в СнК1 и СнК2 с целью уменьшения количества компонентов в модуле;
– распределенной (между несколькими СнК) системы управления восстановлением после сбоя;
– специального ПО.
Функциональная схема распределенной системы управления восстановлением, включающая в себя СнК1 и СнК2, соединенные через микросхему коммутатора параллельного RapidIO, представлена на рисунке 2. Данная система управления состоит из программируемого сторожевого таймера в составе каждой СнК и блока достоверной загрузки. Блок достоверной загрузки внутри СнК включает в себя контроллер коротких сообщений RapidIO и контроллер аварийного маршрутизатора. Распределенная система управления восстановлением позволяет каждой управляющей СнК1 или СнК2 взять на себя функцию восстановления после сбоя.
В разработанном модуле ЦП-РИО-64 микросхемы 1890ВМ6Я – СнК1 и СнК2 – могут соединяться между собой через объединительную плату и с помощью внешнего кабеля по последовательному RapidIO (SRIO).
В каждую СнК заводится географический адрес, идентифицирующий микросхему в многомодульной конструкции. Значение географического адреса одной СнК по каналам RapidIO доступно другой СнК. При выполнении и сбое программы какой-либо СнК срабатывает сторожевой таймер данной СнК. Статус о срабатывании сторожевого таймера доступен другой СнК через служебные пакеты, передаваемые по каналам RapidIO. Сигнал срабатывания сторожевого таймера воспринимает управляющая СнК, которая опросом статусов о срабатывании сторожевого таймера всех СнК выявляет, где произошел сбой.
В модуле применяются несколько систем хранения информации: сбоеустойчивые микросхемы ПЗУ SYS1 и ПЗУ SYS2 малого объема, две микросхемы флэш-памяти РПЗУ1 и РПЗУ2. Микросхемы ПЗУ SYS1 и ПЗУ SYS2 являются самыми надежными, они предназначены для размещения внутреннего ПО и содержат программы начальной инициализации «Реаниматор» для проверки правильности считываемой информации из РПЗУ1 (или из РПЗУ2). На рисунке 3 представлен алгоритм работы программы «Реаниматор».
Правильность информации защищена контрольной суммой, которая располагается в ПЗУ SYS1. В случае расхождения подсчитанных сумм с эталонной, хранимой в ПЗУ SYS1, программа «Реаниматор» переключается на работу с РПЗУ2. При положительном сравнении считываемая информация используется из РПЗУ2. При отрицательном результате сравнения и в РПЗУ1, и в РПЗУ2 программа «Реаниматор» использует резервируемые каналы связи параллельного RapidIO для получения информации из NAND-Flash2 СнК2.
В случае доставки данных из РПЗУ1 СнК1 для загрузки другой СнК2 по сбоеустойчивому каналу RapidIO программа «Реаниматор» выполняет следующий алгоритм:
1) по каналу RapidIO информирует другую программу «Реаниматор» о необходимости получения достоверных данных;
2) при получении подтверждения о возможности удаленной загрузки принимает данные и размещает их в сбоеустойчивом ОЗУ2.
Программа «Реаниматор» занимает объем 2 Кб и исполняется из ПЗУ SYS1 (или ПЗУ SYS2); блок коротких сообщений RapidIO в составе контроллера RapidIO в каждой СнК функционирует без использования ОЗУ1 (ОЗУ2) и имеет следующие отличия:
– отправка пакета-запроса сообщения осуществляется через набор регистров контроллера под управлением программы, использующей внутренние регистры процессора;
– прием и проверка на достоверность пакета-ответа от получателя отправленного сообщения выполняются автоматически самим контроллером без участия процессора;
– прием пакета-запроса осуществляется через набор регистров контроллера под управлением программы, использующей внутренние регистры процессора.
Автоматическая маршрутизация пакетов RapidIO достигается через конфигурационное перепрограммируемое ППЗУ маршрутизатора. В случае истечения аварийного тайм-аута ожидания пакета-ответа, а также прихода неверного пакета-ответа или прихода пакета-ответа с полем статуса «ошибка» контроллер аварийного маршрутизатора автоматически изменяет маршрут доставки пакетов RapidIO от одной СнК к другой. Перебор маршрутов доставки осуществляется до достижения устанавливаемой границы возможных переборов. Маршруты доставки при невозможности использовать параллельные каналы RapidIO включают последовательный SRIO канал RapidIO.
Контроллер аварийного маршрутизатора вычисляет географический адрес получателя и посылает сформированный служебный пакет-запрос для изменения пути прохождения пакетов по каналам параллельного RapidIO.
Отдаленным аналогом разработанного модуля ЦП-РИО-64 на базе СБИС микропроцессоров 1890ВМ6Я может быть модуль PM854 фирмы Dynatem, в состав которого входят одна двухъ- ядерная СнК MPC8540 фирмы Freescale Semiconductor с частотой 1 ГГц, ОЗУ объемом 512 Мб с коррекцией ошибок, ПЗУ системное и ППЗУ пользователя типа флэш общим объемом 64 Мб, один канал Ethernet 100 Мбит/с, два канала Ethernet 1 Гбит/с, один канал параллельного RapidIO, один канал интерфейса PCI, два канала RS-232C и один канал I2C. Производительность модуля PM854 2310 MIPS, соотношение производительность/частота равно 1,15 MIPS/МГц. Модуль PM854 фирмы Dynatem выполнен в СОМ-стандарте в виде мезонинных конструкций. Результаты сравнения технических параметров разработанного модуля на базе микропроцессоров 1890ВМ6Я и модуля PM854 приведены в таблице.
Сравнительные технические параметры модулей
Технический параметр сравнения
|
Модуль ЦП-РИО-64 на основе микропроцессоров 1890ВМ6Я
|
Модуль PM854 фирмы Dyna- tem
|
Результат сравнения
|
Количество ядер/ процессоров, шт.
|
2
|
2
|
Не уступает
|
Соотношение производительность/частота, MIPS/МГц
|
1,00
|
1,15
|
Не уступает
|
Соотношение потребляемая мощность/частота, Вт/МГц
|
0,1 (20 Вт)
|
-
|
|
Общий объем ОЗУ, Мб
|
1024
|
512
|
Превосходит
|
Коррекция ошибок в ОЗУ
|
Есть
|
Есть
|
Не уступает
|
Количество внешних каналов параллельного RapidIO, шт.
|
4
|
1
|
Превосходит
|
Количество внешних каналов последовательного RapidIO, шт.
|
2
|
-
|
Превосходит
|
Количество каналов интерфейса PCI, шт.
|
1
|
1
|
Не уступает
|
Общий объем ПЗУ системного и ППЗУ пользователя, Мб
|
2033
|
64
|
Превосходит
|
Количество каналов Ethernet, шт.
|
2
|
2
|
Не уступает
|
Количество каналов I2C, шт.
|
2
|
1
|
Превосходит
|
Количество каналов RS-232C, шт.
|
4
|
2
|
Превосходит
|
Модуль ЦП-РИО-64 содержит устройства самодиагностики, позволяющие после подачи питания или после снятия сигнала сброса формировать сигнал готовности. Разработанный модуль содержит встроенное ПО, программы ПЗУ и тестовое ПО. Модуль ЦП-РИО-64 позволяет обеспечить установку двух дополнительных мезонинных модулей в конструктиве РМС/XMC.
Модуль ЦП-РИО-64, предназначенный для построения систем цифровой обработки сигналов и высокопроизводительных однородных многопроцессорных вычислительных комплексов широкого применения с коммутационной средой стандарта RapidIO в конструктиве Евромеханика 6U, разработан в нескольких исполнениях, отличающихся стойкостью к внешним воздействующим факторам, количеством микропроцессоров и тактовой частотой микросхем 1890ВМ6Я. Тактовая частота микропроцессоров 1890ВМ6Я, входящих в модуль ЦП-РИО-64, не менее 200 МГц в диапазоне рабочих температур от –60 оС до +85 оС при установке двух микропроцессоров; не менее 270 МГц в диапазоне рабочих температур от 0 оС до +60 оС при установке одного микропроцессора 1890ВМ6Я. Пиковая производительность разработанных модулей с двумя 200 МГц микропроцессорами составляет 4,8 Гфлопс (одинарная точность), с одним 270 МГц микропроцессором – 3,6 Гфлопс. Моделированием и расчетными методами было оценено повышение сбоеустойчивости разработанного модуля ЦП-РИО-64, которое составило не менее 23 %.
Совместное использование известных методов повышения производительности и сбоеустойчивости начальной загрузки с новым способом распределения функций восстановления после сбоя реализовано в многопроцессорном модуле ЦП-РИО-64, работоспособность которого проверена в составе цифровых вычислительных комплексов в условиях разрушающего воздействия радиационных факторов при ограничении до 20 Вт на потребляемую мощность.
Литература
1. Бобков С.Г., Косарев И.М. Методы повышения производительности вычислительных систем: прилож. к журналу «Информационные технологии». 2012. № 10.
2. Betelin V.B., Baranov S.V., Bobkov S.G., Krasnyuk A.A., Osipenko P.N., Stenin V.Ya., Cherkasov I.G., Chumakov A.I., Yanenko A.V. Prospects for Using Submicron CMOS VLSI in Fault-Tolerant Equipment Operating Under Exposure to Atmospheric Neutrons. // Russian Microelectronics, 2009, vol. 38, no. 1, pp. 43–47.
References
1. Bobkov S.G., Коsarev I.М. Methods of computer systems performance increasing. Informatsionnye tekhnologii [Information technology]. 2012, no. 10 (in Russ.).
2. Betelin V.B., Baranov S.V., Bobkov S.G., Krasnyuk A.A., Osipenko P.N., Stenin V.Ya., Cherkasov I.G., Chumakov A.I., Yanenko A.V. Prospects for using submicron CMOS VLSI in fault-tolerant equipment operating under exposure to atmospheric neutrons. Russian Microelectronics. 2009, vol. 38, no. 1, pp. 43–47.