Научная статья на тему 'Проектирование системы инъекции ошибок для отработки сбоеустойчивых процессоров бортовых систем малого космического аппарата'

Проектирование системы инъекции ошибок для отработки сбоеустойчивых процессоров бортовых систем малого космического аппарата Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
72
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОДИНОЧНЫЙ СБОЙ / SINGLE ERROR / ИНЪЕКЦИЯ ОШИБОК / FAULT INJECTION / СИСТЕМА НА КРИСТАЛЛЕ / SYSTEM ON CHIP / ПЛИС / FPGA

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Чекмарёв С.А., Ханов В.Х.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Чекмарёв С.А., Ханов В.Х.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DESIGNING AN ERROR INJECTION SYSTEM FOR TESTING FAULT TOLERANT PROCESSORS OF SMALL SPACECRAFT ONBOARD SYSTEMS

The error injection system for testing fault tolerant processors of small spacecraft onboard systems is considered. Functionality of the developed IP-cores included in the system is presented. Debugging method for processor cores is proposed. Also SEU injection into processor memory and its correction procedure are described.

Текст научной работы на тему «Проектирование системы инъекции ошибок для отработки сбоеустойчивых процессоров бортовых систем малого космического аппарата»

Решетневскуе чтения. 2014

УДК 681.3:629.7

ПРОЕКТИРОВАНИЕ СИСТЕМЫ ИНЪЕКЦИИ ОШИБОК ДЛЯ ОТРАБОТКИ СБОЕУСТОЙЧИВЫХ ПРОЦЕССОРОВ БОРТОВЫХ СИСТЕМ МАЛОГО КОСМИЧЕСКОГО АППАРАТА

С. А. Чекмарёв, В. Х. Ханов

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660014, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

Е-mail: zaq259@yandex.ru

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

Ключевые слова: одиночный сбой, инъекция ошибок, система на кристалле, ПЛИС.

DESIGNING AN ERROR INJECTION SYSTEM FOR TESTING FAULT TOLERANT PROCESSORS OF SMALL SPACECRAFT ONBOARD SYSTEMS

S. A. Chekmaryov, V. Kh. Khanov

Siberian State Aerospace University named after academician M. F. Reshetnev 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation. E-mail: zaq259@yandex.ru

The error injection system for testing fault tolerant processors of small spacecraft onboard systems is considered. Functionality of the developed IP-cores included in the system is presented. Debugging method for processor cores is proposed. Also SEU injection into processor memory and its correction procedure are described.

Keywords: single error, fault injection, System on Chip, FPGA.

В настоящее время усилия в области проектирования сбоеустойчивой архитектуры микропроцессоров в основном концентрируются на защите от одиночных ошибок (Single-event Upset, SEU) внутренней памяти процессора: кэш-памяти и файла регистров [1].

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

Имеется несколько подходов к инъекции аппаратных ошибок во внутреннюю память процессора. В данной работе применительно к программируемым логическим интегральным схемам (ПЛИС) типа FPGA (Field Programmable Gate Array) рассмотрен метод, который основывается на возможностях OSD-методов, использующих для внесения ошибок блоки отладки ядра процессора (порты тестирования, test ports), которыми оснащены все современные микропроцессоры [3].

Все основные функции по внесению ошибок, такие как генерация списка вносимых ошибок, непо-

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

Представленная архитектура (см. рисунок) системы инъекции ошибок реализована в ПЛИС-устройстве на базе flash-FPGA ProASIC3E A3PE3000, являющемся инженерным образцом бортового компьютера. В качестве IP-процессора использовано открытое на уровне VHDL-кода ядро LEON3 [4]. Связь между процессорным ядром и модулем инъекции осуществляется по внутрикристальной шине AMBA. AMBA имеет две шины: высокоскоростную AHB и низкоскоростную APB. Тестовый порт DSU (Debug Set Unit) расположен на высокоскоростной шине AHB. Управляющий компьютер подключается к низкоскоростной шине APB через интерфейс UART.

Модуль инъекции ошибок состоит из трёх блоков: контроллер инъектора ошибок (FI, fault injection), лист ошибок SEU, накопитель результатов. Контрол-

