Файл: Основы бортовых вычислительных машин.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.12.2023

Просмотров: 453

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

258 вооружением и бортовым оборудованием. Для программного обеспе- чения управляющих систем характерны следующие особенности: выполнение вычислений в реальном масштабе времени; большой объем программ и используемой числовой информа- ции, одновременно задействованной в ЦВМ; сильная взаимосвязанность программ по последовательности их включения и по используемым переменным величинам; мультипрограммный характер выполнения программ в режиме разделения времени и наличие обмена информацией с внешними або- нентами во время решения основных функциональных задач; многорежимность функционирования программ с использовани- ем одной и той же программы в различных сочетаниях с другими в соответствии с изменением режимов работы управляющей системы; применение буферных накопителей для хранения входной и вы- ходной информации, поступающей в накопители в случайные момен- ты времени при взаимодействии с несколькими абонентами; большой удельный вес в программах операций логического пре- образования, поиска и упорядочивания информации с преобладанием этих операций над операциями чисто вычислительного характера; использование программно-логических способов защиты от сбо- ев и отказов аппаратуры и от ошибок в поступающей информации.
В состав ПО БЦВС входят программы, выполняющие задачи управления БРЛС, самолетом, вооружением, программы навигации, программы встроенного контроля и программы связи с другими са- молетами при работе в группе. Эти программы обеспечивают реше- ние основных функциональных задач и поэтому называется функцио- нальными. Кроме них в состав ПО БЦВС входят также программы, организующие вычислительный процесс, называемые управляющими или диспетчерскими.
При разработке управляющих программ должны учитываться следующие особенности работы ЦВС:
ЦВС выполняет множество функций и обменивается информа- цией с большим количеством внешних абонентов; данные от абонентов могут поступать в ЦВМ периодически, а также в случайные моменты времени вследствие асинхронности ра- боты разных систем комплекса, поэтому требования на решение от- дельных задач формируются в ЦВС периодически с определенной частотой или возникают асинхронно при поступлении данных от

259 внешних абонентов; в ЦВС необходимо непрерывно учитывать все заявки, на реше- ние отдельных задач и определять в каждой ситуации оптимальную последовательность их реализации; длительность решения задач и темп выдачи информации долж- ны соответствовать режимам работы и текущим состояниям управ- ляемых объектов.
С учетом этих требований и особенностей системы прерывания
БЦВМ A-15A в БЦВС самолета МиГ-31выбрана следующая органи- зация вычислительного процесса (рисунок 7.9). В системе использо- ваны внешние прерывания первого (ВП-1), второго (ВП-2) и третьего
(ВП-3) классов.
Внешние прерывания ВП-0 используются для контроля ЦВМ и для обслуживания режима регистрации полетной информации. Зада- чи этого класса являются самыми приоритетными и могут прерывать любые задачи, у которых нет маски (запрета) на ВП-0. Функциональ- ные задачи разделены на две группы: задачи ТАБЛИЦЫ РЕЖИМОВ (TP), жестко связанные с вре- менной диаграммой, периодичные, следующие друг за другом в строгой последовательности; задачи, решаемые по заявкам, как правило, менее связанные с временной диаграммой.
Рисунок 7.9 – Диспетчерские программы БЦВС
Время решения задач первой группы невелико, меньше длитель- ности такта. Время решения задач, решаемых по заявкам, как прави- ло, более одного такта.


