Назад в библиотеку

СРАВНИТЕЛЬНЫЙ АНАЛИЗ ВРЕМЕНИ ИСПОЛНЕНИЯ МАТЕМАТИЧЕСКОГО РЕШЕНИЯ НА ПЭВМ И КОНТРОЛЛЕРЕ С FPGA-ПРОЦЕССОРОМ

Автор: Сипаков Д.С., Харионов А.Ю.
Источник: Информационно-управляющие системы и технологии/ Всеукраинская научно-техническая конференция аспирантов и молодых ученых. – Донецк, ДонНТУ – 2015

Аннотация

Сипаков Д.С., Харитонов А.Ю. Сравнительный анализ времени исполнения математического решения на ПЭВМ и контроллере с FPGA-процессором. С помощью среды LabView выполнен математический расчет интеграла. Полученные решения запущены на выполнения на компьютере и контроллере FPGA с целью анализа времени исполнения. Ключевые слова: контроллер, интеграл, FPGA, визуальное программирование.

Постановка проблемы.

В ходе выполнения лабораторного практикума по курсу «Автоматизация» была поставлена задача: исследовать возможности FPGA-процессоров на контроллерах и языка программирования LabVIEW. Для решения этой проблемы было принято решение произвести сравнительный анализ по времени выполнения одного и того же математического расчета на компьютере и на контроллере с FPGA-процессором.
Цель статьи – произвести сравнительный анализ времени выполнения одного математического решения на компьютере и контроллере, с целью определения возможностей контроллера с FPGA-процессором.

Решение задач и результаты исследований.

Программируемая логическая интегральная схема (ПЛИС) — электронный компонент, используемый для создания цифровых интегральных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования (проектирования). Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры. Альтернативой ПЛИС являются: программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC — специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже; специализированные компьютеры, процессоры (например, цифровой сигнальный процессор) или микроконтроллеры, которые из-за программного способа реализации алгоритмов в работе медленнее ПЛИС [1]. ПЛИС используют в приложениях, где необходимо большое количество портов ввода-вывода, цифровая обработка сигнала, высокоскоростная передача или обработка данных. Одним из типов ПЛИС является FPGA. FPGA (Field-Programmable Gate Array) — программируемая пользователем вентильная матрица (ППВМ). содержат блоки умножения-суммирования, которые широко применяются при обработке сигналов (DSP), а также логические элементы (как правило, на базе таблиц перекодировки — таблиц истинности) и их блоки коммутации. FPGA обычно используются для обработки сигналов, имеют больше логических элементов и более гибкую архитектуру, чем CPLD. Это полупроводниковое устройство, которое может быть сконфигурировано производителем или разработчиком после изготовления. Устройство программируются путём изменения логики работы принципиальной схемы, например, с помощью исходного кода на языке проектирования, на котором можно описать эту логику работы микросхемы. Логический блок классической ППВМ состоит из таблицы истинности на 4 входа и триггера.

Рисунок 1 – Типичный логический блок

Логический блок имеет таблицу истинности на 4 входа и вход синхронизации (clock). Выход блока только один, это может быть регистровая или нерегистровая выходная таблица истинности. Поскольку сигналы синхронизации в коммерческих ППВМ (а часто и другие сигналы, распараллеливающиеся на большое количество входов — high-fanout signals) трассируются особым образом специальными трассировочны, управление этими сигналами делается отдельно [2].

Рисунок 2 – Расположение контактов логического блока

В месте пересечения вертикальных и горизонтальных каналов создаются переключательные блоки. При такой архитектуре для каждого проводника, входящего в переключательный блок, существуют три программируемых переключателя, которые позволяют ему подключаться к трём другим проводникам в смежных сегментах канала.

Рисунок 3 – Топология переключательного блока

Рассмотрим некоторые виды контроллеров с FPGA. Один из них NI cRIO-9072. Он имеет 8-слотное шасси и процессор мощностью 266 МГц. Имеет последовательный порт RS232 для подключения периферийных устройств, а так же T-Enthernet порт.

Рисунок 4 – NI cRIO-9072

