Інтернет-конференції НУБіП України, ТЕОРЕТИЧНІ ТА ПРИКЛАДНІ АСПЕКТИ РОЗРОБКИ КОМП’ЮТЕРНИХ СИСТЕМ '2025

Розмір шрифту: 
ДОСЛІДЖЕННЯ І РЕАЛІЗАЦІЯ СИСТЕМИ СТИСНЕННЯ ДАНИХ З ВИКОРИСТАННЯМ FPGA
Андрій Сергійович Дорофєєв, Тарас Іванович Лендєл

Остання редакція: 22-04-2025

Тези доповіді


Актуальність теми використання FPGA для прискорення стиснення даних обумовлена зростаючими обсягами інформації та необхідністю швидкої обробки й передачі даних у багатьох сферах, таких як телекомунікації, комп'ютерні мережі, великі дані та машинне навчання. FPGA (Field-Programmable Gate Array) надають можливість паралельної обробки даних та можуть бути налаштовані для конкретних завдань, таких як стиснення [2], що значно підвищує продуктивність порівняно з традиційними програмно-орієнтованими підходами [1].

Метою роботи є дослідження теоретичних основ та розробка архітектури системи стиснення даних на основі FPGA, яка здатна працювати в реальному часі та забезпечує ефективну обробку інформації, а також порівняння швидкості роботи алгоритмів стиснення на класичних процесорах з архітектурою х86.

Об’єктом дослідження є технології та процеси стиснення даних, що реалізуються як в програмному, так і в апаратному забезпеченні. Означене включає в себе різні алгоритми стиснення , як приклад LZW, Huffman coding, Arithmetic coding, і їх реалізацію на різних платформах [4].

Предметом дослідження є виняткові підходи використання FPGA (FieldProgrammable Gate Array) для прискорення алгоритмів стиснення даних. Означене охоплює проєктування та оптимізацію FPGA-архітектури для реалізації обраних алгоритмів, аналіз ефективності і продуктивності FPGA в порівнянні з традиційними програмними та апаратними рішеннями, а також вивчення методів підвищення швидкості обробки і зменшення споживання ресурсів.

Завдання дослідження:

1.     Аналіз алгоритмів стиснення: провести огляд і вибрати найбільш ефективний алгоритм стиснення даних для реалізації на FPGA.

2.     Проєктування FPGA-архітектури: розробити архітектуру FPGA для вибраного алгоритму стиснення, включаючи реалізацію паралельної обробки даних.

3.     Оптимізація продуктивності: визначити і реалізувати методи оптимізації FPGA реалізації для підвищення швидкості обробки та зменшення використання ресурсів.

4.     Порівняння з традиційними рішеннями: провести порівняння ефективності FPGA реалізації з традиційними програмними та апаратними рішеннями по швидкості, ефективності та енергоспоживанню.

5.    Тестування та валідація: виконати тестування розробленого рішення на FPGA для перевірки коректності, стабільності і відповідності вимогам.

На рис. 1 представлено загальний опис системи, яка складається з вхідного буфера, модуля для пошуку повторів, модуля кодування та вихідного буфера.

 

Рис. 1. Загальний опис системи

Платформа для проведення досліджень. Для реалізації системи стиснення даних було обрано платформу Terasic DE10-Nano, яка базується на FPGA Intel (Altera) Cyclone V SoC.

Вибір обумовлено наступними перевагами цієї плати [4]:

•       Гібридна архітектура (SoC): поєднує FPGA та двоядерний ARM Cortex-A9, що дозволяє реалізовувати гібридні архітектури, де ARM-процесор керує високорівневими процесами, а FPGA – обробкою в реальному часі.

•       Великий обсяг вбудованої пам’яті: до 64 МБ SDRAM доступної з боку FPGA, та 1 ГБ DDR3 SDRAM на стороні HPS (ARM). Це дає змогу обробляти досить великі обсяги даних без значного уповільнення.

•       Наявність численних периферій: GPIO, HDMI, Ethernet, USB, що дає змогу легко організувати інтерфейс з іншими пристроями.

Ці характеристики роблять DE10-Nano оптимальним вибором для побудови прототипу системи стиснення, яка потребує апаратної прискореної обробки даних та інтеграції з іншими модулями.

Висновки. На цьому етапі дослідження було здійснено аналіз актуальності використання програмованих логічних інтегральних схем (FPGA) для реалізації систем стиснення даних, що особливо важливо для застосувань у реальному часі, вбудованих системах та високопродуктивних обчисленнях.

Проведено огляд архітектури FPGA, а також порівняльний аналіз між програмними та апаратними підходами до стиснення даних. На основі технічних характеристик і вимог до системи обґрунтовано вибір апаратної платформи Terasic DE10-Nano, яка поєднує можливості FPGA та ARM-процесора, має велику кількість вбудованих ресурсів (пам’ять, DSP-блоки, інтерфейси), що робить її придатною для створення прототипу апаратного модуля стиснення.

Також визначено підхід до реалізації алгоритму стиснення на основі комбінування методів LZ77 і Гаффмана, які добре масштабуються для апаратного виконання. Визначено основні етапи подальшої роботи, серед яких – проектування апаратної логіки, моделювання, верифікація, синтез, та тестування функціонального прототипу. Отримані результати формують надійну основу для подальшого практичного етапу дослідження — реалізації системи стиснення даних з використанням FPGA.