260
Задачи, решаемые по заявкам, могут прерываться задачами ТР.
Отсюда возникает необходимость запоминания состояния прерван- ных задач для последующего восстановления и продолжения реше- ния. Задачи по заявкам ставятся на очередь и на исполнение в уста- новленной при помощи приоритетного ряда последовательности про- граммой обработки заявок (ПРОЗ).
Задачи ТР включаются по ВП-2, задачи встроенного контроля включаются по ВП-1. Данное разделение введено для большей поме- хозащищенности системы.
Для увязки работы подсистем, имеющих, как правило, собствен- ные временные диаграммы, с работой системы в целом используются
ВП-3. Они обслуживают группу срочных задач и могут прервать за- дачи по заявкам и задачи ТР.
Для каждого из прерываний есть соответствующая программа обработки. Программа ОБРАБОТКА ВП-1 (ОВП-1) организует включение программ встроенного контроля с частотой 96 Гц. Про- грамма ОБРАБОТКА ВП-2 (ОВП-2) организует работу системы в ре- альном масштабе времени и включает программу ТАБЛИЦА
РЕЖИМОВ также с частотой 96 Гц. Максимальная частота выполне- ния программ определяется периодом следования импульсов синхро- низации радиолокационного комплекса равным 10,24 мс. Этот вре- менной интервал называется также элементарным тактом работы комплекса. Программа ОБРАБОТКА ВП-3 (ОВП-3) организует вы- полнение отдельных задач в соответствии с требованиями на их включение, а также для контроля и отладки программ совместно с сервисным прибором ПС 8-01.
7.2.2 Выполнение программ, жестко связанных с временной диаграммой
Частные (функциональные) программы, жестко связанные с временной диаграммой, запускаются на решение программой Табли- ца режимов. Таблица режимов является частью общего диспетчера.
Она обеспечивает последовательное подключение программ в соот- ветствии с заданными временными диаграммами и логикой работы радиоэлектронного комплекса, осуществляет генерацию заявок на частотные и асинхронные задачи, а также организует все многообра- зие режимов работы комплекса.

261
Все частотные программы, входящие в ТР, подразделяются на несколько классов (уровней). Каждый уровень объединяет программы одинакового функционального назначения, но соответствующие раз- ным режимам работы радиолокационного комплекса. Таким образом, любой конкретный режим предполагает включение на каждом уровне только одной программы. Выбор задач на каждом уровне осуществ- ляется в соответствии с режимом работы комплекса и задается фор- мированием ключей каждого уровня. Ключ - это ячейка оперативно- го запоминающего устройства, в которой находятся начальный адрес конкретной программы. Ключи формируются как в самой Таблице режимов, так и в других программах. Первоначально ключи форми- рует программа ПУСК. Такая структура обеспечивает простоту пере- ключения режимов путем смены содержимого ключей. Другое досто- инство такого построения ТР состоит в возможности подключения новых режимов путем наращивания программ в каждом уровне, не изменяя общей структуры программного обеспечения.
Для осуществления контроля за правильностью хода программы и восстановления программы в случае сбоя каждый уровень ТР за- ключен в так называемые контрольные ромбы. То есть в начале уров- ня запоминается слово состояния программы (ССП), одним из эле- ментов которого является начальный адрес уровня. В конце уровня проверяется начальный адрес и, если проверяемый адрес не совпадает с записанным в ССП, значит, произошел сбой и необходимо восста- новить правильность хода программы. Операторы записи и проверки
ССП на схеме алгоритма изображены ромбами, поэтому они и носят названия контрольных ромбов.
Программы уровня Б (рисунок 7.10) предназначены для обра- ботки информации от БРЛС в разных режимах. Конкретный режим для каждого интервала задает программа КОД ИНТЕРВАЛА, она же и назначает соответствующую ветвь уровня Б. Частота включения уровня Б, как и всей программы ТР, составляет 96 Гц. Но каждая кон- кретная ветвь этого уровня подключается со своей определенной час- тотой. Если в такте нет задач данного уровня, в ключ Б записывается адрес холостой ветви, которая передает управление на следующий уровень.
Второй уровень ТР называется "Дешифратор счетчика элемен- тарных тактов" и обозначен на схеме (см. рисунок 7.10) как уровень
С.


