4.2 Обзор базовых ОСРВ для платформы TMS320C30
Для построения отказоустойчивой системы реального времени на базе процессора TMS320C30 необходимы базовые механизмы и средства, которые были перечислены в главе 1. В настоящее время существует достаточно много базовых ОСРВ для процессоров серии TMS320. Качественно они мало чем отличаются друг от друга, различия могут возникать из-за специфики применения этих ОСРВ. Приведем характеристики одной из самых известных ОСРВ, переносимых на TMS320C30.
Операционная система SPOX.
SPOX поддерживает несколько различных вариантов архитектур:
дополнительные вычислительные среды для рабочих станций;
однородные встраиваемые системы;
неоднородные встраиваемые системы;
персональные компьютеры с процессором Intel Pentium под управлением Microsoft Windows 95.
Среда SPOX состоит из четырех основных компонентов (рис. 4.1):
ядро SPOX (SPOX-KNL) обеспечивает вытесняющую приоритетную многозадачность, высокоскоростную обработку прерываний, распределение памяти, различные механизмы межзадачного обмена информацией и синхронизации, а также независимый от устройств ввод-вывод. Результатами тестирования SPOX-KNL стали следующие цифры:
Время захвата семафора – 7.9 мкс;
Время переключения задач одинакового приоритета – 15 мкс;
Время реакции на прерывание – 33 мкс;
Время завершения прерывания – 1.4 мкс;
Задержка диспетчеризации (время вытеснения задачи с большим приоритетом задачу с меньшим) – 12.24 мкс;
Время переключения контекста – 7 мкс;
Минимальный размер системы 1532 слова.
модуль SPOX-LINK поддерживает «прозрачное» взаимодействие между целевой платформой и хост-системой и дающее доступ к основным ресурсам хост-машины, таким как консоли, файловые системы и сети;
библиотека (SPOX-MATH) содержит свыше 175 математических функций;
высокоуровневый отладчик SPOX-DBUG.
Рис. 4.1. Структурная схема ОС SPOX
Все четыре подсистемы реализованы как библиотеки C-вызываемых перемещаемых модулей. При этом системные функции SPOX подключаются к объектному коду приложения на этапе связывания.
С помощью дополнительного модуля SPOX-MP становится возможной многопроцессорная обработка сигналов. Настройка на конкретную конфигурацию сети процессорных элементов задается в конфигурационном файле, что позволяет не привязываться к конкретной топологии в процессе разработки приложения. SPOX-MP обеспечивает динамическую передачу данных и сообщений по сети процессорных элементов, глобальное пространство имен, а также лавинообразную первоначальную загрузку сети.
Таким образом ОСРВ SPOX имеет необходимые механизмы для создания отказоустойчивой распределенной операционной системы реального времени, концепция построения которой описана в главе 2.
4.3 Аппаратно-зависимые компоненты ОСРВ
Модуль коммуникации оперирует высокоуровневыми функциями обмена, опирающимися на драйвера операционной системы. Обмен данными осуществляется через последовательные порты с помощью встроенных механизмов передачи маркера между соседними процессорными элементами.
Зависимость программного обеспечения в рамках рассматриваемой операционной системы возникает на этапе самодиагностирования процессора с целью получения информации о своем состоянии.
4.3.1. Модуль диагностики ПЭ
Модуль диагностики, реализованный в виде набора функций, возвращающих код ошибки, призван решать следующие задачи:
На этапе инициализации:
Тестирование регистров общего назначения процессора;
Проверка правильности выполнения арифметических, логических и др. операций;
Занесение в соответствующую таблицу контрольных сумм неизменных во время выполнения программ областей памяти (исполняемый код, константы), размещение которых в памяти проводится на этапе сборки рабочего кода в соответствии с картой памяти;
Во время рабочего цикла, тестирование может проводиться как с прерыванием вычислений функциональных задач, так и непосредственно во время их выполнения, если предусмотрено процессорное время на выполнение этих тестов. При этом может осуществляться:
Тестирование регистров общего назначение;
Проверка правильности выполнения арифметических, логических и др. операций;
Вычисление контрольных сумм указанных областей памяти и сопоставление их с вычисленными на этапе инициализации.
4.3.1.1. Тестирование регистров общего назначения
Этот тест выполняется первым для проверки регистров повышенной точности (R0-R7) и вспомогательных регистров (АR0-АR7). Тестирование сводится к проверке регистров на запись/чтение из памяти/в память и проверке правильности перемещения данных из регистра в регистр. Тест разбивается на два этапа:
Проверка вспомогательных регистров (целочисленные значения). Проверка реализована по следующему алгоритму:
Инициализировать две целочисленные переменные начальным и ожидаемым значением тестирования;
Загрузить начальное значение в регистры (АR0-АR7).
Произвести операцию сложения так, что в каждом последующем регистре оказалась сумма предыдущих.
Запись в стек модифицированных регистров.
Произвести операцию сдвига влево содержимого стека на N разрядов в соответствии с номером записанного регистра.
Записать данные из стека в регистры.
Произвести операцию сложения так, что в каждом последующем регистре оказалась сумма предыдущих.
Сравнить содержимое регистра АR7 с ожидаемым, заранее рассчитанным значением.
Проверка регистров повышенной точности (значения с плавающей точкой) проводится аналогично.
Функция register_test реализована на языке Ассемблер в соответствии с архитектурой и системой команд TMS320C30.
4.3.1.2. Проверка правильности выполнения арифметических, логических и др. операций
Данный тест разделен на три различных модуля. Вместе они проверяют следующие числовые операции:
1. Логические, сдвиг, циклический сдвиг.
2. Операции с плавающей запятой, выполненные над одним значением и соответствующие параллельные команды.
3. Операции с плавающей запятой и целочисленные, выполняющие сложение, вычитание, и умножение и соответствующие параллельные команды.
В тестах проверяются команды, перечисленные в Таблице 4.1.
Таблица 4.1Перечень тестируемых команд
Тест | Команды |
1 | 2 |
Тест 1 | ROL – циклический сдвиг влево, ROLC – циклический сдвиг влево через перенос, ROR – циклический сдвиг вправо, RORC – циклический сдвиг вправо через перенос, AND3 || STI – поразрядное логическое И с сохранением, LSH3 || STI – логический сдвиг с сохранением, NOT || STI – дополнение с сохранением, OR3 || STI – поразрядное логическое ИЛИ с сохранением, XOR3 || STI – поразрядное исключающее ИЛИ с сохранением, ABSI || STI – абсолютное значение целого с сохранением, NEGI || STI – отрицание целого с сохранением, ASH3 || STI – арифметический сдвиг с сохранением, |
1 | 2 |
NOT – поразрядное логическое дополнение, ABSI – абсолютное значение целого числа, NEGB – отрицание целого с заемом, ASH – арифметический сдвиг, NEGI – отрицание целого, TSTB3 – проверка битовых полей, CMPI3 – сравнение целых, STI || STI – сохранение целых, LDI || LDI – загрузка целых, XOR – поразрядное исключающее ИЛИ. | |
Тест 2 | STF – сохранить значение с плавающей точкой, LDF – загрузить значение с плавающей точкой, LDE – загрузка значения экспоненты с плавающей точкой, LDM – загрузка значения мантиссы с плавающей точкой, FIX – преобразование в целое, FLOAT – преобразование в значение с плавающей точкой, ABSF – абсолютное значение числа с плавающей точкой, NEGF – отрицание значения с плавающей точкой, NORM – нормирование значения с плавающей точкой, RND – округление значения с плавающей точкой, POPF – выталкивание значения с плавающей точкой из стека, PUSHF – загрузка в стек значения с плавающей точкой, ABSF || STF – абсолютное значение числа с плавающей точкой с сохранением значения с плавающей точкой, FIX || STI – преобразование в целое с сохранением, FLOAT || STF – преобразование в значение с плавающей точкой с сохранением значения с плавающей точкой, PUSH – загрузка целого в стек, POP – выталкивание целого из стека, LDF || STF – загрузить значение с плавающей точкой с сохранением значения с плавающей точкой, |
1 | 2 |
NEGF || STF – отрицание значения с плавающей точкой с сохранением значения с плавающей точкой, STF || STF – сохранения значений с плавающей точкой, LDF || LDF – загрузка значений с плавающей точкой. | |
Тест 3 | SUBF3 – вычитание значений с плавающей точкой, SUBF3 || STF – значения с плавающей точкой с сохранением значения с плавающей точкой, SUBB – вычитание целых с заемом, SUBC – условное вычитание целых, SUBF – вычитание значений с плавающей точкой, SUBRB – вычитание целых в обратном порядке с заемом, SUBRF - вычитание с плавающей точкой в обратном порядке, SUBI3 || STI – вычитание целых с сохранением, ADDC – сложение целых с переносом, ADDF – сложение значений с плавающей точкой, ADDF3 – сложение значений с плавающей точкой, ADDF3 || STF – значений с плавающей точкой с сохранением значения с плавающей точкой, ADDI3 || STI – сложение целых с сохранением, MPYF- умножение значений с плавающей точкой, MPYF3 – умножение значений с плавающей точкой, MPYI – умножение целых, MPYF3 || STF – умножение значений с плавающей точкой с сохранением значения с плавающей точкой, MPYF3 || ADDF3 – умножение и сложение с плавающей точкой, MPYF3 || SUBF3 умножение и вычитание с плавающей точкой, MPYI3 || STI – умножение целых с сохранением, MPYI3 || ADDI3 – умножение и сложение целых, MPYI3 || SUBI3 – умножение и вычитание целых, CMPF – сравнение значений с плавающей точкой, CMPF3 - сравнение значений с плавающей точкой. |
Проверка осуществляется с помощью фиксированного набора значений с целью тестирования команд в различных пределах. Вывод о успехе/неуспехе делается на основе контрольного суммирования результатов и сопоставления с ожидаемым значением.
... первичной или первичной вместе со вторичной или только вторичной И. Если это - итог обработки информации, решения задачи, то такая информация называется результативной, результирующей. В процессе решения задач возникает промежуточная информация, которая часто в автоматизированных системах играет самостоятельную роль, определения направления путей завершения решения задачи. Результатная информация ...
... , практически, не используются. Проблема информатизации Минторга может быть решена путем создания Автоматизированной Информационной системы Министерства Торговли РФ (АИС МТ РФ) в соответствии с настоящим Техническим предложением. ГЛАВА 2. МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ КОМПЛЕКСА ЗАДАЧ "СИСТЕМА ДОКУМЕНТООБОРОТА УЧЕРЕЖДЕНИЯ”. функции поиска и архивации 2.1. Постановка задачи и её спецификация ...
... действий одной из них; • обращение к внешним устройствам только через операционную систему, что позволяет программистам использовать уже написанные драйверы, и не заниматься проблемами обеспечения совместимости с ними вновь разработанных программ; • возможность использования звуковых и видеоприложений. В отличие от Windows З.х новая операционная система не нуждается в установке на компьютере ...
... Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. М.: Госстандарт СССР. ГОСТ 31078-2002. Защита информации. Испытания программных средств на наличие компьютерных вирусов. Типовое руководство. СТБ ИСО/МЭК 9126-2003. Информационные технологии. Оценка программной продукции. Характеристики качества и руководства по их применению. СТБ ИСО/МЭК ТО ...
0 комментариев