Производительность процессоров может оцениваться по нескольким критериям:
- MIPS – количество инструкций, выполняемых в секунду. К сожалению, практически все разработчики указывают пиковое количество инструкций. Например, несколько инструкций могут выполняться параллельно. Но в реальном алгоритме участков программы с возможностью такого распараллеливания будет относительно немного. Поэтому эта оценка является в значительной мере условной (как, впрочем, и большинство других);
- MFLOPS, MOPS –оценки количества операций в секунду, которое может выполнить процессор, также без учета конкретного алгоритма.
- MMACS – количество операций умножения с накоплением в секунду.
Более комплексные метрики пытаются учитывать и другие факторы, такие как стоимость устройств, энергопотребление в контексте определенного приложения. Например, от устройств для мобильной связи требуется низкая цена, низкое энергопотребление и максимальная производительность. Поскольку практически все современные DSP могут переключаться в режим пониженного энергопотребления, то интересно отметить, что в некоторых случаях может быть предпочтительнее использовать процессор с большим энергопотреблением (и, как правило, большей производительностью) чтобы быстрее выполнить обработку и перейти в "спящий" режим, чем более медленный (и меньше потребляющий) процессор, который будет все время функционировать в активном режиме.
|
|
В соответствии с данной метрикой каждый процессор может представляться (для определенного приложения) в виде параллелепипеда в системе координат с осями, соответствующими единицам энергопотребления (mA), производительности (MIPS), требуемого размера памяти (Кб). Кстати, размер памяти неявно оказывает влияние на стоимость системы, т.к. размер памяти в системе мобильной связи существенно влияет на габариты всей платы и ее стоимость. Для большинства приложений требуется, чтобы использовалась только внутренняя память на чипе для функционирования процессора на максимальной частоте и снижения энергопотребления (память тоже требует питания).
Процессор | Метрика | Длительность цикла (мс) |
Analog Devices ADSP-21065 | 60 MIPS | |
180 MFLOPS | ||
60 MMACS | ||
Lucent Technologies DSP16000 | 100 MIPS | |
200 MFLOPS | ||
200 MMACS | ||
Motorola DSP56302 | 100 MIPS | |
100 MFLOPS | ||
100 MMACS | ||
Texas Instruments TMS320C67xxx | 1600MIPS | |
400 MFLOPS | ||
400 MMACS |
Более реалистичные оценки производительности получают путем прогона на DSP определенных задач - типовых алгоритмов ЦОС. Такая оценка позволяет оценить производительность всей системы, а не только, например, вычислительных блоков процессора, поскольку производительность здесь складывается из работы с памятью, конвейеризации команд, режимов адресации и т.п. Основными алгоритмами для проверки производительности DSP являются:
|
|
Функция | Описание функции | Область практического применения |
КИХ-фильтр (FIR) в области действительных чисел | Фильтр с конечной импульсной характеристикой, выполняется над блоком данных | Обработка речи, например кодек G.728 |
КИХ-фильтр (FIR) в области комплексных чисел | То же, но работа с комплексными данными | Компенсация ошибок канала связи в модемах |
БИХ-фильтр (IIR) | Фильтр с бесконечной импульсной характеристикой | Аудиообработка, фильтрация |
Векторное произведение | Сумма поэлементных произведений элементов векторов | Свертка, корреляция, перемножение матриц, многомерная обработка сигналов |
Сложение векторов | Поэлементное сложение элементов векторов, результат - вектор | Графика |
Поиск максимального значения | Поиск положения максимального элемента в векторе | Контроль ошибок кодирования и передачи данных |
Декодер Витерби | Декодирование блока битов, закодированных с использованием сверточного кодирования | Контроль ошибок кодирования и передачи данных |
Управление | Последовательность управляющих инструкций (проверка условия, ветвление, работа со стеком, манипуляции с битами) | Практически все DSP-приложения |
256- или 1024-точечное БПФ | Преобразование сигнала из временной области в частотную | Радары, сонары, MPEG-аудиокодирование, спектральный анализ |
Распаковка битов | Распаковка данных переменной длины из битового потока | Аудио/видео декомпрессия, реализация протоколов связи |
Хотя эти алгоритмы и позволяют в значительной мере оценить производительность процессора, но следует также дополнительно принимать во внимание скорость обмена данными между процессором и внешними устройствами, производительность DMA-пересылок, время реакции на прерывания и т.п. для достоверной оценки производительности в реальной (конечной) системе.
Общая формула для расчета количества элементов сигнала, которые может обработать процессор в секунду (частота дискретизации сигнала), определяется по формуле:
частота_сигнала = тактовая_частота_процессора/количество_тактов_на обработку_отсчета
Организация, занимающаяся независимым тестированием процессоров: Berkley Design Technology Inc., BDTI www.bdti.com.