262
В общей ветви этого уровня с частотой 96 Гц работает програм- ма выдачи информации в систему регистрации и на обзорный инди- катор.
Уровень Т является определяющим для таблицы режимов, ему программа обязана и своим названием. На этом уровне собраны про- граммы, называемые КОД ИНТЕРВАЛА, каждая из которых опреде- ляет содержание соответствующего интервала, а именно: назначает код интервала, рассчитывает и выдает в обменные ячейки необходи- мую в данном интервале информацию, назначает ветви обработки формированием ключей Б и Д. Каждому режиму работы комплекса соответствует своя определенная последовательность интервалов, ко- торая задается таблицей начальных адресов программ КОД
ИНТЕРВАЛА. Эти таблицы называются таблицами режимов. Отсюда и название всей программы.
Каждая таблица содержит 25 адресов, задающих последователь- ность программ КОД ИНТЕРВАЛА для полного цикла. Количество таблиц определяется количеством режимов работы комплекса и мо- жет наращиваться, если вводятся новые режимы.
С уровня Т осуществляется передача управления на уровень Д.
Нa этом уровне собраны программы, функциональное назначение ко- торых - расчет угловых позиций и выдача их в БРЛС. Уровень Д по- следний в таблице режимов, после его выполнения управление пере- дается в программу обработки заявок.
7.2.3 Выполнение программ по асинхронным заявкам
Программное обеспечение БЦВС содержит ряд программ, время исполнения которых больше длительности такта с учетом необходи- мости решения в такте более приоритетных задач. Кроме этого, су- ществует также наложение по времени исполнения двух или несколь- ких программ, обусловленное их приоритетностью.
Для обеспечения решения этих задач в соответствии с их при- оритетностью и сохранения синхронности работы центральной ЦВМ и внешних устройств выполнение таких программ организовано по заявкам с разрешением прерывания заявок. Управляющая программа, обслуживающая данную группу функциональных программ, является составной, частью диспетчера и называется программой обработки заявок (ПРОЗ).

263
Рисунок 7.10 – Схема алгоритма программы ТР
Принцип работы ПРОЗ заключается в следующем. Все задачи, решаемые по заявкам, распределены по приоритету. Каждой частной


264 программе (ЧП) соответствует определенный разряд регистра заявок.
Регистр заявок PЗ1*РЗ2 - это двойное слово ОЗУ. Приоритетность заявок уменьшается с увеличением номера разряда. Заявки первого слова приоритетней заявок второго слова. Ситуация, соответствую- щая заявке от частной программы, характеризуется наличием 1 в за- крепленном за ней разряде регистра заявок. Кроме регистра заявок в
ОЗУ организован регистр прерванных заявок РПЗ1*РПЗ2, а в долго- временной памяти с возможностью смены информации (ДЗУС) —
регистр неисполняемых заявок (PHЗ1*РНЗ2). Оба регистра имеют распределение разрядов, аналогичное PЗ1*РЗ2. Заявки на выполнение
ЧП ставятся в программе ТР или при поступлении требования от внешних абонентов по ВП-3. ПРОЗ обеспечивает обслуживание в первую очередь заявки, имеющей наименьший номер из всех уста- новленных в разрядах единиц. Поэтому возможно прерывание одной частной программы другой более приоритетной. В этом случае ПРОЗ подключает более приоритетную программу, запоминая все величи- ны, необходимые для продолжения выполнения прерванной про- граммы. Запоминание происходит в определенном участке ОЗУ, на- зываемом карманом магазина. Всего имеется 5 карманов, в которых может храниться пять прерванных ЧП. По окончании исполнения те- кущей ЧП и отсутствия более приоритетных заявок из карманов вы- бираются по очереди прерванные программы и исполняются.
В каждом кармане магазина имеется 11 ячеек со следующим словами:
№ базы - в ней содержится собственный адрес данной ячейки для контроля настройки на карман магазина;
ССП1*ССП2
ТЕК
- слово состояния программы на момент преры- вания;
ССП1*CCП2
БЛ
- ССП начального блока прерывающей програм- мы;
PC1*РС2, РИ1*РИ2 - содержимое регистров сумматора и ин- дексных регистров;
Счвр1*Счвр2 - счетчик зацикливания - момент времени, до ко- торого задача должна быть решена. Он определяется при выборке но- вой задачи как текущий счетчик времени плюс время, отведенное для решения данной задачи. Время решения задачи складывается из вре- мени на решение собственно данной задачи и времени решения более приоритетных задач, прерывающих ее.

