Борецький Т. Р. Розробка та реалізація методів обчислення елементарних функцій на основі програмних та апаратних засобів

English version

Дисертація на здобуття ступеня кандидата наук

Державний реєстраційний номер

0419U002104

Здобувач

Спеціальність

  • 05.13.05 - Комп'ютерні системи та компоненти

29-03-2019

Спеціалізована вчена рада

Д 35.052.08

Національний університет "Львівська політехніка"

Анотація

Дисертаційна робота присвячена удосконаленню методів обчислення елементарних функцій, які на сьогоднішній день використовуються переважно у цифрових апаратних засобах напівпровідникової техніки. Основні завдання в дослідженні полягали у підвищенні швидкодії алгоритмів шляхом оптимізації використовуваних структур для досягнення нижчих значень латентності (і, відповідно, кількості тактів), а також покращення показників ресурсоємності при реалізації алгоритмів за допомогою апаратних засобів. Запропоновані методи були реалізовані як на програмному рівні для процесорних архітектур різного рівня складності, так і з допомогою програмованих логічних інтегральних схем, що, в свою чергу, дозволяє здійснити портування розроблених методів у інтегральну схему. Описані пропоновані методи, способи їх одержання та представлення у вигляді схем та графіків. Показано переваги та слабкі місця методів, що виникають чи можуть виникнути в тій чи іншій конфігурації кінцевого обладнання чи готового продукту. Подано способи, за допомогою яких стає можливим прискорити або спростити існуючі методи обчислень, підвищивши їх швидкодію чи зменшивши латентність та ресурсоємність. Описано процес виведення залежностей та формул. Наведено блок-схеми алгоритмів, гістограми розподілу результатів. Запропоновані нові підходи та шляхи обчислення функцій, наведені їх логічні схеми та здійснено зіставлення точності обчислень залежно від складності реалізації вибраного методу. Значну увагу приділено методу CORDIC, за допомогою якого можна обчислювати такі функції, як: синус, косинус, тангенс, експоненту, квадратний корінь, гіперболічні та обернені тригонометричні функції. Враховуючи, що найбільший інтерес із представлених функцій становить обчислення синуса та косинуса, під час практичної реалізації методів залежно від контексту поставленої задачі для демонстрації роботи використовуються саме ці функції. При використанні класичних методів точність обчислень залежить від розрядності операндів та кількості здійснених ітерацій. При невеликих кількостях ітерацій всі вхідні та вихідні значення можна задавати у вигляді таблиці, розміщеної в пам’яті. Також враховуємо, що у переважній більшості пристроїв доступним є деякий, хоч і незначний обсяг пам’яті, який можна використати для прискорення роботи більшості методів. Причому ефект буде відчутним і у випадку, якщо обсяг виділеної пам’яті становить сотні чи навіть десятки байт (оперативної чи флеш пам’яті у випадку використання мікроконтролера). Автором запропоновано нові методи знакозмінного та беззнакового перекодування вхідного аргументу, які дають змогу гнучко змінювати обсяг пам’яті, число ітерацій і, відповідно, апаратні затрати. Здійснюється апаратна реалізація розглянутих методів на платформах ПЛІС. Аналізується доступна на сьогодні апаратна база для їх імплементації від виробників Intel (Аltera) та Xilinx. Розглянуті особливості вибраних ПЛІС, специфіка апаратної реалізації алгоритмів, зокрема, вплив архітектури та інтегрованих блоків ПЛІС на функціональність реалізованих методів. Наведені схеми пропонованих алгоритмів на рівні регістрових передач та вентильного рівня на етапі їх розміщення (фітінгу) в кристалі. Розглянуто способи оптимізації алгоритмів в умовах використання конкретної платформи та залежно від версії та налаштувань середовищ розробки. Наведені результати імплементації методів безпосередньо в ПЛІС з оцінкою їх вихідних характеристик, таких, як максимальна тактова частота, ресурсоємність та енергозатратність. Верифікація коректності функціонування алгоритмів здійснюється як за допомогою імітаційного моделювання, так і після заміру фізичних показників та даних, отриманих в процесі тестування запрограмованої ПЛІС. Значну увагу приділено модифікованому методу знакозмінного перекодування - беззнакове перекодування, в якому всі аргументи приймають лише додатні величини, що дозволяє спростити реалізацію алгоритму та необхідні для цього апаратні ресурси зі збереженням переваг підходу перекодування. Основним параметром, що демонструє переваги пропонованого алгоритму, є латентність, яка оберненопропорційна тактовій частоті та залежить від кількості тактів, необхідних для обчислення функції. Кількість тактів, у свою чергу, може змінюватись завдяки змінам розміру виділеної пам’яті. Порівняння результатів методу перекодування для платформи Xilinx здійснено із пропонованою виробником імплементацією IP бібліотеки CORIDC. Для платформи Intel порівняння здійснювалось із вбудованою мегафункцією.

Файли

Схожі дисертації