В интересах определения требования к объёму памяти и быстродействию цифровой системы обработки сигналов спутниковых радионавигационных систем разработано исследование определения количества выполняемых операций в алгоритме управления беспилотным летательным аппаратом.
Ключевые слова: объём памяти, беспилотный летательный аппарат, количество операций, цифровая вычислительная машина.
Интеллектуальным ядром беспилотных летательных аппаратов являются высоконадежные вычислительные системы обработки сигналов и управляющие комплексы, которые реализуются на основе микропроцессорной техники. БПЛА в качестве обязательного элемента содержат бортовую цифровую вычислительную машину БЦВМ, что обусловлено многообразием режимов работы, необходимостью обработки больших массивов информации и формирования большого числа команд управления. Режим обработки данных в БПЛА должен производиться в темпе, соизмеримом со скоростью протекания внешних регистрируемых процессов, то есть в режиме реального времени. Это накладывает высокие требования на быстродействие БЦВМ [1].
Основные проблемы выбора характеристик БЦВМ, вводимой в структуру управления, определяются непосредственно только особенностями исполняемого программного алгоритма. Поскольку наряду с аппаратной частью от данного алгоритма очень сильно зависит быстродействие системы, выбор микропроцессорных средств невозможно осуществить в отрыве от задачи управления и ее алгоритмического обеспечения [2].
В действительности единственной подходящей и надежной единицей абсолютно точного измерения производительности является время выполнения реальной микропрограммы на конкретной БЦВМ. Но для проведения оценки этой производительности корректно использовать стандартные единицы измерения.
В настоящее время широко распространены две альтернативные единицы измерения производительности процессора:
MIPS — один миллион команд в секунду (по отношению ко времени выполнения);
MFLOPS — один миллион чисел — результатов вычислений с плавающей точкой в секунду, или один миллион элементарных арифметических операций над числами с плавающей точкой, выполненных в секунду.
У нас есть три оценки/измерения FLOPS: теоретическая, бенчмарк и программа. Рассмотрим особенности вычисления FLOPS для первого случая. Принцип этого измерения заключается в определении операций сложения и умножения в алгоритме, затем эти два значения складываются. Следующий пример показывает применение этого измерения:
Если у нас 8 операций умножения (MUL) и 8 операций сложения (ADD), мы можем получить следующие результаты [3]:
8 MUL (32-bit) и 8 ADD (32-bit): 16 SP FLOP/cycle, то есть 16 операций с плавающей точкой одинарной точности за один такт.
Теоретическое пиковое значение FLOPS для доступного мне 1-сокетного Xeon E3–1275 (4 cores @ 3.574GHz) составляет:
16 (FLOP/cycle)*4*3.574 (Gcycles/sec) = 228 GFLOPS SP(1)
Допустим что, общее количество операций с плавающей точкой одинарной точности за один такт равно:
MUL + ADD = (2)
Предполагая, что у нас следующие условия , для различных количеств получаем количество операций MUL + ADD, как показано в таблице 1.
Таблица 1
Количество операций умножения и сложения в алгоритме
Количество |
N |
||
5 |
7 |
9 |
|
MUL + ADD |
1470 |
1840 |
2210 |
В качестве операционной системы реального времени (ОСРВ) используется «БагрОС 4000», разработки ПАО «Компания «Сухой» для встраиваемых систем (бортовых вычислителей). Специальные программные адаптеры операционной системы были разработаны на процессорах «Эльбрус‑2С», «Эльбрус‑4С», в составе которых прошли продолжительную опытную эксплуатацию, а также на других платформах [4]. Таблица 2 включает список процессоров семейства Эльбрус [5].
Таблица 2
Список процессоров
Наименование процессора |
Эльбрус-2С |
Эльбрус-4С |
Эльбрус-16С |
Эльбрус-32С |
Год выпуска |
2011 |
2014 |
2022 |
В планах 2025 |
Количество ядер |
2 |
4 |
16 |
32 |
Тактовая частота, МГц |
500 |
800 |
2000 |
2500 |
Согласно уравнению (1) и для каждого типа процессора получаем количество операций с плавающей точкой, как показано в таблице 3.
Таблица 3
Количество операций с плавающей точкой
Наименование процессора |
GFLOPS SP |
|||
Эльбрус-2С |
Эльбрус-4С |
Эльбрус-16С |
Эльбрус-32С |
|
|
1470 |
4704 |
47040 |
117600 |
|
1840 |
5888 |
58880 |
147200 |
|
2210 |
7072 |
70720 |
176800 |
Таким образом, использование процессора Эльбрус-16С приведет к увеличению скорости выполнения операций в десять раз по сравнению с использованием процессора Эльбрус-4С. Но использование процессора Эльбрус-32С (в планах 2025 г.) увеличит скорость выполнения операций в двадцать пять раз.
Пока значения с одиночной точностью и типом float имеют 4 байта, можно определить соответствующий объём памяти для каждого из ранее указанных процессоров, как показано в таблице 4.
Таблица 4
Объём памяти для каждого процессора
Наименование процессора |
Объём памяти Тбайт |
||
|
|
|
|
Эльбрус-2С |
5,88 |
7,36 |
8,84 |
Эльбрус-4С |
18,816 |
23,552 |
28,288 |
Эльбрус-16С |
188,16 |
235,52 |
282,88 |
Эльбрус-32С |
470,4 |
588,8 |
707,2 |
Время, затрачиваемое цифровой системой обработки на обработку сигналов с помощью разработанного алгоритма при заданной производительности