265
Цена младшего разряда счетчика зацикливания равна одному такту (10,24 мс).
Для настройки на карман магазина служит ячейка РИМ (индекс- ный регистр магазина), в которой всегда хранится адрес последнего занятого кармана магазина. Для случая, когда прерванных заявок нет, в РИМ посылается РИМ0 - адрес нулевого кармана магазина, состоя- щего из одной ячейки - базы кармана.
В целом временная диаграмма выполнения программ имеет вид представленный на рисунке 7.11.
Рисунок 7.11 – Временная диаграмма выполнения программ
Программы таблицы режимов связаны с внешними прерывания- ми и выполняются с частотой 96 Гц за один цикл. Частные програм- мы, исполнение которых требует большего времени, загружаются на решение программой ПРОЗ. Они могут быть прерваны как друг дру- гом, так и программой ТР. Прерывание самой ПРОЗ невозможно. На рисунке 7.12 показана схема алгоритма ПРОЗ.
Вход в ПРОЗ осуществляется из программы ТР. После входа осуществляется маскирование всех прерываний, кроме прерываний по сбою оборудования, и из регистра заявок и регистра прерванных заявок извлекаются значения старших разрядов. По каждому из раз- рядов возможны четыре различные ситуации, определяемые сочета- нием битов a и
b
При сочетании битов a =1 и
b
=0 - новая заявка сформирована, а прерванных заявок этого уровня нет, осуществляется выполнение но- вой частной программы. Выполнение начинается с выяснения, нет ли этой заявки в регистре неисполняемых заявок, для чего проверяется
РНЗ в ДЗУС. Если заявка есть в РНЗ, то ее необходимо сбросить не выполняя, и перейти на выборку новой заявки, т.е. на начало ПРОЗ.


266
Если же состояние i-го разряда РНЗ равно нулю, то из ПЗУ загружа- ется слово состояния программы, соответствующее заявке, и осуще- ствляется её исполнение. В процессе исполнения возможно прерыва- ние частной программы программами более высокого приоритета или управляющей программой (ТР). В этом случае в регистр прерванных заявок в i -й разряд записывается единица и происходит выход из
ПРОЗ в таблицу режимов. При нормальном завершении частной про- граммы ПРОЗ обнуляет Р3
i
, обеспечивает увеличение
i на единицу и переходит к заявкам следующего (меньшего) приоритета.
Рисунок 7.12 - Схема алгоритма программы обработки заявок
При сочетании битов a =0 и
b
=1 - новая заявка не сгенерирова- на, а старая прервана, происходит восстановление слова состояния прерванное программы по содержимому соответствующего кармана магазина и ее выполнение.

267
При сочетании битов a =0 и
b
=0 - новая заявка не сгенерирова- на, а старая выполнена, ПРОЗ переходит к проверке следующей пары битов РЗ
1
i
+
и РПЗ
1
i
+
, соответствующих заявкам более низкого приоритета. После выполнения всех заявок происходит запуск тестов текущей самопроверки.
При сочетании битов a =1 и
b
=1- новая заявка сгенерирована, а старая не выполнена, возникает конфликтная ситуация. В этом слу- чае новая заявка аннулируется и продолжается выполнение старой за- явки - восстановление ССП. Таким образом, частота счета данной за- явки понижается. Если время выполнения программы превысило за- данное время, то заявка сбрасывается, этот сброс фиксируется в счет- чике отказов. Если происходит аппаратный сбой, он также фиксиру- ется в счетчике отказов. В этом случае регистры заявок и прерванных заявок обнуляются, остается только заявка на контроль, а в регистр индекса магазина (РИМ) посылается адрес нулевого кармана магази- на.
7.3 Надежность бортовых вычислительных систем
БЦВС как объект исследования при количественном описании надежности представляет собой совокупность информационно- взаимосвязанных аппаратных и программных средств, функциони- рующих под управлением единой операционной системы. Отличие
БЦВС от других объектов определяет необходимость учета следую- щих особенностей при рассмотрении вопроса ее надежности: реальный масштаб времени реализации заданного класса алго- ритмов; многокомпонентность, определяемая большим количеством функциональных элементов БЦВС; многорежимность, определяемая необходимостью решения большого числа задач; функционирование в сложном информационно-управляющем поле, характеризующимся большим количеством источников и по- требителей информации; периодичность решения относительно устойчивого класса задач; широкий диапазон внешних воздействующих факторов, наличие различных видов избыточности (временной, структур- ной, информационной, функциональной, алгоритмической);