Выпуск #6/2005
Д.Варламов, В.Костров.
Целочисленная обработка на базе современных ЦОС-процессоров
Целочисленная обработка на базе современных ЦОС-процессоров
Просмотры: 2868
Один из путей повышения производительности систем цифровой обработки сигналов (ЦОС) - применение целочисленной обработки вместо вещественной. Однако такой подход требует тщательного анализа как решаемой задачи, так и архитектурных и функциональный особенностей современных процессоров ЦОС. Возможность и целесообразность применения целочисленной обработки к задачам ЦОС, принцип построения систем ЦОС на базе различных сигнальных процессоров - в центре внимания авторов статьи.
Особенности архитектуры современных ЦСП
Производительность современных процессоров цифровой обработки (они же - цифровые сигнальные процессоры, ЦСП) повышается в основном за счет распараллеливания выполнения команд, по принципу "одна команда - множество данных" (архитектура SIMD) и использования длинного командного слова (архитектура VLIW) - когда в одной команде содержится обращение к различным функциональным устройствам процессора [1-3].
Архитектура SIMD позволяет ЦСП выполнять одну и ту же операцию с несколькими данными за один цикл [1]. Степень распараллеливания в этом случае зависит от разрядности данных: чем меньше разрядность - тем больше операндов может обработать ЦСП, тем выше степень распараллеливания и производительность. Так, ЦСП семейства ADSP Tiger SHARC при сокращении разрядности целочисленных данных с 32 до 8 бит за счет параллельной обработки команд одного типа увеличивает производительность обработки в четыре раза.
Архитектура VLIW позволяет компоновщику команд ЦСП, не внося принципиальных изменений в ход вычислений, максимально задействовать все функциональные узлы устройства и выполнять несколько операций (в том числе команды различного типа) за один цикл. Это особенно важно при условных переходах, когда значение условия перехода вычисляется параллельно с другими операциями. В результате ЦСП может выполнить все необходимые для перехода процедуры заблаговременно, поскольку часто длительность перехода по условию или перехода к подпрограмме превышает один цикл ЦСП. Эффективность архитектуры VLIW зависит от того, в какой последовательности команды стоят в программе. Поэтому важно, как и в какой среде разработки создается программный код для ЦСП.
Не менее значимый путь увеличения производительности ЦОС - переход к целочисленным вычислениям. Например, процессоры семейства ADSP Tiger SHARC при одинаковой разрядности целочисленных и вещественных данных (32 бита) выполняют операции над целыми числами в два раза быстрее (см. таблицу). То есть можно удвоить производительность системы, даже не сокращая разрядности данных.
Рассмотрим основные вычислительные характеристики современных ЦСП (см. таблицу).
Процессоры семейства Tiger SHARC компании Analog Devices разработаны с применением архитектур SIMD и VLIW. Они поддерживают целочисленную и вещественную арифметику для данных с различной разрядностью [1, 2]. Из таблицы видно, что операции над 16-разрядными целочисленными данными такой ЦСП выполняет в четыре раза быстрее, чем над 32-разрядными вещественными данными (сравнение операций MOPS и MFLOPS). Набор команд ЦСП этого семейства содержит команды преобразования из вещественного формата в целочисленный и обратно. Таким образом, ЦСП семейства Tiger SHARC предоставляют широкие возможности для вычислений с данными различной разрядности и типа. Повысить производительность систем ЦОС на базе ЦСП семейства Tiger SHARC можно, используя целочисленную обработку вместо вещественной и сократив разрядность целочисленных данных. Однако для этого необходимо разрешить ЦСП параллельно выполнять последовательность однотипных операций.
ЦСП TMS320C6713 компании Texas Instruments построен на основе архитектуры VLIW [4]. Его команды ориентированы на операции только с 32-разрядными вещественными и целочисленными данными. Поэтому производительность этого процессора (по операции МMAC) фиксирована. На базе ЦСП TMS 320 C6713 можно повысить производительность системы, используя возможности архитектуры VLIW, т.е. распределить команды программы так, чтобы в каждом цикле ЦСП максимально задействовал все свои блоки, выполняя операции одновременно. Это необходимо учитывать при составлении алгоритмов программ обработки, что затрудняет разработку системы ЦОС.
ЦСП NeuroMatrix 6403 компании НТЦ "Модуль" разработан с применением архитектур SIMD и VLIW. Он не поддерживает операции с вещественными данными. Отличительная его особенность - ориентация на работу с векторами, содержащими элементы переменной разрядности (от 1 до 64), которые упакованы в 64-разрядные блоки данных [5]. NeuroMatrix 6403 способен также обрабатывать 32-разрядные скаляры. Возможность плавно изменять разрядность операндов особенно полезна, когда разрядность данных не кратна восьми битам. Как и в случае ЦСП семейства Tiger SHARC, увеличить производительность системы на базе ЦСП Neuro Matrix 6403 можно, сократив разрядность данных и используя возможности архитектур SIMD и VLIW.
ЦСП ADSP BF533 семейства Blackfin компании Analog Devices также работает только с целочисленными данными. Он создавался с использованием архитектуры SIMD на основе 16-разрядного ядра [6], однако команды этого ЦСП поддерживают операции и с 32-разрядными данными. Повысить производительность системы на базе ADSP BF533 можно, минимизировав разрядность данных и используя потоковую обработку команд (архитектура SIMD). В ADSP BF533 не использован механизм VLIW, однако в него заложена логика предсказания переходов посредством конвейеризации, что в алгоритмах ветвления также может сократить длительность перехода.
Особенности целочисленной обработки
Преобразование вещественных данных в целочисленные сводится к масштабированию. Например, набор коэффициентов содержит вещественные числа в диапазоне от -1 до 1 с точностью до 0,01, т.е. коэффициенты будут изменяться от -1,00 до 1,00. Переход к целочисленным значениям эквивалентен масштабированию коэффициентов в сто раз, т.е. диапазон целочисленных данных будет находиться в пределах от -100 до 100.
Применение целочисленной обработки сопровождается проявлением эффектов, вызванных квантованием. В зависимости от разрядности данных (число уровней квантования) значения выходных параметров системы могут различаться. Поэтому при проектировании системы с целочисленной обработкой необходимо определить точность представления, а следовательно - и разрядность целочисленных данных. Для этого исследуют поведение результирующих параметров системы при различной разрядности целочисленных данных.
Если в системе используется множество числовых коэффициентов, зачастую целесообразнее не хранить их все в памяти (что требует больших ее объемов), а вычислять в процессе работы по мере надобности. Тогда возникает задача реализации алгоритмов расчета коэффициентов на базе ЦСП. Большинство алгоритмов вычисления значений функций ориентированы на вещественную обработку. В случае применения в качестве вычислительного устройства ЦСП, сочетающего вещественную и целочисленную обработку, задача вычисления значений функции (с вещественным результатом) и преобразование полученных данных в целочисленные решается достаточно просто. Однако если ЦСП ориентирован только на целочисленную обработку данных, при реализации вычислений необходимо использовать либо эмуляцию вещественных операций на основе целочисленных [7], либо целочисленные аппроксимации функций [8].
Влияние целочисленного представления коэффициентов на параметры системы ЦОС
При переходе к целочисленной обработке прежде всего необходимо определить допустимую разрядность целочисленных коэффициентов цифровых фильтров. Рассмотрим цифровую весовую обработку линейно частотно-модулированного (ЛЧМ) сигнала как общий случай для достаточно широкого класса задач. В качестве системы ЦОС выступает коррелятор с весовой обработкой ЛЧМ-сигнала. При его моделировании необходимо учитывать уровень боковых лепестков взаимной корреляционной функции сигналов (УБЛ ВКФ), потери весовой обработки и ширину главного лепестка ВКФ.
Было проведено математическое моделирование весовой корреляционной обработки ЛЧМ-сигнала. Корреляционная обработка осуществлялась в квадратурах (комплексный коррелятор), использовалась весовая оконная функция Хемминга [9]. Весовая обработка проводилась во временной области. Частота Доплера для коррелируемого сигнала FDop = 0 Гц. Коэффициенты весового окна - целочисленные без знака (их разрядность изменялась в соответствии с условиями эксперимента), число коэффициентов весового окна равнялось числу отсчетов ЛЧМ-сигнала в выборке. Значения отсчетов сигнала - целые 8- и 12-разрядные числа со знаком (разрядность фиксирована). Моделирование проводилось для различных значений базы сигнала В (В = F Ч T, где F - ширина спектра сигнала, Т - его длительность), а также отношения частоты дискретизации Fd к ширине спектра сигнала К = Fd / F.
Результаты моделирования приведены на рисунке. В случае К = 1 при базе сигнала В = 50; 100 видно, что разрядность коэффициентов весового окна Хемминга, обеспечивающая наибольшее подавление боковых лепестков, начинается с 6 бит. В этом диапазоне колебания значений УБЛ незначительны (не более 0,5 дБ). Однако при базе сигнала В = 1000 и 8-разрядных отсчетах сигнала целочисленная обработка уступает в подавлении УБЛ вещественной (а). Но если увеличить разрядность отсчетов сигнала до 12 бит (б), то целочисленная обработка не проигрывает вещественной (для выбранных значений базы сигнала). Таким образом, подавление УБЛ зависит не только от разрядности коэффициентов весового окна, но и от числа уровней квантования сигнала.
В случае К = 2 минимальные значения УБЛ для всех значений базы сигнала (В = 50; 100; 1000) обеспечиваются при разрядности коэффициентов окна Хемминга от 7 бит (колебания УБЛ в этом диапазоне не превышают 0,3 дБ). Когда база сигнала В = 100, необходимый минимум разрядности коэффициентов весового окна зависит от разрядности отсчетов сигнала, причем 12-разрядные отсчеты предпочтительнее.
Исследование зависимости потерь весовой обработки от разрядности коэффициентов окна Хемминга показало, что величина потерь при целочисленной обработке отличается от вещественной не более чем на 0,3 дБ, если разрядность весовых коэффициентов выбрана не менее 6 бит (для К = 1 и 2). Ширина главного лепестка ВКФ по уровню -3 дБ при разрядности коэффициентов весового окна не менее 4 бит составляет один дискрет при К = 1 и три дискрета при К = 2 - эти величины такие же, как и при вещественной обработке. Таким образом, при разрядности коэффициентов весового окна Хемминга не менее 6 бит результаты целочисленной ЦОС практически не уступают вещественной, что доказывает возможность использования первой для оптимизации алгоритмов вычислительной системы.
Аппаратная реализация системы с целочисленной обработкой
Возможны три основных схемы построения систем ЦОС:
· на основе однотипных ЦСП (одном или нескольких), поддерживающих как целочисленную, так и вещественную арифметику, с наличием команд преобразования типов (например, система на базе ЦСП ADSP Tiger SHARC);
· по принципу "процессор + сопроцессор";
· на основе однотипных ЦСП только с целочисленной арифметикой.
В первом случае система ЦОС будет достаточно гибкой в смысле расширения и/или замены алгоритмов. Целочисленную обработку в ее рамках реализовать наиболее просто. Так как полученные вещественные коэффициенты приводятся к целочисленным при помощи команд преобразования типов, то не нужно хранить в памяти все коэффициенты - их можно рассчитать при инициализации или во время работы системы (при смене параметров). Это ползволит существенно снизить объем необходимой памяти. Достоинства такой системы ЦОС - простота разработки алгоритмов; широкие возможности увеличения производительности и экономичного распределения памяти системы; гибкость в смысле возможности обработки не только целочисленных данных, но и вычислений в вещественном формате. Недостаток - высокая стоимость ЦСП (а следовательно, и всей системы) по сравнению с другими ЦСП, возможности которых не так широки.
Реализация системы ЦОС на основе пары "процессор + сопроцессор" - наиболее оптимальный вариант. Он подразумевает систему, включающую множество ЦСП целочисленной обработки и хотя бы один ЦСП (сопроцессор), способный оперировать как с вещественными, так и с целочисленными данными. Основная обработка производится на целочисленных ЦСП. При смене параметров системы сопроцессор рассчитывает новые целочисленные коэффициенты при помощи команд для работы с вещественными данными и команд преобразования типов. Причем сопроцессор может вести расчет целочисленных коэффициентов параллельно с другими ЦСП, производящими основные вычисления, чтобы обработка не прерывалась при смене параметров. Задержка возможна только при инициализации системы, когда сопроцессору необходимо время изначального расчета коэффициентов.
По производительности данная схема практически не уступает системе обработки на базе однотипных ЦСП, поддерживающих как целочисленную, так и вещественную арифметику (при равном числе ЦСП в системах и их одинаковом быстродействии по целочисленным операциям). Несколько проигрывая последней в гибкости, схема "процессор + сопроцессор" обладает всеми остальными ее достоинствами и превосходит в соотношении цена/производительность (как правило, стоимость ЦСП только с целочисленной обработкой дешевле ЦСП, ориентированных на обработку вещественных и целочисленных данных).
Система, где все ЦСП ориентированы на целочисленную обработку (например, ЦСП NeuroMatrix 6403 или ADSP BF533), - это наиболее дешевый вариант. Он актуален, например, при ограничениях на используемую элементную базу. В данной схеме возникают сложности с вычислением целочисленных коэффициентов (методом аппроксимации функций или эмуляции вещественных операций) и с хранением большого объема таких коэффициентов. Однако если возможно единожды рассчитать коэффициенты и привести их к целочисленному виду, а затем использовать многократно, данная схема может дать выигрыш в производительности перед вещественной обработкой. Тогда небольшая задержка для преобразования форматов при смене параметров системы компенсируется повышением ее производительности в ходе основных вычислений.
Проведенный анализ показал, что использование целочисленной обработки позволяет значительно увеличить производительность системы ЦОС. Так, в случае коррелятора ЛЧМ-сигналов с весовой обработкой на основе окна Хемминга 8-разрядные целочисленные коэффициенты обеспечивают такую же эффективность обработки, как при работе с вещественными коэффициентами. Таким образом, если система обработки построена на ЦСП одного типа, созданных с применением архитектуры SIMD и поддерживающих как целочисленную, так и вещественную арифметику, то при переходе от вычислений над вещественными 32-разрядными данными к 8-разрядным целочисленным (при использовании ЦСП ADSP Tiger SHARC, исходя из характеристик данного семейства) можно добиться повышения производительности в восемь раз. И хотя эти выводы основаны на результатах моделирования весовой корреляционной обработки ЛЧМ-сигнала, их можно обобщить и на другие задачи ЦОС.
Литература
1. Hacker S. Static Superscalar Design: A new architecture for the TigerSHARC DSP Processor. - Analog Devices, 2003.
2. Витязев С.В. Analog Devices: новые разработки DSP. - Цифровая обработка сигналов, 2002, №1(5), с. 45-51.
3. Витязев С.В. Texas Instruments: новые разработки DSP. - Цифровая обработка сигналов, 2002, №1(5), с. 52-56.
4. Low-cost SIMD SHARC. Considerations for selecting a DSP processor - why buy the ADSP-21161? The Analog Devices ADSP-21161 SIMD SHARC vs. Texas Instruments TMS 320C6711. - Analog Devices, 2001.
5. Neuro Matrix. Руководство пользователя. - М.: НТЦ "Модуль", 1999.
6. Preliminary Technical Data ADSP-BF531/BF532/BF533. - Analog Devices, 2003.
7. Tom L. Fast Floating-Point Arithmetic Emulation on the Blackfin Processor Platform. - Anlog Devices, 2003.
8. Варламов Д.Л. Сравнительный анализ применения вещественных и целочисленных методов для целей цифровой обработки сигналов. Материалы международной научной конференции "Системный подход в науках о природе, человеке и технике". Ч. 3. - Таганрог: ТРТУ, 2003.
9. Глуговский А.А. Исследование некоторых свойств сглаживающих окон ступенчатой формы. - В кн.: Доклады 2-й Международной конференции "Цифровая обработка сигналов и ее применение" Т.2. - М.: МЦНТИ, 1999.
Производительность современных процессоров цифровой обработки (они же - цифровые сигнальные процессоры, ЦСП) повышается в основном за счет распараллеливания выполнения команд, по принципу "одна команда - множество данных" (архитектура SIMD) и использования длинного командного слова (архитектура VLIW) - когда в одной команде содержится обращение к различным функциональным устройствам процессора [1-3].
Архитектура SIMD позволяет ЦСП выполнять одну и ту же операцию с несколькими данными за один цикл [1]. Степень распараллеливания в этом случае зависит от разрядности данных: чем меньше разрядность - тем больше операндов может обработать ЦСП, тем выше степень распараллеливания и производительность. Так, ЦСП семейства ADSP Tiger SHARC при сокращении разрядности целочисленных данных с 32 до 8 бит за счет параллельной обработки команд одного типа увеличивает производительность обработки в четыре раза.
Архитектура VLIW позволяет компоновщику команд ЦСП, не внося принципиальных изменений в ход вычислений, максимально задействовать все функциональные узлы устройства и выполнять несколько операций (в том числе команды различного типа) за один цикл. Это особенно важно при условных переходах, когда значение условия перехода вычисляется параллельно с другими операциями. В результате ЦСП может выполнить все необходимые для перехода процедуры заблаговременно, поскольку часто длительность перехода по условию или перехода к подпрограмме превышает один цикл ЦСП. Эффективность архитектуры VLIW зависит от того, в какой последовательности команды стоят в программе. Поэтому важно, как и в какой среде разработки создается программный код для ЦСП.
Не менее значимый путь увеличения производительности ЦОС - переход к целочисленным вычислениям. Например, процессоры семейства ADSP Tiger SHARC при одинаковой разрядности целочисленных и вещественных данных (32 бита) выполняют операции над целыми числами в два раза быстрее (см. таблицу). То есть можно удвоить производительность системы, даже не сокращая разрядности данных.
Рассмотрим основные вычислительные характеристики современных ЦСП (см. таблицу).
Процессоры семейства Tiger SHARC компании Analog Devices разработаны с применением архитектур SIMD и VLIW. Они поддерживают целочисленную и вещественную арифметику для данных с различной разрядностью [1, 2]. Из таблицы видно, что операции над 16-разрядными целочисленными данными такой ЦСП выполняет в четыре раза быстрее, чем над 32-разрядными вещественными данными (сравнение операций MOPS и MFLOPS). Набор команд ЦСП этого семейства содержит команды преобразования из вещественного формата в целочисленный и обратно. Таким образом, ЦСП семейства Tiger SHARC предоставляют широкие возможности для вычислений с данными различной разрядности и типа. Повысить производительность систем ЦОС на базе ЦСП семейства Tiger SHARC можно, используя целочисленную обработку вместо вещественной и сократив разрядность целочисленных данных. Однако для этого необходимо разрешить ЦСП параллельно выполнять последовательность однотипных операций.
ЦСП TMS320C6713 компании Texas Instruments построен на основе архитектуры VLIW [4]. Его команды ориентированы на операции только с 32-разрядными вещественными и целочисленными данными. Поэтому производительность этого процессора (по операции МMAC) фиксирована. На базе ЦСП TMS 320 C6713 можно повысить производительность системы, используя возможности архитектуры VLIW, т.е. распределить команды программы так, чтобы в каждом цикле ЦСП максимально задействовал все свои блоки, выполняя операции одновременно. Это необходимо учитывать при составлении алгоритмов программ обработки, что затрудняет разработку системы ЦОС.
ЦСП NeuroMatrix 6403 компании НТЦ "Модуль" разработан с применением архитектур SIMD и VLIW. Он не поддерживает операции с вещественными данными. Отличительная его особенность - ориентация на работу с векторами, содержащими элементы переменной разрядности (от 1 до 64), которые упакованы в 64-разрядные блоки данных [5]. NeuroMatrix 6403 способен также обрабатывать 32-разрядные скаляры. Возможность плавно изменять разрядность операндов особенно полезна, когда разрядность данных не кратна восьми битам. Как и в случае ЦСП семейства Tiger SHARC, увеличить производительность системы на базе ЦСП Neuro Matrix 6403 можно, сократив разрядность данных и используя возможности архитектур SIMD и VLIW.
ЦСП ADSP BF533 семейства Blackfin компании Analog Devices также работает только с целочисленными данными. Он создавался с использованием архитектуры SIMD на основе 16-разрядного ядра [6], однако команды этого ЦСП поддерживают операции и с 32-разрядными данными. Повысить производительность системы на базе ADSP BF533 можно, минимизировав разрядность данных и используя потоковую обработку команд (архитектура SIMD). В ADSP BF533 не использован механизм VLIW, однако в него заложена логика предсказания переходов посредством конвейеризации, что в алгоритмах ветвления также может сократить длительность перехода.
Особенности целочисленной обработки
Преобразование вещественных данных в целочисленные сводится к масштабированию. Например, набор коэффициентов содержит вещественные числа в диапазоне от -1 до 1 с точностью до 0,01, т.е. коэффициенты будут изменяться от -1,00 до 1,00. Переход к целочисленным значениям эквивалентен масштабированию коэффициентов в сто раз, т.е. диапазон целочисленных данных будет находиться в пределах от -100 до 100.
Применение целочисленной обработки сопровождается проявлением эффектов, вызванных квантованием. В зависимости от разрядности данных (число уровней квантования) значения выходных параметров системы могут различаться. Поэтому при проектировании системы с целочисленной обработкой необходимо определить точность представления, а следовательно - и разрядность целочисленных данных. Для этого исследуют поведение результирующих параметров системы при различной разрядности целочисленных данных.
Если в системе используется множество числовых коэффициентов, зачастую целесообразнее не хранить их все в памяти (что требует больших ее объемов), а вычислять в процессе работы по мере надобности. Тогда возникает задача реализации алгоритмов расчета коэффициентов на базе ЦСП. Большинство алгоритмов вычисления значений функций ориентированы на вещественную обработку. В случае применения в качестве вычислительного устройства ЦСП, сочетающего вещественную и целочисленную обработку, задача вычисления значений функции (с вещественным результатом) и преобразование полученных данных в целочисленные решается достаточно просто. Однако если ЦСП ориентирован только на целочисленную обработку данных, при реализации вычислений необходимо использовать либо эмуляцию вещественных операций на основе целочисленных [7], либо целочисленные аппроксимации функций [8].
Влияние целочисленного представления коэффициентов на параметры системы ЦОС
При переходе к целочисленной обработке прежде всего необходимо определить допустимую разрядность целочисленных коэффициентов цифровых фильтров. Рассмотрим цифровую весовую обработку линейно частотно-модулированного (ЛЧМ) сигнала как общий случай для достаточно широкого класса задач. В качестве системы ЦОС выступает коррелятор с весовой обработкой ЛЧМ-сигнала. При его моделировании необходимо учитывать уровень боковых лепестков взаимной корреляционной функции сигналов (УБЛ ВКФ), потери весовой обработки и ширину главного лепестка ВКФ.
Было проведено математическое моделирование весовой корреляционной обработки ЛЧМ-сигнала. Корреляционная обработка осуществлялась в квадратурах (комплексный коррелятор), использовалась весовая оконная функция Хемминга [9]. Весовая обработка проводилась во временной области. Частота Доплера для коррелируемого сигнала FDop = 0 Гц. Коэффициенты весового окна - целочисленные без знака (их разрядность изменялась в соответствии с условиями эксперимента), число коэффициентов весового окна равнялось числу отсчетов ЛЧМ-сигнала в выборке. Значения отсчетов сигнала - целые 8- и 12-разрядные числа со знаком (разрядность фиксирована). Моделирование проводилось для различных значений базы сигнала В (В = F Ч T, где F - ширина спектра сигнала, Т - его длительность), а также отношения частоты дискретизации Fd к ширине спектра сигнала К = Fd / F.
Результаты моделирования приведены на рисунке. В случае К = 1 при базе сигнала В = 50; 100 видно, что разрядность коэффициентов весового окна Хемминга, обеспечивающая наибольшее подавление боковых лепестков, начинается с 6 бит. В этом диапазоне колебания значений УБЛ незначительны (не более 0,5 дБ). Однако при базе сигнала В = 1000 и 8-разрядных отсчетах сигнала целочисленная обработка уступает в подавлении УБЛ вещественной (а). Но если увеличить разрядность отсчетов сигнала до 12 бит (б), то целочисленная обработка не проигрывает вещественной (для выбранных значений базы сигнала). Таким образом, подавление УБЛ зависит не только от разрядности коэффициентов весового окна, но и от числа уровней квантования сигнала.
В случае К = 2 минимальные значения УБЛ для всех значений базы сигнала (В = 50; 100; 1000) обеспечиваются при разрядности коэффициентов окна Хемминга от 7 бит (колебания УБЛ в этом диапазоне не превышают 0,3 дБ). Когда база сигнала В = 100, необходимый минимум разрядности коэффициентов весового окна зависит от разрядности отсчетов сигнала, причем 12-разрядные отсчеты предпочтительнее.
Исследование зависимости потерь весовой обработки от разрядности коэффициентов окна Хемминга показало, что величина потерь при целочисленной обработке отличается от вещественной не более чем на 0,3 дБ, если разрядность весовых коэффициентов выбрана не менее 6 бит (для К = 1 и 2). Ширина главного лепестка ВКФ по уровню -3 дБ при разрядности коэффициентов весового окна не менее 4 бит составляет один дискрет при К = 1 и три дискрета при К = 2 - эти величины такие же, как и при вещественной обработке. Таким образом, при разрядности коэффициентов весового окна Хемминга не менее 6 бит результаты целочисленной ЦОС практически не уступают вещественной, что доказывает возможность использования первой для оптимизации алгоритмов вычислительной системы.
Аппаратная реализация системы с целочисленной обработкой
Возможны три основных схемы построения систем ЦОС:
· на основе однотипных ЦСП (одном или нескольких), поддерживающих как целочисленную, так и вещественную арифметику, с наличием команд преобразования типов (например, система на базе ЦСП ADSP Tiger SHARC);
· по принципу "процессор + сопроцессор";
· на основе однотипных ЦСП только с целочисленной арифметикой.
В первом случае система ЦОС будет достаточно гибкой в смысле расширения и/или замены алгоритмов. Целочисленную обработку в ее рамках реализовать наиболее просто. Так как полученные вещественные коэффициенты приводятся к целочисленным при помощи команд преобразования типов, то не нужно хранить в памяти все коэффициенты - их можно рассчитать при инициализации или во время работы системы (при смене параметров). Это ползволит существенно снизить объем необходимой памяти. Достоинства такой системы ЦОС - простота разработки алгоритмов; широкие возможности увеличения производительности и экономичного распределения памяти системы; гибкость в смысле возможности обработки не только целочисленных данных, но и вычислений в вещественном формате. Недостаток - высокая стоимость ЦСП (а следовательно, и всей системы) по сравнению с другими ЦСП, возможности которых не так широки.
Реализация системы ЦОС на основе пары "процессор + сопроцессор" - наиболее оптимальный вариант. Он подразумевает систему, включающую множество ЦСП целочисленной обработки и хотя бы один ЦСП (сопроцессор), способный оперировать как с вещественными, так и с целочисленными данными. Основная обработка производится на целочисленных ЦСП. При смене параметров системы сопроцессор рассчитывает новые целочисленные коэффициенты при помощи команд для работы с вещественными данными и команд преобразования типов. Причем сопроцессор может вести расчет целочисленных коэффициентов параллельно с другими ЦСП, производящими основные вычисления, чтобы обработка не прерывалась при смене параметров. Задержка возможна только при инициализации системы, когда сопроцессору необходимо время изначального расчета коэффициентов.
По производительности данная схема практически не уступает системе обработки на базе однотипных ЦСП, поддерживающих как целочисленную, так и вещественную арифметику (при равном числе ЦСП в системах и их одинаковом быстродействии по целочисленным операциям). Несколько проигрывая последней в гибкости, схема "процессор + сопроцессор" обладает всеми остальными ее достоинствами и превосходит в соотношении цена/производительность (как правило, стоимость ЦСП только с целочисленной обработкой дешевле ЦСП, ориентированных на обработку вещественных и целочисленных данных).
Система, где все ЦСП ориентированы на целочисленную обработку (например, ЦСП NeuroMatrix 6403 или ADSP BF533), - это наиболее дешевый вариант. Он актуален, например, при ограничениях на используемую элементную базу. В данной схеме возникают сложности с вычислением целочисленных коэффициентов (методом аппроксимации функций или эмуляции вещественных операций) и с хранением большого объема таких коэффициентов. Однако если возможно единожды рассчитать коэффициенты и привести их к целочисленному виду, а затем использовать многократно, данная схема может дать выигрыш в производительности перед вещественной обработкой. Тогда небольшая задержка для преобразования форматов при смене параметров системы компенсируется повышением ее производительности в ходе основных вычислений.
Проведенный анализ показал, что использование целочисленной обработки позволяет значительно увеличить производительность системы ЦОС. Так, в случае коррелятора ЛЧМ-сигналов с весовой обработкой на основе окна Хемминга 8-разрядные целочисленные коэффициенты обеспечивают такую же эффективность обработки, как при работе с вещественными коэффициентами. Таким образом, если система обработки построена на ЦСП одного типа, созданных с применением архитектуры SIMD и поддерживающих как целочисленную, так и вещественную арифметику, то при переходе от вычислений над вещественными 32-разрядными данными к 8-разрядным целочисленным (при использовании ЦСП ADSP Tiger SHARC, исходя из характеристик данного семейства) можно добиться повышения производительности в восемь раз. И хотя эти выводы основаны на результатах моделирования весовой корреляционной обработки ЛЧМ-сигнала, их можно обобщить и на другие задачи ЦОС.
Литература
1. Hacker S. Static Superscalar Design: A new architecture for the TigerSHARC DSP Processor. - Analog Devices, 2003.
2. Витязев С.В. Analog Devices: новые разработки DSP. - Цифровая обработка сигналов, 2002, №1(5), с. 45-51.
3. Витязев С.В. Texas Instruments: новые разработки DSP. - Цифровая обработка сигналов, 2002, №1(5), с. 52-56.
4. Low-cost SIMD SHARC. Considerations for selecting a DSP processor - why buy the ADSP-21161? The Analog Devices ADSP-21161 SIMD SHARC vs. Texas Instruments TMS 320C6711. - Analog Devices, 2001.
5. Neuro Matrix. Руководство пользователя. - М.: НТЦ "Модуль", 1999.
6. Preliminary Technical Data ADSP-BF531/BF532/BF533. - Analog Devices, 2003.
7. Tom L. Fast Floating-Point Arithmetic Emulation on the Blackfin Processor Platform. - Anlog Devices, 2003.
8. Варламов Д.Л. Сравнительный анализ применения вещественных и целочисленных методов для целей цифровой обработки сигналов. Материалы международной научной конференции "Системный подход в науках о природе, человеке и технике". Ч. 3. - Таганрог: ТРТУ, 2003.
9. Глуговский А.А. Исследование некоторых свойств сглаживающих окон ступенчатой формы. - В кн.: Доклады 2-й Международной конференции "Цифровая обработка сигналов и ее применение" Т.2. - М.: МЦНТИ, 1999.
Отзывы читателей