Еще одним из подобных контроллеров является NI 9870. Он имеет 4 последовательных порта RS232. Различные скорости передачи в бодах от 14 бод до921,6 кбод. Информационные биты: 5, 6, 7, 8; стоповые биты: 1, 1,5, 2; управление потоком: XON/OFF, RTS/CTS. От 8 до 28 В постоянного тока от внешнего источника питания; кабель PC-MF4-PT включен в комплект поставки. Рабочий диапазон температур от -40 до 70 °C.

Рисунок 5 – NI cRIO-9072

Последним из рассматриваемых контроллеров является NI 9211. Имеет 4 термопары или аналоговые входы на ±80 мВ, 24-битная резолюция, рабочий диапазон температур от -40 до 70 °C.

Рисунок 6 – NI 9211

Лабораторные работы проводились на контроллере NI cRIO-9072(см.рис.1). Для решения поставленной задачи изначально были реализованы два численных метода решения интегрального выражения. В среде LabView были выполнены программы, реализующие метод прямоугольников и метод трапеций, которые вычисляют приблизительно значение одной и той же подынтегральной функции. После того, как необходимые программы были реализованы, они были запущены на выполнение на компьютере, время выполнения каждого расчета замерялось в миллисекундах.

Рисунок 7 – Результат выполнения расчета метода прямоугольников на компьютере

Рисунок 8 – Результат выполнения расчета метода трапеций на компьютере

Затем эти же программы были запущены на выполнение на контроллере NI cRio 9072, на нем время выполнения замерялось в наносекундах и тактах работы процессора.

Рисунок 9 – Результат выполнения расчета метода прямоугольников на контроллере

Рисунок 10 – Результат выполнения расчета метода трапеций на контроллере

По полученным результатам, которые отражены на рисунках 7,8,9,10 была составлена таблица, которая отображает время, затрачиваемое на выполнение расчетов на компьютере и на контроллере NI cRio 9072. Более того как можно заметить реализация программ математических расчетов на языке LabView на ПЭВМ ничем не отличается от реализации на контроллере. Код на LabView сохраняется на контроллере почти в том же виде, в котором он был создан пользователем.

Таблица 1 – Время выполнения расчетов

Выполняемый расчет Время на компьютере, сек Время на NI cRio 9072, сек
Метод прямоугольников 0,022 0,00009
Метод трапеций 0,033 0,0001775

Исходя из результатов таблицы, можно сделать определенные выводы. Контроллер на базе FPGA-процессора выполняет сложные математические вычисления гораздо быстрее, чем компьютер, это происходит за счет того, что операция на FPGA-процессоре выполняется полностью за один такт работы в отличие от обычных процессоров, которые встроены в компьютеры.

Выводы

В ходе проведения анализа и выполнения практических работ, было установлено, что контроллеры с FPGA-процессором обладают большим быстродействием при расчете сложных математических вычислений и расчетов, чем обычные процессоры. Более того FPGA-процессоры могут программироваться непосредственно пользователем для решения определенного типа задач. Контроллеры на базе FPGA-процессоров могут быть использованы в распределенных системах, для выполнения параллельных вычислений, гарантируя быстрое выполнение операций. Более того FPGA могут применяться как ускорители универсальных процессоров в суперкомпьютерах (Cray — XD1, SGI — проект RASC).

Список литературы

  1. ПЛИС [Электронный ресурс].  –  Режим доступа:https://ru.wikipedia.org/wiki/ПЛИС#GAL
  2. ППВМ [Электронный ресурс].  –  Режим доступа:https://ru.wikipedia.org/wiki/ Программируемая_пользователем_вентильная_матрица
  3. National Instruments [Электронный ресурс].  –  Режим доступа:http://sine.ni.com/nips/cds/view/p/lang/ru/nid/208787
  4. Е. Баран LabView FPGA. Реконфигурируемые измерительные и управляющие системы. – М.:ДМК Пресс, 2014. – 360 c.
  5. National Instruments Учебный курс.LabVIEW и CompactRIO: основы разработки приложений, 2009. – 305 c.