Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
11.14. Выполнение быстрого преобразования Фурье с помощью FDP
При проектировании FDP
одной из главных задач было обеспечение наибольшей универсальности машины и
одновременно максимальной ее приспособленности к выполнению алгоритма БПФ.
Полезно рассмотреть, какие операции составляют внутренний цикл БПФ, а также
выяснить, насколько компактной получается программа на языке программирования,
принятом в FDP. Предположим сначала, что коэффициенты хранятся в регистрах
. Тогда для
ввода чисел в ЛУ и вывода результатов в ЗУ необходимы два цикла чтения и два
цикла записи, т. е. всего четыре команды обращения к памяти. Для выполнения
всех четырех умножений достаточно одной команды, но длится умножение три
(двойных) такта. Необходимо также выполнить шесть сложений — два при комплексном
умножении и четыре при сложении двух пар комплексных чисел. Для этого нужны еще
две команды. Кроме того, пришлось ввести три команды для индексации, одну
команду условного перехода и одну для проверки переполнения. Объединим эти
данные в таблицу.
Тип команды
|
Количество команд
|
Обращение к памяти
|
4
|
Умножение
|
6
|
Сложение
|
2
|
Индексация
|
3
|
Условный переход
|
1
|
Проверка на переполнение
|
1
|
Всего
|
17
|
Оказывается,
что внутренний цикл на языке FDP
можно записать в восьми строках (без проверки на переполнение достаточно пяти
строк), т. е. в виде 16 команд. Это представляется невозможным, так как в
таблице перечислено 17 команд, или 8,5 строк. Но если вспомнить, что умножитель
имеет свои регистры и умножение происходит в отдельном блоке, так что
арифметические устройства в это время могут выполнять другие действия, то становится
понятным, что одновременно с выполнением одной базовой операции БПФ возможно
исполнение некоторых команд последующей базовой операции.
Насколько
в структурах типа FDP можно
ускорить выполнение базовой операции? Мы видим, что при этом необходимы четыре
обращения к памяти (два для считывания и два для записи). Следовательно, FDP всего вдвое уступает в
быстродействии специализированным устройствам, построенным на тех же элементах
и имеющим аналогичную структуру. Ниже (при рассмотрении LSP2) будет показано, что можно создать как специализированные,, так
и универсальные вычислительные устройства с большим быстродействием.
Для
обработки сигналов может быть использована также программа рекурсивной
цифровой фильтрации. FDP,
являющийся программируемым вычислительным устройством, позволяет выполнить
обработку по любому подобному алгоритму. В качестве оценки среднего числа
команд, необходимых для моделирования цифрового резонатора с двумя полюсами,
можно принять восемь команд (или 1,2 мкс). Интересно отметить, что расчеты,
связанные с моделированием фильтра связанной формы, занимают не больше
времени, чем для фильтров прямой или канонической формы, хотя для первой
требуется двое больше умножений. Объясняется это тем, что все четыре умножителя
могут работать одновременно.