Космическое электронное приборостроение

лер инициализирует транзакции по шине AMBA AHB с целью внесения ошибок в память процессора. При этом в момент инъекции ошибки сам процессор останавливается, а механизм ECC выключается. Доступ к памяти процессора осуществляется через порт DSU. Тип инъекции (одиночная, двойная), адрес в памяти, момент времени инъекции определяются блоком листа ошибок SEU. После успешной инъекции работа процессора возобновляется. Перед каждой следующей инъекцией контроллер считывает статусную информацию механизма ECC и сохраняет её в накопитель результатов. Накопитель содержит адреса обнаруженных ошибок памяти, количество исправленных и не исправленных сбоев.

Результаты экспериментов показывают, что примерно 90 % процентов вносимых ошибок были обнаружены, из них не менее 92 % процентов ошибок исправлены с помощью кода Хсяо. Эксперименты подтвердили, что предложенная архитектура системы инъекции ошибок соответствует задаче отработки сбоеустойчивой архитектуры процессорных IP-блоков.

Библиографические ссылки

1. Осипенко П. Одиночные сбои - вызов для современных микропроцессоров // Электронные компоненты. 2009. № 7. С. 12-15.

2. Hsueh M.-C., Tsai T. K., Iyer R. K. Fault Injection Techniques and Tools // Computer. 1997. С. 75-82.

3. Fidalgo Andre V., Alves Gustavo R., Ferreira Jose M. Real Time Fault Injection Using Enhanced OCD -A Performance Analysis // 21st IEEE International Symposium on Defect and Fault-Tolerance in VLSI Systems (DFT'06). 2006. P. 254-264.

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

Для оценки избыточности вносимой в БРвА рассмотренная архитектура была реализована для разного количества ошибок листа событий SEU. Результаты синтеза для ПЛИС А3РЕ3000 представлены с табл. 1.

По табл. 1 следует, что предложенный метод не является ресурсозатратным.

В табл. 2 представлены результаты экспериментов по внесению ошибок в регистровый файл и в ОЗУ процессора.

4. SPARC V8 32-bit Processor LEON3 / LEON3-FT Companion Core Data Sheet Template Design. Gaisler Research, 2010. 41 c.

References

1. Osipenko P. Single failure - a challenge for modern microprocessors. Electronic components 2009. № 7. С. 12-15.

5. Hsueh M.-C., Tsai T. K., Iyer R. K. Fault Injection Techniques and Tools. Computer, 1997. С. 75-82.

6. Fidalgo Andre V., Alves Gustavo R., Ferreira Jose M. Real Time Fault Injection Using Enhanced OCD -A Performance Analysis. dft, p. 254-264, 21st IEEE International Symposium on Defect and Fault-Tolerance in VLSI Systems (DFT'06), 2006.

7. SPARC V8 32-bit Processor LEON3 / LEON3-FT Companion Core Data Sheet Template Design. Gaisler Research, 2010. 41 c.

© Чекмарёв С. А., Ханов В. Х., 2014

Таблица 1

Результаты синтеза архитектуры системы внесения ошибок для ПЛИС А3РЕ3000

Количество ошибок SEU Затраченные ресурсы логической ёмкости, Core Cells Затраченные ресурсы внутикристальной памяти, Block Rams

100 832 (менее 1 %) 2 (менее 2 %)

500 832 (менее 1 %) 4 (менее 4 %)

1000 832 (менее 1 %) 6 (менее 6 %)

2000 832 (менее 1 %) 8 (менее 8 %)

Таблица 2

Данные по внесению ошибок в регистровый файл и в ОЗУ процессора

Количество внесенных ошибок SEU Регистровый файл ОЗУ (SRAM)

обнаружено! % исправленоI% обнаруженоI % исправленоI%

100 87I87 87I100 61I61 61I100

500 463I92,6 463I100 370I74 370I100

1000 958I95,8 949I99 837I83,7 826I99

2000 1920I96 1845I96 1739I86,9 1602I92

i Надоели баннеры? Вы всегда можете отключить рекламу.